From e0ae59fa60a369596b8bb1f9f83031bae3aa5420 Mon Sep 17 00:00:00 2001 From: James Gowdy Date: Thu, 21 Sep 2023 14:46:19 +0100 Subject: [PATCH 01/72] [ML] Switching to config files for serverless ML features (#166477) Switches to using the serverless config file to enabled/disable ML features rather than a function shared from the setup contract. Storing these flags in a config file means they are already available when setup runs and so can be used when registering integrations into other plugins. Removes the dependency on ML from `security_solution_serverless`, `serverless_observability` and `serverless_search` --- config/serverless.es.yml | 4 + config/serverless.oblt.yml | 4 + config/serverless.security.yml | 4 + x-pack/plugins/ml/server/config_schema.ts | 21 +++ x-pack/plugins/ml/server/index.ts | 9 +- .../ml/server/lib/alerts/alerting_service.ts | 16 +-- .../server/lib/alerts/jobs_health_service.ts | 20 +-- .../register_anomaly_detection_alert_type.ts | 13 +- .../register_jobs_monitoring_rule_type.ts | 10 +- .../server/lib/alerts/register_ml_alerts.ts | 17 ++- .../plugins/ml/server/lib/register_cases.ts | 17 ++- ...s.ts => register_sample_data_set_links.ts} | 4 +- x-pack/plugins/ml/server/plugin.ts | 131 +++++++++--------- x-pack/plugins/ml/server/types.ts | 1 - .../security_solution_serverless/kibana.jsonc | 1 - .../server/plugin.ts | 2 - .../server/types.ts | 2 - .../tsconfig.json | 1 - .../serverless_observability/kibana.jsonc | 1 - .../serverless_observability/server/plugin.ts | 2 - .../serverless_observability/server/types.ts | 2 - .../serverless_observability/tsconfig.json | 1 - x-pack/plugins/serverless_search/kibana.jsonc | 1 - .../serverless_search/server/plugin.ts | 1 - .../plugins/serverless_search/server/types.ts | 2 - .../plugins/serverless_search/tsconfig.json | 1 - 26 files changed, 159 insertions(+), 129 deletions(-) create mode 100644 x-pack/plugins/ml/server/config_schema.ts rename x-pack/plugins/ml/server/lib/{register_sameple_data_set_links.ts => register_sample_data_set_links.ts} (96%) diff --git a/config/serverless.es.yml b/config/serverless.es.yml index 896251c0f7bcd1..7e4e5547efb1f1 100644 --- a/config/serverless.es.yml +++ b/config/serverless.es.yml @@ -35,3 +35,7 @@ no_data_page.analyticsNoDataPageFlavor: 'serverless_search' # Disable Dev tools xpack.grokdebugger.enabled: false xpack.painless_lab.enabled: false + +xpack.ml.ad.enabled: false +xpack.ml.dfa.enabled: false +xpack.ml.nlp.enabled: true diff --git a/config/serverless.oblt.yml b/config/serverless.oblt.yml index 419c8fd3fa8c06..d89f5c5e76cd75 100644 --- a/config/serverless.oblt.yml +++ b/config/serverless.oblt.yml @@ -48,3 +48,7 @@ xpack.apm.featureFlags.storageExplorerAvailable: false # Specify in telemetry the project type telemetry.labels.serverless: observability + +xpack.ml.ad.enabled: true +xpack.ml.dfa.enabled: false +xpack.ml.nlp.enabled: false diff --git a/config/serverless.security.yml b/config/serverless.security.yml index da6783de9796aa..7a186ac9e70b1a 100644 --- a/config/serverless.security.yml +++ b/config/serverless.security.yml @@ -35,3 +35,7 @@ xpack.fleet.internal.registry.spec.max: '3.0' # Serverless security specific options xpack.securitySolution.enableExperimental: - discoverInTimeline + +xpack.ml.ad.enabled: true +xpack.ml.dfa.enabled: true +xpack.ml.nlp.enabled: false diff --git a/x-pack/plugins/ml/server/config_schema.ts b/x-pack/plugins/ml/server/config_schema.ts new file mode 100644 index 00000000000000..16db0505cc4e07 --- /dev/null +++ b/x-pack/plugins/ml/server/config_schema.ts @@ -0,0 +1,21 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ +import { schema, type TypeOf } from '@kbn/config-schema'; + +const enabledSchema = schema.maybe( + schema.object({ + enabled: schema.boolean(), + }) +); + +export const configSchema = schema.object({ + ad: enabledSchema, + dfa: enabledSchema, + nlp: enabledSchema, +}); + +export type ConfigSchema = TypeOf; diff --git a/x-pack/plugins/ml/server/index.ts b/x-pack/plugins/ml/server/index.ts index 9f46005dd5068d..53c5b81ec95919 100644 --- a/x-pack/plugins/ml/server/index.ts +++ b/x-pack/plugins/ml/server/index.ts @@ -5,7 +5,7 @@ * 2.0. */ -import { PluginInitializerContext } from '@kbn/core/server'; +import type { PluginConfigDescriptor, PluginInitializerContext } from '@kbn/core/server'; import { MlServerPlugin } from './plugin'; export type { MlPluginSetup, MlPluginStart } from './plugin'; export type { @@ -26,5 +26,10 @@ export { InsufficientMLCapabilities, MLPrivilegesUninitialized, } from './shared'; +import { configSchema, type ConfigSchema } from './config_schema'; -export const plugin = (ctx: PluginInitializerContext) => new MlServerPlugin(ctx); +export const config: PluginConfigDescriptor = { + schema: configSchema, +}; + +export const plugin = (ctx: PluginInitializerContext) => new MlServerPlugin(ctx); diff --git a/x-pack/plugins/ml/server/lib/alerts/alerting_service.ts b/x-pack/plugins/ml/server/lib/alerts/alerting_service.ts index 31794a901416f8..18be37a187c445 100644 --- a/x-pack/plugins/ml/server/lib/alerts/alerting_service.ts +++ b/x-pack/plugins/ml/server/lib/alerts/alerting_service.ts @@ -8,12 +8,12 @@ import Boom from '@hapi/boom'; import { i18n } from '@kbn/i18n'; import rison from '@kbn/rison'; -import { Duration } from 'moment/moment'; +import type { Duration } from 'moment/moment'; import { memoize } from 'lodash'; import { FIELD_FORMAT_IDS, - IFieldFormat, - SerializedFieldFormat, + type IFieldFormat, + type SerializedFieldFormat, } from '@kbn/field-formats-plugin/common'; import { isDefined } from '@kbn/ml-is-defined'; import { @@ -24,12 +24,12 @@ import { ML_ANOMALY_RESULT_TYPE, } from '@kbn/ml-anomaly-utils'; import { DEFAULT_SPACE_ID } from '@kbn/spaces-plugin/common'; -import { MlClient } from '../ml_client'; -import { +import type { MlClient } from '../ml_client'; +import type { MlAnomalyDetectionAlertParams, MlAnomalyDetectionAlertPreviewRequest, } from '../../routes/schemas/alerting_schema'; -import { +import type { AlertExecutionResult, InfluencerAnomalyAlertDoc, PreviewResponse, @@ -37,11 +37,11 @@ import { RecordAnomalyAlertDoc, TopHitsResultsKeys, } from '../../../common/types/alerts'; -import { AnomalyDetectionAlertContext } from './register_anomaly_detection_alert_type'; +import type { AnomalyDetectionAlertContext } from './register_anomaly_detection_alert_type'; import { resolveMaxTimeInterval } from '../../../common/util/job_utils'; import { getTopNBuckets, resolveLookbackInterval } from '../../../common/util/alerts'; import type { DatafeedsService } from '../../models/job_service/datafeeds'; -import { FieldFormatsRegistryProvider } from '../../../common/types/kibana'; +import type { FieldFormatsRegistryProvider } from '../../../common/types/kibana'; import type { AwaitReturnType } from '../../../common/types/common'; import { getTypicalAndActualValues } from '../../models/results_service/results_service'; import type { GetDataViewsService } from '../data_views_utils'; diff --git a/x-pack/plugins/ml/server/lib/alerts/jobs_health_service.ts b/x-pack/plugins/ml/server/lib/alerts/jobs_health_service.ts index a1ec1931485acc..0644cdc764f20a 100644 --- a/x-pack/plugins/ml/server/lib/alerts/jobs_health_service.ts +++ b/x-pack/plugins/ml/server/lib/alerts/jobs_health_service.ts @@ -6,17 +6,17 @@ */ import { groupBy, keyBy, memoize, partition } from 'lodash'; -import { KibanaRequest, Logger, SavedObjectsClientContract } from '@kbn/core/server'; +import type { KibanaRequest, Logger, SavedObjectsClientContract } from '@kbn/core/server'; import { i18n } from '@kbn/i18n'; -import { MlJob } from '@elastic/elasticsearch/lib/api/typesWithBodyKey'; +import type { MlJob } from '@elastic/elasticsearch/lib/api/typesWithBodyKey'; import { isDefined } from '@kbn/ml-is-defined'; -import { MlClient } from '../ml_client'; -import { JobSelection } from '../../routes/schemas/alerting_schema'; -import { datafeedsProvider, DatafeedsService } from '../../models/job_service/datafeeds'; +import type { MlClient } from '../ml_client'; +import type { JobSelection } from '../../routes/schemas/alerting_schema'; +import { datafeedsProvider, type DatafeedsService } from '../../models/job_service/datafeeds'; import { ALL_JOBS_SELECTION, HEALTH_CHECK_NAMES } from '../../../common/constants/alerts'; -import { DatafeedStats } from '../../../common/types/anomaly_detection_jobs'; -import { GetGuards } from '../../shared_services/shared_services'; -import { +import type { DatafeedStats } from '../../../common/types/anomaly_detection_jobs'; +import type { GetGuards } from '../../shared_services/shared_services'; +import type { AnomalyDetectionJobsHealthAlertContext, DelayedDataResponse, JobsErrorsResponse, @@ -28,12 +28,12 @@ import { getResultJobsHealthRuleConfig, resolveLookbackInterval, } from '../../../common/util/alerts'; -import { AnnotationService } from '../../models/annotation_service/annotation'; +import type { AnnotationService } from '../../models/annotation_service/annotation'; import { annotationServiceProvider } from '../../models/annotation_service'; import { parseInterval } from '../../../common/util/parse_interval'; import { jobAuditMessagesProvider, - JobAuditMessagesService, + type JobAuditMessagesService, } from '../../models/job_audit_messages/job_audit_messages'; import type { FieldFormatsRegistryProvider } from '../../../common/types/kibana'; diff --git a/x-pack/plugins/ml/server/lib/alerts/register_anomaly_detection_alert_type.ts b/x-pack/plugins/ml/server/lib/alerts/register_anomaly_detection_alert_type.ts index d68e40f44b4a6e..2a1f19b48802e4 100644 --- a/x-pack/plugins/ml/server/lib/alerts/register_anomaly_detection_alert_type.ts +++ b/x-pack/plugins/ml/server/lib/alerts/register_anomaly_detection_alert_type.ts @@ -6,8 +6,8 @@ */ import { i18n } from '@kbn/i18n'; -import { KibanaRequest } from '@kbn/core/server'; -import { +import type { KibanaRequest } from '@kbn/core/server'; +import type { ActionGroup, AlertInstanceContext, AlertInstanceState, @@ -17,11 +17,14 @@ import { ML_ALERT_TYPES } from '../../../common/constants/alerts'; import { PLUGIN_ID } from '../../../common/constants/app'; import { MINIMUM_FULL_LICENSE } from '../../../common/license'; import { - MlAnomalyDetectionAlertParams, + type MlAnomalyDetectionAlertParams, mlAnomalyDetectionAlertParams, } from '../../routes/schemas/alerting_schema'; -import { RegisterAlertParams } from './register_ml_alerts'; -import { InfluencerAnomalyAlertDoc, RecordAnomalyAlertDoc } from '../../../common/types/alerts'; +import type { RegisterAlertParams } from './register_ml_alerts'; +import { + InfluencerAnomalyAlertDoc, + type RecordAnomalyAlertDoc, +} from '../../../common/types/alerts'; /** * Base Anomaly detection alerting rule context. diff --git a/x-pack/plugins/ml/server/lib/alerts/register_jobs_monitoring_rule_type.ts b/x-pack/plugins/ml/server/lib/alerts/register_jobs_monitoring_rule_type.ts index 81a2a1462d7209..e7c9c527439cd4 100644 --- a/x-pack/plugins/ml/server/lib/alerts/register_jobs_monitoring_rule_type.ts +++ b/x-pack/plugins/ml/server/lib/alerts/register_jobs_monitoring_rule_type.ts @@ -6,13 +6,13 @@ */ import { i18n } from '@kbn/i18n'; -import { KibanaRequest } from '@kbn/core/server'; -import { +import type { KibanaRequest } from '@kbn/core/server'; +import type { MlDatafeedState, MlJobState, MlJobStats, } from '@elastic/elasticsearch/lib/api/typesWithBodyKey'; -import { +import type { ActionGroup, AlertInstanceContext, AlertInstanceState, @@ -24,9 +24,9 @@ import { PLUGIN_ID } from '../../../common/constants/app'; import { MINIMUM_FULL_LICENSE } from '../../../common/license'; import { anomalyDetectionJobsHealthRuleParams, - AnomalyDetectionJobsHealthRuleParams, + type AnomalyDetectionJobsHealthRuleParams, } from '../../routes/schemas/alerting_schema'; -import { RegisterAlertParams } from './register_ml_alerts'; +import type { RegisterAlertParams } from './register_ml_alerts'; import type { JobMessage } from '../../../common/types/audit_message'; type ModelSizeStats = MlJobStats['model_size_stats']; diff --git a/x-pack/plugins/ml/server/lib/alerts/register_ml_alerts.ts b/x-pack/plugins/ml/server/lib/alerts/register_ml_alerts.ts index 1095280ebdae92..582676b61928b6 100644 --- a/x-pack/plugins/ml/server/lib/alerts/register_ml_alerts.ts +++ b/x-pack/plugins/ml/server/lib/alerts/register_ml_alerts.ts @@ -5,12 +5,13 @@ * 2.0. */ -import { Logger } from '@kbn/core/server'; -import { AlertingPlugin } from '@kbn/alerting-plugin/server'; +import type { Logger } from '@kbn/core/server'; +import type { AlertingPlugin } from '@kbn/alerting-plugin/server'; import { registerAnomalyDetectionAlertType } from './register_anomaly_detection_alert_type'; -import { SharedServices } from '../../shared_services'; +import type { SharedServices } from '../../shared_services'; import { registerJobsMonitoringRuleType } from './register_jobs_monitoring_rule_type'; -import { MlServicesProviders } from '../../shared_services/shared_services'; +import type { MlServicesProviders } from '../../shared_services/shared_services'; +import type { MlFeatures } from '../../types'; export interface RegisterAlertParams { alerting: AlertingPlugin['setup']; @@ -19,7 +20,9 @@ export interface RegisterAlertParams { mlServicesProviders: MlServicesProviders; } -export function registerMlAlerts(alertParams: RegisterAlertParams) { - registerAnomalyDetectionAlertType(alertParams); - registerJobsMonitoringRuleType(alertParams); +export function registerMlAlerts(alertParams: RegisterAlertParams, enabledFeatures: MlFeatures) { + if (enabledFeatures.ad === true) { + registerAnomalyDetectionAlertType(alertParams); + registerJobsMonitoringRuleType(alertParams); + } } diff --git a/x-pack/plugins/ml/server/lib/register_cases.ts b/x-pack/plugins/ml/server/lib/register_cases.ts index f916176a4d3f46..a9644638e11dc7 100644 --- a/x-pack/plugins/ml/server/lib/register_cases.ts +++ b/x-pack/plugins/ml/server/lib/register_cases.ts @@ -10,13 +10,16 @@ import { CASE_ATTACHMENT_TYPE_ID_ANOMALY_EXPLORER_CHARTS, CASE_ATTACHMENT_TYPE_ID_ANOMALY_SWIMLANE, } from '../../common/constants/cases'; +import type { MlFeatures } from '../types'; -export function registerCasesPersistableState(cases: CasesSetup) { - cases.attachmentFramework.registerPersistableState({ - id: CASE_ATTACHMENT_TYPE_ID_ANOMALY_SWIMLANE, - }); +export function registerCasesPersistableState(cases: CasesSetup, enabledFeatures: MlFeatures) { + if (enabledFeatures.ad === true) { + cases.attachmentFramework.registerPersistableState({ + id: CASE_ATTACHMENT_TYPE_ID_ANOMALY_SWIMLANE, + }); - cases.attachmentFramework.registerPersistableState({ - id: CASE_ATTACHMENT_TYPE_ID_ANOMALY_EXPLORER_CHARTS, - }); + cases.attachmentFramework.registerPersistableState({ + id: CASE_ATTACHMENT_TYPE_ID_ANOMALY_EXPLORER_CHARTS, + }); + } } diff --git a/x-pack/plugins/ml/server/lib/register_sameple_data_set_links.ts b/x-pack/plugins/ml/server/lib/register_sample_data_set_links.ts similarity index 96% rename from x-pack/plugins/ml/server/lib/register_sameple_data_set_links.ts rename to x-pack/plugins/ml/server/lib/register_sample_data_set_links.ts index 6e7a0946d03699..b4aa199a55a0a9 100644 --- a/x-pack/plugins/ml/server/lib/register_sameple_data_set_links.ts +++ b/x-pack/plugins/ml/server/lib/register_sample_data_set_links.ts @@ -10,8 +10,8 @@ import type { HomeServerPluginSetup } from '@kbn/home-plugin/server'; import type { MlFeatures } from '../types'; export function registerSampleDataSetLinks( - enabledFeatures: MlFeatures, - home: HomeServerPluginSetup + home: HomeServerPluginSetup, + enabledFeatures: MlFeatures ) { if (enabledFeatures.ad === true) { const sampleDataLinkLabel = i18n.translate('xpack.ml.sampleDataLinkLabel', { diff --git a/x-pack/plugins/ml/server/plugin.ts b/x-pack/plugins/ml/server/plugin.ts index 0a0d3dfcaf7eee..342350fac998a7 100644 --- a/x-pack/plugins/ml/server/plugin.ts +++ b/x-pack/plugins/ml/server/plugin.ts @@ -18,17 +18,19 @@ import type { SavedObjectsServiceStart, UiSettingsServiceStart, } from '@kbn/core/server'; -import type { SecurityPluginSetup } from '@kbn/security-plugin/server'; import { DEFAULT_APP_CATEGORIES } from '@kbn/core/server'; +import type { SecurityPluginSetup } from '@kbn/security-plugin/server'; import type { PluginStart as DataViewsPluginStart } from '@kbn/data-views-plugin/server'; import type { SpacesPluginSetup } from '@kbn/spaces-plugin/server'; -import { FieldFormatsStart } from '@kbn/field-formats-plugin/server'; +import type { FieldFormatsStart } from '@kbn/field-formats-plugin/server'; import type { HomeServerPluginSetup } from '@kbn/home-plugin/server'; +import type { CasesSetup } from '@kbn/cases-plugin/server'; +import type { MlFeatures, PluginsSetup, PluginsStart, RouteInitialization } from './types'; +import type { MlCapabilities } from '../common/types/capabilities'; +import type { ConfigSchema } from './config_schema'; import { jsonSchemaRoutes } from './routes/json_schema'; import { notificationsRoutes } from './routes/notifications'; -import type { MlFeatures, PluginsSetup, PluginsStart, RouteInitialization } from './types'; import { PLUGIN_ID } from '../common/constants/app'; -import type { MlCapabilities } from '../common/types/capabilities'; import { initMlServerLog } from './lib/log'; import { annotationRoutes } from './routes/annotations'; import { calendars } from './routes/calendars'; @@ -66,15 +68,9 @@ import { alertingRoutes } from './routes/alerting'; import { registerCollector } from './usage'; import { SavedObjectsSyncService } from './saved_objects/sync_task'; import { registerCasesPersistableState } from './lib/register_cases'; -import { registerSampleDataSetLinks } from './lib/register_sameple_data_set_links'; - -type SetFeaturesEnabled = (features: MlFeatures) => void; - -interface MlSetup { - setFeaturesEnabled: SetFeaturesEnabled; -} +import { registerSampleDataSetLinks } from './lib/register_sample_data_set_links'; -export type MlPluginSetup = SharedServices & MlSetup; +export type MlPluginSetup = SharedServices; export type MlPluginStart = void; export class MlServerPlugin @@ -90,6 +86,7 @@ export class MlServerPlugin private spacesPlugin: SpacesPluginSetup | undefined; private security: SecurityPluginSetup | undefined; private home: HomeServerPluginSetup | null = null; + private cases: CasesSetup | null | undefined = null; private dataViews: DataViewsPluginStart | null = null; private isMlReady: Promise; private setMlReady: () => void = () => {}; @@ -99,22 +96,20 @@ export class MlServerPlugin dfa: true, nlp: true, }; - private isServerless: boolean = false; - private registerCases: () => void = () => {}; - private registerSampleDatasetsIntegration: () => void = () => {}; - constructor(ctx: PluginInitializerContext) { + constructor(ctx: PluginInitializerContext) { this.log = ctx.logger.get(); this.mlLicense = new MlLicense(); this.isMlReady = new Promise((resolve) => (this.setMlReady = resolve)); this.savedObjectsSyncService = new SavedObjectsSyncService(this.log); - this.isServerless = ctx.env.packageInfo.buildFlavor === 'serverless'; + this.initEnabledFeatures(ctx.config.get()); } public setup(coreSetup: CoreSetup, plugins: PluginsSetup): MlPluginSetup { this.spacesPlugin = plugins.spaces; this.security = plugins.security; this.home = plugins.home; + this.cases = plugins.cases; const { admin, user, apmUser } = getPluginPrivileges(); plugins.features.registerKibanaFeature({ @@ -222,25 +217,38 @@ export class MlServerPlugin ), mlLicense: this.mlLicense, getEnabledFeatures: () => Object.assign({}, this.enabledFeatures), - isServerless: this.isServerless, }; - annotationRoutes(routeInit, plugins.security); - calendars(routeInit); - dataFeedRoutes(routeInit); - dataFrameAnalyticsRoutes(routeInit); - dataRecognizer(routeInit); + // Register Anomaly Detection routes + if (this.enabledFeatures.ad) { + annotationRoutes(routeInit, plugins.security); + calendars(routeInit); + dataFeedRoutes(routeInit); + dataRecognizer(routeInit); + filtersRoutes(routeInit); + jobAuditMessagesRoutes(routeInit); + jobRoutes(routeInit); + jobServiceRoutes(routeInit); + resultsServiceRoutes(routeInit); + jobValidationRoutes(routeInit); + } + + // Register Data Frame Analytics routes + if (this.enabledFeatures.dfa) { + dataFrameAnalyticsRoutes(routeInit); + } + + // Register Trained Model Management routes + if (this.enabledFeatures.dfa || this.enabledFeatures.nlp) { + modelManagementRoutes(routeInit); + trainedModelsRoutes(routeInit); + } + + // Register Miscellaneous routes dataVisualizerRoutes(routeInit); fieldsService(routeInit); - filtersRoutes(routeInit); indicesRoutes(routeInit); - jobAuditMessagesRoutes(routeInit); - jobRoutes(routeInit); - jobServiceRoutes(routeInit); managementRoutes(routeInit); - modelManagementRoutes(routeInit); - resultsServiceRoutes(routeInit); - jobValidationRoutes(routeInit); savedObjectsRoutes(routeInit, { getSpaces, resolveMlCapabilities, @@ -250,7 +258,6 @@ export class MlServerPlugin cloud: plugins.cloud, resolveMlCapabilities, }); - trainedModelsRoutes(routeInit); notificationsRoutes(routeInit); jsonSchemaRoutes(routeInit); alertingRoutes(routeInit, sharedServicesProviders); @@ -258,27 +265,17 @@ export class MlServerPlugin initMlServerLog({ log: this.log }); if (plugins.alerting) { - registerMlAlerts({ - alerting: plugins.alerting, - logger: this.log, - mlSharedServices: sharedServicesProviders, - mlServicesProviders: internalServicesProviders, - }); + registerMlAlerts( + { + alerting: plugins.alerting, + logger: this.log, + mlSharedServices: sharedServicesProviders, + mlServicesProviders: internalServicesProviders, + }, + this.enabledFeatures + ); } - this.registerCases = () => { - if (plugins.cases) { - registerCasesPersistableState(plugins.cases); - } - }; - - this.registerSampleDatasetsIntegration = () => { - // called in start once enabledFeatures is available - if (this.home) { - registerSampleDataSetLinks(this.enabledFeatures, this.home); - } - }; - registerKibanaSettings(coreSetup); if (plugins.usageCollection) { @@ -289,19 +286,7 @@ export class MlServerPlugin registerCollector(plugins.usageCollection, getIndexForType); } - const setFeaturesEnabled = (features: MlFeatures) => { - if (features.ad !== undefined) { - this.enabledFeatures.ad = features.ad; - } - if (features.dfa !== undefined) { - this.enabledFeatures.dfa = features.dfa; - } - if (features.nlp !== undefined) { - this.enabledFeatures.nlp = features.nlp; - } - }; - - return { ...sharedServicesProviders, setFeaturesEnabled }; + return { ...sharedServicesProviders }; } public start(coreStart: CoreStart, plugins: PluginsStart): MlPluginStart { @@ -323,8 +308,12 @@ export class MlServerPlugin } if (mlLicense.isMlEnabled() && mlLicense.isFullLicense()) { - this.registerCases(); - this.registerSampleDatasetsIntegration(); + if (this.cases) { + registerCasesPersistableState(this.cases, this.enabledFeatures); + } + if (this.home) { + registerSampleDataSetLinks(this.home, this.enabledFeatures); + } } // check whether the job saved objects exist // and create them if needed. @@ -343,4 +332,16 @@ export class MlServerPlugin public stop() { this.mlLicense.unsubscribe(); } + + private initEnabledFeatures(config: ConfigSchema) { + if (config.ad?.enabled !== undefined) { + this.enabledFeatures.ad = config.ad.enabled; + } + if (config.dfa?.enabled !== undefined) { + this.enabledFeatures.dfa = config.dfa.enabled; + } + if (config.nlp?.enabled !== undefined) { + this.enabledFeatures.nlp = config.nlp.enabled; + } + } } diff --git a/x-pack/plugins/ml/server/types.ts b/x-pack/plugins/ml/server/types.ts index 4024e13420e7cb..302df71df5f385 100644 --- a/x-pack/plugins/ml/server/types.ts +++ b/x-pack/plugins/ml/server/types.ts @@ -81,7 +81,6 @@ export interface RouteInitialization { mlLicense: MlLicense; routeGuard: RouteGuard; getEnabledFeatures: () => MlFeatures; - isServerless: boolean; } export type MlFeatures = Record<'ad' | 'dfa' | 'nlp', boolean>; diff --git a/x-pack/plugins/security_solution_serverless/kibana.jsonc b/x-pack/plugins/security_solution_serverless/kibana.jsonc index 3f9080adc51730..3756c1114c0098 100644 --- a/x-pack/plugins/security_solution_serverless/kibana.jsonc +++ b/x-pack/plugins/security_solution_serverless/kibana.jsonc @@ -14,7 +14,6 @@ "requiredPlugins": [ "kibanaReact", "management", - "ml", "security", "securitySolution", "serverless", diff --git a/x-pack/plugins/security_solution_serverless/server/plugin.ts b/x-pack/plugins/security_solution_serverless/server/plugin.ts index 243dbf0bc61bce..e960d6743942ca 100644 --- a/x-pack/plugins/security_solution_serverless/server/plugin.ts +++ b/x-pack/plugins/security_solution_serverless/server/plugin.ts @@ -65,8 +65,6 @@ export class SecuritySolutionServerlessPlugin pluginsSetup.securitySolution.setAppFeaturesConfigurator(appFeaturesConfigurator); } - pluginsSetup.ml.setFeaturesEnabled({ ad: true, dfa: true, nlp: false }); - this.cloudSecurityUsageReportingTask = new SecurityUsageReportingTask({ core: coreSetup, logFactory: this.initializerContext.logger, diff --git a/x-pack/plugins/security_solution_serverless/server/types.ts b/x-pack/plugins/security_solution_serverless/server/types.ts index 5d51aa6e85730c..6f9c87dd92b180 100644 --- a/x-pack/plugins/security_solution_serverless/server/types.ts +++ b/x-pack/plugins/security_solution_serverless/server/types.ts @@ -17,7 +17,6 @@ import type { } from '@kbn/task-manager-plugin/server'; import type { CloudSetup } from '@kbn/cloud-plugin/server'; import type { SecuritySolutionEssPluginSetup } from '@kbn/security-solution-ess/server'; -import type { MlPluginSetup } from '@kbn/ml-plugin/server'; import type { FleetStartContract } from '@kbn/fleet-plugin/server'; import type { ServerlessPluginSetup } from '@kbn/serverless/server'; @@ -36,7 +35,6 @@ export interface SecuritySolutionServerlessPluginSetupDeps { securitySolutionEss: SecuritySolutionEssPluginSetup; serverless: ServerlessPluginSetup; features: PluginSetupContract; - ml: MlPluginSetup; taskManager: TaskManagerSetupContract; cloud: CloudSetup; } diff --git a/x-pack/plugins/security_solution_serverless/tsconfig.json b/x-pack/plugins/security_solution_serverless/tsconfig.json index 00829caa2ffd40..2aa2b979180f56 100644 --- a/x-pack/plugins/security_solution_serverless/tsconfig.json +++ b/x-pack/plugins/security_solution_serverless/tsconfig.json @@ -32,7 +32,6 @@ "@kbn/i18n", "@kbn/shared-ux-page-kibana-template", "@kbn/features-plugin", - "@kbn/ml-plugin", "@kbn/kibana-utils-plugin", "@kbn/task-manager-plugin", "@kbn/cloud-plugin", diff --git a/x-pack/plugins/serverless_observability/kibana.jsonc b/x-pack/plugins/serverless_observability/kibana.jsonc index d4c0169ed46ac7..0c68668e473eac 100644 --- a/x-pack/plugins/serverless_observability/kibana.jsonc +++ b/x-pack/plugins/serverless_observability/kibana.jsonc @@ -22,7 +22,6 @@ "observabilityShared", "kibanaReact", "management", - "ml", "cloud" ], "optionalPlugins": [], diff --git a/x-pack/plugins/serverless_observability/server/plugin.ts b/x-pack/plugins/serverless_observability/server/plugin.ts index c6e502f61ca8cb..973bfde638e8c8 100644 --- a/x-pack/plugins/serverless_observability/server/plugin.ts +++ b/x-pack/plugins/serverless_observability/server/plugin.ts @@ -27,8 +27,6 @@ export class ServerlessObservabilityPlugin constructor(_initializerContext: PluginInitializerContext) {} public setup(_coreSetup: CoreSetup, pluginsSetup: SetupDependencies) { - pluginsSetup.ml.setFeaturesEnabled({ ad: true, dfa: false, nlp: false }); - pluginsSetup.serverless.setupProjectSettings(OBSERVABILITY_PROJECT_SETTINGS); return {}; } diff --git a/x-pack/plugins/serverless_observability/server/types.ts b/x-pack/plugins/serverless_observability/server/types.ts index d899efedb1617a..347415d17c4544 100644 --- a/x-pack/plugins/serverless_observability/server/types.ts +++ b/x-pack/plugins/serverless_observability/server/types.ts @@ -5,7 +5,6 @@ * 2.0. */ -import type { MlPluginSetup } from '@kbn/ml-plugin/server'; import { ServerlessPluginSetup } from '@kbn/serverless/server'; // eslint-disable-next-line @typescript-eslint/no-empty-interface @@ -17,6 +16,5 @@ export interface ServerlessObservabilityPluginStart {} export interface StartDependencies {} export interface SetupDependencies { - ml: MlPluginSetup; serverless: ServerlessPluginSetup; } diff --git a/x-pack/plugins/serverless_observability/tsconfig.json b/x-pack/plugins/serverless_observability/tsconfig.json index 8e88263a527bbc..c0894de19697ef 100644 --- a/x-pack/plugins/serverless_observability/tsconfig.json +++ b/x-pack/plugins/serverless_observability/tsconfig.json @@ -22,7 +22,6 @@ "@kbn/observability-shared-plugin", "@kbn/kibana-react-plugin", "@kbn/shared-ux-chrome-navigation", - "@kbn/ml-plugin", "@kbn/i18n", "@kbn/management-cards-navigation", "@kbn/cloud-plugin", diff --git a/x-pack/plugins/serverless_search/kibana.jsonc b/x-pack/plugins/serverless_search/kibana.jsonc index f50f595bbf48d1..2ae8f0dbff9879 100644 --- a/x-pack/plugins/serverless_search/kibana.jsonc +++ b/x-pack/plugins/serverless_search/kibana.jsonc @@ -19,7 +19,6 @@ "devTools", "discover", "management", - "ml", "searchprofiler", "security", "serverless", diff --git a/x-pack/plugins/serverless_search/server/plugin.ts b/x-pack/plugins/serverless_search/server/plugin.ts index a77ff8dfd9cc3b..2651d6a2f38daa 100644 --- a/x-pack/plugins/serverless_search/server/plugin.ts +++ b/x-pack/plugins/serverless_search/server/plugin.ts @@ -71,7 +71,6 @@ export class ServerlessSearchPlugin registerIndicesRoutes(dependencies); }); - pluginsSetup.ml.setFeaturesEnabled({ ad: false, dfa: false, nlp: true }); pluginsSetup.serverless.setupProjectSettings(SEARCH_PROJECT_SETTINGS); return {}; } diff --git a/x-pack/plugins/serverless_search/server/types.ts b/x-pack/plugins/serverless_search/server/types.ts index fe063c1a2aa5c2..c2eee3d0078a74 100644 --- a/x-pack/plugins/serverless_search/server/types.ts +++ b/x-pack/plugins/serverless_search/server/types.ts @@ -6,7 +6,6 @@ */ import type { SecurityPluginStart } from '@kbn/security-plugin/server'; -import type { MlPluginSetup } from '@kbn/ml-plugin/server'; import type { ServerlessPluginSetup } from '@kbn/serverless/server'; // eslint-disable-next-line @typescript-eslint/no-empty-interface @@ -18,6 +17,5 @@ export interface StartDependencies { security: SecurityPluginStart; } export interface SetupDependencies { - ml: MlPluginSetup; serverless: ServerlessPluginSetup; } diff --git a/x-pack/plugins/serverless_search/tsconfig.json b/x-pack/plugins/serverless_search/tsconfig.json index 4e24925e4b3d95..925b1536baaaed 100644 --- a/x-pack/plugins/serverless_search/tsconfig.json +++ b/x-pack/plugins/serverless_search/tsconfig.json @@ -27,7 +27,6 @@ "@kbn/security-plugin", "@kbn/cloud-plugin", "@kbn/share-plugin", - "@kbn/ml-plugin", "@kbn/management-cards-navigation", "@kbn/core-elasticsearch-server", "@kbn/search-api-panels", From d7369d9bdea56a8fbc4bcf8aefac4feceedf1a94 Mon Sep 17 00:00:00 2001 From: Davis McPhee Date: Thu, 21 Sep 2023 10:46:54 -0300 Subject: [PATCH 02/72] [Saved Searches] Soften saved search Content Management response `sort` schema (#166886) ## Summary This PR softens the saved search CM response `sort` schema to align it with the saved search SO `sort` schema from #156769 (no `minSize`). You can import this broken saved search SO for testing: ```json {"attributes":{"columns":["response","url","clientip","machine.os","tags"],"description":"","grid":{},"hideChart":false,"hits":0,"isTextBasedQuery":false,"kibanaSavedObjectMeta":{"searchSourceJSON":"{\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filter\":[],\"indexRefName\":\"kibanaSavedObjectMeta.searchSourceJSON.index\"}"},"sort":[[]],"timeRestore":false,"title":"test","version":1},"coreMigrationVersion":"8.8.0","created_at":"2023-09-20T20:01:37.753Z","id":"2f360f30-ea74-11eb-b4c6-3d2afc1cb389","managed":false,"references":[{"id":"90943e30-9a47-11e8-b64d-95841ca0b247","name":"kibanaSavedObjectMeta.searchSourceJSON.index","type":"index-pattern"}],"type":"search","typeMigrationVersion":"7.9.3","updated_at":"2023-09-20T20:02:12.775Z","version":"WzQwLDFd"} {"excludedObjects":[],"excludedObjectsCount":0,"exportedCount":1,"missingRefCount":0,"missingReferences":[]} ``` Fixes #166880. ### Checklist - [ ] Any text added follows [EUI's writing guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses sentence case text and includes [i18n support](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/README.md) - [ ] [Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html) was added for features that require explanation or tutorials - [ ] [Unit or functional tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html) were updated or added to match the most common scenarios - [ ] Any UI touched in this PR is usable by keyboard only (learn more about [keyboard accessibility](https://webaim.org/techniques/keyboard/)) - [ ] Any UI touched in this PR does not create any new axe failures (run axe in browser: [FF](https://addons.mozilla.org/en-US/firefox/addon/axe-devtools/), [Chrome](https://chrome.google.com/webstore/detail/axe-web-accessibility-tes/lhdoppojpmngadmnindnejefpokejbdd?hl=en-US)) - [ ] If a plugin configuration key changed, check if it needs to be allowlisted in the cloud and added to the [docker list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker) - [ ] This renders correctly on smaller devices using a responsive layout. (You can test this [in your browser](https://www.browserstack.com/guide/responsive-testing-on-local-server)) - [ ] This was checked for [cross-browser compatibility](https://www.elastic.co/support/matrix#matrix_browsers) ### For maintainers - [ ] This was checked for breaking API changes and was [labeled appropriately](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process) --- .../saved_search/common/content_management/v1/cm_services.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/plugins/saved_search/common/content_management/v1/cm_services.ts b/src/plugins/saved_search/common/content_management/v1/cm_services.ts index a59645b3ad4ac5..781f111b18bfbd 100644 --- a/src/plugins/saved_search/common/content_management/v1/cm_services.ts +++ b/src/plugins/saved_search/common/content_management/v1/cm_services.ts @@ -16,7 +16,7 @@ import { createResultSchema, } from '@kbn/content-management-utils'; -const sortSchema = schema.arrayOf(schema.string(), { minSize: 2, maxSize: 2 }); +const sortSchema = schema.arrayOf(schema.string(), { maxSize: 2 }); const savedSearchAttributesSchema = schema.object( { From 1e3f43853146acdf538db68cf41f24876720d6ff Mon Sep 17 00:00:00 2001 From: Jan Monschke Date: Thu, 21 Sep 2023 15:57:48 +0200 Subject: [PATCH 03/72] [SecuritySolution] Rename timeline-saving-related components (#166740) ## Summary This PR prepares further work on the timeline-saving-related components. As a first step we're only renaming the components to make it easier to reason about their function. > `SaveTimelineButton` -> `EditTimelineButton`: We might have a dedicated `save` button more prominently in the UI in the near future. The former "save" button actually opened up a modal with the `edit` form. In cypress tests, the component was already referred to as the `edit` button. > `TimelineTitleAndDescription` -> `EditTimelineModal`: The original name did not make it clear that it's actually a form in a modal. ### Checklist - [x] [Unit or functional tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html) were updated or added to match the most common scenarios --- .../components/flyout/header/index.tsx | 6 +- .../open_timeline/note_previews/index.tsx | 4 +- ...test.tsx => edit_timeline_button.test.tsx} | 59 +++++++-------- ...ne_button.tsx => edit_timeline_button.tsx} | 42 +++++------ ....test.tsx => edit_timeline_modal.test.tsx} | 73 ++++++++----------- ...escription.tsx => edit_timeline_modal.tsx} | 28 +++---- .../cypress/screens/timeline.ts | 12 +-- 7 files changed, 103 insertions(+), 121 deletions(-) rename x-pack/plugins/security_solution/public/timelines/components/timeline/header/{save_timeline_button.test.tsx => edit_timeline_button.test.tsx} (57%) rename x-pack/plugins/security_solution/public/timelines/components/timeline/header/{save_timeline_button.tsx => edit_timeline_button.tsx} (70%) rename x-pack/plugins/security_solution/public/timelines/components/timeline/header/{title_and_description.test.tsx => edit_timeline_modal.test.tsx} (72%) rename x-pack/plugins/security_solution/public/timelines/components/timeline/header/{title_and_description.tsx => edit_timeline_modal.tsx} (91%) diff --git a/x-pack/plugins/security_solution/public/timelines/components/flyout/header/index.tsx b/x-pack/plugins/security_solution/public/timelines/components/flyout/header/index.tsx index 788618df6fee22..bf481d2e21a3d3 100644 --- a/x-pack/plugins/security_solution/public/timelines/components/flyout/header/index.tsx +++ b/x-pack/plugins/security_solution/public/timelines/components/flyout/header/index.tsx @@ -35,7 +35,7 @@ import { AddToFavoritesButton } from '../../timeline/properties/helpers'; import type { TimerangeInput } from '../../../../../common/search_strategy'; import { AddToCaseButton } from '../add_to_case_button'; import { AddTimelineButton } from '../add_timeline_button'; -import { SaveTimelineButton } from '../../timeline/header/save_timeline_button'; +import { EditTimelineButton } from '../../timeline/header/edit_timeline_button'; import { useGetUserCasesPermissions, useKibana } from '../../../../common/lib/kibana'; import { InspectButton } from '../../../../common/components/inspect'; import { useTimelineKpis } from '../../../containers/kpis'; @@ -421,14 +421,14 @@ const FlyoutHeaderComponent: React.FC = ({ timelineId }) => { - + - + diff --git a/x-pack/plugins/security_solution/public/timelines/components/open_timeline/note_previews/index.tsx b/x-pack/plugins/security_solution/public/timelines/components/open_timeline/note_previews/index.tsx index 7c82b3802e59fa..2444d3b35addf9 100644 --- a/x-pack/plugins/security_solution/public/timelines/components/open_timeline/note_previews/index.tsx +++ b/x-pack/plugins/security_solution/public/timelines/components/open_timeline/note_previews/index.tsx @@ -30,7 +30,7 @@ import { NOTE_CONTENT_CLASS_NAME } from '../../timeline/body/helpers'; import * as i18n from './translations'; import { TimelineTabs } from '../../../../../common/types/timeline'; import { useDeepEqualSelector } from '../../../../common/hooks/use_selector'; -import { SaveTimelineButton } from '../../timeline/header/save_timeline_button'; +import { EditTimelineButton } from '../../timeline/header/edit_timeline_button'; import { SourcererScopeName } from '../../../../common/store/sourcerer/model'; import { useSourcererDataView } from '../../../../common/containers/sourcerer'; import { useKibana } from '../../../../common/lib/kibana'; @@ -226,7 +226,7 @@ export const NotePreviews = React.memo( size="l" /> ), - actions: , + actions: , }, ] : [], diff --git a/x-pack/plugins/security_solution/public/timelines/components/timeline/header/save_timeline_button.test.tsx b/x-pack/plugins/security_solution/public/timelines/components/timeline/header/edit_timeline_button.test.tsx similarity index 57% rename from x-pack/plugins/security_solution/public/timelines/components/timeline/header/save_timeline_button.test.tsx rename to x-pack/plugins/security_solution/public/timelines/components/timeline/header/edit_timeline_button.test.tsx index ee67b469e92506..e43fa5faf5c193 100644 --- a/x-pack/plugins/security_solution/public/timelines/components/timeline/header/save_timeline_button.test.tsx +++ b/x-pack/plugins/security_solution/public/timelines/components/timeline/header/edit_timeline_button.test.tsx @@ -7,15 +7,15 @@ import React from 'react'; import { render, fireEvent, waitFor, screen } from '@testing-library/react'; -import type { SaveTimelineComponentProps } from './save_timeline_button'; -import { SaveTimelineButton } from './save_timeline_button'; +import type { EditTimelineComponentProps } from './edit_timeline_button'; +import { EditTimelineButton } from './edit_timeline_button'; import { TestProviders } from '../../../../common/mock'; import { useUserPrivileges } from '../../../../common/components/user_privileges'; const TEST_ID = { - SAVE_TIMELINE_MODAL: 'save-timeline-modal', - SAVE_TIMELINE_BTN: 'save-timeline-button-icon', - SAVE_TIMELINE_TOOLTIP: 'save-timeline-tooltip', + EDIT_TIMELINE_MODAL: 'edit-timeline-modal', + EDIT_TIMELINE_BTN: 'edit-timeline-button-icon', + EDIT_TIMELINE_TOOLTIP: 'edit-timeline-tooltip', }; jest.mock('react-redux', () => { @@ -36,9 +36,9 @@ const props = { toolTip: 'tooltip message', }; -const TestSaveTimelineButton = (_props: SaveTimelineComponentProps) => ( +const TestEditTimelineButton = (_props: EditTimelineComponentProps) => ( - + ); @@ -46,21 +46,16 @@ jest.mock('raf', () => { return jest.fn().mockImplementation((cb) => cb()); }); -describe('SaveTimelineButton', () => { +describe('EditTimelineButton', () => { beforeEach(() => { jest.clearAllMocks(); }); - // skipping this test because popover is not getting visible by RTL gestures. - // - // Raised a bug with eui team: https://github.com/elastic/eui/issues/6065 - xit('Show tooltip', async () => { - render(); - const saveTimelineIcon = screen.queryAllByTestId(TEST_ID.SAVE_TIMELINE_BTN)[0]; + it('Show tooltip', async () => { + render(); + const editTimelineIcon = screen.queryAllByTestId(TEST_ID.EDIT_TIMELINE_BTN)[0]; - fireEvent.mouseOver(saveTimelineIcon); - - jest.runAllTimers(); + fireEvent.mouseOver(editTimelineIcon); await waitFor(() => { expect(screen.getByRole('tooltip')).toBeVisible(); @@ -68,9 +63,9 @@ describe('SaveTimelineButton', () => { }); it('should show a button with pencil icon', () => { - render(); + render(); - expect(screen.getByTestId(TEST_ID.SAVE_TIMELINE_BTN).firstChild).toHaveAttribute( + expect(screen.getByTestId(TEST_ID.EDIT_TIMELINE_BTN).firstChild).toHaveAttribute( 'data-euiicon-type', 'pencil' ); @@ -82,26 +77,26 @@ describe('SaveTimelineButton', () => { }); render( - + ); - expect(screen.getByTestId(TEST_ID.SAVE_TIMELINE_BTN)).toBeDisabled(); + expect(screen.getByTestId(TEST_ID.EDIT_TIMELINE_BTN)).toBeDisabled(); }); it('should not show modal if user does not have write access', async () => { (useUserPrivileges as jest.Mock).mockReturnValue({ kibanaSecuritySolutionsPrivileges: { crud: false }, }); - render(); + render(); - expect(screen.queryByTestId(TEST_ID.SAVE_TIMELINE_MODAL)).not.toBeInTheDocument(); + expect(screen.queryByTestId(TEST_ID.EDIT_TIMELINE_MODAL)).not.toBeInTheDocument(); - const saveTimelineIcon = screen.getByTestId(TEST_ID.SAVE_TIMELINE_BTN); + const editTimelineIcon = screen.getByTestId(TEST_ID.EDIT_TIMELINE_BTN); - fireEvent.click(saveTimelineIcon); + fireEvent.click(editTimelineIcon); await waitFor(() => { - expect(screen.queryAllByTestId(TEST_ID.SAVE_TIMELINE_MODAL)).toHaveLength(0); + expect(screen.queryAllByTestId(TEST_ID.EDIT_TIMELINE_MODAL)).toHaveLength(0); }); }); @@ -109,16 +104,16 @@ describe('SaveTimelineButton', () => { (useUserPrivileges as jest.Mock).mockReturnValue({ kibanaSecuritySolutionsPrivileges: { crud: true }, }); - render(); - expect(screen.queryByTestId(TEST_ID.SAVE_TIMELINE_MODAL)).not.toBeInTheDocument(); + render(); + expect(screen.queryByTestId(TEST_ID.EDIT_TIMELINE_MODAL)).not.toBeInTheDocument(); - const saveTimelineIcon = screen.queryAllByTestId(TEST_ID.SAVE_TIMELINE_BTN)[0]; + const editTimelineIcon = screen.queryAllByTestId(TEST_ID.EDIT_TIMELINE_BTN)[0]; - fireEvent.click(saveTimelineIcon); + fireEvent.click(editTimelineIcon); await waitFor(() => { - expect(screen.queryByTestId(TEST_ID.SAVE_TIMELINE_TOOLTIP)).not.toBeInTheDocument(); - expect(screen.queryAllByTestId(TEST_ID.SAVE_TIMELINE_MODAL)[0]).toBeVisible(); + expect(screen.queryByTestId(TEST_ID.EDIT_TIMELINE_TOOLTIP)).not.toBeInTheDocument(); + expect(screen.queryAllByTestId(TEST_ID.EDIT_TIMELINE_MODAL)[0]).toBeVisible(); }); }); }); diff --git a/x-pack/plugins/security_solution/public/timelines/components/timeline/header/save_timeline_button.tsx b/x-pack/plugins/security_solution/public/timelines/components/timeline/header/edit_timeline_button.tsx similarity index 70% rename from x-pack/plugins/security_solution/public/timelines/components/timeline/header/save_timeline_button.tsx rename to x-pack/plugins/security_solution/public/timelines/components/timeline/header/edit_timeline_button.tsx index 20657356063c77..ad59ffbbd6288c 100644 --- a/x-pack/plugins/security_solution/public/timelines/components/timeline/header/save_timeline_button.tsx +++ b/x-pack/plugins/security_solution/public/timelines/components/timeline/header/edit_timeline_button.tsx @@ -14,24 +14,24 @@ import { TimelineId } from '../../../../../common/types/timeline'; import { useDeepEqualSelector } from '../../../../common/hooks/use_selector'; import { timelineActions } from '../../../store/timeline'; import { getTimelineSaveModalByIdSelector } from './selectors'; -import { TimelineTitleAndDescription } from './title_and_description'; +import { EditTimelineModal } from './edit_timeline_modal'; import * as timelineTranslations from './translations'; -export interface SaveTimelineComponentProps { +export interface EditTimelineComponentProps { initialFocus: 'title' | 'description'; timelineId: string; toolTip?: string; } -export const SaveTimelineButton = React.memo( +export const EditTimelineButton = React.memo( ({ initialFocus, timelineId, toolTip }) => { const dispatch = useDispatch(); const getTimelineSaveModal = useMemo(() => getTimelineSaveModalByIdSelector(), []); const show = useDeepEqualSelector((state) => getTimelineSaveModal(state, timelineId)); - const [showSaveTimelineOverlay, setShowSaveTimelineOverlay] = useState(false); + const [showEditTimelineOverlay, setShowEditTimelineOverlay] = useState(false); - const closeSaveTimeline = useCallback(() => { - setShowSaveTimelineOverlay(false); + const closeEditTimeline = useCallback(() => { + setShowEditTimelineOverlay(false); if (show) { dispatch( timelineActions.toggleModalSaveTimeline({ @@ -40,11 +40,11 @@ export const SaveTimelineButton = React.memo( }) ); } - }, [dispatch, setShowSaveTimelineOverlay, show]); + }, [dispatch, setShowEditTimelineOverlay, show]); - const openSaveTimeline = useCallback(() => { - setShowSaveTimelineOverlay(true); - }, [setShowSaveTimelineOverlay]); + const openEditTimeline = useCallback(() => { + setShowEditTimelineOverlay(true); + }, [setShowEditTimelineOverlay]); // Case: 1 // check if user has crud privileges so that user can be allowed to edit the timeline @@ -60,35 +60,35 @@ export const SaveTimelineButton = React.memo( [toolTip, hasKibanaCrud] ); - const saveTimelineButtonIcon = useMemo( + const editTimelineButtonIcon = useMemo( () => ( ), - [openSaveTimeline, hasKibanaCrud] + [openEditTimeline, hasKibanaCrud] ); - return (initialFocus === 'title' && show) || showSaveTimelineOverlay ? ( + return (initialFocus === 'title' && show) || showEditTimelineOverlay ? ( <> - {saveTimelineButtonIcon} - ) : ( - - {saveTimelineButtonIcon} + + {editTimelineButtonIcon} ); } ); -SaveTimelineButton.displayName = 'SaveTimelineButton'; +EditTimelineButton.displayName = 'EditTimelineButton'; diff --git a/x-pack/plugins/security_solution/public/timelines/components/timeline/header/title_and_description.test.tsx b/x-pack/plugins/security_solution/public/timelines/components/timeline/header/edit_timeline_modal.test.tsx similarity index 72% rename from x-pack/plugins/security_solution/public/timelines/components/timeline/header/title_and_description.test.tsx rename to x-pack/plugins/security_solution/public/timelines/components/timeline/header/edit_timeline_modal.test.tsx index 39b1cdef0063b7..4581b38a2fd568 100644 --- a/x-pack/plugins/security_solution/public/timelines/components/timeline/header/title_and_description.test.tsx +++ b/x-pack/plugins/security_solution/public/timelines/components/timeline/header/edit_timeline_modal.test.tsx @@ -11,7 +11,7 @@ import { mount } from 'enzyme'; import { TestProviders } from '../../../../common/mock'; import { useDeepEqualSelector } from '../../../../common/hooks/use_selector'; import { TimelineStatus, TimelineType } from '../../../../../common/api/timeline'; -import { TimelineTitleAndDescription } from './title_and_description'; +import { EditTimelineModal } from './edit_timeline_modal'; import * as i18n from './translations'; jest.mock('../../../../common/hooks/use_selector', () => ({ @@ -30,15 +30,12 @@ jest.mock('react-redux', () => { }; }); -describe('TimelineTitleAndDescription', () => { +describe('EditTimelineModal', () => { describe('save timeline', () => { const props = { initialFocus: 'title' as const, - closeSaveTimeline: jest.fn(), + closeEditTimeline: jest.fn(), timelineId: 'timeline-1', - onSaveTimeline: jest.fn(), - updateTitle: jest.fn(), - updateDescription: jest.fn(), }; const mockGetButton = jest.fn().mockReturnValue(
); @@ -59,14 +56,14 @@ describe('TimelineTitleAndDescription', () => { }); test('show process bar while saving', () => { - const component = mount(, { + const component = mount(, { wrappingComponent: TestProviders, }); expect(component.find('[data-test-subj="progress-bar"]').exists()).toEqual(true); }); - test('Show correct header for save timeline modal', () => { - const component = mount(, { + test('Show correct header for edit timeline modal', () => { + const component = mount(, { wrappingComponent: TestProviders, }); expect(component.find('[data-test-subj="modal-header"]').at(1).prop('children')).toEqual( @@ -74,7 +71,7 @@ describe('TimelineTitleAndDescription', () => { ); }); - test('Show correct header for save timeline template modal', () => { + test('Show correct header for edit timeline template modal', () => { (useDeepEqualSelector as jest.Mock).mockReturnValue({ description: '', isSaving: true, @@ -82,7 +79,7 @@ describe('TimelineTitleAndDescription', () => { title: 'my timeline', timelineType: TimelineType.template, }); - const component = mount(, { + const component = mount(, { wrappingComponent: TestProviders, }); expect(component.find('[data-test-subj="modal-header"]').at(1).prop('children')).toEqual( @@ -91,28 +88,28 @@ describe('TimelineTitleAndDescription', () => { }); test('Show name field', () => { - const component = mount(, { + const component = mount(, { wrappingComponent: TestProviders, }); - expect(component.find('[data-test-subj="save-timeline-title"]').exists()).toEqual(true); + expect(component.find('[data-test-subj="edit-timeline-title"]').exists()).toEqual(true); }); test('Show description field', () => { - const component = mount(, { + const component = mount(, { wrappingComponent: TestProviders, }); - expect(component.find('[data-test-subj="save-timeline-description"]').exists()).toEqual(true); + expect(component.find('[data-test-subj="edit-timeline-description"]').exists()).toEqual(true); }); test('Show close button', () => { - const component = mount(, { + const component = mount(, { wrappingComponent: TestProviders, }); expect(component.find('[data-test-subj="close-button"]').exists()).toEqual(true); }); test('Show saveButton', () => { - const component = mount(, { + const component = mount(, { wrappingComponent: TestProviders, }); expect(component.find('[data-test-subj="save-button"]').exists()).toEqual(true); @@ -122,13 +119,8 @@ describe('TimelineTitleAndDescription', () => { describe('update timeline', () => { const props = { initialFocus: 'title' as const, - closeSaveTimeline: jest.fn(), - openSaveTimeline: jest.fn(), + closeEditTimeline: jest.fn(), timelineId: 'timeline-1', - toggleSaveTimeline: jest.fn(), - onSaveTimeline: jest.fn(), - updateTitle: jest.fn(), - updateDescription: jest.fn(), }; const mockGetButton = jest.fn().mockReturnValue(
); @@ -149,14 +141,14 @@ describe('TimelineTitleAndDescription', () => { }); test('show process bar while saving', () => { - const component = mount(, { + const component = mount(, { wrappingComponent: TestProviders, }); expect(component.find('[data-test-subj="progress-bar"]').exists()).toEqual(true); }); test('Show correct header for save timeline modal', () => { - const component = mount(, { + const component = mount(, { wrappingComponent: TestProviders, }); expect(component.find('[data-test-subj="modal-header"]').at(1).prop('children')).toEqual( @@ -164,7 +156,7 @@ describe('TimelineTitleAndDescription', () => { ); }); - test('Show correct header for save timeline template modal', () => { + test('Show correct header for edit timeline template modal', () => { (useDeepEqualSelector as jest.Mock).mockReturnValue({ description: 'xxxx', isSaving: true, @@ -172,7 +164,7 @@ describe('TimelineTitleAndDescription', () => { title: 'my timeline', timelineType: TimelineType.template, }); - const component = mount(, { + const component = mount(, { wrappingComponent: TestProviders, }); expect(component.find('[data-test-subj="modal-header"]').at(1).prop('children')).toEqual( @@ -181,21 +173,21 @@ describe('TimelineTitleAndDescription', () => { }); test('Show name field', () => { - const component = mount(, { + const component = mount(, { wrappingComponent: TestProviders, }); - expect(component.find('[data-test-subj="save-timeline-title"]').exists()).toEqual(true); + expect(component.find('[data-test-subj="edit-timeline-title"]').exists()).toEqual(true); }); test('Show description field', () => { - const component = mount(, { + const component = mount(, { wrappingComponent: TestProviders, }); - expect(component.find('[data-test-subj="save-timeline-description"]').exists()).toEqual(true); + expect(component.find('[data-test-subj="edit-timeline-description"]').exists()).toEqual(true); }); test('Show saveButton', () => { - const component = mount(, { + const component = mount(, { wrappingComponent: TestProviders, }); expect(component.find('[data-test-subj="save-button"]').exists()).toEqual(true); @@ -205,13 +197,8 @@ describe('TimelineTitleAndDescription', () => { describe('showWarning', () => { const props = { initialFocus: 'title' as const, - closeSaveTimeline: jest.fn(), - openSaveTimeline: jest.fn(), + closeEditTimeline: jest.fn(), timelineId: 'timeline-1', - toggleSaveTimeline: jest.fn(), - onSaveTimeline: jest.fn(), - updateTitle: jest.fn(), - updateDescription: jest.fn(), showWarning: true, }; @@ -234,14 +221,14 @@ describe('TimelineTitleAndDescription', () => { }); test('Show EuiCallOut', () => { - const component = mount(, { + const component = mount(, { wrappingComponent: TestProviders, }); - expect(component.find('[data-test-subj="save-timeline-callout"]').exists()).toEqual(true); + expect(component.find('[data-test-subj="edit-timeline-callout"]').exists()).toEqual(true); }); test('Show discardTimelineButton', () => { - const component = mount(, { + const component = mount(, { wrappingComponent: TestProviders, }); expect(component.find('[data-test-subj="close-button"]').at(2).text()).toEqual( @@ -257,7 +244,7 @@ describe('TimelineTitleAndDescription', () => { title: 'my timeline', timelineType: TimelineType.template, }); - const component = mount(, { + const component = mount(, { wrappingComponent: TestProviders, }); expect(component.find('[data-test-subj="close-button"]').at(2).text()).toEqual( @@ -266,7 +253,7 @@ describe('TimelineTitleAndDescription', () => { }); test('Show saveButton', () => { - const component = mount(); + const component = mount(); expect(component.find('[data-test-subj="save-button"]').at(1).exists()).toEqual(true); }); }); diff --git a/x-pack/plugins/security_solution/public/timelines/components/timeline/header/title_and_description.tsx b/x-pack/plugins/security_solution/public/timelines/components/timeline/header/edit_timeline_modal.tsx similarity index 91% rename from x-pack/plugins/security_solution/public/timelines/components/timeline/header/title_and_description.tsx rename to x-pack/plugins/security_solution/public/timelines/components/timeline/header/edit_timeline_modal.tsx index b4118355265ca1..3a09d3b59601f8 100644 --- a/x-pack/plugins/security_solution/public/timelines/components/timeline/header/title_and_description.tsx +++ b/x-pack/plugins/security_solution/public/timelines/components/timeline/header/edit_timeline_modal.tsx @@ -35,8 +35,8 @@ import { useStartTransaction } from '../../../../common/lib/apm/use_start_transa import { TIMELINE_ACTIONS } from '../../../../common/lib/apm/user_actions'; const CommonUseField = getUseField({ component: Field }); -interface TimelineTitleAndDescriptionProps { - closeSaveTimeline: () => void; +interface EditTimelineModalProps { + closeEditTimeline: () => void; initialFocus: 'title' | 'description'; timelineId: string; showWarning?: boolean; @@ -45,8 +45,8 @@ interface TimelineTitleAndDescriptionProps { // when showWarning equals to true, // the modal is used as a reminder for users to save / discard // the unsaved timeline / template -export const TimelineTitleAndDescription = React.memo( - ({ closeSaveTimeline, initialFocus, timelineId, showWarning }) => { +export const EditTimelineModal = React.memo( + ({ closeEditTimeline, initialFocus, timelineId, showWarning }) => { const { startTransaction } = useStartTransaction(); const getTimeline = useMemo(() => timelineSelectors.getTimelineByIdSelector(), []); const { @@ -112,8 +112,8 @@ export const TimelineTitleAndDescription = React.memo { if (status === TimelineStatus.draft && showWarning) { @@ -157,7 +157,7 @@ export const TimelineTitleAndDescription = React.memo ({ 'aria-label': i18n.TIMELINE_TITLE, autoFocus: initialFocus === 'title', - 'data-test-subj': 'save-timeline-title', + 'data-test-subj': 'edit-timeline-title', disabled: isSaving, spellCheck: true, placeholder: @@ -172,7 +172,7 @@ export const TimelineTitleAndDescription = React.memo ({ 'aria-label': i18n.TIMELINE_DESCRIPTION, autoFocus: initialFocus === 'description', - 'data-test-subj': 'save-timeline-description', + 'data-test-subj': 'edit-timeline-description', disabled: isSaving, placeholder: commonI18n.DESCRIPTION, }), @@ -181,15 +181,15 @@ export const TimelineTitleAndDescription = React.memo { if (isSubmitted && !isSaving && prevIsSaving) { - closeSaveTimeline(); + closeEditTimeline(); } - }, [isSubmitted, isSaving, prevIsSaving, closeSaveTimeline]); + }, [isSubmitted, isSaving, prevIsSaving, closeEditTimeline]); return ( {isSaving && ( @@ -203,7 +203,7 @@ export const TimelineTitleAndDescription = React.memo @@ -260,4 +260,4 @@ export const TimelineTitleAndDescription = React.memo Date: Thu, 21 Sep 2023 10:04:17 -0400 Subject: [PATCH 04/72] skip failing test suite (#166893) --- .../test_suites/core_plugins/application_deep_links.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/test/plugin_functional/test_suites/core_plugins/application_deep_links.ts b/test/plugin_functional/test_suites/core_plugins/application_deep_links.ts index 1fa902ed6d15a8..8d558dafa68f54 100644 --- a/test/plugin_functional/test_suites/core_plugins/application_deep_links.ts +++ b/test/plugin_functional/test_suites/core_plugins/application_deep_links.ts @@ -39,7 +39,8 @@ export default function ({ getService, getPageObjects }: PluginFunctionalProvide }); }; - describe('application deep links navigation', function describeDeepLinksTests() { + // Failing: See https://github.com/elastic/kibana/issues/166893 + describe.skip('application deep links navigation', function describeDeepLinksTests() { before(async () => { await esArchiver.emptyKibanaIndex(); await PageObjects.common.navigateToApp('dl'); From 22a9f4afb2e59353a30114da1a478224dc6f88ad Mon Sep 17 00:00:00 2001 From: Lukas Olson Date: Thu, 21 Sep 2023 07:43:36 -0700 Subject: [PATCH 05/72] [Search] Fix isErrorResponse when cluster details are provided (#166667) ## Summary Cherry picks #166544 into main. Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- src/plugins/data/common/search/utils.test.ts | 120 +++++++++++++++++++ src/plugins/data/common/search/utils.ts | 23 +++- 2 files changed, 141 insertions(+), 2 deletions(-) diff --git a/src/plugins/data/common/search/utils.test.ts b/src/plugins/data/common/search/utils.test.ts index 7d75f1b613369a..cd8ba5340b3523 100644 --- a/src/plugins/data/common/search/utils.test.ts +++ b/src/plugins/data/common/search/utils.test.ts @@ -24,6 +24,119 @@ describe('utils', () => { expect(isError).toBe(true); }); + it('returns `false` if the response is not running and partial and contains failure details', () => { + const isError = isErrorResponse({ + isPartial: true, + isRunning: false, + rawResponse: { + took: 7, + timed_out: false, + _shards: { + total: 2, + successful: 1, + skipped: 0, + failed: 1, + failures: [ + { + shard: 0, + index: 'remote:tmp-00002', + node: '9SNgMgppT2-6UHJNXwio3g', + reason: { + type: 'script_exception', + reason: 'runtime error', + script_stack: [ + 'org.elasticsearch.server@8.10.0/org.elasticsearch.search.lookup.LeafDocLookup.getFactoryForDoc(LeafDocLookup.java:148)', + 'org.elasticsearch.server@8.10.0/org.elasticsearch.search.lookup.LeafDocLookup.get(LeafDocLookup.java:191)', + 'org.elasticsearch.server@8.10.0/org.elasticsearch.search.lookup.LeafDocLookup.get(LeafDocLookup.java:32)', + "doc['bar'].value < 10", + ' ^---- HERE', + ], + script: "doc['bar'].value < 10", + lang: 'painless', + position: { + offset: 4, + start: 0, + end: 21, + }, + caused_by: { + type: 'illegal_argument_exception', + reason: 'No field found for [bar] in mapping', + }, + }, + }, + ], + }, + _clusters: { + total: 1, + successful: 1, + skipped: 0, + details: { + remote: { + status: 'partial', + indices: 'tmp-*', + took: 3, + timed_out: false, + _shards: { + total: 2, + successful: 1, + skipped: 0, + failed: 1, + }, + failures: [ + { + shard: 0, + index: 'remote:tmp-00002', + node: '9SNgMgppT2-6UHJNXwio3g', + reason: { + type: 'script_exception', + reason: 'runtime error', + script_stack: [ + 'org.elasticsearch.server@8.10.0/org.elasticsearch.search.lookup.LeafDocLookup.getFactoryForDoc(LeafDocLookup.java:148)', + 'org.elasticsearch.server@8.10.0/org.elasticsearch.search.lookup.LeafDocLookup.get(LeafDocLookup.java:191)', + 'org.elasticsearch.server@8.10.0/org.elasticsearch.search.lookup.LeafDocLookup.get(LeafDocLookup.java:32)', + "doc['bar'].value < 10", + ' ^---- HERE', + ], + script: "doc['bar'].value < 10", + lang: 'painless', + position: { + offset: 4, + start: 0, + end: 21, + }, + caused_by: { + type: 'illegal_argument_exception', + reason: 'No field found for [bar] in mapping', + }, + }, + }, + ], + }, + }, + }, + hits: { + total: { + value: 1, + relation: 'eq', + }, + max_score: 0, + hits: [ + { + _index: 'remote:tmp-00001', + _id: 'd8JNlYoBFqAcOBVnvdqx', + _score: 0, + _source: { + foo: 'bar', + bar: 1, + }, + }, + ], + }, + }, + }); + expect(isError).toBe(false); + }); + it('returns `false` if the response is running and partial', () => { const isError = isErrorResponse({ isPartial: true, @@ -66,6 +179,13 @@ describe('utils', () => { }); expect(isError).toBe(true); }); + + it('returns `true` if the response does not indicate isRunning', () => { + const isError = isCompleteResponse({ + rawResponse: {}, + }); + expect(isError).toBe(true); + }); }); describe('isPartialResponse', () => { diff --git a/src/plugins/data/common/search/utils.ts b/src/plugins/data/common/search/utils.ts index 88b3868c147f7f..c8a6ca46e5919d 100644 --- a/src/plugins/data/common/search/utils.ts +++ b/src/plugins/data/common/search/utils.ts @@ -11,17 +11,36 @@ import { AggTypesDependencies } from '..'; import type { IKibanaSearchResponse } from './types'; /** + * From https://github.com/elastic/elasticsearch/issues/55572: "When is_running is false, the query has stopped, which + * may happen due to ... the search failed, in which case is_partial is set to true to indicate that any results that + * may be included in the search response come only from a subset of the shards that the query should have hit." * @returns true if response had an error while executing in ES */ export const isErrorResponse = (response?: IKibanaSearchResponse) => { - return !response || !response.rawResponse || (!response.isRunning && !!response.isPartial); + return ( + !response || + !response.rawResponse || + (!response.isRunning && + !!response.isPartial && + // See https://github.com/elastic/elasticsearch/pull/97731. For CCS with ccs_minimize_roundtrips=true, isPartial + // is true if the search is complete but there are shard failures. In that case, the _clusters.details section + // will have information about those failures. This will also likely be the behavior of CCS with + // ccs_minimize_roundtrips=false and non-CCS after https://github.com/elastic/elasticsearch/issues/98913 is + // resolved. + !response.rawResponse?._clusters?.details) + ); }; /** * @returns true if response is completed successfully */ export const isCompleteResponse = (response?: IKibanaSearchResponse) => { - return Boolean(response && !response.isRunning && !response.isPartial); + // Some custom search strategies do not indicate whether they are still running. In this case, assume it is complete. + if (response && !response.hasOwnProperty('isRunning')) { + return true; + } + + return !isErrorResponse(response) && Boolean(response && !response.isRunning); }; /** From 522f577e4c91610e5304adfefd872ae8f59358ff Mon Sep 17 00:00:00 2001 From: Maxim Palenov Date: Thu, 21 Sep 2023 07:44:49 -0700 Subject: [PATCH 06/72] Force last breadcrumb to be inactive (#166785) **Related to:** https://github.com/elastic/kibana/issues/161540, https://github.com/elastic/kibana/issues/161539 ## Summary Always force the last breadcrumb to be inactive. ## Details Usual UX expects the last breadcrumb to be inactive as it represents the current page. The same can be seen from EUI [examples](https://eui.elastic.co/#/navigation/breadcrumbs). It turns out Serverless Security Solution plugin does't remove `href` and `onClick` fields from the last breadcrumb and passes it to `chrome.setBreadcrumbs()` or `serverless.setBreadcrumbs()` which renders the last breadcrumb as active but clicking on it only refreshes the page. ESS Security Solution on the other hand processes breadcrumbs currently. The same behavior may be the case for the other plungs as well. As it's much simpler to strip off undesired fields at one place instead of processing them in plugins it's done in `packages/core/chrome/core-chrome-browser-internal/src/ui/header/header_breadcrumbs.tsx`. Security Solution codebase has been updated accordingly. A side effect of this PR is consistent ESS and Serverless breadcrumbs behavior and it will help to reuse ESS tests for Serverless. --- .../header_breadcrumbs.test.tsx.snap | 127 ------------------ .../src/ui/header/header_breadcrumbs.test.tsx | 36 +++-- .../src/ui/header/header_breadcrumbs.tsx | 24 ++-- .../public/breadcrumbs/breadcrumbs.test.ts | 33 ----- .../public/breadcrumbs/breadcrumbs.ts | 16 +-- 5 files changed, 43 insertions(+), 193 deletions(-) delete mode 100644 packages/core/chrome/core-chrome-browser-internal/src/ui/header/__snapshots__/header_breadcrumbs.test.tsx.snap delete mode 100644 x-pack/plugins/security_solution_ess/public/breadcrumbs/breadcrumbs.test.ts diff --git a/packages/core/chrome/core-chrome-browser-internal/src/ui/header/__snapshots__/header_breadcrumbs.test.tsx.snap b/packages/core/chrome/core-chrome-browser-internal/src/ui/header/__snapshots__/header_breadcrumbs.test.tsx.snap deleted file mode 100644 index fe492078d76d07..00000000000000 --- a/packages/core/chrome/core-chrome-browser-internal/src/ui/header/__snapshots__/header_breadcrumbs.test.tsx.snap +++ /dev/null @@ -1,127 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`HeaderBreadcrumbs renders updates to the breadcrumbs$ observable 1`] = ` -
  • - - First - -
  • -`; - -exports[`HeaderBreadcrumbs renders updates to the breadcrumbs$ observable 2`] = ` -
  • - - First - -
  • -`; - -exports[`HeaderBreadcrumbs renders updates to the breadcrumbs$ observable 3`] = ` -
  • - - First - -
  • -`; - -exports[`HeaderBreadcrumbs renders updates to the breadcrumbs$ observable 4`] = ` -
  • - - First - -
  • -`; - -exports[`HeaderBreadcrumbs renders updates to the breadcrumbs$ observable 5`] = ` -
  • - - Second - -
  • -`; - -exports[`HeaderBreadcrumbs renders updates to the breadcrumbs$ observable 6`] = ` -
  • - - Second - -
  • -`; - -exports[`HeaderBreadcrumbs renders updates to the breadcrumbs$ observable 7`] = ` -
  • - - Kibana - -
  • -`; - -exports[`HeaderBreadcrumbs renders updates to the breadcrumbs$ observable 8`] = ` -
  • - - Kibana - -
  • -`; diff --git a/packages/core/chrome/core-chrome-browser-internal/src/ui/header/header_breadcrumbs.test.tsx b/packages/core/chrome/core-chrome-browser-internal/src/ui/header/header_breadcrumbs.test.tsx index 285d6c4f90a1c7..e4d70e65b363eb 100644 --- a/packages/core/chrome/core-chrome-browser-internal/src/ui/header/header_breadcrumbs.test.tsx +++ b/packages/core/chrome/core-chrome-browser-internal/src/ui/header/header_breadcrumbs.test.tsx @@ -6,24 +6,40 @@ * Side Public License, v 1. */ -import { mount } from 'enzyme'; +import '@testing-library/jest-dom'; +import { act, render, screen } from '@testing-library/react'; import React from 'react'; -import { act } from 'react-dom/test-utils'; -import { BehaviorSubject } from 'rxjs'; +import { BehaviorSubject, of } from 'rxjs'; import { HeaderBreadcrumbs } from './header_breadcrumbs'; describe('HeaderBreadcrumbs', () => { - it('renders updates to the breadcrumbs$ observable', () => { + it('renders updates to the breadcrumbs$ observable', async () => { const breadcrumbs$ = new BehaviorSubject([{ text: 'First' }]); - const wrapper = mount(); - wrapper.find('.euiBreadcrumb').forEach((el) => expect(el.render()).toMatchSnapshot()); + + render(); + + expect(await screen.findByLabelText('Breadcrumbs')).toHaveTextContent('First'); act(() => breadcrumbs$.next([{ text: 'First' }, { text: 'Second' }])); - wrapper.update(); - wrapper.find('.euiBreadcrumb').forEach((el) => expect(el.render()).toMatchSnapshot()); + + expect(await screen.findByLabelText('Breadcrumbs')).toHaveTextContent('FirstSecond'); act(() => breadcrumbs$.next([])); - wrapper.update(); - wrapper.find('.euiBreadcrumb').forEach((el) => expect(el.render()).toMatchSnapshot()); + + expect(await screen.findByLabelText('Breadcrumbs')).toHaveTextContent('Kibana'); + }); + + it('forces the last breadcrumb inactivity', async () => { + const breadcrumbs$ = of([ + { text: 'First' }, + { text: 'Last', href: '/something', onClick: jest.fn() }, + ]); + + render(); + + const lastBreadcrumb = await screen.findByTitle('Last'); + + expect(lastBreadcrumb).not.toHaveAttribute('href'); + expect(lastBreadcrumb.tagName).not.toBe('a'); }); }); diff --git a/packages/core/chrome/core-chrome-browser-internal/src/ui/header/header_breadcrumbs.tsx b/packages/core/chrome/core-chrome-browser-internal/src/ui/header/header_breadcrumbs.tsx index 17a2f46cd441e5..6403bc62ad8773 100644 --- a/packages/core/chrome/core-chrome-browser-internal/src/ui/header/header_breadcrumbs.tsx +++ b/packages/core/chrome/core-chrome-browser-internal/src/ui/header/header_breadcrumbs.tsx @@ -25,15 +25,21 @@ export function HeaderBreadcrumbs({ breadcrumbs$ }: Props) { crumbs = [{ text: 'Kibana' }]; } - crumbs = crumbs.map((breadcrumb, i) => ({ - ...breadcrumb, - 'data-test-subj': classNames( - 'breadcrumb', - breadcrumb['data-test-subj'], - i === 0 && 'first', - i === breadcrumbs.length - 1 && 'last' - ), - })); + crumbs = crumbs.map((breadcrumb, i) => { + const isLast = i === breadcrumbs.length - 1; + + return { + ...breadcrumb, + href: isLast ? undefined : breadcrumb.href, + onClick: isLast ? undefined : breadcrumb.onClick, + 'data-test-subj': classNames( + 'breadcrumb', + breadcrumb['data-test-subj'], + i === 0 && 'first', + isLast && 'last' + ), + }; + }); return ; } diff --git a/x-pack/plugins/security_solution_ess/public/breadcrumbs/breadcrumbs.test.ts b/x-pack/plugins/security_solution_ess/public/breadcrumbs/breadcrumbs.test.ts deleted file mode 100644 index 3b4c340488572e..00000000000000 --- a/x-pack/plugins/security_solution_ess/public/breadcrumbs/breadcrumbs.test.ts +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import type { ChromeBreadcrumb } from '@kbn/core/public'; -import { emptyLastBreadcrumbUrl } from './breadcrumbs'; - -describe('emptyLastBreadcrumbUrl', () => { - it('should empty the URL and onClick function of the last breadcrumb', () => { - const breadcrumbs: ChromeBreadcrumb[] = [ - { text: 'Home', href: '/home', onClick: () => {} }, - { text: 'Breadcrumb 1', href: '/bc1', onClick: () => {} }, - { text: 'Last Breadcrumbs', href: '/last_bc', onClick: () => {} }, - ]; - - const expectedBreadcrumbs = [ - { text: 'Home', href: '/home', onClick: breadcrumbs[0].onClick }, - { text: 'Breadcrumb 1', href: '/bc1', onClick: breadcrumbs[1].onClick }, - { text: 'Last Breadcrumbs', href: '', onClick: undefined }, - ]; - - expect(emptyLastBreadcrumbUrl(breadcrumbs)).toEqual(expectedBreadcrumbs); - }); - - it('should return the original breadcrumbs if the input is empty', () => { - const emptyBreadcrumbs: ChromeBreadcrumb[] = []; - - expect(emptyLastBreadcrumbUrl(emptyBreadcrumbs)).toEqual(emptyBreadcrumbs); - }); -}); diff --git a/x-pack/plugins/security_solution_ess/public/breadcrumbs/breadcrumbs.ts b/x-pack/plugins/security_solution_ess/public/breadcrumbs/breadcrumbs.ts index ca76dc304ab995..f0305cfb95511c 100644 --- a/x-pack/plugins/security_solution_ess/public/breadcrumbs/breadcrumbs.ts +++ b/x-pack/plugins/security_solution_ess/public/breadcrumbs/breadcrumbs.ts @@ -5,23 +5,11 @@ * 2.0. */ -import type { ChromeBreadcrumb } from '@kbn/core/public'; import type { Services } from '../common/services'; export const subscribeBreadcrumbs = (services: Services) => { - const { chrome, securitySolution } = services; + const { securitySolution, chrome } = services; securitySolution.getBreadcrumbsNav$().subscribe((breadcrumbsNav) => { - const breadcrumbs = [...breadcrumbsNav.leading, ...breadcrumbsNav.trailing]; - if (breadcrumbs.length > 0) { - chrome.setBreadcrumbs(emptyLastBreadcrumbUrl(breadcrumbs)); - } + chrome.setBreadcrumbs([...breadcrumbsNav.leading, ...breadcrumbsNav.trailing]); }); }; - -export const emptyLastBreadcrumbUrl = (breadcrumbs: ChromeBreadcrumb[]) => { - const lastBreadcrumb = breadcrumbs[breadcrumbs.length - 1]; - if (lastBreadcrumb) { - return [...breadcrumbs.slice(0, -1), { ...lastBreadcrumb, href: '', onClick: undefined }]; - } - return breadcrumbs; -}; From 4ea8dda90775849ef7b60df0d081207b7de70480 Mon Sep 17 00:00:00 2001 From: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> Date: Thu, 21 Sep 2023 10:55:51 -0400 Subject: [PATCH 07/72] skip failing test suite (#166551) --- .../functional/test_suites/security/ftr/cases/configure.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/x-pack/test_serverless/functional/test_suites/security/ftr/cases/configure.ts b/x-pack/test_serverless/functional/test_suites/security/ftr/cases/configure.ts index f155629558ff8c..75bb60d0da661c 100644 --- a/x-pack/test_serverless/functional/test_suites/security/ftr/cases/configure.ts +++ b/x-pack/test_serverless/functional/test_suites/security/ftr/cases/configure.ts @@ -16,7 +16,8 @@ export default ({ getPageObject, getService }: FtrProviderContext) => { const cases = getService('cases'); const toasts = getService('toasts'); - describe('Configure Case', function () { + // Failing: See https://github.com/elastic/kibana/issues/166551 + describe.skip('Configure Case', function () { before(async () => { await svlCommonPage.login(); From 67939c3635d76bd422f07889d93e2ca6e95fb6ec Mon Sep 17 00:00:00 2001 From: Alex Szabo Date: Thu, 21 Sep 2023 16:59:52 +0200 Subject: [PATCH 08/72] chore(quality-gates): Add slo check to QA stage (#166722) ## Summary Adds a triggered downstream quality gate check by checking SLO metrics over time. (now only with soft_fail) Example runs: https://buildkite.com/elastic/kibana-tests/builds/44 `=triggers=>` https://buildkite.com/elastic/serverless-quality-gates/builds/1837 Closes: https://github.com/elastic/kibana/issues/166804 --------- Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- .../quality-gates/pipeline.tests-production.yaml | 4 ++-- .../quality-gates/pipeline.tests-qa.yaml | 16 ++++++++++++++-- .../quality-gates/pipeline.tests-staging.yaml | 14 ++++++++++++-- 3 files changed, 28 insertions(+), 6 deletions(-) diff --git a/.buildkite/pipelines/quality-gates/pipeline.tests-production.yaml b/.buildkite/pipelines/quality-gates/pipeline.tests-production.yaml index 32878e2fc09cd5..2161b000dc4120 100644 --- a/.buildkite/pipelines/quality-gates/pipeline.tests-production.yaml +++ b/.buildkite/pipelines/quality-gates/pipeline.tests-production.yaml @@ -1,5 +1,5 @@ -# These pipeline steps constitute the quality gate for your service within the production -# environment. Incorporate any necessary additional logic to validate the service's integrity. +# These pipeline steps constitute the quality gate for your service within the production environment. +# Incorporate any necessary additional logic to validate the service's integrity. # A failure in this pipeline build will prevent further progression to the subsequent stage. steps: diff --git a/.buildkite/pipelines/quality-gates/pipeline.tests-qa.yaml b/.buildkite/pipelines/quality-gates/pipeline.tests-qa.yaml index 8d8d32e9d478bb..5321f24ae6e3bc 100644 --- a/.buildkite/pipelines/quality-gates/pipeline.tests-qa.yaml +++ b/.buildkite/pipelines/quality-gates/pipeline.tests-qa.yaml @@ -1,8 +1,20 @@ # These pipeline steps constitute the quality gate for your service within the QA environment. -# Incorporate any necessary additional logic to validate the service's integrity. A failure in -# this pipeline build will prevent further progression to the subsequent stage. +# Incorporate any necessary additional logic to validate the service's integrity. +# A failure in this pipeline build will prevent further progression to the subsequent stage. steps: + - label: ":pipeline::kibana::seedling: Trigger SLO check" + trigger: "serverless-quality-gates" # https://buildkite.com/elastic/serverless-quality-gates + build: + message: "${BUILDKITE_MESSAGE} (triggered by pipeline.tests-qa.yaml)" + env: + TARGET_ENV: qa + CHECK_SLO: true + CHECK_SLO_TAG: kibana + CHECK_SLO_WAITING_PERIOD: 10m + CHECK_SLO_BURN_RATE_THRESHOLD: 0.1 + soft_fail: true + - label: ":pipeline::kibana::seedling: Trigger Kibana Serverless Tests for ${ENVIRONMENT}" trigger: appex-qa-serverless-kibana-ftr-tests # https://buildkite.com/elastic/appex-qa-serverless-kibana-ftr-tests soft_fail: true # Remove this before release or when tests stabilize diff --git a/.buildkite/pipelines/quality-gates/pipeline.tests-staging.yaml b/.buildkite/pipelines/quality-gates/pipeline.tests-staging.yaml index a376ff2ff18846..6a5edc3a970733 100644 --- a/.buildkite/pipelines/quality-gates/pipeline.tests-staging.yaml +++ b/.buildkite/pipelines/quality-gates/pipeline.tests-staging.yaml @@ -1,8 +1,18 @@ # These pipeline steps constitute the quality gate for your service within the staging environment. -# Incorporate any necessary additional logic to validate the service's integrity. A failure in -# this pipeline build will prevent further progression to the subsequent stage. +# Incorporate any necessary additional logic to validate the service's integrity. +# A failure in this pipeline build will prevent further progression to the subsequent stage. steps: + - label: ":pipeline::kibana::seedling: Trigger SLO check" + trigger: "serverless-quality-gates" # https://buildkite.com/elastic/serverless-quality-gates + build: + message: "${BUILDKITE_MESSAGE} (triggered by pipeline.tests-staging.yaml)" + env: + TARGET_ENV: staging + CHECK_SLO: true + CHECK_SLO_TAG: kibana + soft_fail: true + - label: ":pipeline::rocket::seedling: Trigger control-plane e2e tests" trigger: "ess-k8s-staging-e2e-tests" # https://buildkite.com/elastic/ess-k8s-staging-e2e-tests build: From 4f0a43d1452840ccf86d18ce3b85ad544fbfc044 Mon Sep 17 00:00:00 2001 From: Julien Lind Date: Thu, 21 Sep 2023 17:00:27 +0200 Subject: [PATCH 09/72] Update installation guidance (#166930) Update installation guidance for AMD architecture as it may be confusing for users. Relates https://github.com/elastic/beats/issues/33042 --- .../components/agent_enrollment_flyout/installation_message.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/x-pack/plugins/fleet/public/components/agent_enrollment_flyout/installation_message.tsx b/x-pack/plugins/fleet/public/components/agent_enrollment_flyout/installation_message.tsx index 7462c0af0c09fb..94cf484cb627a3 100644 --- a/x-pack/plugins/fleet/public/components/agent_enrollment_flyout/installation_message.tsx +++ b/x-pack/plugins/fleet/public/components/agent_enrollment_flyout/installation_message.tsx @@ -39,7 +39,7 @@ export const InstallationMessage: React.FunctionComponent = ({ Date: Thu, 21 Sep 2023 11:04:23 -0400 Subject: [PATCH 10/72] [Dashboard] Add Readonly State For Managed Dashboards (#166204) Adds a new `managed` mode to Dashboards. When a user with write permissions opens a managed Dashboard they will be unable to hit the `edit` button - and will instead be prompted to clone the Dashboard first. --- .../table_list_view/src/table_list_view.tsx | 4 +- .../src/table_list_view_table.tsx | 29 ++++++++--- .../src/msearch.ts | 2 + .../src/saved_object_content_storage.ts | 2 + .../kbn-content-management-utils/src/types.ts | 1 + .../dashboard_app/_dashboard_app_strings.ts | 11 ++++ .../top_nav/dashboard_top_nav.tsx | 24 +++++++-- .../top_nav/use_dashboard_menu_items.tsx | 5 +- .../embeddable/api/run_save_functions.tsx | 7 ++- .../create/create_dashboard.test.ts | 15 ++++++ .../embeddable/create/create_dashboard.ts | 18 +++++-- .../embeddable/dashboard_container.test.tsx | 9 +++- .../embeddable/dashboard_container.tsx | 51 +++++++++++-------- .../state/dashboard_container_reducers.ts | 13 +++++ .../public/dashboard_container/types.ts | 1 + .../dashboard_listing.test.tsx | 1 + .../use_dashboard_listing_table.test.tsx | 1 + .../hooks/use_dashboard_listing_table.tsx | 31 ++++++----- .../public/dashboard_listing/types.ts | 1 + src/plugins/dashboard/public/mocks.tsx | 10 +++- .../lib/load_dashboard_state.ts | 3 +- .../dashboard_content_management/types.ts | 1 + .../public/components/dashboard_picker.tsx | 2 +- .../components/visualize_listing.tsx | 5 +- 24 files changed, 184 insertions(+), 63 deletions(-) diff --git a/packages/content-management/table_list_view/src/table_list_view.tsx b/packages/content-management/table_list_view/src/table_list_view.tsx index 71e9f95bbf581b..f5d1a9bc596b9c 100644 --- a/packages/content-management/table_list_view/src/table_list_view.tsx +++ b/packages/content-management/table_list_view/src/table_list_view.tsx @@ -36,7 +36,7 @@ export type TableListViewProps & { title: string; description?: string; @@ -73,6 +73,7 @@ export const TableListView = ({ titleColumnName, additionalRightSideActions, withoutPageTemplateWrapper, + itemIsEditable, }: TableListViewProps) => { const PageTemplate = withoutPageTemplateWrapper ? (React.Fragment as unknown as typeof KibanaPageTemplate) @@ -118,6 +119,7 @@ export const TableListView = ({ id={listingId} contentEditor={contentEditor} titleColumnName={titleColumnName} + itemIsEditable={itemIsEditable} withoutPageTemplateWrapper={withoutPageTemplateWrapper} onFetchSuccess={onFetchSuccess} setPageDataTestSubject={setPageDataTestSubject} diff --git a/packages/content-management/table_list_view_table/src/table_list_view_table.tsx b/packages/content-management/table_list_view_table/src/table_list_view_table.tsx index 2de5e8855f6811..ccf6ef791d8d45 100644 --- a/packages/content-management/table_list_view_table/src/table_list_view_table.tsx +++ b/packages/content-management/table_list_view_table/src/table_list_view_table.tsx @@ -90,10 +90,12 @@ export interface TableListViewTableProps< * Edit action onClick handler. Edit action not provided when property is not provided */ editItem?(item: T): void; + /** - * Handler to set edit action visiblity per item. + * Handler to set edit action visiblity, and content editor readonly state per item. If not provided all non-managed items are considered editable. Note: Items with the managed property set to true will always be non-editable. */ - showEditActionForItem?(item: T): boolean; + itemIsEditable?(item: T): boolean; + /** * Name for the column containing the "title" value. */ @@ -144,6 +146,7 @@ export interface State({ findItems, createItem, editItem, - showEditActionForItem, + itemIsEditable, deleteItems, getDetailViewLink, onClickTitle, @@ -451,6 +454,15 @@ function TableListViewTableComp({ items, }); + const isEditable = useCallback( + (item: T) => { + // If the So is `managed` it is never editable. + if (item.managed) return false; + return itemIsEditable?.(item) ?? true; + }, + [itemIsEditable] + ); + const inspectItem = useCallback( (item: T) => { const tags = getTagIdsFromReferences(item.references).map((_id) => { @@ -466,6 +478,7 @@ function TableListViewTableComp({ }, entityName, ...contentEditor, + isReadonly: contentEditor.isReadonly || !isEditable(item), onSave: contentEditor.onSave && (async (args) => { @@ -476,7 +489,7 @@ function TableListViewTableComp({ }), }); }, - [getTagIdsFromReferences, openContentEditor, entityName, contentEditor, fetchItems] + [getTagIdsFromReferences, openContentEditor, entityName, contentEditor, isEditable, fetchItems] ); const tableColumns = useMemo(() => { @@ -550,7 +563,7 @@ function TableListViewTableComp({ ), icon: 'pencil', type: 'icon', - available: (v) => (showEditActionForItem ? showEditActionForItem(v) : true), + available: (item) => isEditable(item), enabled: (v) => !(v as unknown as { error: string })?.error, onClick: editItem, 'data-test-subj': `edit-action`, @@ -598,16 +611,16 @@ function TableListViewTableComp({ customTableColumn, hasUpdatedAtMetadata, editItem, + contentEditor.enabled, listingId, getDetailViewLink, onClickTitle, searchQuery.text, - addOrRemoveIncludeTagFilter, addOrRemoveExcludeTagFilter, + addOrRemoveIncludeTagFilter, DateFormatterComp, - contentEditor, + isEditable, inspectItem, - showEditActionForItem, ]); const itemsById = useMemo(() => { diff --git a/packages/kbn-content-management-utils/src/msearch.ts b/packages/kbn-content-management-utils/src/msearch.ts index 8b22d993374e63..d09a49af82e675 100644 --- a/packages/kbn-content-management-utils/src/msearch.ts +++ b/packages/kbn-content-management-utils/src/msearch.ts @@ -43,11 +43,13 @@ function savedObjectToItem( error, namespaces, version, + managed, } = savedObject; return { id, type, + managed, updatedAt, createdAt, attributes: pick(attributes, allowedSavedObjectAttributes), diff --git a/packages/kbn-content-management-utils/src/saved_object_content_storage.ts b/packages/kbn-content-management-utils/src/saved_object_content_storage.ts index 721ce5e46b690a..70cf7c97758630 100644 --- a/packages/kbn-content-management-utils/src/saved_object_content_storage.ts +++ b/packages/kbn-content-management-utils/src/saved_object_content_storage.ts @@ -69,11 +69,13 @@ function savedObjectToItem( error, namespaces, version, + managed, } = savedObject; return { id, type, + managed, updatedAt, createdAt, attributes: pick(attributes, allowedSavedObjectAttributes), diff --git a/packages/kbn-content-management-utils/src/types.ts b/packages/kbn-content-management-utils/src/types.ts index 7dce7961290af4..f350da4f82cf9a 100644 --- a/packages/kbn-content-management-utils/src/types.ts +++ b/packages/kbn-content-management-utils/src/types.ts @@ -200,6 +200,7 @@ export interface SOWithMetadata { statusCode: number; metadata?: Record; }; + managed?: boolean; attributes: Attributes; references: Reference[]; namespaces?: string[]; diff --git a/src/plugins/dashboard/public/dashboard_app/_dashboard_app_strings.ts b/src/plugins/dashboard/public/dashboard_app/_dashboard_app_strings.ts index aa25647610e2b5..6fefffcc1d668d 100644 --- a/src/plugins/dashboard/public/dashboard_app/_dashboard_app_strings.ts +++ b/src/plugins/dashboard/public/dashboard_app/_dashboard_app_strings.ts @@ -25,6 +25,17 @@ export const dashboardReadonlyBadge = { }), }; +export const dashboardManagedBadge = { + getText: () => + i18n.translate('dashboard.badge.managed.text', { + defaultMessage: 'Managed', + }), + getTooltip: () => + i18n.translate('dashboard.badge.managed.tooltip', { + defaultMessage: 'This dashboard is system managed. Clone this dashboard to make changes.', + }), +}; + /** * @param title {string} the current title of the dashboard * @param viewMode {DashboardViewMode} the current mode. If in editing state, prepends 'Editing ' to the title. diff --git a/src/plugins/dashboard/public/dashboard_app/top_nav/dashboard_top_nav.tsx b/src/plugins/dashboard/public/dashboard_app/top_nav/dashboard_top_nav.tsx index 8fbd259be6eec8..c3f4913e1d6844 100644 --- a/src/plugins/dashboard/public/dashboard_app/top_nav/dashboard_top_nav.tsx +++ b/src/plugins/dashboard/public/dashboard_app/top_nav/dashboard_top_nav.tsx @@ -24,6 +24,7 @@ import { leaveConfirmStrings, getDashboardBreadcrumb, unsavedChangesBadgeStrings, + dashboardManagedBadge, } from '../_dashboard_app_strings'; import { UI_SETTINGS } from '../../../common'; import { useDashboardAPI } from '../dashboard_app'; @@ -67,7 +68,7 @@ export function DashboardTopNav({ embedSettings, redirectTo }: DashboardTopNavPr navigation: { TopNavMenu }, embeddable: { getStateTransfer }, initializerContext: { allowByValueEmbeddables }, - dashboardCapabilities: { saveQuery: showSaveQuery }, + dashboardCapabilities: { saveQuery: showSaveQuery, showWriteControls }, } = pluginServices.getServices(); const isLabsEnabled = uiSettings.get(UI_SETTINGS.ENABLE_LABS_UI); const { setHeaderActionMenu, onAppLeave } = useDashboardMountContext(); @@ -82,6 +83,7 @@ export function DashboardTopNav({ embedSettings, redirectTo }: DashboardTopNavPr const fullScreenMode = dashboard.select((state) => state.componentState.fullScreenMode); const savedQueryId = dashboard.select((state) => state.componentState.savedQueryId); const lastSavedId = dashboard.select((state) => state.componentState.lastSavedId); + const managed = dashboard.select((state) => state.componentState.managed); const viewMode = dashboard.select((state) => state.explicitInput.viewMode); const query = dashboard.select((state) => state.explicitInput.query); @@ -237,9 +239,8 @@ export function DashboardTopNav({ embedSettings, redirectTo }: DashboardTopNavPr }); const badges = useMemo(() => { - if (viewMode !== ViewMode.EDIT) return; const allBadges: TopNavMenuProps['badges'] = []; - if (hasUnsavedChanges) { + if (hasUnsavedChanges && viewMode === ViewMode.EDIT) { allBadges.push({ 'data-test-subj': 'dashboardUnsavedChangesBadge', badgeText: unsavedChangesBadgeStrings.getUnsavedChangedBadgeText(), @@ -251,7 +252,7 @@ export function DashboardTopNav({ embedSettings, redirectTo }: DashboardTopNavPr } as EuiToolTipProps, }); } - if (hasRunMigrations) { + if (hasRunMigrations && viewMode === ViewMode.EDIT) { allBadges.push({ 'data-test-subj': 'dashboardSaveRecommendedBadge', badgeText: unsavedChangesBadgeStrings.getHasRunMigrationsText(), @@ -264,8 +265,21 @@ export function DashboardTopNav({ embedSettings, redirectTo }: DashboardTopNavPr } as EuiToolTipProps, }); } + if (showWriteControls && managed) { + allBadges.push({ + 'data-test-subj': 'dashboardSaveRecommendedBadge', + badgeText: dashboardManagedBadge.getText(), + title: '', + color: 'primary', + iconType: 'glasses', + toolTipProps: { + content: dashboardManagedBadge.getTooltip(), + position: 'bottom', + } as EuiToolTipProps, + }); + } return allBadges; - }, [hasRunMigrations, hasUnsavedChanges, viewMode]); + }, [hasUnsavedChanges, viewMode, hasRunMigrations, showWriteControls, managed]); return (
    diff --git a/src/plugins/dashboard/public/dashboard_app/top_nav/use_dashboard_menu_items.tsx b/src/plugins/dashboard/public/dashboard_app/top_nav/use_dashboard_menu_items.tsx index ed28b2727ca882..1f05f7cc54283b 100644 --- a/src/plugins/dashboard/public/dashboard_app/top_nav/use_dashboard_menu_items.tsx +++ b/src/plugins/dashboard/public/dashboard_app/top_nav/use_dashboard_menu_items.tsx @@ -56,6 +56,7 @@ export const useDashboardMenuItems = ({ const lastSavedId = dashboard.select((state) => state.componentState.lastSavedId); const dashboardTitle = dashboard.select((state) => state.explicitInput.title); const viewMode = dashboard.select((state) => state.explicitInput.viewMode); + const managed = dashboard.select((state) => state.componentState.managed); const disableTopNav = isSaveInProgress || hasOverlays; /** @@ -265,7 +266,7 @@ export const useDashboardMenuItems = ({ const labsMenuItem = isLabsEnabled ? [menuItems.labs] : []; const shareMenuItem = share ? [menuItems.share] : []; const cloneMenuItem = showWriteControls ? [menuItems.clone] : []; - const editMenuItem = showWriteControls ? [menuItems.edit] : []; + const editMenuItem = showWriteControls && !managed ? [menuItems.edit] : []; return [ ...labsMenuItem, menuItems.fullScreen, @@ -274,7 +275,7 @@ export const useDashboardMenuItems = ({ resetChangesMenuItem, ...editMenuItem, ]; - }, [menuItems, share, showWriteControls, resetChangesMenuItem, isLabsEnabled]); + }, [isLabsEnabled, menuItems, share, showWriteControls, managed, resetChangesMenuItem]); const editModeTopNavConfig = useMemo(() => { const labsMenuItem = isLabsEnabled ? [menuItems.labs] : []; diff --git a/src/plugins/dashboard/public/dashboard_container/embeddable/api/run_save_functions.tsx b/src/plugins/dashboard/public/dashboard_container/embeddable/api/run_save_functions.tsx index ae13c70a739d63..22b16e654e8e4a 100644 --- a/src/plugins/dashboard/public/dashboard_container/embeddable/api/run_save_functions.tsx +++ b/src/plugins/dashboard/public/dashboard_container/embeddable/api/run_save_functions.tsx @@ -33,10 +33,11 @@ export function runSaveAs(this: DashboardContainer) { const { explicitInput: currentState, - componentState: { lastSavedId }, + componentState: { lastSavedId, managed }, } = this.getState(); return new Promise((resolve) => { + if (managed) resolve(undefined); const onSave = async ({ newTags, newTitle, @@ -132,9 +133,11 @@ export async function runQuickSave(this: DashboardContainer) { const { explicitInput: currentState, - componentState: { lastSavedId }, + componentState: { lastSavedId, managed }, } = this.getState(); + if (managed) return; + const saveResult = await saveDashboardState({ lastSavedId, currentState, diff --git a/src/plugins/dashboard/public/dashboard_container/embeddable/create/create_dashboard.test.ts b/src/plugins/dashboard/public/dashboard_container/embeddable/create/create_dashboard.test.ts index 43e8f5ea5933e3..244e816620ae78 100644 --- a/src/plugins/dashboard/public/dashboard_container/embeddable/create/create_dashboard.test.ts +++ b/src/plugins/dashboard/public/dashboard_container/embeddable/create/create_dashboard.test.ts @@ -94,6 +94,21 @@ test('pulls state from dashboard saved object when given a saved object id', asy expect(dashboard!.getState().explicitInput.description).toBe(`wow would you look at that? Wow.`); }); +test('passes managed state from the saved object into the Dashboard component state', async () => { + pluginServices.getServices().dashboardContentManagement.loadDashboardState = jest + .fn() + .mockResolvedValue({ + dashboardInput: { + ...DEFAULT_DASHBOARD_INPUT, + description: 'wow this description is okay', + }, + managed: true, + }); + const dashboard = await createDashboard({}, 0, 'what-an-id'); + expect(dashboard).toBeDefined(); + expect(dashboard!.getState().componentState.managed).toBe(true); +}); + test('pulls state from session storage which overrides state from saved object', async () => { pluginServices.getServices().dashboardContentManagement.loadDashboardState = jest .fn() diff --git a/src/plugins/dashboard/public/dashboard_container/embeddable/create/create_dashboard.ts b/src/plugins/dashboard/public/dashboard_container/embeddable/create/create_dashboard.ts index fad615e481ef97..2403a569a80bbb 100644 --- a/src/plugins/dashboard/public/dashboard_container/embeddable/create/create_dashboard.ts +++ b/src/plugins/dashboard/public/dashboard_container/embeddable/create/create_dashboard.ts @@ -29,6 +29,7 @@ import { syncUnifiedSearchState } from './unified_search/sync_dashboard_unified_ import { DEFAULT_DASHBOARD_INPUT, GLOBAL_STATE_STORAGE_KEY } from '../../../dashboard_constants'; import { startSyncingDashboardControlGroup } from './controls/dashboard_control_group_integration'; import { startDashboardSearchSessionIntegration } from './search_sessions/start_dashboard_search_session_integration'; +import { DashboardPublicState } from '../../types'; /** * Builds a new Dashboard from scratch. @@ -86,16 +87,27 @@ export const createDashboard = async ( // -------------------------------------------------------------------------------------- // Build and return the dashboard container. // -------------------------------------------------------------------------------------- + const initialComponentState: DashboardPublicState = { + lastSavedInput: savedObjectResult?.dashboardInput ?? { + ...DEFAULT_DASHBOARD_INPUT, + id: input.id, + }, + hasRunClientsideMigrations: savedObjectResult.anyMigrationRun, + isEmbeddedExternally: creationOptions?.isEmbeddedExternally, + animatePanelTransforms: false, // set panel transforms to false initially to avoid panels animating on initial render. + hasUnsavedChanges: false, // if there is initial unsaved changes, the initial diff will catch them. + managed: savedObjectResult.managed, + lastSavedId: savedObjectId, + }; + const dashboardContainer = new DashboardContainer( input, reduxEmbeddablePackage, searchSessionId, - savedObjectResult?.dashboardInput, - savedObjectResult.anyMigrationRun, dashboardCreationStartTime, undefined, creationOptions, - savedObjectId + initialComponentState ); dashboardContainerReady$.next(dashboardContainer); return dashboardContainer; diff --git a/src/plugins/dashboard/public/dashboard_container/embeddable/dashboard_container.test.tsx b/src/plugins/dashboard/public/dashboard_container/embeddable/dashboard_container.test.tsx index 67bb482b456763..59c16a26d04021 100644 --- a/src/plugins/dashboard/public/dashboard_container/embeddable/dashboard_container.test.tsx +++ b/src/plugins/dashboard/public/dashboard_container/embeddable/dashboard_container.test.tsx @@ -167,10 +167,15 @@ test('Container view mode change propagates to new children', async () => { test('searchSessionId propagates to children', async () => { const searchSessionId1 = 'searchSessionId1'; + const sampleInput = getSampleDashboardInput(); const container = new DashboardContainer( - getSampleDashboardInput(), + sampleInput, mockedReduxEmbeddablePackage, - searchSessionId1 + searchSessionId1, + 0, + undefined, + undefined, + { lastSavedInput: sampleInput } ); const embeddable = await container.addNewEmbeddable< ContactCardEmbeddableInput, diff --git a/src/plugins/dashboard/public/dashboard_container/embeddable/dashboard_container.tsx b/src/plugins/dashboard/public/dashboard_container/embeddable/dashboard_container.tsx index 3027cddd167ddd..ef09d9fd9504dd 100644 --- a/src/plugins/dashboard/public/dashboard_container/embeddable/dashboard_container.tsx +++ b/src/plugins/dashboard/public/dashboard_container/embeddable/dashboard_container.tsx @@ -11,7 +11,6 @@ import { batch } from 'react-redux'; import { Subject, Subscription } from 'rxjs'; import React, { createContext, useContext } from 'react'; -import { ReduxToolsPackage, ReduxEmbeddableTools } from '@kbn/presentation-util-plugin/public'; import { ViewMode, Container, @@ -20,6 +19,10 @@ import { type EmbeddableOutput, type EmbeddableFactory, } from '@kbn/embeddable-plugin/public'; +import { + getDefaultControlGroupInput, + persistableControlGroupInputIsEqual, +} from '@kbn/controls-plugin/common'; import { I18nProvider } from '@kbn/i18n-react'; import { RefreshInterval } from '@kbn/data-plugin/public'; import type { Filter, TimeRange, Query } from '@kbn/es-query'; @@ -28,11 +31,8 @@ import { reportPerformanceMetricEvent } from '@kbn/ebt-tools'; import { KibanaThemeProvider } from '@kbn/kibana-react-plugin/public'; import type { ControlGroupContainer } from '@kbn/controls-plugin/public'; import type { KibanaExecutionContext, OverlayRef } from '@kbn/core/public'; -import { - getDefaultControlGroupInput, - persistableControlGroupInputIsEqual, -} from '@kbn/controls-plugin/common'; import { ExitFullScreenButtonKibanaProvider } from '@kbn/shared-ux-button-exit-full-screen'; +import { ReduxToolsPackage, ReduxEmbeddableTools } from '@kbn/presentation-util-plugin/public'; import { runClone, @@ -44,19 +44,24 @@ import { addOrUpdateEmbeddable, } from './api'; +import { + DashboardPublicState, + DashboardReduxState, + DashboardRenderPerformanceStats, +} from '../types'; import { DASHBOARD_CONTAINER_TYPE } from '../..'; import { createPanelState } from '../component/panel'; import { pluginServices } from '../../services/plugin_services'; import { initializeDashboard } from './create/create_dashboard'; +import { DASHBOARD_LOADED_EVENT } from '../../dashboard_constants'; import { DashboardCreationOptions } from './dashboard_container_factory'; import { DashboardAnalyticsService } from '../../services/analytics/types'; import { DashboardViewport } from '../component/viewport/dashboard_viewport'; import { DashboardPanelState, DashboardContainerInput } from '../../../common'; -import { DashboardReduxState, DashboardRenderPerformanceStats } from '../types'; import { dashboardContainerReducers } from '../state/dashboard_container_reducers'; import { startDiffingDashboardState } from '../state/diffing/dashboard_diffing_integration'; -import { DASHBOARD_LOADED_EVENT, DEFAULT_DASHBOARD_INPUT } from '../../dashboard_constants'; import { combineDashboardFiltersWithControlGroupFilters } from './create/controls/dashboard_control_group_integration'; +import { DashboardCapabilitiesService } from '../../services/dashboard_capabilities/types'; export interface InheritedChildInput { filters: Filter[]; @@ -118,6 +123,7 @@ export class DashboardContainer extends Container): void { + // block the Dashboard from entering edit mode if this Dashboard is managed. + if ( + (this.getState().componentState.managed || !this.showWriteControls) && + changes.viewMode?.toLowerCase() === ViewMode.EDIT?.toLowerCase() + ) { + const { viewMode, ...rest } = changes; + super.updateInput(rest); + return; + } + super.updateInput(changes); + } + protected getInheritedInput(id: string): InheritedChildInput { const { query, @@ -394,6 +402,7 @@ export class DashboardContainer extends Container { this.dispatch.setLastSavedInput(loadDashboardReturn?.dashboardInput); + this.dispatch.setManaged(loadDashboardReturn?.managed); this.dispatch.setAnimatePanelTransforms(false); // prevents panels from animating on navigate. this.dispatch.setLastSavedId(newSavedObjectId); }); diff --git a/src/plugins/dashboard/public/dashboard_container/state/dashboard_container_reducers.ts b/src/plugins/dashboard/public/dashboard_container/state/dashboard_container_reducers.ts index c201454eda21a4..65660e1065f285 100644 --- a/src/plugins/dashboard/public/dashboard_container/state/dashboard_container_reducers.ts +++ b/src/plugins/dashboard/public/dashboard_container/state/dashboard_container_reducers.ts @@ -7,6 +7,7 @@ */ import { PayloadAction } from '@reduxjs/toolkit'; +import { ViewMode } from '@kbn/embeddable-plugin/public'; import { DashboardReduxState, @@ -89,6 +90,11 @@ export const dashboardContainerReducers = { state: DashboardReduxState, action: PayloadAction ) => { + // Managed Dashboards cannot be put into edit mode. + if (state.componentState.managed) { + state.explicitInput.viewMode = ViewMode.VIEW; + return; + } state.explicitInput.viewMode = action.payload; }, @@ -103,6 +109,13 @@ export const dashboardContainerReducers = { state.explicitInput.title = action.payload; }, + setManaged: ( + state: DashboardReduxState, + action: PayloadAction + ) => { + state.componentState.managed = action.payload; + }, + // ------------------------------------------------------------------------------ // Unsaved Changes Reducers // ------------------------------------------------------------------------------ diff --git a/src/plugins/dashboard/public/dashboard_container/types.ts b/src/plugins/dashboard/public/dashboard_container/types.ts index 8bcc62a04995a1..dd01f643b99fcc 100644 --- a/src/plugins/dashboard/public/dashboard_container/types.ts +++ b/src/plugins/dashboard/public/dashboard_container/types.ts @@ -40,6 +40,7 @@ export interface DashboardPublicState { fullScreenMode?: boolean; savedQueryId?: string; lastSavedId?: string; + managed?: boolean; scrollToPanelId?: string; highlightPanelId?: string; } diff --git a/src/plugins/dashboard/public/dashboard_listing/dashboard_listing.test.tsx b/src/plugins/dashboard/public/dashboard_listing/dashboard_listing.test.tsx index 4da2d77825f47c..e7a26c4a6bcd25 100644 --- a/src/plugins/dashboard/public/dashboard_listing/dashboard_listing.test.tsx +++ b/src/plugins/dashboard/public/dashboard_listing/dashboard_listing.test.tsx @@ -88,6 +88,7 @@ test('when showWriteControls is true, table list view is passed editing function createItem: expect.any(Function), deleteItems: expect.any(Function), editItem: expect.any(Function), + itemIsEditable: expect.any(Function), }), expect.any(Object) // react context ); diff --git a/src/plugins/dashboard/public/dashboard_listing/hooks/use_dashboard_listing_table.test.tsx b/src/plugins/dashboard/public/dashboard_listing/hooks/use_dashboard_listing_table.test.tsx index 602ac6a1f4a3c5..d16e8b4b7e3f80 100644 --- a/src/plugins/dashboard/public/dashboard_listing/hooks/use_dashboard_listing_table.test.tsx +++ b/src/plugins/dashboard/public/dashboard_listing/hooks/use_dashboard_listing_table.test.tsx @@ -149,6 +149,7 @@ describe('useDashboardListingTable', () => { initialPageSize: 5, listingLimit: 20, onFetchSuccess: expect.any(Function), + itemIsEditable: expect.any(Function), setPageDataTestSubject: expect.any(Function), title: 'Dashboard List', urlStateEnabled: false, diff --git a/src/plugins/dashboard/public/dashboard_listing/hooks/use_dashboard_listing_table.tsx b/src/plugins/dashboard/public/dashboard_listing/hooks/use_dashboard_listing_table.tsx index 8f2fb7ac76cc93..8c933d0fb28b0d 100644 --- a/src/plugins/dashboard/public/dashboard_listing/hooks/use_dashboard_listing_table.tsx +++ b/src/plugins/dashboard/public/dashboard_listing/hooks/use_dashboard_listing_table.tsx @@ -7,27 +7,28 @@ */ import React, { useCallback, useState, useMemo } from 'react'; -import type { SavedObjectsFindOptionsReference } from '@kbn/core/public'; + +import { ViewMode } from '@kbn/embeddable-plugin/public'; import { reportPerformanceMetricEvent } from '@kbn/ebt-tools'; +import type { SavedObjectsFindOptionsReference } from '@kbn/core/public'; +import { OpenContentEditorParams } from '@kbn/content-management-content-editor'; import { TableListViewTableProps } from '@kbn/content-management-table-list-view-table'; -import { ViewMode } from '@kbn/embeddable-plugin/public'; -import { OpenContentEditorParams } from '@kbn/content-management-content-editor'; -import { DashboardContainerInput } from '../../../common'; -import { DashboardListingEmptyPrompt } from '../dashboard_listing_empty_prompt'; -import { pluginServices } from '../../services/plugin_services'; import { DASHBOARD_CONTENT_ID, SAVED_OBJECT_DELETE_TIME, SAVED_OBJECT_LOADED_TIME, } from '../../dashboard_constants'; -import { DashboardItem } from '../../../common/content_management'; import { dashboardListingErrorStrings, dashboardListingTableStrings, } from '../_dashboard_listing_strings'; -import { confirmCreateWithUnsaved } from '../confirm_overlays'; +import { DashboardContainerInput } from '../../../common'; import { DashboardSavedObjectUserContent } from '../types'; +import { confirmCreateWithUnsaved } from '../confirm_overlays'; +import { pluginServices } from '../../services/plugin_services'; +import { DashboardItem } from '../../../common/content_management'; +import { DashboardListingEmptyPrompt } from '../dashboard_listing_empty_prompt'; type GetDetailViewLink = TableListViewTableProps['getDetailViewLink']; @@ -42,6 +43,7 @@ const toTableListViewSavedObject = (hit: DashboardItem): DashboardSavedObjectUse id: hit.id, updatedAt: hit.updatedAt!, references: hit.references, + managed: hit.managed, attributes: { title, description, @@ -50,14 +52,16 @@ const toTableListViewSavedObject = (hit: DashboardItem): DashboardSavedObjectUse }; }; +type DashboardListingViewTableProps = Omit< + TableListViewTableProps, + 'tableCaption' +> & { title: string }; + interface UseDashboardListingTableReturnType { hasInitialFetchReturned: boolean; pageDataTestSubject: string | undefined; refreshUnsavedDashboards: () => void; - tableListViewTableProps: Omit< - TableListViewTableProps, - 'tableCaption' - > & { title: string }; + tableListViewTableProps: DashboardListingViewTableProps; unsavedDashboardIds: string[]; } @@ -269,7 +273,7 @@ export const useDashboardListingTable = ({ [getDashboardUrl] ); - const tableListViewTableProps = useMemo( + const tableListViewTableProps: DashboardListingViewTableProps = useMemo( () => ({ contentEditor: { isReadonly: !showWriteControls, @@ -279,6 +283,7 @@ export const useDashboardListingTable = ({ createItem: !showWriteControls || !showCreateDashboardButton ? undefined : createItem, deleteItems: !showWriteControls ? undefined : deleteItems, editItem: !showWriteControls ? undefined : editItem, + itemIsEditable: () => showWriteControls, emptyPrompt, entityName, entityNamePlural, diff --git a/src/plugins/dashboard/public/dashboard_listing/types.ts b/src/plugins/dashboard/public/dashboard_listing/types.ts index 18767c1c75c325..7ced1f4ddec5e7 100644 --- a/src/plugins/dashboard/public/dashboard_listing/types.ts +++ b/src/plugins/dashboard/public/dashboard_listing/types.ts @@ -27,6 +27,7 @@ export type TableListViewApplicationService = DashboardApplicationService & { }; export interface DashboardSavedObjectUserContent extends UserContentCommonSchema { + managed?: boolean; attributes: { title: string; description?: string; diff --git a/src/plugins/dashboard/public/mocks.tsx b/src/plugins/dashboard/public/mocks.tsx index 69ec7efadf1ade..c081a3ab276b88 100644 --- a/src/plugins/dashboard/public/mocks.tsx +++ b/src/plugins/dashboard/public/mocks.tsx @@ -68,7 +68,15 @@ export function setupIntersectionObserverMock({ export function buildMockDashboard(overrides?: Partial) { const initialInput = getSampleDashboardInput(overrides); - const dashboardContainer = new DashboardContainer(initialInput, mockedReduxEmbeddablePackage); + const dashboardContainer = new DashboardContainer( + initialInput, + mockedReduxEmbeddablePackage, + undefined, + undefined, + undefined, + undefined, + { lastSavedInput: initialInput } + ); return dashboardContainer; } diff --git a/src/plugins/dashboard/public/services/dashboard_content_management/lib/load_dashboard_state.ts b/src/plugins/dashboard/public/services/dashboard_content_management/lib/load_dashboard_state.ts index bb4a2a9a833459..93034531a791b5 100644 --- a/src/plugins/dashboard/public/services/dashboard_content_management/lib/load_dashboard_state.ts +++ b/src/plugins/dashboard/public/services/dashboard_content_management/lib/load_dashboard_state.ts @@ -80,7 +80,7 @@ export const loadDashboardState = async ({ /** * Inject saved object references back into the saved object attributes */ - const { references, attributes: rawAttributes } = rawDashboardContent; + const { references, attributes: rawAttributes, managed } = rawDashboardContent; const attributes = (() => { if (!references || references.length === 0) return rawAttributes; return injectReferences( @@ -168,6 +168,7 @@ export const loadDashboardState = async ({ ); return { + managed, resolveMeta, dashboardInput, anyMigrationRun, diff --git a/src/plugins/dashboard/public/services/dashboard_content_management/types.ts b/src/plugins/dashboard/public/services/dashboard_content_management/types.ts index 288f8d4143f76a..90a6bc49de25a2 100644 --- a/src/plugins/dashboard/public/services/dashboard_content_management/types.ts +++ b/src/plugins/dashboard/public/services/dashboard_content_management/types.ts @@ -64,6 +64,7 @@ type DashboardResolveMeta = DashboardCrudTypes['GetOut']['meta']; export interface LoadDashboardReturn { dashboardFound: boolean; dashboardId?: string; + managed?: boolean; resolveMeta?: DashboardResolveMeta; dashboardInput: DashboardContainerInput; anyMigrationRun?: boolean; diff --git a/src/plugins/presentation_util/public/components/dashboard_picker.tsx b/src/plugins/presentation_util/public/components/dashboard_picker.tsx index 47ba570765028c..0207fe1dc34582 100644 --- a/src/plugins/presentation_util/public/components/dashboard_picker.tsx +++ b/src/plugins/presentation_util/public/components/dashboard_picker.tsx @@ -52,7 +52,7 @@ export function DashboardPicker(props: DashboardPickerProps) { if (objects) { setDashboardOptions( objects - .filter((d) => !props.idsToOmit || !props.idsToOmit.includes(d.id)) + .filter((d) => !d.managed && !(props.idsToOmit ?? []).includes(d.id)) .map((d) => ({ value: d.id, label: d.attributes.title, diff --git a/src/plugins/visualizations/public/visualize_app/components/visualize_listing.tsx b/src/plugins/visualizations/public/visualize_app/components/visualize_listing.tsx index 866acf33c1592f..d4beb45c4e2488 100644 --- a/src/plugins/visualizations/public/visualize_app/components/visualize_listing.tsx +++ b/src/plugins/visualizations/public/visualize_app/components/visualize_listing.tsx @@ -93,7 +93,7 @@ type CustomTableViewProps = Pick< | 'editItem' | 'contentEditor' | 'emptyPrompt' - | 'showEditActionForItem' + | 'itemIsEditable' >; const useTableListViewProps = ( @@ -257,8 +257,7 @@ const useTableListViewProps = ( editItem, emptyPrompt: noItemsFragment, createItem: createNewVis, - showEditActionForItem: ({ attributes: { readOnly } }) => - visualizeCapabilities.save && !readOnly, + itemIsEditable: ({ attributes: { readOnly } }) => visualizeCapabilities.save && !readOnly, }; return props; From 81adaa59f126502f9f63a8f2ca218aa6f025857e Mon Sep 17 00:00:00 2001 From: Paul Tavares <56442535+paul-tavares@users.noreply.github.com> Date: Thu, 21 Sep 2023 11:13:48 -0400 Subject: [PATCH 11/72] [Security Solution][Endpoint] Increase buildkite `parallelism` for `defend_workflows` on pipeline `on_merge_unsupported_ftrs.yml` (#166947) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## Summary - Increase the `parallelism` for `defend_workflows` to match that of PR pull request (`6`) - Should ( ๐Ÿคž ) fix the failures being seen in buildkite: https://buildkite.com/elastic/kibana-on-merge-unsupported-ftrs --- .buildkite/pipelines/on_merge_unsupported_ftrs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.buildkite/pipelines/on_merge_unsupported_ftrs.yml b/.buildkite/pipelines/on_merge_unsupported_ftrs.yml index 5ee55e63c1408b..8d67cbf37d8a06 100644 --- a/.buildkite/pipelines/on_merge_unsupported_ftrs.yml +++ b/.buildkite/pipelines/on_merge_unsupported_ftrs.yml @@ -91,7 +91,7 @@ steps: queue: n2-4-spot depends_on: build timeout_in_minutes: 120 - parallelism: 2 + parallelism: 6 retry: automatic: - exit_status: '*' From fabaa2f89ecc7737b744b1a352251dc654d564a8 Mon Sep 17 00:00:00 2001 From: Walter Rafelsberger Date: Thu, 21 Sep 2023 17:28:38 +0200 Subject: [PATCH 12/72] [ML] AIOps: Fix render loop when using saved search. (#166934) ## Summary Fixes #166079. If a user picked a saved search to investigate, the log pattern analysis page would freeze with an infinite render loop; the log rate analysis pate wouldn't freeze but repeatedly query for new data. This PR fixes the issue by memoizing the queries derived from the saved search information to avoid it being a new instance every time. ### Checklist - [x] This was checked for breaking API changes and was [labeled appropriately](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process) --- .../log_categorization_page.tsx | 6 +++--- .../plugins/aiops/public/hooks/use_search.ts | 18 ++++++++++++------ 2 files changed, 15 insertions(+), 9 deletions(-) diff --git a/x-pack/plugins/aiops/public/components/log_categorization/log_categorization_page.tsx b/x-pack/plugins/aiops/public/components/log_categorization/log_categorization_page.tsx index 5413c264a31278..9539ff607e05ea 100644 --- a/x-pack/plugins/aiops/public/components/log_categorization/log_categorization_page.tsx +++ b/x-pack/plugins/aiops/public/components/log_categorization/log_categorization_page.tsx @@ -71,7 +71,7 @@ export const LogCategorizationPage: FC = () => { const [globalState, setGlobalState] = useUrlState('_g'); const [selectedField, setSelectedField] = useState(); const [selectedCategory, setSelectedCategory] = useState(null); - const [selectedSavedSearch, setSelectedDataView] = useState(savedSearch); + const [selectedSavedSearch, setSelectedSavedSearch] = useState(savedSearch); const [loading, setLoading] = useState(false); const [totalCount, setTotalCount] = useState(0); const [eventRate, setEventRate] = useState([]); @@ -91,7 +91,7 @@ export const LogCategorizationPage: FC = () => { useEffect(() => { if (savedSearch) { - setSelectedDataView(savedSearch); + setSelectedSavedSearch(savedSearch); } }, [savedSearch]); @@ -114,7 +114,7 @@ export const LogCategorizationPage: FC = () => { // When the user loads saved search and then clear or modify the query // we should remove the saved search and replace it with the index pattern id if (selectedSavedSearch !== null) { - setSelectedDataView(null); + setSelectedSavedSearch(null); } setUrlState({ diff --git a/x-pack/plugins/aiops/public/hooks/use_search.ts b/x-pack/plugins/aiops/public/hooks/use_search.ts index 9b48adeb27eb0b..609beb6774bc9c 100644 --- a/x-pack/plugins/aiops/public/hooks/use_search.ts +++ b/x-pack/plugins/aiops/public/hooks/use_search.ts @@ -5,6 +5,8 @@ * 2.0. */ +import { useMemo } from 'react'; + import type { DataView } from '@kbn/data-views-plugin/public'; import type { SavedSearch } from '@kbn/saved-search-plugin/public'; @@ -24,12 +26,16 @@ export const useSearch = ( }, } = useAiopsAppContext(); - const searchData = getEsQueryFromSavedSearch({ - dataView, - uiSettings, - savedSearch, - filterManager, - }); + const searchData = useMemo( + () => + getEsQueryFromSavedSearch({ + dataView, + uiSettings, + savedSearch, + filterManager, + }), + [dataView, uiSettings, savedSearch, filterManager] + ); if (searchData === undefined || (aiopsListState && aiopsListState.searchString !== '')) { if (aiopsListState?.filters && readOnly === false) { From 795ec3e4ade16ca5af2c950490ec559ccd73634e Mon Sep 17 00:00:00 2001 From: Kerry Gallagher Date: Thu, 21 Sep 2023 16:32:25 +0100 Subject: [PATCH 13/72] [Logs+] Enforce dataset names (#166654) ## Summary Closes #163830 This adds server side validation to enforce dataset name format rules for custom integrations. It then enhances the custom integrations Kibana package to handle this seamlessly in the create form. There is no client side validation for the rules per se because as long as the dataset name passes other validations (length etc) then it is always valid - it just comes down to whether it's prefixed or not. ## Other notes - Added a "fields pipeline" to improve the readability of the context update. ## UI / UX changes - Users are informed when a prefix will be added. Screenshot 2023-09-20 at 13 19 49 - If the integration name has been touched, and the dataset name is untouched, the dataset name will automatically match the integration name. ![matching](https://github.com/elastic/kibana/assets/471693/b72604c0-23f9-4ff1-8db7-9b6c523b36c6) --------- Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- .../src/components/create/form.tsx | 31 +++- .../src/components/create/utils.ts | 4 +- .../state_machines/create/notifications.ts | 19 ++- .../state_machines/create/pipelines/fields.ts | 134 ++++++++++++++++++ .../state_machines/create/state_machine.ts | 50 +++---- .../src/state_machines/create/types.ts | 14 +- .../custom_integrations/state_machine.ts | 38 +++-- .../services/integrations_client.ts | 6 +- packages/kbn-custom-integrations/src/types.ts | 11 +- .../fleet/server/routes/epm/handlers.ts | 8 ++ .../assets/dataset/utils.ts | 2 +- .../validation/check_dataset_name_format.ts | 37 +++++ .../server/services/epm/packages/install.ts | 2 + .../custom_logs/install_elastic_agent.cy.ts | 2 +- .../e2e/cypress/support/commands.ts | 6 +- .../app/custom_logs/configure_logs.tsx | 12 +- .../components/app/custom_logs/index.tsx | 8 +- .../apis/epm/install_custom.ts | 63 ++++++-- 18 files changed, 358 insertions(+), 89 deletions(-) create mode 100644 packages/kbn-custom-integrations/src/state_machines/create/pipelines/fields.ts create mode 100644 x-pack/plugins/fleet/server/services/epm/packages/custom_integrations/validation/check_dataset_name_format.ts diff --git a/packages/kbn-custom-integrations/src/components/create/form.tsx b/packages/kbn-custom-integrations/src/components/create/form.tsx index 2273db68a479a5..a05fa97b78fdf2 100644 --- a/packages/kbn-custom-integrations/src/components/create/form.tsx +++ b/packages/kbn-custom-integrations/src/components/create/form.tsx @@ -28,6 +28,11 @@ import { } from '../../state_machines/create/types'; import { Dataset, IntegrationError } from '../../types'; import { hasFailedSelector } from '../../state_machines/create/selectors'; +import { + datasetNameWillBePrefixed, + getDatasetNamePrefix, + prefixDatasetName, +} from '../../state_machines/create/pipelines/fields'; // NOTE: Hardcoded for now. We will likely extend the functionality here to allow the selection of the type. // And also to allow adding multiple datasets. @@ -50,6 +55,7 @@ export const ConnectedCreateCustomIntegrationForm = ({ testSubjects?: CreateTestSubjects; }) => { const [state, send] = useActor(machineRef); + const updateIntegrationName = useCallback( (integrationName: string) => { send({ type: 'UPDATE_FIELDS', fields: { integrationName } }); @@ -181,17 +187,32 @@ export const CreateCustomIntegrationForm = ({ } - helpText={i18n.translate('customIntegrationsPackage.create.dataset.helper', { - defaultMessage: - "All lowercase, max 100 chars, special characters will be replaced with '_'.", - })} + helpText={[ + i18n.translate('customIntegrationsPackage.create.dataset.helper', { + defaultMessage: + "All lowercase, max 100 chars, special characters will be replaced with '_'.", + }), + datasetNameWillBePrefixed(datasetName, integrationName) + ? i18n.translate( + 'customIntegrationsPackage.create.dataset.name.tooltipPrefixMessage', + { + defaultMessage: + 'This name will be prefixed with {prefixValue}, e.g. {prefixedDatasetName}', + values: { + prefixValue: getDatasetNamePrefix(integrationName), + prefixedDatasetName: prefixDatasetName(datasetName, integrationName), + }, + } + ) + : '', + ].join(' ')} isInvalid={hasErrors(errors?.fields?.datasets?.[0]?.name) && touchedFields.datasets} error={errorsList(errors?.fields?.datasets?.[0]?.name)} > diff --git a/packages/kbn-custom-integrations/src/components/create/utils.ts b/packages/kbn-custom-integrations/src/components/create/utils.ts index 3af857be37236a..688bea61128ed7 100644 --- a/packages/kbn-custom-integrations/src/components/create/utils.ts +++ b/packages/kbn-custom-integrations/src/components/create/utils.ts @@ -6,9 +6,9 @@ * Side Public License, v 1. */ -export const replaceSpecialChars = (filename: string) => { +export const replaceSpecialChars = (value: string) => { // Replace special characters with _ - const replacedSpecialCharacters = filename.replaceAll(/[^a-zA-Z0-9_]/g, '_'); + const replacedSpecialCharacters = value.replaceAll(/[^a-zA-Z0-9_]/g, '_'); // Allow only one _ in a row const noRepetitions = replacedSpecialCharacters.replaceAll(/[\_]{2,}/g, '_'); return noRepetitions; diff --git a/packages/kbn-custom-integrations/src/state_machines/create/notifications.ts b/packages/kbn-custom-integrations/src/state_machines/create/notifications.ts index 38ef7fb993906a..2ca7e09ae8f6e6 100644 --- a/packages/kbn-custom-integrations/src/state_machines/create/notifications.ts +++ b/packages/kbn-custom-integrations/src/state_machines/create/notifications.ts @@ -27,11 +27,20 @@ export type CreateCustomIntegrationNotificationEvent = }; export const CreateIntegrationNotificationEventSelectors = { - integrationCreated: (context: CreateCustomIntegrationContext) => - ({ - type: 'INTEGRATION_CREATED', - fields: context.fields, - } as CreateCustomIntegrationNotificationEvent), + integrationCreated: ( + context: CreateCustomIntegrationContext, + event: CreateCustomIntegrationEvent + ) => { + return 'data' in event && 'integrationName' in event.data && 'datasets' in event.data + ? ({ + type: 'INTEGRATION_CREATED', + fields: { + integrationName: event.data.integrationName, + datasets: event.data.datasets, + }, + } as CreateCustomIntegrationNotificationEvent) + : null; + }, integrationCleanup: ( context: CreateCustomIntegrationContext, event: CreateCustomIntegrationEvent diff --git a/packages/kbn-custom-integrations/src/state_machines/create/pipelines/fields.ts b/packages/kbn-custom-integrations/src/state_machines/create/pipelines/fields.ts new file mode 100644 index 00000000000000..3a7fef9ce98a7a --- /dev/null +++ b/packages/kbn-custom-integrations/src/state_machines/create/pipelines/fields.ts @@ -0,0 +1,134 @@ +/* + * Copyright 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 { pipe } from 'fp-ts/lib/pipeable'; +import { replaceSpecialChars } from '../../../components/create/utils'; +import { CreateCustomIntegrationContext, UpdateFieldsEvent, WithTouchedFields } from '../types'; + +type ValuesTuple = [CreateCustomIntegrationContext, UpdateFieldsEvent]; + +// Pipeline for updating the fields and touchedFields properties within context +export const executeFieldsPipeline = ( + context: CreateCustomIntegrationContext, + event: UpdateFieldsEvent +) => { + return pipe( + [context, event] as ValuesTuple, + updateFields(context), + updateTouchedFields(context), + maybeMatchDatasetNameToIntegrationName(context), + replaceSpecialCharacters(context) + ); +}; + +const updateFields = + (originalContext: CreateCustomIntegrationContext) => + (values: ValuesTuple): ValuesTuple => { + const [context, event] = values; + + const mergedContext = { + ...context, + fields: { + ...context.fields, + ...event.fields, + }, + }; + return [mergedContext, event]; + }; + +const updateTouchedFields = + (originalContext: CreateCustomIntegrationContext) => + (values: ValuesTuple): ValuesTuple => { + const [context, event] = values; + + const mergedContext = { + ...context, + touchedFields: { + ...context.touchedFields, + ...Object.keys(event.fields).reduce( + (acc, field) => ({ ...acc, [field]: true }), + {} as WithTouchedFields['touchedFields'] + ), + }, + }; + return [mergedContext, event]; + }; + +const maybeMatchDatasetNameToIntegrationName = + (originalContext: CreateCustomIntegrationContext) => + (values: ValuesTuple): ValuesTuple => { + const [context, event] = values; + if (context.touchedFields.integrationName && !context.touchedFields.datasets) { + return [ + { + ...context, + fields: { + ...context.fields, + datasets: context.fields.datasets.map((dataset, index) => ({ + ...dataset, + name: index === 0 ? context.fields.integrationName : dataset.name, + })), + }, + }, + event, + ]; + } else { + return [context, event]; + } + }; + +const replaceSpecialCharacters = + (originalContext: CreateCustomIntegrationContext) => + (values: ValuesTuple): ValuesTuple => { + const [context, event] = values; + + const mergedContext = { + ...context, + fields: { + ...context.fields, + integrationName: replaceSpecialChars(context.fields.integrationName), + datasets: context.fields.datasets.map((dataset) => ({ + ...dataset, + name: replaceSpecialChars(dataset.name), + })), + }, + }; + + return [mergedContext, event]; + }; + +export const getDatasetNamePrefix = (integrationName: string) => `${integrationName}.`; +export const datasetNameIsPrefixed = (datasetName: string, integrationName: string) => + datasetName.startsWith(getDatasetNamePrefix(integrationName)); +export const datasetNameWillBePrefixed = (datasetName: string, integrationName: string) => + datasetName !== integrationName; +export const prefixDatasetName = (datasetName: string, integrationName: string) => + `${getDatasetNamePrefix(integrationName)}${datasetName}`; + +// The content after the integration name prefix. +export const getDatasetNameWithoutPrefix = (datasetName: string, integrationName: string) => + datasetNameIsPrefixed(datasetName, integrationName) + ? datasetName.split(getDatasetNamePrefix(integrationName))[1] + : datasetName; + +// The machine holds unprefixed names internally to dramatically reduce complexity and improve performance for input changes in the UI. +// Prefixed names are used at the outermost edges e.g. when providing initial state and submitting to the API. +export const normalizeDatasetNames = (fields: UpdateFieldsEvent['fields']) => { + const value = { + ...fields, + ...(fields.datasets !== undefined && fields.integrationName !== undefined + ? { + datasets: fields.datasets.map((dataset) => ({ + ...dataset, + name: getDatasetNameWithoutPrefix(dataset.name, fields.integrationName!), + })), + } + : {}), + }; + return value; +}; diff --git a/packages/kbn-custom-integrations/src/state_machines/create/state_machine.ts b/packages/kbn-custom-integrations/src/state_machines/create/state_machine.ts index ad93d3eb8cb05e..2ae0e51bad3d8c 100644 --- a/packages/kbn-custom-integrations/src/state_machines/create/state_machine.ts +++ b/packages/kbn-custom-integrations/src/state_machines/create/state_machine.ts @@ -28,10 +28,12 @@ import { DefaultCreateCustomIntegrationContext, WithErrors, WithPreviouslyCreatedIntegration, - WithTouchedFields, - WithFields, } from './types'; -import { replaceSpecialChars } from '../../components/create/utils'; +import { + datasetNameWillBePrefixed, + executeFieldsPipeline, + prefixDatasetName, +} from './pipelines/fields'; export const createPureCreateCustomIntegrationStateMachine = ( initialContext: DefaultCreateCustomIntegrationContext = DEFAULT_CONTEXT @@ -211,32 +213,12 @@ export const createPureCreateCustomIntegrationStateMachine = ( : {}; }), storeFields: actions.assign((context, event) => { - return event.type === 'UPDATE_FIELDS' - ? ({ - fields: { - ...context.fields, - ...event.fields, - integrationName: - event.fields.integrationName !== undefined - ? replaceSpecialChars(event.fields.integrationName) - : context.fields.integrationName, - datasets: - event.fields.datasets !== undefined - ? event.fields.datasets.map((dataset) => ({ - ...dataset, - name: replaceSpecialChars(dataset.name), - })) - : context.fields.datasets, - }, - touchedFields: { - ...context.touchedFields, - ...Object.keys(event.fields).reduce( - (acc, field) => ({ ...acc, [field]: true }), - {} as WithTouchedFields['touchedFields'] - ), - }, - } as WithFields & WithTouchedFields) - : {}; + if (event.type === 'UPDATE_FIELDS') { + const [contextResult] = executeFieldsPipeline(context, event); + return contextResult; + } else { + return {}; + } }), resetValues: actions.assign((context, event) => { return { @@ -315,7 +297,15 @@ export const createCreateCustomIntegrationStateMachine = ({ }), }), save: (context) => { - return integrationsClient.createCustomIntegration(context.fields); + return integrationsClient.createCustomIntegration({ + ...context.fields, + datasets: context.fields.datasets.map((dataset) => ({ + ...dataset, + name: datasetNameWillBePrefixed(dataset.name, context.fields.integrationName) + ? prefixDatasetName(dataset.name, context.fields.integrationName) + : dataset.name, + })), + }); }, cleanup: (context) => { return integrationsClient.deleteCustomIntegration({ diff --git a/packages/kbn-custom-integrations/src/state_machines/create/types.ts b/packages/kbn-custom-integrations/src/state_machines/create/types.ts index e7cfad728d78e4..ec0e61f2309d93 100644 --- a/packages/kbn-custom-integrations/src/state_machines/create/types.ts +++ b/packages/kbn-custom-integrations/src/state_machines/create/types.ts @@ -19,7 +19,9 @@ export interface WithTouchedFields { touchedFields: Record; } -export type CreateInitialState = WithOptions & WithFields & WithPreviouslyCreatedIntegration; +export type CreateInitialState = Partial & + Partial & + WithPreviouslyCreatedIntegration; export interface WithOptions { options: { @@ -91,11 +93,13 @@ export type CreateCustomIntegrationTypestate = export type CreateCustomIntegrationContext = CreateCustomIntegrationTypestate['context']; +export interface UpdateFieldsEvent { + type: 'UPDATE_FIELDS'; + fields: Partial; +} + export type CreateCustomIntegrationEvent = - | { - type: 'UPDATE_FIELDS'; - fields: Partial; - } + | UpdateFieldsEvent | { type: 'INITIALIZE'; } diff --git a/packages/kbn-custom-integrations/src/state_machines/custom_integrations/state_machine.ts b/packages/kbn-custom-integrations/src/state_machines/custom_integrations/state_machine.ts index 4bd71313bf43ab..3baa44d76a7e66 100644 --- a/packages/kbn-custom-integrations/src/state_machines/custom_integrations/state_machine.ts +++ b/packages/kbn-custom-integrations/src/state_machines/custom_integrations/state_machine.ts @@ -20,6 +20,8 @@ import { import { createCreateCustomIntegrationStateMachine } from '../create/state_machine'; import { IIntegrationsClient } from '../services/integrations_client'; import { CustomIntegrationsNotificationChannel } from './notifications'; +import { executeFieldsPipeline, normalizeDatasetNames } from '../create/pipelines/fields'; +import { CreateInitialState } from '../create/types'; export const createPureCustomIntegrationsStateMachine = ( initialContext: DefaultCustomIntegrationsContext = DEFAULT_CONTEXT @@ -95,22 +97,32 @@ export const createCustomIntegrationsStateMachine = ({ return createPureCustomIntegrationsStateMachine(initialContext).withConfig({ services: { createCustomIntegration: (context) => { + const getInitialContextForCreate = (initialCreateState: CreateInitialState) => { + const baseAndOptions = { + ...DEFAULT_CREATE_CONTEXT, + ...(initialCreateState ? initialCreateState : {}), + options: { + ...DEFAULT_CREATE_CONTEXT.options, + ...(initialCreateState?.options ? initialCreateState.options : {}), + }, + }; + const fields = initialCreateState.fields + ? executeFieldsPipeline(baseAndOptions, { + type: 'UPDATE_FIELDS', + fields: normalizeDatasetNames(initialCreateState.fields), + })[0] + : {}; + return { + ...baseAndOptions, + ...fields, + }; + }; + return createCreateCustomIntegrationStateMachine({ integrationsClient, initialContext: - initialState.mode === 'create' - ? { - ...DEFAULT_CREATE_CONTEXT, - ...(initialState?.context ? initialState?.context : {}), - options: { - ...DEFAULT_CREATE_CONTEXT.options, - ...(initialState?.context?.options ? initialState.context.options : {}), - }, - fields: { - ...DEFAULT_CREATE_CONTEXT.fields, - ...(initialState?.context?.fields ? initialState.context.fields : {}), - }, - } + initialState.mode === 'create' && initialState.context + ? getInitialContextForCreate(initialState.context) : DEFAULT_CREATE_CONTEXT, }); }, diff --git a/packages/kbn-custom-integrations/src/state_machines/services/integrations_client.ts b/packages/kbn-custom-integrations/src/state_machines/services/integrations_client.ts index c5606a7e2e154b..047bd4a7644d06 100644 --- a/packages/kbn-custom-integrations/src/state_machines/services/integrations_client.ts +++ b/packages/kbn-custom-integrations/src/state_machines/services/integrations_client.ts @@ -19,6 +19,8 @@ import { IntegrationNotInstalledError, NamingCollisionError, UnknownError, + IntegrationName, + Dataset, } from '../../types'; const GENERIC_CREATE_ERROR_MESSAGE = i18n.translate( @@ -70,6 +72,7 @@ export class IntegrationsClient implements IIntegrationsClient { return { integrationName: params.integrationName, + datasets: params.datasets, installedAssets: data.items, }; } catch (error) { @@ -128,7 +131,8 @@ export const createCustomIntegrationResponseRT = rt.exact( ); export interface CreateCustomIntegrationValue { - integrationName: string; + integrationName: IntegrationName; + datasets: Dataset[]; installedAssets: AssetList; } diff --git a/packages/kbn-custom-integrations/src/types.ts b/packages/kbn-custom-integrations/src/types.ts index 062601239137a2..84ecda1eb4df3f 100644 --- a/packages/kbn-custom-integrations/src/types.ts +++ b/packages/kbn-custom-integrations/src/types.ts @@ -9,25 +9,26 @@ import * as rt from 'io-ts'; export const integrationNameRT = rt.string; +export type IntegrationName = rt.TypeOf; -const datasetTypes = rt.keyof({ +const datasetTypesRT = rt.keyof({ logs: null, metrics: null, }); -const dataset = rt.exact( +export const datasetRT = rt.exact( rt.type({ name: rt.string, - type: datasetTypes, + type: datasetTypesRT, }) ); -export type Dataset = rt.TypeOf; +export type Dataset = rt.TypeOf; export const customIntegrationOptionsRT = rt.exact( rt.type({ integrationName: integrationNameRT, - datasets: rt.array(dataset), + datasets: rt.array(datasetRT), }) ); diff --git a/x-pack/plugins/fleet/server/routes/epm/handlers.ts b/x-pack/plugins/fleet/server/routes/epm/handlers.ts index c507d9e6732a70..ffc0742706063a 100644 --- a/x-pack/plugins/fleet/server/routes/epm/handlers.ts +++ b/x-pack/plugins/fleet/server/routes/epm/handlers.ts @@ -85,6 +85,7 @@ import type { } from '../../types'; import { getDataStreams } from '../../services/epm/data_streams'; import { NamingCollisionError } from '../../services/epm/packages/custom_integrations/validation/check_naming_collision'; +import { DatasetNamePrefixError } from '../../services/epm/packages/custom_integrations/validation/check_dataset_name_format'; const CACHE_CONTROL_10_MINUTES_HEADER: HttpResponseOptions['headers'] = { 'cache-control': 'max-age=600', @@ -452,6 +453,13 @@ export const createCustomIntegrationHandler: FleetRequestHandler< message: error.message, }, }); + } else if (error instanceof DatasetNamePrefixError) { + return response.customError({ + statusCode: 422, + body: { + message: error.message, + }, + }); } return await defaultFleetErrorHandler({ error, response }); } diff --git a/x-pack/plugins/fleet/server/services/epm/packages/custom_integrations/assets/dataset/utils.ts b/x-pack/plugins/fleet/server/services/epm/packages/custom_integrations/assets/dataset/utils.ts index b984b8cddbbd30..c3512443c8828c 100644 --- a/x-pack/plugins/fleet/server/services/epm/packages/custom_integrations/assets/dataset/utils.ts +++ b/x-pack/plugins/fleet/server/services/epm/packages/custom_integrations/assets/dataset/utils.ts @@ -15,7 +15,7 @@ export const generateDatastreamEntries = ( const { name, type } = dataset; return { type, - dataset: `${packageName}.${name}`, + dataset: `${name}`, title: `Data stream for the ${packageName} custom integration, and ${name} dataset.`, package: packageName, path: name, diff --git a/x-pack/plugins/fleet/server/services/epm/packages/custom_integrations/validation/check_dataset_name_format.ts b/x-pack/plugins/fleet/server/services/epm/packages/custom_integrations/validation/check_dataset_name_format.ts new file mode 100644 index 00000000000000..daa90f892034e2 --- /dev/null +++ b/x-pack/plugins/fleet/server/services/epm/packages/custom_integrations/validation/check_dataset_name_format.ts @@ -0,0 +1,37 @@ +/* + * Copyright 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 { CustomPackageDatasetConfiguration } from '../../install'; + +// Dataset name must either match integration name exactly OR be prefixed with integration name and a dot. +export const checkDatasetsNameFormat = ( + datasets: CustomPackageDatasetConfiguration[], + integrationName: string +) => { + const invalidNames = datasets + .filter((dataset) => { + const { name } = dataset; + return name !== integrationName && !name.startsWith(`${integrationName}.`); + }) + .map((dataset) => dataset.name); + + if (invalidNames.length > 0) { + throw new DatasetNamePrefixError( + `Dataset names '${invalidNames.join( + ', ' + )}' must either match integration name '${integrationName}' exactly or be prefixed with integration name and a dot (e.g. '${integrationName}.').` + ); + } +}; + +export class DatasetNamePrefixError extends Error { + constructor(message?: string) { + super(message); + Object.setPrototypeOf(this, new.target.prototype); + this.name = 'DatasetNamePrefixError'; + } +} diff --git a/x-pack/plugins/fleet/server/services/epm/packages/install.ts b/x-pack/plugins/fleet/server/services/epm/packages/install.ts index 4bb77d03996c75..da31b26d275e9a 100644 --- a/x-pack/plugins/fleet/server/services/epm/packages/install.ts +++ b/x-pack/plugins/fleet/server/services/epm/packages/install.ts @@ -103,6 +103,7 @@ import { createAssets } from './custom_integrations'; import { cacheAssets } from './custom_integrations/assets/cache'; import { generateDatastreamEntries } from './custom_integrations/assets/dataset/utils'; import { checkForNamingCollision } from './custom_integrations/validation/check_naming_collision'; +import { checkDatasetsNameFormat } from './custom_integrations/validation/check_dataset_name_format'; export async function isPackageInstalled(options: { savedObjectsClient: SavedObjectsClientContract; @@ -784,6 +785,7 @@ export async function installCustomPackage( // Validate that we can create this package, validations will throw if they don't pass await checkForNamingCollision(savedObjectsClient, pkgName); + checkDatasetsNameFormat(datasets, pkgName); // Compose a packageInfo const packageInfo = { diff --git a/x-pack/plugins/observability_onboarding/e2e/cypress/e2e/logs/custom_logs/install_elastic_agent.cy.ts b/x-pack/plugins/observability_onboarding/e2e/cypress/e2e/logs/custom_logs/install_elastic_agent.cy.ts index 0843423f10b1be..19e84284b671be 100644 --- a/x-pack/plugins/observability_onboarding/e2e/cypress/e2e/logs/custom_logs/install_elastic_agent.cy.ts +++ b/x-pack/plugins/observability_onboarding/e2e/cypress/e2e/logs/custom_logs/install_elastic_agent.cy.ts @@ -623,7 +623,7 @@ describe('[Logs onboarding] Custom logs - install elastic agent', () => { cy.getByTestSubj('obltOnboardingExploreLogs').should('exist').click(); cy.url().should('include', '/app/observability-log-explorer'); - cy.get('button').contains('[mylogs] mylogs').should('exist'); + cy.get('button').contains('[Mylogs] mylogs').should('exist'); }); }); }); diff --git a/x-pack/plugins/observability_onboarding/e2e/cypress/support/commands.ts b/x-pack/plugins/observability_onboarding/e2e/cypress/support/commands.ts index f4a30e896c8db5..e989089f491ebd 100644 --- a/x-pack/plugins/observability_onboarding/e2e/cypress/support/commands.ts +++ b/x-pack/plugins/observability_onboarding/e2e/cypress/support/commands.ts @@ -107,9 +107,9 @@ Cypress.Commands.add('installCustomIntegration', (integrationName: string) => { force: true, integrationName, datasets: [ - { name: 'access', type: 'logs' }, - { name: 'error', type: 'metrics' }, - { name: 'warning', type: 'logs' }, + { name: `${integrationName}.access`, type: 'logs' }, + { name: `${integrationName}.error`, type: 'metrics' }, + { name: `${integrationName}.warning`, type: 'logs' }, ], }, headers: { diff --git a/x-pack/plugins/observability_onboarding/public/components/app/custom_logs/configure_logs.tsx b/x-pack/plugins/observability_onboarding/public/components/app/custom_logs/configure_logs.tsx index b5edcf75b1214c..3bfe683d48c832 100644 --- a/x-pack/plugins/observability_onboarding/public/components/app/custom_logs/configure_logs.tsx +++ b/x-pack/plugins/observability_onboarding/public/components/app/custom_logs/configure_logs.tsx @@ -92,10 +92,14 @@ export function ConfigureLogs() { resetOnCreation: false, errorOnFailedCleanup: false, }, - fields: { - integrationName, - datasets: [{ name: datasetName, type: 'logs' as const }], - }, + ...(integrationName !== undefined && datasetName !== undefined + ? { + fields: { + integrationName, + datasets: [{ name: datasetName, type: 'logs' as const }], + }, + } + : {}), previouslyCreatedIntegration: lastCreatedIntegrationOptions, }, }} diff --git a/x-pack/plugins/observability_onboarding/public/components/app/custom_logs/index.tsx b/x-pack/plugins/observability_onboarding/public/components/app/custom_logs/index.tsx index 81d7faf448a48d..afe575c08018c4 100644 --- a/x-pack/plugins/observability_onboarding/public/components/app/custom_logs/index.tsx +++ b/x-pack/plugins/observability_onboarding/public/components/app/custom_logs/index.tsx @@ -17,9 +17,9 @@ import { InstallElasticAgent } from './install_elastic_agent'; import { SelectLogs } from './select_logs'; interface WizardState { - integrationName: string; + integrationName?: string; lastCreatedIntegrationOptions?: CustomIntegrationOptions; - datasetName: string; + datasetName?: string; serviceName: string; logFilePaths: string[]; namespace: string; @@ -40,8 +40,8 @@ interface WizardState { } const initialState: WizardState = { - integrationName: '', - datasetName: '', + integrationName: undefined, + datasetName: undefined, serviceName: '', logFilePaths: [''], namespace: 'default', diff --git a/x-pack/test/fleet_api_integration/apis/epm/install_custom.ts b/x-pack/test/fleet_api_integration/apis/epm/install_custom.ts index 88d71edb74d47c..63dfd7690e8873 100644 --- a/x-pack/test/fleet_api_integration/apis/epm/install_custom.ts +++ b/x-pack/test/fleet_api_integration/apis/epm/install_custom.ts @@ -39,9 +39,9 @@ export default function (providerContext: FtrProviderContext) { force: true, integrationName: INTEGRATION_NAME, datasets: [ - { name: 'access', type: 'logs' }, - { name: 'error', type: 'metrics' }, - { name: 'warning', type: 'logs' }, + { name: `${INTEGRATION_NAME}.access`, type: 'logs' }, + { name: `${INTEGRATION_NAME}.error`, type: 'metrics' }, + { name: `${INTEGRATION_NAME}.warning`, type: 'logs' }, ], }) .expect(200); @@ -108,9 +108,9 @@ export default function (providerContext: FtrProviderContext) { force: true, integrationName: INTEGRATION_NAME, datasets: [ - { name: 'access', type: 'logs' }, - { name: 'error', type: 'metrics' }, - { name: 'warning', type: 'logs' }, + { name: `${INTEGRATION_NAME}.access`, type: 'logs' }, + { name: `${INTEGRATION_NAME}.error`, type: 'metrics' }, + { name: `${INTEGRATION_NAME}.warning`, type: 'logs' }, ], }) .expect(200); @@ -123,9 +123,9 @@ export default function (providerContext: FtrProviderContext) { force: true, integrationName: INTEGRATION_NAME, datasets: [ - { name: 'access', type: 'logs' }, - { name: 'error', type: 'metrics' }, - { name: 'warning', type: 'logs' }, + { name: `${INTEGRATION_NAME}.access`, type: 'logs' }, + { name: `${INTEGRATION_NAME}.error`, type: 'metrics' }, + { name: `${INTEGRATION_NAME}.warning`, type: 'logs' }, ], }) .expect(409); @@ -145,7 +145,7 @@ export default function (providerContext: FtrProviderContext) { .send({ force: true, integrationName: pkgName, - datasets: [{ name: 'error', type: 'logs' }], + datasets: [{ name: `${INTEGRATION_NAME}.error`, type: 'logs' }], }) .expect(409); @@ -153,5 +153,48 @@ export default function (providerContext: FtrProviderContext) { `Failed to create the integration as an integration with the name ${pkgName} already exists in the package registry or as a bundled package.` ); }); + + it('Throws an error when dataset names are not prefixed correctly', async () => { + const response = await supertest + .post(`/api/fleet/epm/custom_integrations`) + .set('kbn-xsrf', 'xxxx') + .type('application/json') + .send({ + force: true, + integrationName: INTEGRATION_NAME, + datasets: [{ name: 'error', type: 'logs' }], + }) + .expect(422); + + expect(response.body.message).to.be( + `Dataset names 'error' must either match integration name '${INTEGRATION_NAME}' exactly or be prefixed with integration name and a dot (e.g. '${INTEGRATION_NAME}.').` + ); + + await uninstallPackage(); + + await supertest + .post(`/api/fleet/epm/custom_integrations`) + .set('kbn-xsrf', 'xxxx') + .type('application/json') + .send({ + force: true, + integrationName: INTEGRATION_NAME, + datasets: [{ name: INTEGRATION_NAME, type: 'logs' }], + }) + .expect(200); + + await uninstallPackage(); + + await supertest + .post(`/api/fleet/epm/custom_integrations`) + .set('kbn-xsrf', 'xxxx') + .type('application/json') + .send({ + force: true, + integrationName: INTEGRATION_NAME, + datasets: [{ name: `${INTEGRATION_NAME}.error`, type: 'logs' }], + }) + .expect(200); + }); }); } From 292835af07316e110db85ead55646800e33afcf7 Mon Sep 17 00:00:00 2001 From: Kevin Delemme Date: Thu, 21 Sep 2023 12:05:36 -0400 Subject: [PATCH 14/72] feat(slo): Handle deletion of partitioned slo (#166878) --- .../slo_delete_confirmation_modal.stories.tsx | 0 .../slo_delete_confirmation_modal.tsx | 58 +++++++++++++++++++ .../public/hooks/slo/use_delete_slo.ts | 6 +- .../slo_details/components/header_control.tsx | 2 +- .../slo_delete_confirmation_modal.tsx | 53 ----------------- .../pages/slos/components/slo_list_item.tsx | 2 +- .../translations/translations/fr-FR.json | 5 +- .../translations/translations/ja-JP.json | 5 +- .../translations/translations/zh-CN.json | 5 +- 9 files changed, 68 insertions(+), 68 deletions(-) rename x-pack/plugins/observability/public/{pages/slos/components => components/slo/delete_confirmation_modal}/slo_delete_confirmation_modal.stories.tsx (100%) create mode 100644 x-pack/plugins/observability/public/components/slo/delete_confirmation_modal/slo_delete_confirmation_modal.tsx delete mode 100644 x-pack/plugins/observability/public/pages/slos/components/slo_delete_confirmation_modal.tsx diff --git a/x-pack/plugins/observability/public/pages/slos/components/slo_delete_confirmation_modal.stories.tsx b/x-pack/plugins/observability/public/components/slo/delete_confirmation_modal/slo_delete_confirmation_modal.stories.tsx similarity index 100% rename from x-pack/plugins/observability/public/pages/slos/components/slo_delete_confirmation_modal.stories.tsx rename to x-pack/plugins/observability/public/components/slo/delete_confirmation_modal/slo_delete_confirmation_modal.stories.tsx diff --git a/x-pack/plugins/observability/public/components/slo/delete_confirmation_modal/slo_delete_confirmation_modal.tsx b/x-pack/plugins/observability/public/components/slo/delete_confirmation_modal/slo_delete_confirmation_modal.tsx new file mode 100644 index 00000000000000..0822758859d604 --- /dev/null +++ b/x-pack/plugins/observability/public/components/slo/delete_confirmation_modal/slo_delete_confirmation_modal.tsx @@ -0,0 +1,58 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { EuiConfirmModal } from '@elastic/eui'; +import { i18n } from '@kbn/i18n'; +import { ALL_VALUE, SLOWithSummaryResponse } from '@kbn/slo-schema'; +import React from 'react'; + +export interface SloDeleteConfirmationModalProps { + slo: SLOWithSummaryResponse; + onCancel: () => void; + onConfirm: () => void; +} + +export function SloDeleteConfirmationModal({ + slo, + onCancel, + onConfirm, +}: SloDeleteConfirmationModalProps) { + const { name, groupBy } = slo; + return ( + + {groupBy !== ALL_VALUE + ? i18n.translate( + 'xpack.observability.slo.deleteConfirmationModal.partitionByDisclaimerText', + { + defaultMessage: + 'This SLO has been generated with a partition key on "{partitionKey}". Deleting this SLO definition will result in all instances being deleted.', + values: { partitionKey: groupBy }, + } + ) + : i18n.translate('xpack.observability.slo.deleteConfirmationModal.descriptionText', { + defaultMessage: "You can't recover this SLO after deleting it.", + })} + + ); +} diff --git a/x-pack/plugins/observability/public/hooks/slo/use_delete_slo.ts b/x-pack/plugins/observability/public/hooks/slo/use_delete_slo.ts index 7add4684426771..6857609500f922 100644 --- a/x-pack/plugins/observability/public/hooks/slo/use_delete_slo.ts +++ b/x-pack/plugins/observability/public/hooks/slo/use_delete_slo.ts @@ -42,10 +42,14 @@ export function useDeleteSlo() { }); const [queryKey, previousData] = queriesData?.at(0) ?? []; + // taking into account partitioned slo + const matchingSloCount = + previousData?.results?.filter((result) => result.id === slo.id)?.length ?? 0; + const optimisticUpdate = { page: previousData?.page ?? 1, perPage: previousData?.perPage ?? 25, - total: previousData?.total ? previousData.total - 1 : 0, + total: previousData?.total ? previousData.total - matchingSloCount : 0, results: previousData?.results?.filter((result) => result.id !== slo.id) ?? [], }; diff --git a/x-pack/plugins/observability/public/pages/slo_details/components/header_control.tsx b/x-pack/plugins/observability/public/pages/slo_details/components/header_control.tsx index b62b4c675691f7..02556efaf396a7 100644 --- a/x-pack/plugins/observability/public/pages/slo_details/components/header_control.tsx +++ b/x-pack/plugins/observability/public/pages/slo_details/components/header_control.tsx @@ -10,6 +10,7 @@ import { i18n } from '@kbn/i18n'; import { EuiButton, EuiContextMenuItem, EuiContextMenuPanel, EuiPopover } from '@elastic/eui'; import { SLOWithSummaryResponse } from '@kbn/slo-schema'; +import { SloDeleteConfirmationModal } from '../../../components/slo/delete_confirmation_modal/slo_delete_confirmation_modal'; import { useCapabilities } from '../../../hooks/slo/use_capabilities'; import { useKibana } from '../../../utils/kibana_react'; import { useCloneSlo } from '../../../hooks/slo/use_clone_slo'; @@ -23,7 +24,6 @@ import { transformSloResponseToCreateSloForm, transformCreateSLOFormToCreateSLOInput, } from '../../slo_edit/helpers/process_slo_form_values'; -import { SloDeleteConfirmationModal } from '../../slos/components/slo_delete_confirmation_modal'; import type { RulesParams } from '../../../locators/rules'; export interface Props { diff --git a/x-pack/plugins/observability/public/pages/slos/components/slo_delete_confirmation_modal.tsx b/x-pack/plugins/observability/public/pages/slos/components/slo_delete_confirmation_modal.tsx deleted file mode 100644 index e132661aa16adf..00000000000000 --- a/x-pack/plugins/observability/public/pages/slos/components/slo_delete_confirmation_modal.tsx +++ /dev/null @@ -1,53 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import React from 'react'; -import { EuiConfirmModal } from '@elastic/eui'; -import { i18n } from '@kbn/i18n'; -import type { SLOWithSummaryResponse } from '@kbn/slo-schema'; - -export interface SloDeleteConfirmationModalProps { - slo: SLOWithSummaryResponse; - onCancel: () => void; - onConfirm: () => void; -} - -export function SloDeleteConfirmationModal({ - slo: { name }, - onCancel, - onConfirm, -}: SloDeleteConfirmationModalProps) { - return ( - - {i18n.translate('xpack.observability.slo.slo.deleteConfirmationModal.descriptionText', { - defaultMessage: "You can't recover {name} after deleting.", - values: { name }, - })} - - ); -} diff --git a/x-pack/plugins/observability/public/pages/slos/components/slo_list_item.tsx b/x-pack/plugins/observability/public/pages/slos/components/slo_list_item.tsx index c99335b7881316..cd4b6e760ea091 100644 --- a/x-pack/plugins/observability/public/pages/slos/components/slo_list_item.tsx +++ b/x-pack/plugins/observability/public/pages/slos/components/slo_list_item.tsx @@ -20,6 +20,7 @@ import { ALL_VALUE, HistoricalSummaryResponse, SLOWithSummaryResponse } from '@k import type { Rule } from '@kbn/triggers-actions-ui-plugin/public'; import { useQueryClient } from '@tanstack/react-query'; import React, { useState } from 'react'; +import { SloDeleteConfirmationModal } from '../../../components/slo/delete_confirmation_modal/slo_delete_confirmation_modal'; import { rulesLocatorID, sloFeatureId } from '../../../../common'; import { SLO_BURN_RATE_RULE_TYPE_ID } from '../../../../common/constants'; import { paths } from '../../../../common/locators/paths'; @@ -36,7 +37,6 @@ import { transformSloResponseToCreateSloForm, } from '../../slo_edit/helpers/process_slo_form_values'; import { SloBadges } from './badges/slo_badges'; -import { SloDeleteConfirmationModal } from './slo_delete_confirmation_modal'; import { SloSummary } from './slo_summary'; export interface SloListItemProps { diff --git a/x-pack/plugins/translations/translations/fr-FR.json b/x-pack/plugins/translations/translations/fr-FR.json index 5c7eb3d6d99e7d..05fb32bab24fe7 100644 --- a/x-pack/plugins/translations/translations/fr-FR.json +++ b/x-pack/plugins/translations/translations/fr-FR.json @@ -27104,8 +27104,6 @@ "xpack.observability.slo.slo.activeAlertsBadge.label": "{count, plural, one {# alerte} many {# alertes} other {Alertes #}}", "xpack.observability.slo.slo.delete.errorNotification": "Impossible de supprimer {name}", "xpack.observability.slo.slo.delete.successNotification": "{name} supprimรฉ", - "xpack.observability.slo.slo.deleteConfirmationModal.deleteButtonLabel": "Supprimer {name}", - "xpack.observability.slo.slo.deleteConfirmationModal.descriptionText": "Vous ne pouvez pas rรฉcupรฉrer {name} aprรจs l'avoir supprimรฉ.", "xpack.observability.slo.slo.stats.objective": "Objectif {objective}", "xpack.observability.slo.slo.timeWindow.calendar": "{elapsed}/{total} jours", "xpack.observability.slo.sloDetails.errorBudgetChartPanel.duration": "{duration}", @@ -27400,8 +27398,7 @@ "xpack.observability.slo.rules.sloSelector.placeholder": "Sรฉlectionner un SLO", "xpack.observability.slo.rules.sloSelector.rowLabel": "SLO", "xpack.observability.slo.slo.activeAlertsBadge.ariaLabel": "badge alertes actives", - "xpack.observability.slo.slo.deleteConfirmationModal.cancelButtonLabel": "Annuler", - "xpack.observability.slo.slo.deleteConfirmationModal.title": "Voulez-vous vraiment continuerย ?", + "xpack.observability.slo.deleteConfirmationModal.cancelButtonLabel": "Annuler", "xpack.observability.slo.slo.item.actions.clone": "Cloner", "xpack.observability.slo.slo.item.actions.delete": "Supprimer", "xpack.observability.slo.slo.rulesBadge.popover": "Il n'y a pas encore de rรจgles configurรฉes pour ce SLO. Vous ne recevrez pas d'alertes lorsque le SLO est dรฉpassรฉ.", diff --git a/x-pack/plugins/translations/translations/ja-JP.json b/x-pack/plugins/translations/translations/ja-JP.json index 2d2127819c5db2..13413d07021041 100644 --- a/x-pack/plugins/translations/translations/ja-JP.json +++ b/x-pack/plugins/translations/translations/ja-JP.json @@ -27104,8 +27104,6 @@ "xpack.observability.slo.slo.activeAlertsBadge.label": "{count, plural, other {#ไปถใฎใ‚ขใƒฉใƒผใƒˆ}}", "xpack.observability.slo.slo.delete.errorNotification": "{name}ใฎๅ‰Š้™คใซๅคฑๆ•—ใ—ใพใ—ใŸ", "xpack.observability.slo.slo.delete.successNotification": "{name}ใŒๅ‰Š้™คใ•ใ‚Œใพใ—ใŸ", - "xpack.observability.slo.slo.deleteConfirmationModal.deleteButtonLabel": "{name}ๅ‰Š้™ค", - "xpack.observability.slo.slo.deleteConfirmationModal.descriptionText": "ๅ‰Š้™คใ•ใ‚ŒใŸ{name}ใฏๅพฉๅ…ƒใงใใพใ›ใ‚“ใ€‚", "xpack.observability.slo.slo.stats.objective": "{objective}็›ฎๆจ™", "xpack.observability.slo.slo.timeWindow.calendar": "{elapsed}/{total}ๆ—ฅ", "xpack.observability.slo.sloDetails.errorBudgetChartPanel.duration": "้ŽๅŽป{duration}", @@ -27400,8 +27398,7 @@ "xpack.observability.slo.rules.sloSelector.placeholder": "SLOใ‚’้ธๆŠž", "xpack.observability.slo.rules.sloSelector.rowLabel": "SLO", "xpack.observability.slo.slo.activeAlertsBadge.ariaLabel": "ใ‚ขใ‚ฏใƒ†ใ‚ฃใƒ–ใ‚ขใƒฉใƒผใƒˆใƒใƒƒใ‚ธ", - "xpack.observability.slo.slo.deleteConfirmationModal.cancelButtonLabel": "ใ‚ญใƒฃใƒณใ‚ปใƒซ", - "xpack.observability.slo.slo.deleteConfirmationModal.title": "ใ‚ˆใ‚ใ—ใ„ใงใ™ใ‹๏ผŸ", + "xpack.observability.slo.deleteConfirmationModal.cancelButtonLabel": "ใ‚ญใƒฃใƒณใ‚ปใƒซ", "xpack.observability.slo.slo.item.actions.clone": "ใ‚ฏใƒญใƒผใƒณใ‚’ไฝœๆˆ", "xpack.observability.slo.slo.item.actions.delete": "ๅ‰Š้™ค", "xpack.observability.slo.slo.rulesBadge.popover": "ใ“ใฎSLOใงใฏใพใ ใƒซใƒผใƒซใŒๆง‹ๆˆใ•ใ‚Œใฆใ„ใพใ›ใ‚“ใ€‚SLOใซ้•ๅใ—ใŸใจใใซใ‚ขใƒฉใƒผใƒˆใ‚’ๅ—ไฟกใ—ใพใ›ใ‚“ใ€‚", diff --git a/x-pack/plugins/translations/translations/zh-CN.json b/x-pack/plugins/translations/translations/zh-CN.json index f4880d6251cba1..7153e939084aa3 100644 --- a/x-pack/plugins/translations/translations/zh-CN.json +++ b/x-pack/plugins/translations/translations/zh-CN.json @@ -27102,8 +27102,6 @@ "xpack.observability.slo.slo.activeAlertsBadge.label": "{count, plural, other {# ไธชๅ‘Š่ญฆ}}", "xpack.observability.slo.slo.delete.errorNotification": "ๆ— ๆณ•ๅˆ ้™ค{name}", "xpack.observability.slo.slo.delete.successNotification": "ๅทฒๅˆ ้™ค {name}", - "xpack.observability.slo.slo.deleteConfirmationModal.deleteButtonLabel": "ๅˆ ้™ค{name}", - "xpack.observability.slo.slo.deleteConfirmationModal.descriptionText": "ๆ‚จๆ— ๆณ•ๆขๅคๅˆ ้™ค็š„{name}ใ€‚", "xpack.observability.slo.slo.stats.objective": "{objective} ็›ฎๆ ‡", "xpack.observability.slo.slo.timeWindow.calendar": "{elapsed}/{total} ๅคฉ", "xpack.observability.slo.sloDetails.errorBudgetChartPanel.duration": "่ฟ‡ๅŽป {duration}", @@ -27398,8 +27396,7 @@ "xpack.observability.slo.rules.sloSelector.placeholder": "้€‰ๆ‹ฉ SLO", "xpack.observability.slo.rules.sloSelector.rowLabel": "SLO", "xpack.observability.slo.slo.activeAlertsBadge.ariaLabel": "ๆดปๅŠจๅ‘Š่ญฆๅพฝ็ซ ", - "xpack.observability.slo.slo.deleteConfirmationModal.cancelButtonLabel": "ๅ–ๆถˆ", - "xpack.observability.slo.slo.deleteConfirmationModal.title": "ๆ˜ฏๅฆ็กฎๅฎš๏ผŸ", + "xpack.observability.slo.deleteConfirmationModal.cancelButtonLabel": "ๅ–ๆถˆ", "xpack.observability.slo.slo.item.actions.clone": "ๅ…‹้š†", "xpack.observability.slo.slo.item.actions.delete": "ๅˆ ้™ค", "xpack.observability.slo.slo.rulesBadge.popover": "ๅฐšๆœชไธบๆญค SLO ้…็ฝฎไปปไฝ•่ง„ๅˆ™ใ€‚่ถ…ๅ‡บ SLO ๆ—ถ๏ผŒๆ‚จไธไผšๆ”ถๅˆฐๅ‘Š่ญฆใ€‚", From 8ddad927fee7a8b501e46ccb56e4bd1de24cf03e Mon Sep 17 00:00:00 2001 From: Brad White Date: Thu, 21 Sep 2023 10:10:21 -0600 Subject: [PATCH 15/72] [kbn/es serverless] invert teardown logic to always kill cluster (#166546) ## Summary Closes #166543 - It is counterintuitive to `CTRL + C` from the `yarn es serverless` process and the cluster is still running. This has caused issues when switching between stateful and serverless work flows for some developers. This PR inverts the logic to always teardown the cluster unless a flag is passed. - Small docs update for changing ES memory allocation on all operation systems. - Fixes bug were cluster status would continue looping after `SIGINT`. - Bind to `SIGINT` earlier so nodes are always killed --- .../src/create_serverless_root.ts | 1 - packages/kbn-es/README.mdx | 2 +- .../kbn-es/src/cli_commands/serverless.ts | 14 +++++++++-- packages/kbn-es/src/cluster.ts | 6 ++--- packages/kbn-es/src/utils/docker.ts | 23 ++++++++----------- .../src/utils/wait_until_cluster_ready.ts | 3 +++ packages/kbn-test/src/es/test_es_cluster.ts | 1 - 7 files changed, 29 insertions(+), 21 deletions(-) diff --git a/packages/core/test-helpers/core-test-helpers-kbn-server/src/create_serverless_root.ts b/packages/core/test-helpers/core-test-helpers-kbn-server/src/create_serverless_root.ts index 5802002edb71cb..4e46b164398d0d 100644 --- a/packages/core/test-helpers/core-test-helpers-kbn-server/src/create_serverless_root.ts +++ b/packages/core/test-helpers/core-test-helpers-kbn-server/src/create_serverless_root.ts @@ -81,7 +81,6 @@ function createServerlessES() { await es.runServerless({ basePath: ES_BASE_PATH_DIR, port: esPort, - teardown: true, background: true, clean: true, kill: true, diff --git a/packages/kbn-es/README.mdx b/packages/kbn-es/README.mdx index 90bc36bc1da58a..5927670030cdf9 100644 --- a/packages/kbn-es/README.mdx +++ b/packages/kbn-es/README.mdx @@ -21,7 +21,7 @@ If running elasticsearch serverless or a docker container, there is some require 1. Install Docker. Instructions can be found [here](https://www.docker.com/). 1. Authentication with Elastic's Docker registry [here](https://docker-auth.elastic.co/github_auth). -1. Increase OS virtual memory limits. More info in the [ES docs](https://www.elastic.co/guide/en/elasticsearch/reference/current/vm-max-map-count.html). +1. Increase OS virtual memory limits. More info in the [ES docs](https://www.elastic.co/guide/en/elasticsearch/reference/current/docker.html#docker-prod-prerequisites). ### Examples diff --git a/packages/kbn-es/src/cli_commands/serverless.ts b/packages/kbn-es/src/cli_commands/serverless.ts index f20d957851fed5..db2a70bb7b7151 100644 --- a/packages/kbn-es/src/cli_commands/serverless.ts +++ b/packages/kbn-es/src/cli_commands/serverless.ts @@ -37,7 +37,7 @@ export const serverless: Command = { --kill Kill running ESS nodes if detected on startup --port The port to bind to on 127.0.0.1 [default: ${DEFAULT_PORT}] --ssl Enable HTTP SSL on Elasticsearch - --teardown If this process exits, teardown the ES cluster as well + --skipTeardown If this process exits, leave the ES cluster running in the background --waitForReady Wait for the ES cluster to be ready to serve requests -E Additional key=value settings to pass to Elasticsearch @@ -66,11 +66,21 @@ export const serverless: Command = { }, string: ['tag', 'image', 'basePath'], - boolean: ['clean', 'ssl', 'kill', 'background', 'teardown', 'waitForReady'], + boolean: ['clean', 'ssl', 'kill', 'background', 'skipTeardown', 'waitForReady'], default: defaults, }) as unknown as ServerlessOptions; + /* + * The nodes will be killed immediately if background = true and skipTeardown = false + * because the CLI process exits after starting the nodes. We handle this here instead of + * in runServerless because in FTR we run the nodes in the background but the parent + * process continues for testing and we want to be able to SIGINT for teardown. + */ + if (options.background && !options.skipTeardown) { + options.skipTeardown = true; + } + const cluster = new Cluster(); await cluster.runServerless({ reportTime, diff --git a/packages/kbn-es/src/cluster.ts b/packages/kbn-es/src/cluster.ts index cf61d768d7b0c0..e2ddf43f32dc73 100644 --- a/packages/kbn-es/src/cluster.ts +++ b/packages/kbn-es/src/cluster.ts @@ -538,9 +538,7 @@ export class Cluster { throw new Error('ES serverless docker cluster has already been started'); } - this.serverlessNodes = await runServerlessCluster(this.log, options); - - if (options.teardown) { + if (!options.skipTeardown) { /** * Ideally would be async and an event like beforeExit or SIGINT, * but those events are not being triggered in FTR child process. @@ -548,6 +546,8 @@ export class Cluster { process.on('exit', () => teardownServerlessClusterSync(this.log, options)); } + this.serverlessNodes = await runServerlessCluster(this.log, options); + return this.serverlessNodes; } diff --git a/packages/kbn-es/src/utils/docker.ts b/packages/kbn-es/src/utils/docker.ts index 1369af0e1adab1..307ff796ae5e52 100644 --- a/packages/kbn-es/src/utils/docker.ts +++ b/packages/kbn-es/src/utils/docker.ts @@ -57,8 +57,8 @@ export interface ServerlessOptions extends EsClusterExecOptions, BaseOptions { clean?: boolean; /** Path to the directory where the ES cluster will store data */ basePath: string; - /** If this process exits, teardown the ES cluster as well */ - teardown?: boolean; + /** If this process exits, leave the ES cluster running in the background */ + skipTeardown?: boolean; /** Start the ES cluster in the background instead of remaining attached: useful for running tests */ background?: boolean; /** Wait for the ES cluster to be ready to serve requests */ @@ -596,6 +596,11 @@ export async function runServerlessCluster(log: ToolingLog, options: ServerlessO `); } + if (!options.skipTeardown) { + // SIGINT will not trigger in FTR (see cluster.runServerless for FTR signal) + process.on('SIGINT', () => teardownServerlessClusterSync(log, options)); + } + if (options.waitForReady) { log.info('Waiting until ES is ready to serve requests...'); @@ -625,24 +630,16 @@ export async function runServerlessCluster(log: ToolingLog, options: ServerlessO await waitUntilClusterReady({ client, expectedStatus: 'green', log }); } - if (options.teardown) { - // SIGINT will not trigger in FTR (see cluster.runServerless for FTR signal) - process.on('SIGINT', () => teardownServerlessClusterSync(log, options)); - } - if (!options.background) { // The ESS cluster has to be started detached, so we attach a logger afterwards for output await execa('docker', ['logs', '-f', SERVERLESS_NODES[0].name], { // inherit is required to show Docker output and Java console output for pw, enrollment token, etc stdio: ['ignore', 'inherit', 'inherit'], - }).catch((error) => { + }).catch(() => { /** - * 255 is a generic exit code which is triggered from docker logs command - * if we teardown the cluster since the entrypoint doesn't exit normally + * docker logs will throw errors when the nodes are killed through SIGINT + * and the entrypoint doesn't exit normally, so we silence the errors. */ - if (error.exitCode !== 255) { - log.error(error.message); - } }); } diff --git a/packages/kbn-es/src/utils/wait_until_cluster_ready.ts b/packages/kbn-es/src/utils/wait_until_cluster_ready.ts index 99fa4a25c20719..093d6192775bac 100644 --- a/packages/kbn-es/src/utils/wait_until_cluster_ready.ts +++ b/packages/kbn-es/src/utils/wait_until_cluster_ready.ts @@ -37,6 +37,9 @@ export async function waitUntilClusterReady({ let attempt = 0; const start = Date.now(); + // The loop will continue until timeout even if SIGINT is signaled, so force exit + process.on('SIGINT', () => process.exit()); + log.info(`waiting for ES cluster to report a ${expectedStatus} status`); const isReady = checkStatus(expectedStatus); diff --git a/packages/kbn-test/src/es/test_es_cluster.ts b/packages/kbn-test/src/es/test_es_cluster.ts index e6763822cd54e4..3cd90d21d1d917 100644 --- a/packages/kbn-test/src/es/test_es_cluster.ts +++ b/packages/kbn-test/src/es/test_es_cluster.ts @@ -241,7 +241,6 @@ export function createTestEsCluster< esArgs: customEsArgs, port, clean: true, - teardown: true, background: true, files, ssl, From 7425b227cae2695d0376ea198b06a72868a066ff Mon Sep 17 00:00:00 2001 From: Jon Date: Thu, 21 Sep 2023 11:42:33 -0500 Subject: [PATCH 16/72] Update versions.json (#166944) With the release of 8.10.2, this updates the tracked development version to 8.10.3 --- versions.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/versions.json b/versions.json index d9f23122bbb0fd..c1f94aa9f8e378 100644 --- a/versions.json +++ b/versions.json @@ -8,7 +8,7 @@ "currentMinor": true }, { - "version": "8.10.2", + "version": "8.10.3", "branch": "8.10", "currentMajor": true, "previousMinor": true From 7fab0b15e6e98ecafa492225c4a3986c9f0d88f2 Mon Sep 17 00:00:00 2001 From: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> Date: Thu, 21 Sep 2023 12:45:29 -0400 Subject: [PATCH 17/72] skip failing test suite (#152476) --- .../apps/dashboard/group2/dashboard_maps_by_value.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/x-pack/test/functional/apps/dashboard/group2/dashboard_maps_by_value.ts b/x-pack/test/functional/apps/dashboard/group2/dashboard_maps_by_value.ts index 1d898940a0bf3e..9904c8bb62293b 100644 --- a/x-pack/test/functional/apps/dashboard/group2/dashboard_maps_by_value.ts +++ b/x-pack/test/functional/apps/dashboard/group2/dashboard_maps_by_value.ts @@ -78,7 +78,8 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) { await PageObjects.dashboard.clickNewDashboard(); } - describe('dashboard maps by value', function () { + // Failing: See https://github.com/elastic/kibana/issues/152476 + describe.skip('dashboard maps by value', function () { before(async () => { await esArchiver.loadIfNeeded('x-pack/test/functional/es_archives/logstash_functional'); await kibanaServer.importExport.load( From e5399e43c3f74d3d65e3c7405ef578b0ba700550 Mon Sep 17 00:00:00 2001 From: Brad White Date: Thu, 21 Sep 2023 11:44:45 -0600 Subject: [PATCH 18/72] [kbn/es serverless] Rename usages of ESS (#166581) ## Summary Closes #166580 To avoid confusion, rename any usages of ESS because it has been established to represent Elastic Cloud and there are situations where ES serverless and Elastic Cloud can be used within the same context. --- .../kbn-dev-utils/src/dev_service_account.ts | 2 +- .../kbn-es/src/cli_commands/serverless.ts | 12 ++--- packages/kbn-es/src/paths.ts | 48 ++++++++++------- .../README.md | 6 +-- .../jwks.json | 0 .../operator_users.yml | 0 .../role_mapping.yml | 0 .../roles.yml | 0 .../secrets.json | 0 .../secrets_ssl.json | 0 .../service_tokens | 0 .../users | 0 .../users_roles | 0 packages/kbn-es/src/utils/docker.test.ts | 23 +++++--- packages/kbn-es/src/utils/docker.ts | 53 +++++++++++-------- packages/kbn-es/src/utils/index.ts | 2 +- ...file_realm.ts => serverless_file_realm.ts} | 0 17 files changed, 89 insertions(+), 57 deletions(-) rename packages/kbn-es/src/{ess_resources => serverless_resources}/README.md (78%) rename packages/kbn-es/src/{ess_resources => serverless_resources}/jwks.json (100%) rename packages/kbn-es/src/{ess_resources => serverless_resources}/operator_users.yml (100%) rename packages/kbn-es/src/{ess_resources => serverless_resources}/role_mapping.yml (100%) rename packages/kbn-es/src/{ess_resources => serverless_resources}/roles.yml (100%) rename packages/kbn-es/src/{ess_resources => serverless_resources}/secrets.json (100%) rename packages/kbn-es/src/{ess_resources => serverless_resources}/secrets_ssl.json (100%) rename packages/kbn-es/src/{ess_resources => serverless_resources}/service_tokens (100%) rename packages/kbn-es/src/{ess_resources => serverless_resources}/users (100%) rename packages/kbn-es/src/{ess_resources => serverless_resources}/users_roles (100%) rename packages/kbn-es/src/utils/{ess_file_realm.ts => serverless_file_realm.ts} (100%) diff --git a/packages/kbn-dev-utils/src/dev_service_account.ts b/packages/kbn-dev-utils/src/dev_service_account.ts index efcd51b3f1559f..32a50f5fcecd29 100644 --- a/packages/kbn-dev-utils/src/dev_service_account.ts +++ b/packages/kbn-dev-utils/src/dev_service_account.ts @@ -10,7 +10,7 @@ const env = process.env; /** * `kibana-dev` service account token for connecting to ESS - * See packages/kbn-es/src/ess_resources/README.md + * See packages/kbn-es/src/serverless_resources/README.md */ export const kibanaDevServiceAccount = { token: diff --git a/packages/kbn-es/src/cli_commands/serverless.ts b/packages/kbn-es/src/cli_commands/serverless.ts index db2a70bb7b7151..7ee4f08fb94fee 100644 --- a/packages/kbn-es/src/cli_commands/serverless.ts +++ b/packages/kbn-es/src/cli_commands/serverless.ts @@ -28,19 +28,19 @@ export const serverless: Command = { return dedent` Options: - --tag Image tag of ESS to run from ${SERVERLESS_REPO} [default: ${SERVERLESS_TAG}] - --image Full path of ESS image to run, has precedence over tag. [default: ${SERVERLESS_IMG}] + --tag Image tag of ES serverless to run from ${SERVERLESS_REPO} [default: ${SERVERLESS_TAG}] + --image Full path of ES serverless image to run, has precedence over tag. [default: ${SERVERLESS_IMG}] - --background Start ESS without attaching to the first node's logs + --background Start ES serverless without attaching to the first node's logs --basePath Path to the directory where the ES cluster will store data --clean Remove existing file system object store before running - --kill Kill running ESS nodes if detected on startup + --kill Kill running ES serverless nodes if detected on startup --port The port to bind to on 127.0.0.1 [default: ${DEFAULT_PORT}] - --ssl Enable HTTP SSL on Elasticsearch + --ssl Enable HTTP SSL on the ES cluster --skipTeardown If this process exits, leave the ES cluster running in the background --waitForReady Wait for the ES cluster to be ready to serve requests - -E Additional key=value settings to pass to Elasticsearch + -E Additional key=value settings to pass to ES -F Absolute paths for files to mount into containers Examples: diff --git a/packages/kbn-es/src/paths.ts b/packages/kbn-es/src/paths.ts index 823b8d6b593616..d9b4be41aa15be 100644 --- a/packages/kbn-es/src/paths.ts +++ b/packages/kbn-es/src/paths.ts @@ -24,31 +24,43 @@ export const ES_CONFIG = 'config/elasticsearch.yml'; export const ES_KEYSTORE_BIN = maybeUseBat('./bin/elasticsearch-keystore'); -export const ESS_OPERATOR_USERS_PATH = resolve(__dirname, './ess_resources/operator_users.yml'); -export const ESS_SERVICE_TOKENS_PATH = resolve(__dirname, './ess_resources/service_tokens'); +export const SERVERLESS_OPERATOR_USERS_PATH = resolve( + __dirname, + './serverless_resources/operator_users.yml' +); +export const SERVERLESS_SERVICE_TOKENS_PATH = resolve( + __dirname, + './serverless_resources/service_tokens' +); -export const ESS_USERS_PATH = resolve(__dirname, './ess_resources/users'); -export const ESS_USERS_ROLES_PATH = resolve(__dirname, './ess_resources/users_roles'); +export const SERVERLESS_USERS_PATH = resolve(__dirname, './serverless_resources/users'); +export const SERVERLESS_USERS_ROLES_PATH = resolve(__dirname, './serverless_resources/users_roles'); -export const ESS_ROLES_PATH = resolve(__dirname, './ess_resources/roles.yml'); -export const ESS_ROLE_MAPPING_PATH = resolve(__dirname, './ess_resources/role_mapping.yml'); +export const SERVERLESS_ROLES_PATH = resolve(__dirname, './serverless_resources/roles.yml'); +export const SERVERLESS_ROLE_MAPPING_PATH = resolve( + __dirname, + './serverless_resources/role_mapping.yml' +); -export const ESS_SECRETS_PATH = resolve(__dirname, './ess_resources/secrets.json'); +export const SERVERLESS_SECRETS_PATH = resolve(__dirname, './serverless_resources/secrets.json'); -export const ESS_SECRETS_SSL_PATH = resolve(__dirname, './ess_resources/secrets_ssl.json'); +export const SERVERLESS_SECRETS_SSL_PATH = resolve( + __dirname, + './serverless_resources/secrets_ssl.json' +); -export const ESS_JWKS_PATH = resolve(__dirname, './ess_resources/jwks.json'); +export const SERVERLESS_JWKS_PATH = resolve(__dirname, './serverless_resources/jwks.json'); -export const ESS_RESOURCES_PATHS = [ - ESS_OPERATOR_USERS_PATH, - ESS_ROLE_MAPPING_PATH, - ESS_ROLES_PATH, - ESS_SERVICE_TOKENS_PATH, - ESS_USERS_PATH, - ESS_USERS_ROLES_PATH, +export const SERVERLESS_RESOURCES_PATHS = [ + SERVERLESS_OPERATOR_USERS_PATH, + SERVERLESS_ROLE_MAPPING_PATH, + SERVERLESS_ROLES_PATH, + SERVERLESS_SERVICE_TOKENS_PATH, + SERVERLESS_USERS_PATH, + SERVERLESS_USERS_ROLES_PATH, ]; -export const ESS_CONFIG_PATH = '/usr/share/elasticsearch/config/'; +export const SERVERLESS_CONFIG_PATH = '/usr/share/elasticsearch/config/'; // Files need to be inside config for permissions reasons inside the container -export const ESS_FILES_PATH = `${ESS_CONFIG_PATH}files/`; +export const SERVERLESS_FILES_PATH = `${SERVERLESS_CONFIG_PATH}files/`; diff --git a/packages/kbn-es/src/ess_resources/README.md b/packages/kbn-es/src/serverless_resources/README.md similarity index 78% rename from packages/kbn-es/src/ess_resources/README.md rename to packages/kbn-es/src/serverless_resources/README.md index a7af386bcff1ff..d1ae204117075c 100644 --- a/packages/kbn-es/src/ess_resources/README.md +++ b/packages/kbn-es/src/serverless_resources/README.md @@ -1,5 +1,5 @@ # Elasticsearch Serverless Resources -The resources in this directory are used for seeding Elasticsearch Serverless (ESS) images with users, roles and tokens for SSL and authentication. ESS requires file realm authentication, so we will bind mount them into the containers at `/usr/share/elasticsearch/config/`. +The resources in this directory are used for seeding Elasticsearch Serverless images with users, roles and tokens for SSL and authentication. Serverless requires file realm authentication, so we will bind mount them into the containers at `/usr/share/elasticsearch/config/`. ## Users @@ -21,7 +21,7 @@ password: changeme ## Service Account and Tokens -This section for Service Accounts was originally from the [ESS repository](https://github.com/elastic/elasticsearch-serverless/blob/main/serverless-build-tools/src/main/resources/README.service_tokens.md). +This section for Service Accounts was originally from the [ES Serverless repository](https://github.com/elastic/elasticsearch-serverless/blob/main/serverless-build-tools/src/main/resources/README.service_tokens.md). The "service_tokens" file contains this line: ``` @@ -46,4 +46,4 @@ If a node is configured to use this `service_tokens` file, then you can authenti curl -H "Authorization: Bearer AAEAAWVsYXN0aWMva2liYW5hL2tpYmFuYS1kZXY6VVVVVVVVTEstKiBaNA" http://localhost:9200/_security/_authenticate ``` -The name of the token (`kibana-dev`) is important because the `operator_users.yml` file designates that token as an operator and allows us to seed an ESS cluster with this token. \ No newline at end of file +The name of the token (`kibana-dev`) is important because the `operator_users.yml` file designates that token as an operator and allows us to seed a serverless cluster with this token. \ No newline at end of file diff --git a/packages/kbn-es/src/ess_resources/jwks.json b/packages/kbn-es/src/serverless_resources/jwks.json similarity index 100% rename from packages/kbn-es/src/ess_resources/jwks.json rename to packages/kbn-es/src/serverless_resources/jwks.json diff --git a/packages/kbn-es/src/ess_resources/operator_users.yml b/packages/kbn-es/src/serverless_resources/operator_users.yml similarity index 100% rename from packages/kbn-es/src/ess_resources/operator_users.yml rename to packages/kbn-es/src/serverless_resources/operator_users.yml diff --git a/packages/kbn-es/src/ess_resources/role_mapping.yml b/packages/kbn-es/src/serverless_resources/role_mapping.yml similarity index 100% rename from packages/kbn-es/src/ess_resources/role_mapping.yml rename to packages/kbn-es/src/serverless_resources/role_mapping.yml diff --git a/packages/kbn-es/src/ess_resources/roles.yml b/packages/kbn-es/src/serverless_resources/roles.yml similarity index 100% rename from packages/kbn-es/src/ess_resources/roles.yml rename to packages/kbn-es/src/serverless_resources/roles.yml diff --git a/packages/kbn-es/src/ess_resources/secrets.json b/packages/kbn-es/src/serverless_resources/secrets.json similarity index 100% rename from packages/kbn-es/src/ess_resources/secrets.json rename to packages/kbn-es/src/serverless_resources/secrets.json diff --git a/packages/kbn-es/src/ess_resources/secrets_ssl.json b/packages/kbn-es/src/serverless_resources/secrets_ssl.json similarity index 100% rename from packages/kbn-es/src/ess_resources/secrets_ssl.json rename to packages/kbn-es/src/serverless_resources/secrets_ssl.json diff --git a/packages/kbn-es/src/ess_resources/service_tokens b/packages/kbn-es/src/serverless_resources/service_tokens similarity index 100% rename from packages/kbn-es/src/ess_resources/service_tokens rename to packages/kbn-es/src/serverless_resources/service_tokens diff --git a/packages/kbn-es/src/ess_resources/users b/packages/kbn-es/src/serverless_resources/users similarity index 100% rename from packages/kbn-es/src/ess_resources/users rename to packages/kbn-es/src/serverless_resources/users diff --git a/packages/kbn-es/src/ess_resources/users_roles b/packages/kbn-es/src/serverless_resources/users_roles similarity index 100% rename from packages/kbn-es/src/ess_resources/users_roles rename to packages/kbn-es/src/serverless_resources/users_roles diff --git a/packages/kbn-es/src/utils/docker.test.ts b/packages/kbn-es/src/utils/docker.test.ts index 1d4f1a71468afc..d48cddd6fdb6d1 100644 --- a/packages/kbn-es/src/utils/docker.test.ts +++ b/packages/kbn-es/src/utils/docker.test.ts @@ -32,7 +32,12 @@ import { } from './docker'; import { ToolingLog, ToolingLogCollectingWriter } from '@kbn/tooling-log'; import { ES_P12_PATH } from '@kbn/dev-utils'; -import { ESS_CONFIG_PATH, ESS_RESOURCES_PATHS, ESS_SECRETS_PATH, ESS_JWKS_PATH } from '../paths'; +import { + SERVERLESS_CONFIG_PATH, + SERVERLESS_RESOURCES_PATHS, + SERVERLESS_SECRETS_PATH, + SERVERLESS_JWKS_PATH, +} from '../paths'; import * as waitClusterUtil from './wait_until_cluster_ready'; jest.mock('execa'); @@ -77,8 +82,8 @@ afterEach(() => { jest.clearAllMocks(); }); -const essResources = ESS_RESOURCES_PATHS.reduce((acc, path) => { - acc.push(`${path}:${ESS_CONFIG_PATH}${basename(path)}`); +const serverlessResources = SERVERLESS_RESOURCES_PATHS.reduce((acc, path) => { + acc.push(`${path}:${SERVERLESS_CONFIG_PATH}${basename(path)}`); return acc; }, []); @@ -88,10 +93,10 @@ const volumeCmdTest = async (volumeCmd: string[]) => { expect(volumeCmd).toEqual( expect.arrayContaining([ ...getESp12Volume(), - ...essResources, + ...serverlessResources, `${baseEsPath}:/objectstore:z`, - `${ESS_SECRETS_PATH}:${ESS_CONFIG_PATH}secrets/secrets.json:z`, - `${ESS_JWKS_PATH}:${ESS_CONFIG_PATH}secrets/jwks.json:z`, + `${SERVERLESS_SECRETS_PATH}:${SERVERLESS_CONFIG_PATH}secrets/secrets.json:z`, + `${SERVERLESS_JWKS_PATH}:${SERVERLESS_CONFIG_PATH}secrets/jwks.json:z`, ]) ); @@ -428,7 +433,11 @@ describe('setupServerlessVolumes()', () => { const volumeCmd = await setupServerlessVolumes(log, { basePath: baseEsPath, ssl: true }); - const requiredPaths = [`${baseEsPath}:/objectstore:z`, ES_P12_PATH, ...ESS_RESOURCES_PATHS]; + const requiredPaths = [ + `${baseEsPath}:/objectstore:z`, + ES_P12_PATH, + ...SERVERLESS_RESOURCES_PATHS, + ]; const pathsNotIncludedInCmd = requiredPaths.filter( (path) => !volumeCmd.some((cmd) => cmd.includes(path)) ); diff --git a/packages/kbn-es/src/utils/docker.ts b/packages/kbn-es/src/utils/docker.ts index 307ff796ae5e52..00a1d7ce9dc545 100644 --- a/packages/kbn-es/src/utils/docker.ts +++ b/packages/kbn-es/src/utils/docker.ts @@ -24,17 +24,17 @@ import { import { createCliError } from '../errors'; import { EsClusterExecOptions } from '../cluster_exec_options'; import { - ESS_RESOURCES_PATHS, - ESS_SECRETS_PATH, - ESS_JWKS_PATH, - ESS_CONFIG_PATH, - ESS_FILES_PATH, - ESS_SECRETS_SSL_PATH, + SERVERLESS_RESOURCES_PATHS, + SERVERLESS_SECRETS_PATH, + SERVERLESS_JWKS_PATH, + SERVERLESS_CONFIG_PATH, + SERVERLESS_FILES_PATH, + SERVERLESS_SECRETS_SSL_PATH, } from '../paths'; import { ELASTIC_SERVERLESS_SUPERUSER, ELASTIC_SERVERLESS_SUPERUSER_PASSWORD, -} from './ess_file_realm'; +} from './serverless_file_realm'; import { SYSTEM_INDICES_SUPERUSER } from './native_realm'; import { waitUntilClusterReady } from './wait_until_cluster_ready'; @@ -167,13 +167,19 @@ const DEFAULT_SERVERLESS_ESARGS: Array<[string, string]> = [ ['xpack.security.authc.realms.jwt.jwt1.order', '-98'], - ['xpack.security.authc.realms.jwt.jwt1.pkc_jwkset_path', `${ESS_CONFIG_PATH}secrets/jwks.json`], + [ + 'xpack.security.authc.realms.jwt.jwt1.pkc_jwkset_path', + `${SERVERLESS_CONFIG_PATH}secrets/jwks.json`, + ], ['xpack.security.operator_privileges.enabled', 'true'], ['xpack.security.transport.ssl.enabled', 'true'], - ['xpack.security.transport.ssl.keystore.path', `${ESS_CONFIG_PATH}certs/elasticsearch.p12`], + [ + 'xpack.security.transport.ssl.keystore.path', + `${SERVERLESS_CONFIG_PATH}certs/elasticsearch.p12`, + ], ['xpack.security.transport.ssl.verification_mode', 'certificate'], ]; @@ -181,7 +187,7 @@ const DEFAULT_SERVERLESS_ESARGS: Array<[string, string]> = [ const DEFAULT_SSL_ESARGS: Array<[string, string]> = [ ['xpack.security.http.ssl.enabled', 'true'], - ['xpack.security.http.ssl.keystore.path', `${ESS_CONFIG_PATH}certs/elasticsearch.p12`], + ['xpack.security.http.ssl.keystore.path', `${SERVERLESS_CONFIG_PATH}certs/elasticsearch.p12`], ['xpack.security.http.ssl.verification_mode', 'certificate'], ]; @@ -193,7 +199,10 @@ const DOCKER_SSL_ESARGS: Array<[string, string]> = [ ['xpack.security.transport.ssl.enabled', 'true'], - ['xpack.security.transport.ssl.keystore.path', `${ESS_CONFIG_PATH}certs/elasticsearch.p12`], + [ + 'xpack.security.transport.ssl.keystore.path', + `${SERVERLESS_CONFIG_PATH}certs/elasticsearch.p12`, + ], ['xpack.security.transport.ssl.verification_mode', 'certificate'], @@ -436,16 +445,16 @@ export function resolveEsArgs( } export function getESp12Volume() { - return ['--volume', `${ES_P12_PATH}:${ESS_CONFIG_PATH}certs/elasticsearch.p12`]; + return ['--volume', `${ES_P12_PATH}:${SERVERLESS_CONFIG_PATH}certs/elasticsearch.p12`]; } /** * Removes REPO_ROOT from hostPath. Keep the rest to avoid filename collisions. - * Returns the path where a file will be mounted inside the ES or ESS container. + * Returns the path where a file will be mounted inside the ES or ES serverless container. * /root/kibana/package/foo/bar.json => /usr/share/elasticsearch/files/package/foo/bar.json */ export function getDockerFileMountPath(hostPath: string) { - return join(ESS_FILES_PATH, hostPath.replace(REPO_ROOT, '')); + return join(SERVERLESS_FILES_PATH, hostPath.replace(REPO_ROOT, '')); } /** @@ -491,21 +500,23 @@ export async function setupServerlessVolumes(log: ToolingLog, options: Serverles volumeCmds.push(...fileCmds); } - const essResources = ESS_RESOURCES_PATHS.reduce((acc, path) => { - acc.push('--volume', `${path}:${ESS_CONFIG_PATH}${basename(path)}`); + const serverlessResources = SERVERLESS_RESOURCES_PATHS.reduce((acc, path) => { + acc.push('--volume', `${path}:${SERVERLESS_CONFIG_PATH}${basename(path)}`); return acc; }, []); volumeCmds.push( ...getESp12Volume(), - ...essResources, + ...serverlessResources, '--volume', - `${ssl ? ESS_SECRETS_SSL_PATH : ESS_SECRETS_PATH}:${ESS_CONFIG_PATH}secrets/secrets.json:z`, + `${ + ssl ? SERVERLESS_SECRETS_SSL_PATH : SERVERLESS_SECRETS_PATH + }:${SERVERLESS_CONFIG_PATH}secrets/secrets.json:z`, '--volume', - `${ESS_JWKS_PATH}:${ESS_CONFIG_PATH}secrets/jwks.json:z` + `${SERVERLESS_JWKS_PATH}:${SERVERLESS_CONFIG_PATH}secrets/jwks.json:z` ); return volumeCmds; @@ -592,7 +603,7 @@ export async function runServerlessCluster(log: ToolingLog, options: ServerlessO if (options.ssl) { log.warning(`SSL has been enabled for ES. Kibana should be started with the SSL flag so that it can authenticate with ES. - See packages/kbn-es/src/ess_resources/README.md for additional information on authentication. + See packages/kbn-es/src/serverless_resources/README.md for additional information on authentication. `); } @@ -631,7 +642,7 @@ export async function runServerlessCluster(log: ToolingLog, options: ServerlessO } if (!options.background) { - // The ESS cluster has to be started detached, so we attach a logger afterwards for output + // The serverless cluster has to be started detached, so we attach a logger afterwards for output await execa('docker', ['logs', '-f', SERVERLESS_NODES[0].name], { // inherit is required to show Docker output and Java console output for pw, enrollment token, etc stdio: ['ignore', 'inherit', 'inherit'], diff --git a/packages/kbn-es/src/utils/index.ts b/packages/kbn-es/src/utils/index.ts index cc46d0bf282713..3110b82033be27 100644 --- a/packages/kbn-es/src/utils/index.ts +++ b/packages/kbn-es/src/utils/index.ts @@ -17,4 +17,4 @@ export { buildSnapshot } from './build_snapshot'; export { archiveForPlatform } from './build_snapshot'; export * from './parse_timeout_to_ms'; export * from './docker'; -export * from './ess_file_realm'; +export * from './serverless_file_realm'; diff --git a/packages/kbn-es/src/utils/ess_file_realm.ts b/packages/kbn-es/src/utils/serverless_file_realm.ts similarity index 100% rename from packages/kbn-es/src/utils/ess_file_realm.ts rename to packages/kbn-es/src/utils/serverless_file_realm.ts From bb4e6fcd2d76c1ccaf053e93a90c1fed0e469f6f Mon Sep 17 00:00:00 2001 From: Alexi Doak <109488926+doakalexi@users.noreply.github.com> Date: Thu, 21 Sep 2023 11:00:45 -0700 Subject: [PATCH 19/72] [ResponseOps][Alerting] Failing ES Promotion: max_queued_actions_circuit_breaker.ts test (#166861) Resolves https://github.com/elastic/kibana/issues/166770 ## Summary The test was failing for this reason: "illegal_argument_exception: can't merge a non object mapping [ruleInfo.actions] with an object mapping". I switched to es query rule so that we can use ESTestIndexTool that defines a mapping for the es test index. ### Checklist - [x] [Unit or functional tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html) were updated or added to match the most common scenarios ### To verify Run the functional test runner with the following command and verify it passes: ``` ES_SNAPSHOT_MANIFEST="https://storage.googleapis.com/kibana-ci-es-snapshots-daily/8.11.0/archives/20230919-155242_b9970223/manifest.json" node scripts/functional_tests_server.js --config x-pack/test/alerting_api_integration/spaces_only/tests/actions/config.ts ``` --- .../max_queued_actions_circuit_breaker.ts | 53 ++++++++++++------- 1 file changed, 34 insertions(+), 19 deletions(-) diff --git a/x-pack/test/alerting_api_integration/spaces_only/tests/actions/max_queued_actions_circuit_breaker.ts b/x-pack/test/alerting_api_integration/spaces_only/tests/actions/max_queued_actions_circuit_breaker.ts index 62523561c38233..02231a58a83c39 100644 --- a/x-pack/test/alerting_api_integration/spaces_only/tests/actions/max_queued_actions_circuit_breaker.ts +++ b/x-pack/test/alerting_api_integration/spaces_only/tests/actions/max_queued_actions_circuit_breaker.ts @@ -6,20 +6,29 @@ */ import expect from '@kbn/expect'; -import { ES_TEST_INDEX_NAME } from '@kbn/alerting-api-integration-helpers'; -import { getEventLog, getTestRuleData, ObjectRemover } from '../../../common/lib'; +import { ESTestIndexTool, ES_TEST_INDEX_NAME } from '@kbn/alerting-api-integration-helpers'; +import { getEventLog, ObjectRemover } from '../../../common/lib'; import { FtrProviderContext } from '../../../common/ftr_provider_context'; // eslint-disable-next-line import/no-default-export export default function createActionTests({ getService }: FtrProviderContext) { const supertest = getService('supertest'); - // Failing ES Promotion: See https://github.com/elastic/kibana/issues/166770 - describe.skip('max queued actions circuit breaker', () => { + describe('max queued actions circuit breaker', () => { const objectRemover = new ObjectRemover(supertest); const retry = getService('retry'); + const es = getService('es'); + const esTestIndexTool = new ESTestIndexTool(es, retry); - after(() => objectRemover.removeAll()); + beforeEach(async () => { + await esTestIndexTool.destroy(); + await esTestIndexTool.setup(); + }); + + afterEach(async () => { + objectRemover.removeAll(); + await esTestIndexTool.destroy(); + }); it('completes execution and reports back whether it reached the limit', async () => { const response = await supertest @@ -44,7 +53,7 @@ export default function createActionTests({ getService }: FtrProviderContext) { for (let i = 0; i < 510; i++) { actions.push({ id: actionId, - group: 'default', + group: 'query matched', params: { index: ES_TEST_INDEX_NAME, reference: 'test', @@ -61,19 +70,25 @@ export default function createActionTests({ getService }: FtrProviderContext) { const resp = await supertest .post('/api/alerting/rule') .set('kbn-xsrf', 'foo') - .send( - getTestRuleData({ - rule_type_id: 'test.always-firing-alert-as-data', - schedule: { interval: '1h' }, - throttle: undefined, - notify_when: undefined, - params: { - index: ES_TEST_INDEX_NAME, - reference: 'test', - }, - actions, - }) - ); + .send({ + name: 'abc', + consumer: 'alertsFixture', + enabled: true, + rule_type_id: '.es-query', + schedule: { interval: '1h' }, + actions, + notify_when: undefined, + params: { + size: 100, + timeWindowSize: 20, + timeWindowUnit: 's', + thresholdComparator: '>', + threshold: [-1], + esQuery: `{\n \"query\":{\n \"match_all\" : {}\n }\n}`, + timeField: 'date', + index: [ES_TEST_INDEX_NAME], + }, + }); expect(resp.status).to.eql(200); const ruleId = resp.body.id; From 7ac96504f11ebde1f14d7cd9d45d99ed0d81768f Mon Sep 17 00:00:00 2001 From: "Devin W. Hurley" Date: Thu, 21 Sep 2023 14:05:26 -0400 Subject: [PATCH 20/72] [Security Solution] [Detections] Fixes EQL shell alert missing common fields (#166751) ## Summary Fixes: https://github.com/elastic/kibana/issues/163960 --------- Co-authored-by: Ryland Herrick --- .../build_alert_group_from_sequence.test.ts | 71 +++++++++++++++++-- .../eql/build_alert_group_from_sequence.ts | 22 ++++++ 2 files changed, 86 insertions(+), 7 deletions(-) diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/eql/build_alert_group_from_sequence.test.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/eql/build_alert_group_from_sequence.test.ts index b3cf8f3ed16754..84349e9142e227 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/eql/build_alert_group_from_sequence.test.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/eql/build_alert_group_from_sequence.test.ts @@ -34,10 +34,6 @@ describe('buildAlert', () => { jest.clearAllMocks(); }); - test('it builds an alert composed of a sequence', () => { - expect(true).toEqual(true); - }); - test('it builds an alert as expected without original_event if event does not exist', () => { const completeRule = getCompleteRuleMock(getQueryRuleParams()); const eqlSequence = { @@ -146,6 +142,64 @@ describe('buildAlert', () => { }); describe('recursive intersection between objects', () => { + describe('objectPairIntersection', () => { + test('returns the intersection of fields with identically-valued arrays', () => { + const a = { + field1: [1], + }; + const b = { + field1: [1], + }; + const intersection = objectPairIntersection(a, b); + const expected = { + field1: [1], + }; + expect(intersection).toEqual(expected); + }); + + test('returns the intersection of arrays with differing lengths', () => { + const a = { + field1: 1, + }; + const b = { + field1: [1, 2, 3], + }; + const intersection = objectPairIntersection(a, b); + const expected = { + field1: [1], + }; + expect(intersection).toEqual(expected); + }); + + test('should work with arrays with same lengths but only one intersecting element', () => { + const a = { + field1: [3, 4, 5], + }; + const b = { + field1: [1, 2, 3], + }; + const intersection = objectPairIntersection(a, b); + const expected = { + field1: [3], + }; + expect(intersection).toEqual(expected); + }); + + test('should work with arrays with differing lengths and two intersecting elements', () => { + const a = { + field1: [3, 4, 5], + }; + const b = { + field1: [1, 2, 3, 4], + }; + const intersection = objectPairIntersection(a, b); + const expected = { + field1: [3, 4], + }; + expect(intersection).toEqual(expected); + }); + }); + test('should treat numbers and strings as unequal', () => { const a = { field1: 1, @@ -217,7 +271,7 @@ describe('buildAlert', () => { expect(intersection).toEqual(expected); }); - test('should strip arrays out regardless of whether they are equal', () => { + test('returns the intersection of values for fields containing arrays', () => { const a = { array_field1: [1, 2], array_field2: [1, 2], @@ -227,7 +281,7 @@ describe('buildAlert', () => { array_field2: [3, 4], }; const intersection = objectPairIntersection(a, b); - const expected = undefined; + const expected = { array_field1: [1, 2], array_field2: [] }; expect(intersection).toEqual(expected); }); @@ -287,6 +341,7 @@ describe('buildAlert', () => { const intersection = objectPairIntersection(a, b); const expected = { container_field: { + array_field: [1, 2], field1: 1, field6: null, nested_container_field: { @@ -332,6 +387,7 @@ describe('buildAlert', () => { }; const intersection = objectPairIntersection(a, b); const expected = { + array_field: [1, 2], field1: 1, field6: null, container_field: { @@ -419,6 +475,7 @@ describe('buildAlert', () => { }; const intersection = objectArrayIntersection([a, b]); const expected = { + array_field: [1, 2], field1: 1, field6: null, container_field: { @@ -427,7 +484,6 @@ describe('buildAlert', () => { }; expect(intersection).toEqual(expected); }); - test('should work with 3 or more objects', () => { const a = { field1: 1, @@ -477,6 +533,7 @@ describe('buildAlert', () => { }; const intersection = objectArrayIntersection([a, b, c]); const expected = { + array_field: [1, 2], field1: 1, }; expect(intersection).toEqual(expected); diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/eql/build_alert_group_from_sequence.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/eql/build_alert_group_from_sequence.ts index 8db01c11d4de54..2675c3996e865c 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/eql/build_alert_group_from_sequence.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/eql/build_alert_group_from_sequence.ts @@ -6,6 +6,7 @@ */ import { ALERT_URL, ALERT_UUID } from '@kbn/rule-data-utils'; +import { intersection as lodashIntersection, isArray } from 'lodash'; import { getAlertDetailsUrl } from '../../../../../common/utils/alert_detail_path'; import { DEFAULT_ALERTS_INDEX } from '../../../../../common/constants'; @@ -180,6 +181,11 @@ export const buildAlertRoot = ( }; }; +/** + * Merges array of alert sources with the first item in the array + * @param objects array of alert _source objects + * @returns singular object + */ export const objectArrayIntersection = (objects: object[]) => { if (objects.length === 0) { return undefined; @@ -195,6 +201,16 @@ export const objectArrayIntersection = (objects: object[]) => { } }; +/** + * Finds the intersection of two objects by recursively + * finding the "intersection" of each of of their common keys' + * values. If an intersection cannot be found between a key's + * values, the value will be undefined in the returned object. + * + * @param a object + * @param b object + * @returns intersection of the two objects + */ export const objectPairIntersection = (a: object | undefined, b: object | undefined) => { if (a === undefined || b === undefined) { return undefined; @@ -214,6 +230,12 @@ export const objectPairIntersection = (a: object | undefined, b: object | undefi intersection[key] = objectPairIntersection(aVal, bVal); } else if (aVal === bVal) { intersection[key] = aVal; + } else if (isArray(aVal) && isArray(bVal)) { + intersection[key] = lodashIntersection(aVal, bVal); + } else if (isArray(aVal) && !isArray(bVal)) { + intersection[key] = lodashIntersection(aVal, [bVal]); + } else if (!isArray(aVal) && isArray(bVal)) { + intersection[key] = lodashIntersection([aVal], bVal); } } }); From 12d193803f051b5e9bc7163a0b346e32455620b6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yulia=20=C4=8Cech?= <6585477+yuliacech@users.noreply.github.com> Date: Thu, 21 Sep 2023 20:55:00 +0200 Subject: [PATCH 21/72] [Index Management] Render extensions summaries on the index details page (#166754) ## Summary Fixes https://github.com/elastic/kibana/issues/166103 This PR implements the logic to render summaries added via the extension service on the new index details page. Currently, only the ILM plugin registers a summary for an index. The extension service will probably be refactored when working on https://github.com/elastic/kibana/issues/165107. I needed to convert the component `IndexLifecycleSummary` from the class component to the function component. Otherwise there were errors while rendering the page and I was not able to check for `null` to not render an empty card. ### Screenshots #### When no ILM info or ILM plugin is disabled (no changes to the Overview tab) Screenshot 2023-09-19 at 18 51 14 #### When there is ILM policy Screenshot 2023-09-19 at 18 51 32 --- .../__jest__/extend_index_management.test.tsx | 15 +- .../components/index_lifecycle_summary.tsx | 174 ++++++++---------- .../public/extend_index_management/index.tsx | 9 +- .../index_details_page.helpers.ts | 4 + .../index_details_page.test.tsx | 45 +++++ .../detail_panel/summary/summary.js | 3 +- .../details_page_overview.tsx | 3 + .../extensions_summary.tsx | 32 ++++ 8 files changed, 174 insertions(+), 111 deletions(-) create mode 100644 x-pack/plugins/index_management/public/application/sections/home/index_list/details_page/details_page_overview/extensions_summary.tsx diff --git a/x-pack/plugins/index_lifecycle_management/__jest__/extend_index_management.test.tsx b/x-pack/plugins/index_lifecycle_management/__jest__/extend_index_management.test.tsx index 565a994e4e1861..be64e1a4674aad 100644 --- a/x-pack/plugins/index_lifecycle_management/__jest__/extend_index_management.test.tsx +++ b/x-pack/plugins/index_lifecycle_management/__jest__/extend_index_management.test.tsx @@ -17,10 +17,11 @@ import { addLifecyclePolicyActionExtension, ilmBannerExtension, ilmFilterExtension, - ilmSummaryExtension, } from '../public/extend_index_management'; import { init as initHttp } from '../public/application/services/http'; import { init as initUiMetric } from '../public/application/services/ui_metric'; +import { IndexLifecycleSummary } from '../public/extend_index_management/components/index_lifecycle_summary'; +import React from 'react'; const { httpSetup } = init(); @@ -243,20 +244,26 @@ describe('extend index management', () => { describe('ilm summary extension', () => { test('should render null when index has no index lifecycle policy', () => { - const extension = ilmSummaryExtension(indexWithoutLifecyclePolicy, getUrlForApp); + const extension = ( + + ); const rendered = mountWithIntl(extension); expect(rendered.isEmptyRender()).toBeTruthy(); }); test('should return extension when index has lifecycle policy', () => { - const extension = ilmSummaryExtension(indexWithLifecyclePolicy, getUrlForApp); + const extension = ( + + ); expect(extension).toBeDefined(); const rendered = mountWithIntl(extension); expect(rendered.render()).toMatchSnapshot(); }); test('should return extension when index has lifecycle error', () => { - const extension = ilmSummaryExtension(indexWithLifecycleError, getUrlForApp); + const extension = ( + + ); expect(extension).toBeDefined(); const rendered = mountWithIntl(extension); expect(rendered.render()).toMatchSnapshot(); diff --git a/x-pack/plugins/index_lifecycle_management/public/extend_index_management/components/index_lifecycle_summary.tsx b/x-pack/plugins/index_lifecycle_management/public/extend_index_management/components/index_lifecycle_summary.tsx index 91b9203bea1aad..f1468117dc53cc 100644 --- a/x-pack/plugins/index_lifecycle_management/public/extend_index_management/components/index_lifecycle_summary.tsx +++ b/x-pack/plugins/index_lifecycle_management/public/extend_index_management/components/index_lifecycle_summary.tsx @@ -5,7 +5,7 @@ * 2.0. */ -import React, { Component, Fragment } from 'react'; +import React, { FunctionComponent, Fragment, useState } from 'react'; import moment from 'moment-timezone'; import { i18n } from '@kbn/i18n'; import { FormattedMessage } from '@kbn/i18n-react'; @@ -82,34 +82,20 @@ interface Props { index: Index; getUrlForApp: ApplicationStart['getUrlForApp']; } -interface State { - showStackPopover: boolean; - showPhaseExecutionPopover: boolean; -} -export class IndexLifecycleSummary extends Component { - constructor(props: Props) { - super(props); - this.state = { - showStackPopover: false, - showPhaseExecutionPopover: false, - }; - } - toggleStackPopover = () => { - this.setState({ showStackPopover: !this.state.showStackPopover }); - }; - closeStackPopover = () => { - this.setState({ showStackPopover: false }); - }; - togglePhaseExecutionPopover = () => { - this.setState({ showPhaseExecutionPopover: !this.state.showPhaseExecutionPopover }); +export const IndexLifecycleSummary: FunctionComponent = ({ index, getUrlForApp }) => { + const [showPhaseExecutionPopover, setShowPhaseExecutionPopover] = useState(false); + const { ilm } = index; + + const togglePhaseExecutionPopover = () => { + setShowPhaseExecutionPopover(!showPhaseExecutionPopover); }; - closePhaseExecutionPopover = () => { - this.setState({ showPhaseExecutionPopover: false }); + const closePhaseExecutionPopover = () => { + setShowPhaseExecutionPopover(false); }; - renderPhaseExecutionPopoverButton(ilm: IndexLifecyclePolicy) { + const renderPhaseExecutionPopoverButton = () => { const button = ( - + { key="phaseExecutionPopover" id="phaseExecutionPopover" button={button} - isOpen={this.state.showPhaseExecutionPopover} - closePopover={this.closePhaseExecutionPopover} + isOpen={showPhaseExecutionPopover} + closePopover={closePhaseExecutionPopover} > { ); - } - buildRows() { - const { - index: { ilm }, - } = this.props; + }; + const buildRows = () => { const headers = getHeaders(); const rows: { left: JSX.Element[]; @@ -168,7 +151,7 @@ export class IndexLifecycleSummary extends Component { } else if (fieldName === 'policy') { content = ( @@ -196,72 +179,67 @@ export class IndexLifecycleSummary extends Component { } }); if (ilm.phase_execution) { - rows.right.push(this.renderPhaseExecutionPopoverButton(ilm)); + rows.right.push(renderPhaseExecutionPopoverButton()); } return rows; - } + }; - render() { - const { - index: { ilm }, - } = this.props; - if (!ilm.managed) { - return null; - } - const { left, right } = this.buildRows(); - return ( - <> - -

    - -

    -
    - {ilm.step_info && ilm.step_info.type ? ( - <> - - - } - iconType="cross" - > - {ilm.step_info.type}: {ilm.step_info.reason} - - - ) : null} - {ilm.step_info && ilm.step_info!.message ? ( - <> - - - } - > - {ilm.step_info!.message} - - - ) : null} - - - - {left} - - - {right} - - - - ); + if (!ilm.managed) { + return null; } -} + const { left, right } = buildRows(); + return ( + <> + +

    + +

    +
    + {ilm.step_info && ilm.step_info.type ? ( + <> + + + } + iconType="cross" + > + {ilm.step_info.type}: {ilm.step_info.reason} + + + ) : null} + {ilm.step_info && ilm.step_info!.message ? ( + <> + + + } + > + {ilm.step_info!.message} + + + ) : null} + + + + {left} + + + {right} + + + + ); +}; diff --git a/x-pack/plugins/index_lifecycle_management/public/extend_index_management/index.tsx b/x-pack/plugins/index_lifecycle_management/public/extend_index_management/index.tsx index 57434c71f10451..9d3d14f11e6850 100644 --- a/x-pack/plugins/index_lifecycle_management/public/extend_index_management/index.tsx +++ b/x-pack/plugins/index_lifecycle_management/public/extend_index_management/index.tsx @@ -144,13 +144,6 @@ export const ilmBannerExtension = (indices: Index[]) => { }; }; -export const ilmSummaryExtension = ( - index: Index, - getUrlForApp: ApplicationStart['getUrlForApp'] -) => { - return ; -}; - export const ilmFilterExtension = (indices: Index[]) => { const hasIlm = some(indices, (index) => index.ilm && index.ilm.managed); if (!hasIlm) { @@ -231,6 +224,6 @@ export const addAllExtensions = ( extensionsService.addAction(addLifecyclePolicyActionExtension); extensionsService.addBanner(ilmBannerExtension); - extensionsService.addSummary(ilmSummaryExtension); + extensionsService.addSummary(IndexLifecycleSummary); extensionsService.addFilter(ilmFilterExtension); }; diff --git a/x-pack/plugins/index_management/__jest__/client_integration/index_details_page/index_details_page.helpers.ts b/x-pack/plugins/index_management/__jest__/client_integration/index_details_page/index_details_page.helpers.ts index 24cf015e3918dc..9c7e3e1efbe4a2 100644 --- a/x-pack/plugins/index_management/__jest__/client_integration/index_details_page/index_details_page.helpers.ts +++ b/x-pack/plugins/index_management/__jest__/client_integration/index_details_page/index_details_page.helpers.ts @@ -80,6 +80,7 @@ export interface IndexDetailsPageTestBed extends TestBed { indexStatsContentExists: () => boolean; indexDetailsContentExists: () => boolean; addDocCodeBlockExists: () => boolean; + extensionSummaryExists: (index: number) => boolean; }; }; } @@ -131,6 +132,9 @@ export const setup = async ( addDocCodeBlockExists: () => { return exists('codeBlockControlsPanel'); }, + extensionSummaryExists: (index: number) => { + return exists(`extensionsSummary-${index}`); + }, }; const mappings = { diff --git a/x-pack/plugins/index_management/__jest__/client_integration/index_details_page/index_details_page.test.tsx b/x-pack/plugins/index_management/__jest__/client_integration/index_details_page/index_details_page.test.tsx index 31680f9f860b94..99ec128d9cc672 100644 --- a/x-pack/plugins/index_management/__jest__/client_integration/index_details_page/index_details_page.test.tsx +++ b/x-pack/plugins/index_management/__jest__/client_integration/index_details_page/index_details_page.test.tsx @@ -222,6 +222,51 @@ describe('', () => { expect(testBed.actions.overview.indexDetailsContentExists()).toBe(true); expect(testBed.actions.overview.indexStatsContentExists()).toBe(false); }); + + describe('extension service summary', () => { + it('renders all summaries added to the extension service', async () => { + await act(async () => { + testBed = await setup(httpSetup, { + services: { + extensionsService: { + summaries: [() => test, () => test2], + }, + }, + }); + }); + testBed.component.update(); + expect(testBed.actions.overview.extensionSummaryExists(0)).toBe(true); + expect(testBed.actions.overview.extensionSummaryExists(1)).toBe(true); + }); + + it(`doesn't render empty panels if the summary renders null`, async () => { + await act(async () => { + testBed = await setup(httpSetup, { + services: { + extensionsService: { + summaries: [() => null], + }, + }, + }); + }); + testBed.component.update(); + expect(testBed.actions.overview.extensionSummaryExists(0)).toBe(false); + }); + + it(`doesn't render anything when no summaries added to the extension service`, async () => { + await act(async () => { + testBed = await setup(httpSetup, { + services: { + extensionsService: { + summaries: [], + }, + }, + }); + }); + testBed.component.update(); + expect(testBed.actions.overview.extensionSummaryExists(0)).toBe(false); + }); + }); }); it('documents tab', async () => { diff --git a/x-pack/plugins/index_management/public/application/sections/home/index_list/detail_panel/summary/summary.js b/x-pack/plugins/index_management/public/application/sections/home/index_list/detail_panel/summary/summary.js index e41769daacbd56..7e680bbfe5bdee 100644 --- a/x-pack/plugins/index_management/public/application/sections/home/index_list/detail_panel/summary/summary.js +++ b/x-pack/plugins/index_management/public/application/sections/home/index_list/detail_panel/summary/summary.js @@ -65,10 +65,11 @@ export class Summary extends React.PureComponent { const { index } = this.props; const extensions = extensionsService.summaries; return extensions.map((summaryExtension, i) => { + const ExtensionSummaryComponent = summaryExtension; return ( - {summaryExtension(index, getUrlForApp)} + ); }); diff --git a/x-pack/plugins/index_management/public/application/sections/home/index_list/details_page/details_page_overview/details_page_overview.tsx b/x-pack/plugins/index_management/public/application/sections/home/index_list/details_page/details_page_overview/details_page_overview.tsx index 712d6d9f19b7e8..0ed7bc8e4ab9c8 100644 --- a/x-pack/plugins/index_management/public/application/sections/home/index_list/details_page/details_page_overview/details_page_overview.tsx +++ b/x-pack/plugins/index_management/public/application/sections/home/index_list/details_page/details_page_overview/details_page_overview.tsx @@ -28,6 +28,7 @@ import type { Index } from '../../../../../../../common'; import { useAppContext } from '../../../../../app_context'; import { breadcrumbService, IndexManagementBreadcrumb } from '../../../../../services/breadcrumbs'; import { languageDefinitions, curlDefinition } from './languages'; +import { ExtensionsSummary } from './extensions_summary'; interface Props { indexDetails: Index; @@ -157,6 +158,8 @@ export const DetailsPageOverview: React.FunctionComponent = ({ indexDetai + + diff --git a/x-pack/plugins/index_management/public/application/sections/home/index_list/details_page/details_page_overview/extensions_summary.tsx b/x-pack/plugins/index_management/public/application/sections/home/index_list/details_page/details_page_overview/extensions_summary.tsx new file mode 100644 index 00000000000000..3788988ec72aa9 --- /dev/null +++ b/x-pack/plugins/index_management/public/application/sections/home/index_list/details_page/details_page_overview/extensions_summary.tsx @@ -0,0 +1,32 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import React, { Fragment, FunctionComponent } from 'react'; +import { EuiPanel, EuiSpacer } from '@elastic/eui'; +import { Index } from '../../../../../../../common'; +import { useAppContext } from '../../../../../app_context'; + +export const ExtensionsSummary: FunctionComponent<{ index: Index }> = ({ index }) => { + const { + services: { extensionsService }, + core: { getUrlForApp }, + } = useAppContext(); + const summaries = extensionsService.summaries.map((summaryExtension, i) => { + const summary = summaryExtension({ index, getUrlForApp }); + + if (!summary) { + return null; + } + return ( + + {summary} + + + ); + }); + return <>{summaries}; +}; From 45c9cd04be00be05da9c60b0048dfa13d1669bf8 Mon Sep 17 00:00:00 2001 From: Kevin Delemme Date: Thu, 21 Sep 2023 14:55:42 -0400 Subject: [PATCH 22/72] fix(slo): search bar (#166945) --- .../public/pages/slos/components/slo_list.tsx | 15 ++------------- .../slo_list_search_filter_sort_bar.tsx | 7 ++++++- 2 files changed, 8 insertions(+), 14 deletions(-) diff --git a/x-pack/plugins/observability/public/pages/slos/components/slo_list.tsx b/x-pack/plugins/observability/public/pages/slos/components/slo_list.tsx index 9e1db8c019381f..651a97d3644391 100644 --- a/x-pack/plugins/observability/public/pages/slos/components/slo_list.tsx +++ b/x-pack/plugins/observability/public/pages/slos/components/slo_list.tsx @@ -21,7 +21,7 @@ export function SloList({ autoRefresh }: Props) { const [query, setQuery] = useState(''); const [sort, setSort] = useState('status'); - const { isInitialLoading, isLoading, isRefetching, isError, sloList, refetch } = useFetchSloList({ + const { isLoading, isRefetching, isError, sloList } = useFetchSloList({ page: activePage + 1, kqlQuery: query, sortBy: sort, @@ -38,34 +38,23 @@ export function SloList({ autoRefresh }: Props) { const handlePageClick = (pageNumber: number) => { setActivePage(pageNumber); - refetch(); }; const handleChangeQuery = (newQuery: string) => { setActivePage(0); setQuery(newQuery); - refetch(); }; const handleChangeSort = (newSort: SortField | undefined) => { setActivePage(0); setSort(newSort); - refetch(); }; return ( diff --git a/x-pack/plugins/observability/public/pages/slos/components/slo_list_search_filter_sort_bar.tsx b/x-pack/plugins/observability/public/pages/slos/components/slo_list_search_filter_sort_bar.tsx index 8a9b22c6b5c7fc..c1d9c6b3c3a07d 100644 --- a/x-pack/plugins/observability/public/pages/slos/components/slo_list_search_filter_sort_bar.tsx +++ b/x-pack/plugins/observability/public/pages/slos/components/slo_list_search_filter_sort_bar.tsx @@ -16,6 +16,7 @@ import { EuiSelectableOption, } from '@elastic/eui'; import { EuiSelectableOptionCheckedType } from '@elastic/eui/src/components/selectable/selectable_option'; +import { Query } from '@kbn/es-query'; import { i18n } from '@kbn/i18n'; import { QueryStringInput } from '@kbn/unified-search-plugin/public'; import React, { useState } from 'react'; @@ -103,9 +104,13 @@ export function SloListSearchFilterSortBar({ unifiedSearch, }} disableAutoFocus - onSubmit={() => onChangeQuery(query)} + onSubmit={(value: Query) => { + setQuery(String(value.query)); + onChangeQuery(String(value.query)); + }} disableLanguageSwitcher isDisabled={loading} + autoSubmit indexPatterns={dataView ? [dataView] : []} placeholder={i18n.translate('xpack.observability.slo.list.search', { defaultMessage: 'Search your SLOs...', From 6cd0643097b66567d7cbf5befa5b3f62ae3f48bb Mon Sep 17 00:00:00 2001 From: Jiawei Wu <74562234+JiaweiWu@users.noreply.github.com> Date: Thu, 21 Sep 2023 12:57:01 -0600 Subject: [PATCH 23/72] [RAM][HTTP versioning] Version Maintenance Window Endpoints (#162446) ## Summary Resolves: https://github.com/elastic/kibana/issues/162179 Parent Issue: https://github.com/elastic/kibana/issues/157883 Versions the - `create` - `active` - `bulk_get` - `find` - `finish` - `archive` - `delete` - `get` - `update` `/rules/maintenance_window` maintenance window endpoint. Also adds schema validation to the I/O of each method. ### Checklist - [x] [Unit or functional tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html) were updated or added to match the most common scenarios --------- Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- .../maintenance_window/apis/archive/index.ts | 23 ++++ .../apis/archive/schemas/latest.ts | 8 ++ .../apis/archive/schemas/v1.ts | 16 +++ .../apis/archive/types/latest.ts | 12 ++ .../apis/archive/types/v1.ts | 17 +++ .../maintenance_window/apis/bulk_get/index.ts | 20 +++ .../apis/bulk_get/schemas/latest.ts | 8 ++ .../apis/bulk_get/schemas/v1.ts | 12 ++ .../apis/bulk_get/types/latest.ts | 12 ++ .../apis/bulk_get/types/v1.ts | 26 ++++ .../maintenance_window/apis/create/index.ts | 18 +++ .../apis/create/schemas/latest.ts | 8 ++ .../apis/create/schemas/v1.ts | 15 +++ .../apis/create/types/latest.ts | 8 ++ .../apis/create/types/v1.ts | 16 +++ .../maintenance_window/apis/delete/index.ts | 12 ++ .../apis/delete/schemas/latest.ts | 8 ++ .../apis/delete/schemas/v1.ts | 12 ++ .../apis/delete/types/latest.ts | 8 ++ .../apis/delete/types/v1.ts | 11 ++ .../maintenance_window/apis/find/index.ts | 10 ++ .../apis/find/types/latest.ts | 8 ++ .../maintenance_window/apis/find/types/v1.ts | 15 +++ .../maintenance_window/apis/finish/index.ts | 18 +++ .../apis/finish/schemas/latest.ts | 8 ++ .../apis/finish/schemas/v1.ts | 12 ++ .../apis/finish/types/latest.ts | 8 ++ .../apis/finish/types/v1.ts | 16 +++ .../maintenance_window/apis/get/index.ts | 18 +++ .../apis/get/schemas/latest.ts | 8 ++ .../maintenance_window/apis/get/schemas/v1.ts | 12 ++ .../apis/get/types/latest.ts | 8 ++ .../maintenance_window/apis/get/types/v1.ts | 16 +++ .../apis/get_active/index.ts | 10 ++ .../apis/get_active/types/latest.ts | 8 ++ .../apis/get_active/types/v1.ts | 12 ++ .../maintenance_window/apis/update/index.ts | 23 ++++ .../apis/update/schemas/latest.ts | 8 ++ .../apis/update/schemas/v1.ts | 20 +++ .../apis/update/types/latest.ts | 12 ++ .../apis/update/types/v1.ts | 17 +++ .../response/constants}/latest.ts | 0 .../response/constants/v1.ts | 16 +++ .../maintenance_window/response/index.ts | 16 +++ .../response/schemas}/latest.ts | 0 .../maintenance_window/response/schemas/v1.ts | 37 ++++++ .../response/types/latest.ts | 8 ++ .../maintenance_window/response/types/v1.ts | 11 ++ .../alerting/common/routes/r_rule/index.ts | 12 +- .../routes/r_rule/request/schemas/latest.ts | 8 ++ .../routes/r_rule/{ => request}/schemas/v1.ts | 4 +- .../routes/r_rule/request/types/latest.ts | 8 ++ .../routes/r_rule/{ => request}/types/v1.ts | 4 +- .../routes/r_rule/response/schemas/latest.ts | 8 ++ .../routes/r_rule/response/schemas/v1.ts | 47 +++++++ .../routes/r_rule/response/types/latest.ts | 8 ++ .../common/routes/r_rule/response/types/v1.ts | 10 ++ .../routes/rule/apis/bulk_edit/schemas/v1.ts | 6 +- .../common/routes/rule/response/index.ts | 2 - .../common/routes/rule/response/schemas/v1.ts | 42 +----- .../maintenance_window/constants.ts | 13 ++ ...generate_maintenance_window_events.test.ts | 0 .../generate_maintenance_window_events.ts | 2 +- ...maintenance_window_date_and_status.test.ts | 2 +- .../get_maintenance_window_date_and_status.ts | 2 +- .../maintenance_window/lib/index.ts | 17 +++ .../archive_maintenance_window.test.ts} | 15 ++- .../archive/archive_maintenance_window.ts} | 69 +++++----- ...rchive_maintenance_window_params_schema.ts | 13 ++ .../methods/archive/schemas/index.ts | 8 ++ .../archive_maintenance_window_params.ts | 11 ++ .../methods/archive/types/index.ts | 8 ++ .../bulk_get_maintenance_windows.test.ts} | 8 +- .../bulk_get/bulk_get_maintenance_windows.ts | 71 +++++++++++ ...k_get_maintenance_windows_params_schema.ts | 12 ++ ...k_get_maintenance_windows_result_schema.ts | 21 +++ .../methods/bulk_get/schemas/index.ts | 13 ++ .../bulk_get_maintenance_window_params.ts | 11 ++ .../bulk_get_maintenance_window_result.ts | 15 +++ .../methods/bulk_get/types/index.ts | 13 ++ .../create/create_maintenance_window.test.ts} | 17 ++- .../create/create_maintenance_window.ts | 69 ++++++++++ ...create_maintenance_window_params_schema.ts | 17 +++ .../methods/create/schemas/index.ts | 8 ++ .../types/create_maintenance_window_params.ts | 11 ++ .../methods/create/types/index.ts | 8 ++ .../delete/delete_maintenance_window.test.ts} | 7 +- .../delete/delete_maintenance_window.ts} | 27 ++-- ...delete_maintenance_window_params_schema.ts | 12 ++ .../methods/delete/schemas/index.ts | 8 ++ .../types/delete_maintenance_window_params.ts | 11 ++ .../methods/delete/types/index.ts | 8 ++ .../find/find_maintenance_windows.test.ts} | 8 +- .../methods/find/find_maintenance_windows.ts} | 25 ++-- .../find_maintenance_windows_result_schema.ts | 13 ++ .../methods/find/schemas/index.ts | 8 ++ .../types/find_maintenance_window_result.ts | 11 ++ .../methods/find/types/index.ts | 8 ++ .../finish/finish_maintenance_window.test.ts} | 19 +-- .../finish/finish_maintenance_window.ts} | 77 ++++++----- ...finish_maintenance_window_params_schema.ts | 12 ++ .../methods/finish/schemas/index.ts | 8 ++ .../types/finish_maintenance_window_params.ts | 11 ++ .../methods/finish/types/index.ts | 8 ++ .../get/get_maintenance_window.test.ts} | 8 +- .../methods/get/get_maintenance_window.ts | 44 +++++++ .../get_maintenance_window_params_schema.ts | 12 ++ .../methods/get/schemas/index.ts | 8 ++ .../types/get_maintenance_window_params.ts | 11 ++ .../methods/get/types/index.ts | 8 ++ .../get_active_maintenance_windows.test.ts | 4 +- .../get_active_maintenance_windows.ts | 29 ++--- .../methods/update/schemas/index.ts | 8 ++ ...update_maintenance_window_params_schema.ts | 19 +++ .../methods/update/types/index.ts | 8 ++ .../types/update_maintenance_window_params.ts | 11 ++ .../update/update_maintenance_window.test.ts} | 45 +++++-- .../update/update_maintenance_window.ts | 120 ++++++++++++++++++ .../maintenance_window/schemas/index.ts | 11 ++ .../schemas/maintenance_window_schemas.ts | 37 ++++++ .../maintenance_window/transforms/index.ts | 9 ++ ...window_attributes_to_maintenance_window.ts | 43 +++++++ ...window_to_maintenance_window_attributes.ts | 26 ++++ .../maintenance_window/types/index.ts | 12 ++ .../types/maintenance_window.ts | 19 +++ .../server/data/maintenance_window/index.ts | 20 +++ .../methods/bulk_get_maintenance_window_so.ts | 32 +++++ .../methods/create_maintenance_window_so.ts | 32 +++++ .../methods/delete_maintenance_window_so.ts | 25 ++++ .../methods/find_maintenance_window_so.ts | 30 +++++ .../methods/get_maintenance_window_so.ts | 26 ++++ .../methods/update_maintenance_window_so.ts | 35 +++++ .../maintenance_window}/test_helpers.ts | 8 +- .../data/maintenance_window/types/index.ts | 11 ++ .../types/maintenance_window_attributes.ts | 26 ++++ .../server/data/r_rule/types/index.ts | 8 ++ .../data/r_rule/types/r_rule_attributes.ts | 29 +++++ .../alerting/server/data/rule/types/index.ts | 1 - .../server/data/rule/types/rule_attributes.ts | 23 +--- .../get_maintenance_window_from_raw.ts | 34 ----- .../server/maintenance_window_client/index.ts | 2 +- .../maintenance_window_client.ts | 59 +++++---- .../methods/bulk_get.ts | 76 ----------- .../methods/create.ts | 64 ---------- .../maintenance_window_client/methods/get.ts | 42 ------ .../methods/update.ts | 114 ----------------- .../plugins/alerting/server/routes/index.ts | 20 +-- .../archive_maintenance_window_route.test.ts} | 18 +-- .../archive_maintenance_window_route.ts | 63 +++++++++ ...ulk_get_maintenance_windows_route.test.ts} | 19 +-- .../bulk_get_maintenance_windows_route.ts} | 47 ++++--- .../apis/bulk_get/transforms/index.ts | 10 ++ .../transform_bulk_get_response/latest.ts | 8 ++ .../transform_bulk_get_response/v1.ts | 28 ++++ .../create_maintenance_window_route.test.ts} | 32 +++-- .../create_maintenance_window_route.ts} | 52 ++++---- .../apis/create/transforms/index.ts | 10 ++ .../transform_create_body/latest.ts | 8 ++ .../transforms/transform_create_body/v1.ts | 19 +++ .../delete_maintenance_window_route.test.ts} | 16 +-- .../delete_maintenance_window_route.ts} | 25 ++-- .../find_maintenance_windows_route.test.ts} | 18 +-- .../find/find_maintenance_windows_route.ts} | 22 ++-- .../finish_maintenance_window_route.test.ts} | 18 +-- .../finish_maintenance_window_route.ts} | 36 ++++-- .../get/get_maintenance_window_route.test.ts} | 18 +-- .../get/get_maintenance_window_route.ts} | 36 ++++-- ..._active_maintenance_windows_route.test.ts} | 28 ++-- .../get_active_maintenance_windows_route.ts} | 27 ++-- .../apis/update/transforms/index.ts | 10 ++ .../transform_update_body/latest.ts | 8 ++ .../transforms/transform_update_body/v1.ts | 21 +++ .../update_maintenance_window_route.test.ts} | 24 ++-- .../update/update_maintenance_window_route.ts | 65 ++++++++++ .../archive_maintenance_window.ts | 58 --------- .../maintenance_window/transforms/index.ts | 10 ++ .../latest.ts | 8 ++ .../v1.ts | 30 +++++ .../update_maintenance_window.ts | 79 ------------ .../server/task_runner/task_runner.test.ts | 4 +- .../server/task_runner/task_runner.ts | 2 +- 181 files changed, 2659 insertions(+), 946 deletions(-) create mode 100644 x-pack/plugins/alerting/common/routes/maintenance_window/apis/archive/index.ts create mode 100644 x-pack/plugins/alerting/common/routes/maintenance_window/apis/archive/schemas/latest.ts create mode 100644 x-pack/plugins/alerting/common/routes/maintenance_window/apis/archive/schemas/v1.ts create mode 100644 x-pack/plugins/alerting/common/routes/maintenance_window/apis/archive/types/latest.ts create mode 100644 x-pack/plugins/alerting/common/routes/maintenance_window/apis/archive/types/v1.ts create mode 100644 x-pack/plugins/alerting/common/routes/maintenance_window/apis/bulk_get/index.ts create mode 100644 x-pack/plugins/alerting/common/routes/maintenance_window/apis/bulk_get/schemas/latest.ts create mode 100644 x-pack/plugins/alerting/common/routes/maintenance_window/apis/bulk_get/schemas/v1.ts create mode 100644 x-pack/plugins/alerting/common/routes/maintenance_window/apis/bulk_get/types/latest.ts create mode 100644 x-pack/plugins/alerting/common/routes/maintenance_window/apis/bulk_get/types/v1.ts create mode 100644 x-pack/plugins/alerting/common/routes/maintenance_window/apis/create/index.ts create mode 100644 x-pack/plugins/alerting/common/routes/maintenance_window/apis/create/schemas/latest.ts create mode 100644 x-pack/plugins/alerting/common/routes/maintenance_window/apis/create/schemas/v1.ts create mode 100644 x-pack/plugins/alerting/common/routes/maintenance_window/apis/create/types/latest.ts create mode 100644 x-pack/plugins/alerting/common/routes/maintenance_window/apis/create/types/v1.ts create mode 100644 x-pack/plugins/alerting/common/routes/maintenance_window/apis/delete/index.ts create mode 100644 x-pack/plugins/alerting/common/routes/maintenance_window/apis/delete/schemas/latest.ts create mode 100644 x-pack/plugins/alerting/common/routes/maintenance_window/apis/delete/schemas/v1.ts create mode 100644 x-pack/plugins/alerting/common/routes/maintenance_window/apis/delete/types/latest.ts create mode 100644 x-pack/plugins/alerting/common/routes/maintenance_window/apis/delete/types/v1.ts create mode 100644 x-pack/plugins/alerting/common/routes/maintenance_window/apis/find/index.ts create mode 100644 x-pack/plugins/alerting/common/routes/maintenance_window/apis/find/types/latest.ts create mode 100644 x-pack/plugins/alerting/common/routes/maintenance_window/apis/find/types/v1.ts create mode 100644 x-pack/plugins/alerting/common/routes/maintenance_window/apis/finish/index.ts create mode 100644 x-pack/plugins/alerting/common/routes/maintenance_window/apis/finish/schemas/latest.ts create mode 100644 x-pack/plugins/alerting/common/routes/maintenance_window/apis/finish/schemas/v1.ts create mode 100644 x-pack/plugins/alerting/common/routes/maintenance_window/apis/finish/types/latest.ts create mode 100644 x-pack/plugins/alerting/common/routes/maintenance_window/apis/finish/types/v1.ts create mode 100644 x-pack/plugins/alerting/common/routes/maintenance_window/apis/get/index.ts create mode 100644 x-pack/plugins/alerting/common/routes/maintenance_window/apis/get/schemas/latest.ts create mode 100644 x-pack/plugins/alerting/common/routes/maintenance_window/apis/get/schemas/v1.ts create mode 100644 x-pack/plugins/alerting/common/routes/maintenance_window/apis/get/types/latest.ts create mode 100644 x-pack/plugins/alerting/common/routes/maintenance_window/apis/get/types/v1.ts create mode 100644 x-pack/plugins/alerting/common/routes/maintenance_window/apis/get_active/index.ts create mode 100644 x-pack/plugins/alerting/common/routes/maintenance_window/apis/get_active/types/latest.ts create mode 100644 x-pack/plugins/alerting/common/routes/maintenance_window/apis/get_active/types/v1.ts create mode 100644 x-pack/plugins/alerting/common/routes/maintenance_window/apis/update/index.ts create mode 100644 x-pack/plugins/alerting/common/routes/maintenance_window/apis/update/schemas/latest.ts create mode 100644 x-pack/plugins/alerting/common/routes/maintenance_window/apis/update/schemas/v1.ts create mode 100644 x-pack/plugins/alerting/common/routes/maintenance_window/apis/update/types/latest.ts create mode 100644 x-pack/plugins/alerting/common/routes/maintenance_window/apis/update/types/v1.ts rename x-pack/plugins/alerting/common/routes/{r_rule/schemas => maintenance_window/response/constants}/latest.ts (100%) create mode 100644 x-pack/plugins/alerting/common/routes/maintenance_window/response/constants/v1.ts create mode 100644 x-pack/plugins/alerting/common/routes/maintenance_window/response/index.ts rename x-pack/plugins/alerting/common/routes/{r_rule/types => maintenance_window/response/schemas}/latest.ts (100%) create mode 100644 x-pack/plugins/alerting/common/routes/maintenance_window/response/schemas/v1.ts create mode 100644 x-pack/plugins/alerting/common/routes/maintenance_window/response/types/latest.ts create mode 100644 x-pack/plugins/alerting/common/routes/maintenance_window/response/types/v1.ts create mode 100644 x-pack/plugins/alerting/common/routes/r_rule/request/schemas/latest.ts rename x-pack/plugins/alerting/common/routes/r_rule/{ => request}/schemas/v1.ts (94%) create mode 100644 x-pack/plugins/alerting/common/routes/r_rule/request/types/latest.ts rename x-pack/plugins/alerting/common/routes/r_rule/{ => request}/types/v1.ts (73%) create mode 100644 x-pack/plugins/alerting/common/routes/r_rule/response/schemas/latest.ts create mode 100644 x-pack/plugins/alerting/common/routes/r_rule/response/schemas/v1.ts create mode 100644 x-pack/plugins/alerting/common/routes/r_rule/response/types/latest.ts create mode 100644 x-pack/plugins/alerting/common/routes/r_rule/response/types/v1.ts create mode 100644 x-pack/plugins/alerting/server/application/maintenance_window/constants.ts rename x-pack/plugins/alerting/server/{maintenance_window_client => application/maintenance_window/lib}/generate_maintenance_window_events.test.ts (100%) rename x-pack/plugins/alerting/server/{maintenance_window_client => application/maintenance_window/lib}/generate_maintenance_window_events.ts (99%) rename x-pack/plugins/alerting/server/{maintenance_window_client => application/maintenance_window/lib}/get_maintenance_window_date_and_status.test.ts (99%) rename x-pack/plugins/alerting/server/{maintenance_window_client => application/maintenance_window/lib}/get_maintenance_window_date_and_status.ts (98%) create mode 100644 x-pack/plugins/alerting/server/application/maintenance_window/lib/index.ts rename x-pack/plugins/alerting/server/{maintenance_window_client/methods/archive.test.ts => application/maintenance_window/methods/archive/archive_maintenance_window.test.ts} (91%) rename x-pack/plugins/alerting/server/{maintenance_window_client/methods/archive.ts => application/maintenance_window/methods/archive/archive_maintenance_window.ts} (57%) create mode 100644 x-pack/plugins/alerting/server/application/maintenance_window/methods/archive/schemas/archive_maintenance_window_params_schema.ts create mode 100644 x-pack/plugins/alerting/server/application/maintenance_window/methods/archive/schemas/index.ts create mode 100644 x-pack/plugins/alerting/server/application/maintenance_window/methods/archive/types/archive_maintenance_window_params.ts create mode 100644 x-pack/plugins/alerting/server/application/maintenance_window/methods/archive/types/index.ts rename x-pack/plugins/alerting/server/{maintenance_window_client/methods/bulk_get.test.ts => application/maintenance_window/methods/bulk_get/bulk_get_maintenance_windows.test.ts} (87%) create mode 100644 x-pack/plugins/alerting/server/application/maintenance_window/methods/bulk_get/bulk_get_maintenance_windows.ts create mode 100644 x-pack/plugins/alerting/server/application/maintenance_window/methods/bulk_get/schemas/bulk_get_maintenance_windows_params_schema.ts create mode 100644 x-pack/plugins/alerting/server/application/maintenance_window/methods/bulk_get/schemas/bulk_get_maintenance_windows_result_schema.ts create mode 100644 x-pack/plugins/alerting/server/application/maintenance_window/methods/bulk_get/schemas/index.ts create mode 100644 x-pack/plugins/alerting/server/application/maintenance_window/methods/bulk_get/types/bulk_get_maintenance_window_params.ts create mode 100644 x-pack/plugins/alerting/server/application/maintenance_window/methods/bulk_get/types/bulk_get_maintenance_window_result.ts create mode 100644 x-pack/plugins/alerting/server/application/maintenance_window/methods/bulk_get/types/index.ts rename x-pack/plugins/alerting/server/{maintenance_window_client/methods/create.test.ts => application/maintenance_window/methods/create/create_maintenance_window.test.ts} (81%) create mode 100644 x-pack/plugins/alerting/server/application/maintenance_window/methods/create/create_maintenance_window.ts create mode 100644 x-pack/plugins/alerting/server/application/maintenance_window/methods/create/schemas/create_maintenance_window_params_schema.ts create mode 100644 x-pack/plugins/alerting/server/application/maintenance_window/methods/create/schemas/index.ts create mode 100644 x-pack/plugins/alerting/server/application/maintenance_window/methods/create/types/create_maintenance_window_params.ts create mode 100644 x-pack/plugins/alerting/server/application/maintenance_window/methods/create/types/index.ts rename x-pack/plugins/alerting/server/{maintenance_window_client/methods/delete.test.ts => application/maintenance_window/methods/delete/delete_maintenance_window.test.ts} (92%) rename x-pack/plugins/alerting/server/{maintenance_window_client/methods/delete.ts => application/maintenance_window/methods/delete/delete_maintenance_window.ts} (57%) create mode 100644 x-pack/plugins/alerting/server/application/maintenance_window/methods/delete/schemas/delete_maintenance_window_params_schema.ts create mode 100644 x-pack/plugins/alerting/server/application/maintenance_window/methods/delete/schemas/index.ts create mode 100644 x-pack/plugins/alerting/server/application/maintenance_window/methods/delete/types/delete_maintenance_window_params.ts create mode 100644 x-pack/plugins/alerting/server/application/maintenance_window/methods/delete/types/index.ts rename x-pack/plugins/alerting/server/{maintenance_window_client/methods/find.test.ts => application/maintenance_window/methods/find/find_maintenance_windows.test.ts} (86%) rename x-pack/plugins/alerting/server/{maintenance_window_client/methods/find.ts => application/maintenance_window/methods/find/find_maintenance_windows.ts} (53%) create mode 100644 x-pack/plugins/alerting/server/application/maintenance_window/methods/find/schemas/find_maintenance_windows_result_schema.ts create mode 100644 x-pack/plugins/alerting/server/application/maintenance_window/methods/find/schemas/index.ts create mode 100644 x-pack/plugins/alerting/server/application/maintenance_window/methods/find/types/find_maintenance_window_result.ts create mode 100644 x-pack/plugins/alerting/server/application/maintenance_window/methods/find/types/index.ts rename x-pack/plugins/alerting/server/{maintenance_window_client/methods/finish.test.ts => application/maintenance_window/methods/finish/finish_maintenance_window.test.ts} (90%) rename x-pack/plugins/alerting/server/{maintenance_window_client/methods/finish.ts => application/maintenance_window/methods/finish/finish_maintenance_window.ts} (61%) create mode 100644 x-pack/plugins/alerting/server/application/maintenance_window/methods/finish/schemas/finish_maintenance_window_params_schema.ts create mode 100644 x-pack/plugins/alerting/server/application/maintenance_window/methods/finish/schemas/index.ts create mode 100644 x-pack/plugins/alerting/server/application/maintenance_window/methods/finish/types/finish_maintenance_window_params.ts create mode 100644 x-pack/plugins/alerting/server/application/maintenance_window/methods/finish/types/index.ts rename x-pack/plugins/alerting/server/{maintenance_window_client/methods/get.test.ts => application/maintenance_window/methods/get/get_maintenance_window.test.ts} (84%) create mode 100644 x-pack/plugins/alerting/server/application/maintenance_window/methods/get/get_maintenance_window.ts create mode 100644 x-pack/plugins/alerting/server/application/maintenance_window/methods/get/schemas/get_maintenance_window_params_schema.ts create mode 100644 x-pack/plugins/alerting/server/application/maintenance_window/methods/get/schemas/index.ts create mode 100644 x-pack/plugins/alerting/server/application/maintenance_window/methods/get/types/get_maintenance_window_params.ts create mode 100644 x-pack/plugins/alerting/server/application/maintenance_window/methods/get/types/index.ts rename x-pack/plugins/alerting/server/{maintenance_window_client/methods => application/maintenance_window/methods/get_active}/get_active_maintenance_windows.test.ts (97%) rename x-pack/plugins/alerting/server/{maintenance_window_client/methods => application/maintenance_window/methods/get_active}/get_active_maintenance_windows.ts (64%) create mode 100644 x-pack/plugins/alerting/server/application/maintenance_window/methods/update/schemas/index.ts create mode 100644 x-pack/plugins/alerting/server/application/maintenance_window/methods/update/schemas/update_maintenance_window_params_schema.ts create mode 100644 x-pack/plugins/alerting/server/application/maintenance_window/methods/update/types/index.ts create mode 100644 x-pack/plugins/alerting/server/application/maintenance_window/methods/update/types/update_maintenance_window_params.ts rename x-pack/plugins/alerting/server/{maintenance_window_client/methods/update.test.ts => application/maintenance_window/methods/update/update_maintenance_window.test.ts} (85%) create mode 100644 x-pack/plugins/alerting/server/application/maintenance_window/methods/update/update_maintenance_window.ts create mode 100644 x-pack/plugins/alerting/server/application/maintenance_window/schemas/index.ts create mode 100644 x-pack/plugins/alerting/server/application/maintenance_window/schemas/maintenance_window_schemas.ts create mode 100644 x-pack/plugins/alerting/server/application/maintenance_window/transforms/index.ts create mode 100644 x-pack/plugins/alerting/server/application/maintenance_window/transforms/transform_maintenance_window_attributes_to_maintenance_window.ts create mode 100644 x-pack/plugins/alerting/server/application/maintenance_window/transforms/transform_maintenance_window_to_maintenance_window_attributes.ts create mode 100644 x-pack/plugins/alerting/server/application/maintenance_window/types/index.ts create mode 100644 x-pack/plugins/alerting/server/application/maintenance_window/types/maintenance_window.ts create mode 100644 x-pack/plugins/alerting/server/data/maintenance_window/index.ts create mode 100644 x-pack/plugins/alerting/server/data/maintenance_window/methods/bulk_get_maintenance_window_so.ts create mode 100644 x-pack/plugins/alerting/server/data/maintenance_window/methods/create_maintenance_window_so.ts create mode 100644 x-pack/plugins/alerting/server/data/maintenance_window/methods/delete_maintenance_window_so.ts create mode 100644 x-pack/plugins/alerting/server/data/maintenance_window/methods/find_maintenance_window_so.ts create mode 100644 x-pack/plugins/alerting/server/data/maintenance_window/methods/get_maintenance_window_so.ts create mode 100644 x-pack/plugins/alerting/server/data/maintenance_window/methods/update_maintenance_window_so.ts rename x-pack/plugins/alerting/server/{maintenance_window_client/methods => data/maintenance_window}/test_helpers.ts (83%) create mode 100644 x-pack/plugins/alerting/server/data/maintenance_window/types/index.ts create mode 100644 x-pack/plugins/alerting/server/data/maintenance_window/types/maintenance_window_attributes.ts create mode 100644 x-pack/plugins/alerting/server/data/r_rule/types/index.ts create mode 100644 x-pack/plugins/alerting/server/data/r_rule/types/r_rule_attributes.ts delete mode 100644 x-pack/plugins/alerting/server/maintenance_window_client/get_maintenance_window_from_raw.ts delete mode 100644 x-pack/plugins/alerting/server/maintenance_window_client/methods/bulk_get.ts delete mode 100644 x-pack/plugins/alerting/server/maintenance_window_client/methods/create.ts delete mode 100644 x-pack/plugins/alerting/server/maintenance_window_client/methods/get.ts delete mode 100644 x-pack/plugins/alerting/server/maintenance_window_client/methods/update.ts rename x-pack/plugins/alerting/server/routes/maintenance_window/{archive_maintenance_window.test.ts => apis/archive/archive_maintenance_window_route.test.ts} (86%) create mode 100644 x-pack/plugins/alerting/server/routes/maintenance_window/apis/archive/archive_maintenance_window_route.ts rename x-pack/plugins/alerting/server/routes/maintenance_window/{bulk_get_maintenance_windows.test.ts => apis/bulk_get/bulk_get_maintenance_windows_route.test.ts} (84%) rename x-pack/plugins/alerting/server/routes/maintenance_window/{bulk_get_maintenance_windows.ts => apis/bulk_get/bulk_get_maintenance_windows_route.ts} (51%) create mode 100644 x-pack/plugins/alerting/server/routes/maintenance_window/apis/bulk_get/transforms/index.ts create mode 100644 x-pack/plugins/alerting/server/routes/maintenance_window/apis/bulk_get/transforms/transform_bulk_get_response/latest.ts create mode 100644 x-pack/plugins/alerting/server/routes/maintenance_window/apis/bulk_get/transforms/transform_bulk_get_response/v1.ts rename x-pack/plugins/alerting/server/routes/maintenance_window/{create_maintenance_window.test.ts => apis/create/create_maintenance_window_route.test.ts} (75%) rename x-pack/plugins/alerting/server/routes/maintenance_window/{create_maintenance_window.ts => apis/create/create_maintenance_window_route.ts} (51%) create mode 100644 x-pack/plugins/alerting/server/routes/maintenance_window/apis/create/transforms/index.ts create mode 100644 x-pack/plugins/alerting/server/routes/maintenance_window/apis/create/transforms/transform_create_body/latest.ts create mode 100644 x-pack/plugins/alerting/server/routes/maintenance_window/apis/create/transforms/transform_create_body/v1.ts rename x-pack/plugins/alerting/server/routes/maintenance_window/{delete_maintenance_window.test.ts => apis/delete/delete_maintenance_window_route.test.ts} (86%) rename x-pack/plugins/alerting/server/routes/maintenance_window/{delete_maintenance_window.ts => apis/delete/delete_maintenance_window_route.ts} (67%) rename x-pack/plugins/alerting/server/routes/maintenance_window/{find_maintenance_windows.test.ts => apis/find/find_maintenance_windows_route.test.ts} (86%) rename x-pack/plugins/alerting/server/routes/maintenance_window/{find_maintenance_windows.ts => apis/find/find_maintenance_windows_route.ts} (60%) rename x-pack/plugins/alerting/server/routes/maintenance_window/{finish_maintenance_window.test.ts => apis/finish/finish_maintenance_window_route.test.ts} (85%) rename x-pack/plugins/alerting/server/routes/maintenance_window/{finish_maintenance_window.ts => apis/finish/finish_maintenance_window_route.ts} (52%) rename x-pack/plugins/alerting/server/routes/maintenance_window/{get_maintenance_window.test.ts => apis/get/get_maintenance_window_route.test.ts} (85%) rename x-pack/plugins/alerting/server/routes/maintenance_window/{get_maintenance_window.ts => apis/get/get_maintenance_window_route.ts} (52%) rename x-pack/plugins/alerting/server/routes/maintenance_window/{active_maintenance_windows.test.ts => apis/get_active/get_active_maintenance_windows_route.test.ts} (78%) rename x-pack/plugins/alerting/server/routes/maintenance_window/{active_maintenance_windows.ts => apis/get_active/get_active_maintenance_windows_route.ts} (58%) create mode 100644 x-pack/plugins/alerting/server/routes/maintenance_window/apis/update/transforms/index.ts create mode 100644 x-pack/plugins/alerting/server/routes/maintenance_window/apis/update/transforms/transform_update_body/latest.ts create mode 100644 x-pack/plugins/alerting/server/routes/maintenance_window/apis/update/transforms/transform_update_body/v1.ts rename x-pack/plugins/alerting/server/routes/maintenance_window/{update_maintenance_window.test.ts => apis/update/update_maintenance_window_route.test.ts} (83%) create mode 100644 x-pack/plugins/alerting/server/routes/maintenance_window/apis/update/update_maintenance_window_route.ts delete mode 100644 x-pack/plugins/alerting/server/routes/maintenance_window/archive_maintenance_window.ts create mode 100644 x-pack/plugins/alerting/server/routes/maintenance_window/transforms/index.ts create mode 100644 x-pack/plugins/alerting/server/routes/maintenance_window/transforms/transform_maintenance_window_to_response/latest.ts create mode 100644 x-pack/plugins/alerting/server/routes/maintenance_window/transforms/transform_maintenance_window_to_response/v1.ts delete mode 100644 x-pack/plugins/alerting/server/routes/maintenance_window/update_maintenance_window.ts diff --git a/x-pack/plugins/alerting/common/routes/maintenance_window/apis/archive/index.ts b/x-pack/plugins/alerting/common/routes/maintenance_window/apis/archive/index.ts new file mode 100644 index 00000000000000..c8b190b59b795b --- /dev/null +++ b/x-pack/plugins/alerting/common/routes/maintenance_window/apis/archive/index.ts @@ -0,0 +1,23 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +export { archiveBodySchema, archiveParamsSchema } from './schemas/latest'; +export type { + ArchiveMaintenanceWindowRequestBody, + ArchiveMaintenanceWindowRequestParams, + ArchiveMaintenanceWindowResponse, +} from './types/latest'; + +export { + archiveBodySchema as archiveBodySchemaV1, + archiveParamsSchema as archiveParamsSchemaV1, +} from './schemas/v1'; +export type { + ArchiveMaintenanceWindowRequestBody as ArchiveMaintenanceWindowRequestBodyV1, + ArchiveMaintenanceWindowRequestParams as ArchiveMaintenanceWindowRequestParamsV1, + ArchiveMaintenanceWindowResponse as ArchiveMaintenanceWindowResponseV1, +} from './types/latest'; diff --git a/x-pack/plugins/alerting/common/routes/maintenance_window/apis/archive/schemas/latest.ts b/x-pack/plugins/alerting/common/routes/maintenance_window/apis/archive/schemas/latest.ts new file mode 100644 index 00000000000000..f3db50c4e784da --- /dev/null +++ b/x-pack/plugins/alerting/common/routes/maintenance_window/apis/archive/schemas/latest.ts @@ -0,0 +1,8 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +export { archiveBodySchema, archiveParamsSchema } from './v1'; diff --git a/x-pack/plugins/alerting/common/routes/maintenance_window/apis/archive/schemas/v1.ts b/x-pack/plugins/alerting/common/routes/maintenance_window/apis/archive/schemas/v1.ts new file mode 100644 index 00000000000000..41e66b82572683 --- /dev/null +++ b/x-pack/plugins/alerting/common/routes/maintenance_window/apis/archive/schemas/v1.ts @@ -0,0 +1,16 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { schema } from '@kbn/config-schema'; + +export const archiveParamsSchema = schema.object({ + id: schema.string(), +}); + +export const archiveBodySchema = schema.object({ + archive: schema.boolean(), +}); diff --git a/x-pack/plugins/alerting/common/routes/maintenance_window/apis/archive/types/latest.ts b/x-pack/plugins/alerting/common/routes/maintenance_window/apis/archive/types/latest.ts new file mode 100644 index 00000000000000..010d0ef8830206 --- /dev/null +++ b/x-pack/plugins/alerting/common/routes/maintenance_window/apis/archive/types/latest.ts @@ -0,0 +1,12 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +export type { + ArchiveMaintenanceWindowRequestBody, + ArchiveMaintenanceWindowRequestParams, + ArchiveMaintenanceWindowResponse, +} from './v1'; diff --git a/x-pack/plugins/alerting/common/routes/maintenance_window/apis/archive/types/v1.ts b/x-pack/plugins/alerting/common/routes/maintenance_window/apis/archive/types/v1.ts new file mode 100644 index 00000000000000..37ce349e23a1eb --- /dev/null +++ b/x-pack/plugins/alerting/common/routes/maintenance_window/apis/archive/types/v1.ts @@ -0,0 +1,17 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import type { TypeOf } from '@kbn/config-schema'; +import { MaintenanceWindowResponseV1 } from '../../../response'; +import { archiveBodySchemaV1, archiveParamsSchemaV1 } from '..'; + +export type ArchiveMaintenanceWindowRequestBody = TypeOf; +export type ArchiveMaintenanceWindowRequestParams = TypeOf; + +export interface ArchiveMaintenanceWindowResponse { + body: MaintenanceWindowResponseV1; +} diff --git a/x-pack/plugins/alerting/common/routes/maintenance_window/apis/bulk_get/index.ts b/x-pack/plugins/alerting/common/routes/maintenance_window/apis/bulk_get/index.ts new file mode 100644 index 00000000000000..e5cbf04054ac6a --- /dev/null +++ b/x-pack/plugins/alerting/common/routes/maintenance_window/apis/bulk_get/index.ts @@ -0,0 +1,20 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +export { bulkGetBodySchema } from './schemas/latest'; +export type { + BulkGetMaintenanceWindowsRequestBody, + BulkGetMaintenanceWindowsResponse, + BulkGetMaintenanceWindowsResponseBody, +} from './types/latest'; + +export { bulkGetBodySchema as bulkGetBodySchemaV1 } from './schemas/v1'; +export type { + BulkGetMaintenanceWindowsRequestBody as BulkGetMaintenanceWindowsRequestBodyV1, + BulkGetMaintenanceWindowsResponse as BulkGetMaintenanceWindowsResponseV1, + BulkGetMaintenanceWindowsResponseBody as BulkGetMaintenanceWindowsResponseBodyV1, +} from './types/v1'; diff --git a/x-pack/plugins/alerting/common/routes/maintenance_window/apis/bulk_get/schemas/latest.ts b/x-pack/plugins/alerting/common/routes/maintenance_window/apis/bulk_get/schemas/latest.ts new file mode 100644 index 00000000000000..46433ae2d3b56f --- /dev/null +++ b/x-pack/plugins/alerting/common/routes/maintenance_window/apis/bulk_get/schemas/latest.ts @@ -0,0 +1,8 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +export { bulkGetBodySchema } from './v1'; diff --git a/x-pack/plugins/alerting/common/routes/maintenance_window/apis/bulk_get/schemas/v1.ts b/x-pack/plugins/alerting/common/routes/maintenance_window/apis/bulk_get/schemas/v1.ts new file mode 100644 index 00000000000000..394802e32f44ef --- /dev/null +++ b/x-pack/plugins/alerting/common/routes/maintenance_window/apis/bulk_get/schemas/v1.ts @@ -0,0 +1,12 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { schema } from '@kbn/config-schema'; + +export const bulkGetBodySchema = schema.object({ + ids: schema.arrayOf(schema.string()), +}); diff --git a/x-pack/plugins/alerting/common/routes/maintenance_window/apis/bulk_get/types/latest.ts b/x-pack/plugins/alerting/common/routes/maintenance_window/apis/bulk_get/types/latest.ts new file mode 100644 index 00000000000000..b4834afe6d07da --- /dev/null +++ b/x-pack/plugins/alerting/common/routes/maintenance_window/apis/bulk_get/types/latest.ts @@ -0,0 +1,12 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +export type { + BulkGetMaintenanceWindowsRequestBody, + BulkGetMaintenanceWindowsResponse, + BulkGetMaintenanceWindowsResponseBody, +} from './v1'; diff --git a/x-pack/plugins/alerting/common/routes/maintenance_window/apis/bulk_get/types/v1.ts b/x-pack/plugins/alerting/common/routes/maintenance_window/apis/bulk_get/types/v1.ts new file mode 100644 index 00000000000000..153df0010293ac --- /dev/null +++ b/x-pack/plugins/alerting/common/routes/maintenance_window/apis/bulk_get/types/v1.ts @@ -0,0 +1,26 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import type { TypeOf } from '@kbn/config-schema'; +import { MaintenanceWindowResponseV1 } from '../../../response'; +import { bulkGetBodySchemaV1 } from '..'; + +export type BulkGetMaintenanceWindowsRequestBody = TypeOf; + +export interface BulkGetMaintenanceWindowsResponseBody { + maintenance_windows: MaintenanceWindowResponseV1[]; + errors: Array<{ + id: string; + error: string; + message: string; + status_code: number; + }>; +} + +export interface BulkGetMaintenanceWindowsResponse { + body: BulkGetMaintenanceWindowsResponseBody; +} diff --git a/x-pack/plugins/alerting/common/routes/maintenance_window/apis/create/index.ts b/x-pack/plugins/alerting/common/routes/maintenance_window/apis/create/index.ts new file mode 100644 index 00000000000000..1013fcb0b7f56e --- /dev/null +++ b/x-pack/plugins/alerting/common/routes/maintenance_window/apis/create/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. + */ + +export { createBodySchema } from './schemas/latest'; +export type { + CreateMaintenanceWindowRequestBody, + CreateMaintenanceWindowResponse, +} from './types/latest'; + +export { createBodySchema as createBodySchemaV1 } from './schemas/v1'; +export type { + CreateMaintenanceWindowRequestBody as CreateMaintenanceWindowRequestBodyV1, + CreateMaintenanceWindowResponse as CreateMaintenanceWindowResponseV1, +} from './types/v1'; diff --git a/x-pack/plugins/alerting/common/routes/maintenance_window/apis/create/schemas/latest.ts b/x-pack/plugins/alerting/common/routes/maintenance_window/apis/create/schemas/latest.ts new file mode 100644 index 00000000000000..e7a9ece5cecaf5 --- /dev/null +++ b/x-pack/plugins/alerting/common/routes/maintenance_window/apis/create/schemas/latest.ts @@ -0,0 +1,8 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +export { createBodySchema } from './v1'; diff --git a/x-pack/plugins/alerting/common/routes/maintenance_window/apis/create/schemas/v1.ts b/x-pack/plugins/alerting/common/routes/maintenance_window/apis/create/schemas/v1.ts new file mode 100644 index 00000000000000..6199bee1b2bfc8 --- /dev/null +++ b/x-pack/plugins/alerting/common/routes/maintenance_window/apis/create/schemas/v1.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. + */ + +import { schema } from '@kbn/config-schema'; +import { rRuleRequestSchemaV1 } from '../../../../r_rule'; + +export const createBodySchema = schema.object({ + title: schema.string(), + duration: schema.number(), + r_rule: rRuleRequestSchemaV1, +}); diff --git a/x-pack/plugins/alerting/common/routes/maintenance_window/apis/create/types/latest.ts b/x-pack/plugins/alerting/common/routes/maintenance_window/apis/create/types/latest.ts new file mode 100644 index 00000000000000..08b5432ba042d3 --- /dev/null +++ b/x-pack/plugins/alerting/common/routes/maintenance_window/apis/create/types/latest.ts @@ -0,0 +1,8 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +export type { CreateMaintenanceWindowRequestBody, CreateMaintenanceWindowResponse } from './v1'; diff --git a/x-pack/plugins/alerting/common/routes/maintenance_window/apis/create/types/v1.ts b/x-pack/plugins/alerting/common/routes/maintenance_window/apis/create/types/v1.ts new file mode 100644 index 00000000000000..269206c9776875 --- /dev/null +++ b/x-pack/plugins/alerting/common/routes/maintenance_window/apis/create/types/v1.ts @@ -0,0 +1,16 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import type { TypeOf } from '@kbn/config-schema'; +import { MaintenanceWindowResponseV1 } from '../../../response'; +import { createBodySchemaV1 } from '..'; + +export type CreateMaintenanceWindowRequestBody = TypeOf; + +export interface CreateMaintenanceWindowResponse { + body: MaintenanceWindowResponseV1; +} diff --git a/x-pack/plugins/alerting/common/routes/maintenance_window/apis/delete/index.ts b/x-pack/plugins/alerting/common/routes/maintenance_window/apis/delete/index.ts new file mode 100644 index 00000000000000..56dd23821f4575 --- /dev/null +++ b/x-pack/plugins/alerting/common/routes/maintenance_window/apis/delete/index.ts @@ -0,0 +1,12 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +export { deleteParamsSchema } from './schemas/latest'; +export type { DeleteMaintenanceWindowRequestParams } from './types/latest'; + +export { deleteParamsSchema as deleteParamsSchemaV1 } from './schemas/v1'; +export type { DeleteMaintenanceWindowRequestParams as DeleteMaintenanceWindowRequestParamsV1 } from './types/v1'; diff --git a/x-pack/plugins/alerting/common/routes/maintenance_window/apis/delete/schemas/latest.ts b/x-pack/plugins/alerting/common/routes/maintenance_window/apis/delete/schemas/latest.ts new file mode 100644 index 00000000000000..c2c12cb127bf18 --- /dev/null +++ b/x-pack/plugins/alerting/common/routes/maintenance_window/apis/delete/schemas/latest.ts @@ -0,0 +1,8 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +export { deleteParamsSchema } from './v1'; diff --git a/x-pack/plugins/alerting/common/routes/maintenance_window/apis/delete/schemas/v1.ts b/x-pack/plugins/alerting/common/routes/maintenance_window/apis/delete/schemas/v1.ts new file mode 100644 index 00000000000000..609e3f172c5fb8 --- /dev/null +++ b/x-pack/plugins/alerting/common/routes/maintenance_window/apis/delete/schemas/v1.ts @@ -0,0 +1,12 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { schema } from '@kbn/config-schema'; + +export const deleteParamsSchema = schema.object({ + id: schema.string(), +}); diff --git a/x-pack/plugins/alerting/common/routes/maintenance_window/apis/delete/types/latest.ts b/x-pack/plugins/alerting/common/routes/maintenance_window/apis/delete/types/latest.ts new file mode 100644 index 00000000000000..26d0f97c9cfccf --- /dev/null +++ b/x-pack/plugins/alerting/common/routes/maintenance_window/apis/delete/types/latest.ts @@ -0,0 +1,8 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +export type { DeleteMaintenanceWindowRequestParams } from './v1'; diff --git a/x-pack/plugins/alerting/common/routes/maintenance_window/apis/delete/types/v1.ts b/x-pack/plugins/alerting/common/routes/maintenance_window/apis/delete/types/v1.ts new file mode 100644 index 00000000000000..64c02f23b703c0 --- /dev/null +++ b/x-pack/plugins/alerting/common/routes/maintenance_window/apis/delete/types/v1.ts @@ -0,0 +1,11 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import type { TypeOf } from '@kbn/config-schema'; +import { deleteParamsSchemaV1 } from '..'; + +export type DeleteMaintenanceWindowRequestParams = TypeOf; diff --git a/x-pack/plugins/alerting/common/routes/maintenance_window/apis/find/index.ts b/x-pack/plugins/alerting/common/routes/maintenance_window/apis/find/index.ts new file mode 100644 index 00000000000000..c3e30072e7348c --- /dev/null +++ b/x-pack/plugins/alerting/common/routes/maintenance_window/apis/find/index.ts @@ -0,0 +1,10 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +export type { FindMaintenanceWindowsResponse } from './types/latest'; + +export type { FindMaintenanceWindowsResponse as FindMaintenanceWindowsResponseV1 } from './types/v1'; diff --git a/x-pack/plugins/alerting/common/routes/maintenance_window/apis/find/types/latest.ts b/x-pack/plugins/alerting/common/routes/maintenance_window/apis/find/types/latest.ts new file mode 100644 index 00000000000000..4741df5c6c6c1c --- /dev/null +++ b/x-pack/plugins/alerting/common/routes/maintenance_window/apis/find/types/latest.ts @@ -0,0 +1,8 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +export type { FindMaintenanceWindowsResponse } from './v1'; diff --git a/x-pack/plugins/alerting/common/routes/maintenance_window/apis/find/types/v1.ts b/x-pack/plugins/alerting/common/routes/maintenance_window/apis/find/types/v1.ts new file mode 100644 index 00000000000000..0bdff90d3419f8 --- /dev/null +++ b/x-pack/plugins/alerting/common/routes/maintenance_window/apis/find/types/v1.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. + */ + +import { MaintenanceWindowResponseV1 } from '../../../response'; + +export interface FindMaintenanceWindowsResponse { + body: { + data: MaintenanceWindowResponseV1[]; + total: number; + }; +} diff --git a/x-pack/plugins/alerting/common/routes/maintenance_window/apis/finish/index.ts b/x-pack/plugins/alerting/common/routes/maintenance_window/apis/finish/index.ts new file mode 100644 index 00000000000000..034a95df349547 --- /dev/null +++ b/x-pack/plugins/alerting/common/routes/maintenance_window/apis/finish/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. + */ + +export { finishParamsSchema } from './schemas/latest'; +export type { + FinishMaintenanceWindowRequestParams, + FinishMaintenanceWindowResponse, +} from './types/latest'; + +export { finishParamsSchema as finishParamsSchemaV1 } from './schemas/v1'; +export type { + FinishMaintenanceWindowRequestParams as FinishMaintenanceWindowRequestParamsV1, + FinishMaintenanceWindowResponse as FinishMaintenanceWindowResponseV1, +} from './types/latest'; diff --git a/x-pack/plugins/alerting/common/routes/maintenance_window/apis/finish/schemas/latest.ts b/x-pack/plugins/alerting/common/routes/maintenance_window/apis/finish/schemas/latest.ts new file mode 100644 index 00000000000000..2033541a562874 --- /dev/null +++ b/x-pack/plugins/alerting/common/routes/maintenance_window/apis/finish/schemas/latest.ts @@ -0,0 +1,8 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +export { finishParamsSchema } from './v1'; diff --git a/x-pack/plugins/alerting/common/routes/maintenance_window/apis/finish/schemas/v1.ts b/x-pack/plugins/alerting/common/routes/maintenance_window/apis/finish/schemas/v1.ts new file mode 100644 index 00000000000000..0c29cd6b2643a3 --- /dev/null +++ b/x-pack/plugins/alerting/common/routes/maintenance_window/apis/finish/schemas/v1.ts @@ -0,0 +1,12 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { schema } from '@kbn/config-schema'; + +export const finishParamsSchema = schema.object({ + id: schema.string(), +}); diff --git a/x-pack/plugins/alerting/common/routes/maintenance_window/apis/finish/types/latest.ts b/x-pack/plugins/alerting/common/routes/maintenance_window/apis/finish/types/latest.ts new file mode 100644 index 00000000000000..b3687263337540 --- /dev/null +++ b/x-pack/plugins/alerting/common/routes/maintenance_window/apis/finish/types/latest.ts @@ -0,0 +1,8 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +export type { FinishMaintenanceWindowRequestParams, FinishMaintenanceWindowResponse } from './v1'; diff --git a/x-pack/plugins/alerting/common/routes/maintenance_window/apis/finish/types/v1.ts b/x-pack/plugins/alerting/common/routes/maintenance_window/apis/finish/types/v1.ts new file mode 100644 index 00000000000000..aff9df5ba9c450 --- /dev/null +++ b/x-pack/plugins/alerting/common/routes/maintenance_window/apis/finish/types/v1.ts @@ -0,0 +1,16 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import type { TypeOf } from '@kbn/config-schema'; +import { MaintenanceWindowResponseV1 } from '../../../response'; +import { finishParamsSchemaV1 } from '..'; + +export type FinishMaintenanceWindowRequestParams = TypeOf; + +export interface FinishMaintenanceWindowResponse { + body: MaintenanceWindowResponseV1; +} diff --git a/x-pack/plugins/alerting/common/routes/maintenance_window/apis/get/index.ts b/x-pack/plugins/alerting/common/routes/maintenance_window/apis/get/index.ts new file mode 100644 index 00000000000000..d537b4a5cc6b40 --- /dev/null +++ b/x-pack/plugins/alerting/common/routes/maintenance_window/apis/get/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. + */ + +export { getParamsSchema } from './schemas/latest'; +export type { + GetMaintenanceWindowRequestParams, + GetMaintenanceWindowResponse, +} from './types/latest'; + +export { getParamsSchema as getParamsSchemaV1 } from './schemas/v1'; +export type { + GetMaintenanceWindowRequestParams as GetMaintenanceWindowRequestParamsV1, + GetMaintenanceWindowResponse as GetMaintenanceWindowResponseV1, +} from './types/v1'; diff --git a/x-pack/plugins/alerting/common/routes/maintenance_window/apis/get/schemas/latest.ts b/x-pack/plugins/alerting/common/routes/maintenance_window/apis/get/schemas/latest.ts new file mode 100644 index 00000000000000..46439e0d423019 --- /dev/null +++ b/x-pack/plugins/alerting/common/routes/maintenance_window/apis/get/schemas/latest.ts @@ -0,0 +1,8 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +export { getParamsSchema } from './v1'; diff --git a/x-pack/plugins/alerting/common/routes/maintenance_window/apis/get/schemas/v1.ts b/x-pack/plugins/alerting/common/routes/maintenance_window/apis/get/schemas/v1.ts new file mode 100644 index 00000000000000..e20a50a4d80b05 --- /dev/null +++ b/x-pack/plugins/alerting/common/routes/maintenance_window/apis/get/schemas/v1.ts @@ -0,0 +1,12 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { schema } from '@kbn/config-schema'; + +export const getParamsSchema = schema.object({ + id: schema.string(), +}); diff --git a/x-pack/plugins/alerting/common/routes/maintenance_window/apis/get/types/latest.ts b/x-pack/plugins/alerting/common/routes/maintenance_window/apis/get/types/latest.ts new file mode 100644 index 00000000000000..327741ce963bf1 --- /dev/null +++ b/x-pack/plugins/alerting/common/routes/maintenance_window/apis/get/types/latest.ts @@ -0,0 +1,8 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +export type { GetMaintenanceWindowRequestParams, GetMaintenanceWindowResponse } from './v1'; diff --git a/x-pack/plugins/alerting/common/routes/maintenance_window/apis/get/types/v1.ts b/x-pack/plugins/alerting/common/routes/maintenance_window/apis/get/types/v1.ts new file mode 100644 index 00000000000000..c2641502295403 --- /dev/null +++ b/x-pack/plugins/alerting/common/routes/maintenance_window/apis/get/types/v1.ts @@ -0,0 +1,16 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import type { TypeOf } from '@kbn/config-schema'; +import { MaintenanceWindowResponseV1 } from '../../../response'; +import { getParamsSchemaV1 } from '..'; + +export type GetMaintenanceWindowRequestParams = TypeOf; + +export interface GetMaintenanceWindowResponse { + body: MaintenanceWindowResponseV1; +} diff --git a/x-pack/plugins/alerting/common/routes/maintenance_window/apis/get_active/index.ts b/x-pack/plugins/alerting/common/routes/maintenance_window/apis/get_active/index.ts new file mode 100644 index 00000000000000..9bedc681d2c4c4 --- /dev/null +++ b/x-pack/plugins/alerting/common/routes/maintenance_window/apis/get_active/index.ts @@ -0,0 +1,10 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +export type { GetActiveMaintenanceWindowsResponse } from './types/latest'; + +export type { GetActiveMaintenanceWindowsResponse as GetActiveMaintenanceWindowsResponseV1 } from './types/v1'; diff --git a/x-pack/plugins/alerting/common/routes/maintenance_window/apis/get_active/types/latest.ts b/x-pack/plugins/alerting/common/routes/maintenance_window/apis/get_active/types/latest.ts new file mode 100644 index 00000000000000..cf7f23c05f7943 --- /dev/null +++ b/x-pack/plugins/alerting/common/routes/maintenance_window/apis/get_active/types/latest.ts @@ -0,0 +1,8 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +export type { GetActiveMaintenanceWindowsResponse } from './v1'; diff --git a/x-pack/plugins/alerting/common/routes/maintenance_window/apis/get_active/types/v1.ts b/x-pack/plugins/alerting/common/routes/maintenance_window/apis/get_active/types/v1.ts new file mode 100644 index 00000000000000..3e6ed18dc18c21 --- /dev/null +++ b/x-pack/plugins/alerting/common/routes/maintenance_window/apis/get_active/types/v1.ts @@ -0,0 +1,12 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { MaintenanceWindowResponseV1 } from '../../../response'; + +export interface GetActiveMaintenanceWindowsResponse { + body: MaintenanceWindowResponseV1[]; +} diff --git a/x-pack/plugins/alerting/common/routes/maintenance_window/apis/update/index.ts b/x-pack/plugins/alerting/common/routes/maintenance_window/apis/update/index.ts new file mode 100644 index 00000000000000..df3d6327368272 --- /dev/null +++ b/x-pack/plugins/alerting/common/routes/maintenance_window/apis/update/index.ts @@ -0,0 +1,23 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +export { updateParamsSchema, updateBodySchema } from './schemas/latest'; +export type { + UpdateMaintenanceWindowRequestParams, + UpdateMaintenanceWindowRequestBody, + UpdateMaintenanceWindowResponse, +} from './types/latest'; + +export { + updateParamsSchema as updateParamsSchemaV1, + updateBodySchema as updateBodySchemaV1, +} from './schemas/v1'; +export type { + UpdateMaintenanceWindowRequestParams as UpdateMaintenanceWindowRequestParamsV1, + UpdateMaintenanceWindowRequestBody as UpdateMaintenanceWindowRequestBodyV1, + UpdateMaintenanceWindowResponse as UpdateMaintenanceWindowResponseV1, +} from './types/v1'; diff --git a/x-pack/plugins/alerting/common/routes/maintenance_window/apis/update/schemas/latest.ts b/x-pack/plugins/alerting/common/routes/maintenance_window/apis/update/schemas/latest.ts new file mode 100644 index 00000000000000..785163b7e1bc57 --- /dev/null +++ b/x-pack/plugins/alerting/common/routes/maintenance_window/apis/update/schemas/latest.ts @@ -0,0 +1,8 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +export { updateParamsSchema, updateBodySchema } from './v1'; diff --git a/x-pack/plugins/alerting/common/routes/maintenance_window/apis/update/schemas/v1.ts b/x-pack/plugins/alerting/common/routes/maintenance_window/apis/update/schemas/v1.ts new file mode 100644 index 00000000000000..4322627c61e044 --- /dev/null +++ b/x-pack/plugins/alerting/common/routes/maintenance_window/apis/update/schemas/v1.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 { schema } from '@kbn/config-schema'; +import { rRuleRequestSchemaV1 } from '../../../../r_rule'; + +export const updateParamsSchema = schema.object({ + id: schema.string(), +}); + +export const updateBodySchema = schema.object({ + title: schema.maybe(schema.string()), + enabled: schema.maybe(schema.boolean()), + duration: schema.maybe(schema.number()), + r_rule: schema.maybe(rRuleRequestSchemaV1), +}); diff --git a/x-pack/plugins/alerting/common/routes/maintenance_window/apis/update/types/latest.ts b/x-pack/plugins/alerting/common/routes/maintenance_window/apis/update/types/latest.ts new file mode 100644 index 00000000000000..0f42d4715be008 --- /dev/null +++ b/x-pack/plugins/alerting/common/routes/maintenance_window/apis/update/types/latest.ts @@ -0,0 +1,12 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +export type { + UpdateMaintenanceWindowRequestParams, + UpdateMaintenanceWindowRequestBody, + UpdateMaintenanceWindowResponse, +} from './v1'; diff --git a/x-pack/plugins/alerting/common/routes/maintenance_window/apis/update/types/v1.ts b/x-pack/plugins/alerting/common/routes/maintenance_window/apis/update/types/v1.ts new file mode 100644 index 00000000000000..d56107619687a4 --- /dev/null +++ b/x-pack/plugins/alerting/common/routes/maintenance_window/apis/update/types/v1.ts @@ -0,0 +1,17 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import type { TypeOf } from '@kbn/config-schema'; +import { MaintenanceWindowResponseV1 } from '../../../response'; +import { updateParamsSchemaV1, updateBodySchemaV1 } from '..'; + +export type UpdateMaintenanceWindowRequestParams = TypeOf; +export type UpdateMaintenanceWindowRequestBody = TypeOf; + +export interface UpdateMaintenanceWindowResponse { + body: MaintenanceWindowResponseV1; +} diff --git a/x-pack/plugins/alerting/common/routes/r_rule/schemas/latest.ts b/x-pack/plugins/alerting/common/routes/maintenance_window/response/constants/latest.ts similarity index 100% rename from x-pack/plugins/alerting/common/routes/r_rule/schemas/latest.ts rename to x-pack/plugins/alerting/common/routes/maintenance_window/response/constants/latest.ts diff --git a/x-pack/plugins/alerting/common/routes/maintenance_window/response/constants/v1.ts b/x-pack/plugins/alerting/common/routes/maintenance_window/response/constants/v1.ts new file mode 100644 index 00000000000000..faacb70c3cd562 --- /dev/null +++ b/x-pack/plugins/alerting/common/routes/maintenance_window/response/constants/v1.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 const maintenanceWindowStatus = { + RUNNING: 'running', + UPCOMING: 'upcoming', + FINISHED: 'finished', + ARCHIVED: 'archived', +} as const; + +export type MaintenanceWindowStatus = + typeof maintenanceWindowStatus[keyof typeof maintenanceWindowStatus]; diff --git a/x-pack/plugins/alerting/common/routes/maintenance_window/response/index.ts b/x-pack/plugins/alerting/common/routes/maintenance_window/response/index.ts new file mode 100644 index 00000000000000..6701762f02f6cb --- /dev/null +++ b/x-pack/plugins/alerting/common/routes/maintenance_window/response/index.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 { maintenanceWindowResponseSchema } from './schemas/latest'; +export { maintenanceWindowStatus } from './constants/latest'; +export type { MaintenanceWindowStatus } from './constants/latest'; +export type { MaintenanceWindowResponse } from './types/latest'; + +export { maintenanceWindowResponseSchema as maintenanceWindowResponseSchemaV1 } from './schemas/v1'; +export { maintenanceWindowStatus as maintenanceWindowStatusV1 } from './constants/v1'; +export type { MaintenanceWindowStatus as MaintenanceWindowStatusV1 } from './constants/v1'; +export type { MaintenanceWindowResponse as MaintenanceWindowResponseV1 } from './types/v1'; diff --git a/x-pack/plugins/alerting/common/routes/r_rule/types/latest.ts b/x-pack/plugins/alerting/common/routes/maintenance_window/response/schemas/latest.ts similarity index 100% rename from x-pack/plugins/alerting/common/routes/r_rule/types/latest.ts rename to x-pack/plugins/alerting/common/routes/maintenance_window/response/schemas/latest.ts diff --git a/x-pack/plugins/alerting/common/routes/maintenance_window/response/schemas/v1.ts b/x-pack/plugins/alerting/common/routes/maintenance_window/response/schemas/v1.ts new file mode 100644 index 00000000000000..5ddfdf502789f8 --- /dev/null +++ b/x-pack/plugins/alerting/common/routes/maintenance_window/response/schemas/v1.ts @@ -0,0 +1,37 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { schema } from '@kbn/config-schema'; +import { maintenanceWindowStatusV1 } from '..'; +import { rRuleResponseSchemaV1 } from '../../../r_rule'; + +export const maintenanceWindowEventSchema = schema.object({ + gte: schema.string(), + lte: schema.string(), +}); + +export const maintenanceWindowResponseSchema = schema.object({ + id: schema.string(), + title: schema.string(), + enabled: schema.boolean(), + duration: schema.number(), + expiration_date: schema.string(), + events: schema.arrayOf(maintenanceWindowEventSchema), + r_rule: rRuleResponseSchemaV1, + created_by: schema.nullable(schema.string()), + updated_by: schema.nullable(schema.string()), + created_at: schema.string(), + updated_at: schema.string(), + event_start_time: schema.nullable(schema.string()), + event_end_time: schema.nullable(schema.string()), + status: schema.oneOf([ + schema.literal(maintenanceWindowStatusV1.RUNNING), + schema.literal(maintenanceWindowStatusV1.UPCOMING), + schema.literal(maintenanceWindowStatusV1.FINISHED), + schema.literal(maintenanceWindowStatusV1.ARCHIVED), + ]), +}); diff --git a/x-pack/plugins/alerting/common/routes/maintenance_window/response/types/latest.ts b/x-pack/plugins/alerting/common/routes/maintenance_window/response/types/latest.ts new file mode 100644 index 00000000000000..25300c97a6d2e1 --- /dev/null +++ b/x-pack/plugins/alerting/common/routes/maintenance_window/response/types/latest.ts @@ -0,0 +1,8 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +export * from './v1'; diff --git a/x-pack/plugins/alerting/common/routes/maintenance_window/response/types/v1.ts b/x-pack/plugins/alerting/common/routes/maintenance_window/response/types/v1.ts new file mode 100644 index 00000000000000..91fdcbc16674b4 --- /dev/null +++ b/x-pack/plugins/alerting/common/routes/maintenance_window/response/types/v1.ts @@ -0,0 +1,11 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import type { TypeOf } from '@kbn/config-schema'; +import { maintenanceWindowResponseSchemaV1 } from '..'; + +export type MaintenanceWindowResponse = TypeOf; diff --git a/x-pack/plugins/alerting/common/routes/r_rule/index.ts b/x-pack/plugins/alerting/common/routes/r_rule/index.ts index 43de19735a40cb..6062cbd1fac59f 100644 --- a/x-pack/plugins/alerting/common/routes/r_rule/index.ts +++ b/x-pack/plugins/alerting/common/routes/r_rule/index.ts @@ -5,8 +5,12 @@ * 2.0. */ -export { rRuleSchema } from './schemas/latest'; -export type { RRule } from './types/latest'; +export { rRuleRequestSchema } from './request/schemas/latest'; +export { rRuleResponseSchema } from './response/schemas/latest'; +export type { RRuleRequest } from './request/types/latest'; +export type { RRuleResponse } from './response/types/latest'; -export { rRuleSchema as rRuleSchemaV1 } from './schemas/v1'; -export type { RRule as RRuleV1 } from './types/latest'; +export { rRuleRequestSchema as rRuleRequestSchemaV1 } from './request/schemas/v1'; +export { rRuleResponseSchema as rRuleResponseSchemaV1 } from './response/schemas/v1'; +export type { RRuleRequest as RRuleRequestV1 } from './request/types/v1'; +export type { RRuleResponse as RRuleResponseV1 } from './response/types/v1'; diff --git a/x-pack/plugins/alerting/common/routes/r_rule/request/schemas/latest.ts b/x-pack/plugins/alerting/common/routes/r_rule/request/schemas/latest.ts new file mode 100644 index 00000000000000..25300c97a6d2e1 --- /dev/null +++ b/x-pack/plugins/alerting/common/routes/r_rule/request/schemas/latest.ts @@ -0,0 +1,8 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +export * from './v1'; diff --git a/x-pack/plugins/alerting/common/routes/r_rule/schemas/v1.ts b/x-pack/plugins/alerting/common/routes/r_rule/request/schemas/v1.ts similarity index 94% rename from x-pack/plugins/alerting/common/routes/r_rule/schemas/v1.ts rename to x-pack/plugins/alerting/common/routes/r_rule/request/schemas/v1.ts index 5e10629e4f7ee4..43528f7c0f7222 100644 --- a/x-pack/plugins/alerting/common/routes/r_rule/schemas/v1.ts +++ b/x-pack/plugins/alerting/common/routes/r_rule/request/schemas/v1.ts @@ -10,9 +10,9 @@ import { validateStartDateV1, validateEndDateV1, createValidateRecurrenceByV1, -} from '../validation'; +} from '../../validation'; -export const rRuleSchema = schema.object({ +export const rRuleRequestSchema = schema.object({ dtstart: schema.string({ validate: validateStartDateV1 }), tzid: schema.string(), freq: schema.maybe( diff --git a/x-pack/plugins/alerting/common/routes/r_rule/request/types/latest.ts b/x-pack/plugins/alerting/common/routes/r_rule/request/types/latest.ts new file mode 100644 index 00000000000000..25300c97a6d2e1 --- /dev/null +++ b/x-pack/plugins/alerting/common/routes/r_rule/request/types/latest.ts @@ -0,0 +1,8 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +export * from './v1'; diff --git a/x-pack/plugins/alerting/common/routes/r_rule/types/v1.ts b/x-pack/plugins/alerting/common/routes/r_rule/request/types/v1.ts similarity index 73% rename from x-pack/plugins/alerting/common/routes/r_rule/types/v1.ts rename to x-pack/plugins/alerting/common/routes/r_rule/request/types/v1.ts index a8a2cf0f65e041..8a5605b6f91520 100644 --- a/x-pack/plugins/alerting/common/routes/r_rule/types/v1.ts +++ b/x-pack/plugins/alerting/common/routes/r_rule/request/types/v1.ts @@ -5,6 +5,6 @@ * 2.0. */ import type { TypeOf } from '@kbn/config-schema'; -import { rRuleSchemaV1 } from '..'; +import { rRuleRequestSchemaV1 } from '../..'; -export type RRule = TypeOf; +export type RRuleRequest = TypeOf; diff --git a/x-pack/plugins/alerting/common/routes/r_rule/response/schemas/latest.ts b/x-pack/plugins/alerting/common/routes/r_rule/response/schemas/latest.ts new file mode 100644 index 00000000000000..25300c97a6d2e1 --- /dev/null +++ b/x-pack/plugins/alerting/common/routes/r_rule/response/schemas/latest.ts @@ -0,0 +1,8 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +export * from './v1'; diff --git a/x-pack/plugins/alerting/common/routes/r_rule/response/schemas/v1.ts b/x-pack/plugins/alerting/common/routes/r_rule/response/schemas/v1.ts new file mode 100644 index 00000000000000..0b32b61746ec9f --- /dev/null +++ b/x-pack/plugins/alerting/common/routes/r_rule/response/schemas/v1.ts @@ -0,0 +1,47 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { schema } from '@kbn/config-schema'; + +export const rRuleResponseSchema = schema.object({ + dtstart: schema.string(), + tzid: schema.string(), + freq: schema.maybe( + schema.oneOf([ + schema.literal(0), + schema.literal(1), + schema.literal(2), + schema.literal(3), + schema.literal(4), + schema.literal(5), + schema.literal(6), + ]) + ), + until: schema.maybe(schema.string()), + count: schema.maybe(schema.number()), + interval: schema.maybe(schema.number()), + wkst: schema.maybe( + schema.oneOf([ + schema.literal('MO'), + schema.literal('TU'), + schema.literal('WE'), + schema.literal('TH'), + schema.literal('FR'), + schema.literal('SA'), + schema.literal('SU'), + ]) + ), + byweekday: schema.maybe(schema.arrayOf(schema.oneOf([schema.string(), schema.number()]))), + bymonth: schema.maybe(schema.arrayOf(schema.number())), + bysetpos: schema.maybe(schema.arrayOf(schema.number())), + bymonthday: schema.arrayOf(schema.number()), + byyearday: schema.arrayOf(schema.number()), + byweekno: schema.arrayOf(schema.number()), + byhour: schema.arrayOf(schema.number()), + byminute: schema.arrayOf(schema.number()), + bysecond: schema.arrayOf(schema.number()), +}); diff --git a/x-pack/plugins/alerting/common/routes/r_rule/response/types/latest.ts b/x-pack/plugins/alerting/common/routes/r_rule/response/types/latest.ts new file mode 100644 index 00000000000000..25300c97a6d2e1 --- /dev/null +++ b/x-pack/plugins/alerting/common/routes/r_rule/response/types/latest.ts @@ -0,0 +1,8 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +export * from './v1'; diff --git a/x-pack/plugins/alerting/common/routes/r_rule/response/types/v1.ts b/x-pack/plugins/alerting/common/routes/r_rule/response/types/v1.ts new file mode 100644 index 00000000000000..1a35454a87655b --- /dev/null +++ b/x-pack/plugins/alerting/common/routes/r_rule/response/types/v1.ts @@ -0,0 +1,10 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ +import type { TypeOf } from '@kbn/config-schema'; +import { rRuleResponseSchemaV1 } from '../..'; + +export type RRuleResponse = TypeOf; diff --git a/x-pack/plugins/alerting/common/routes/rule/apis/bulk_edit/schemas/v1.ts b/x-pack/plugins/alerting/common/routes/rule/apis/bulk_edit/schemas/v1.ts index adbebc679c2180..54e70cde689acd 100644 --- a/x-pack/plugins/alerting/common/routes/rule/apis/bulk_edit/schemas/v1.ts +++ b/x-pack/plugins/alerting/common/routes/rule/apis/bulk_edit/schemas/v1.ts @@ -8,7 +8,7 @@ import { schema } from '@kbn/config-schema'; import { validateDurationV1, validateNotifyWhenV1 } from '../../../validation'; import { validateSnoozeScheduleV1 } from '../validation'; -import { rRuleSchemaV1 } from '../../../../r_rule'; +import { rRuleRequestSchemaV1 } from '../../../../r_rule'; import { ruleNotifyWhenV1 } from '../../../response'; const notifyWhenSchema = schema.oneOf( @@ -25,14 +25,14 @@ export const scheduleIdsSchema = schema.maybe(schema.arrayOf(schema.string())); export const ruleSnoozeScheduleSchema = schema.object({ id: schema.maybe(schema.string()), duration: schema.number(), - rRule: rRuleSchemaV1, + rRule: rRuleRequestSchemaV1, }); const ruleSnoozeScheduleSchemaWithValidation = schema.object( { id: schema.maybe(schema.string()), duration: schema.number(), - rRule: rRuleSchemaV1, + rRule: rRuleRequestSchemaV1, }, { validate: validateSnoozeScheduleV1 } ); diff --git a/x-pack/plugins/alerting/common/routes/rule/response/index.ts b/x-pack/plugins/alerting/common/routes/rule/response/index.ts index 4be81ae30c79f6..cdf693c7867eb5 100644 --- a/x-pack/plugins/alerting/common/routes/rule/response/index.ts +++ b/x-pack/plugins/alerting/common/routes/rule/response/index.ts @@ -12,7 +12,6 @@ export { ruleExecutionStatusSchema, ruleLastRunSchema, monitoringSchema, - rRuleSchema, ruleResponseSchema, ruleSnoozeScheduleSchema, } from './schemas/latest'; @@ -48,7 +47,6 @@ export { ruleExecutionStatusSchema as ruleExecutionStatusSchemaV1, ruleLastRunSchema as ruleLastRunSchemaV1, monitoringSchema as monitoringSchemaV1, - rRuleSchema as rRuleSchemaV1, ruleResponseSchema as ruleResponseSchemaV1, ruleSnoozeScheduleSchema as ruleSnoozeScheduleSchemaV1, } from './schemas/v1'; diff --git a/x-pack/plugins/alerting/common/routes/rule/response/schemas/v1.ts b/x-pack/plugins/alerting/common/routes/rule/response/schemas/v1.ts index 2fb82c3558cb7a..1c093314f7a471 100644 --- a/x-pack/plugins/alerting/common/routes/rule/response/schemas/v1.ts +++ b/x-pack/plugins/alerting/common/routes/rule/response/schemas/v1.ts @@ -6,6 +6,7 @@ */ import { schema } from '@kbn/config-schema'; +import { rRuleResponseSchemaV1 } from '../../../r_rule'; import { ruleNotifyWhen as ruleNotifyWhenV1, ruleExecutionStatusValues as ruleExecutionStatusValuesV1, @@ -180,48 +181,9 @@ export const monitoringSchema = schema.object({ }), }); -export const rRuleSchema = schema.object({ - dtstart: schema.string(), - tzid: schema.string(), - freq: schema.maybe( - schema.oneOf([ - schema.literal(0), - schema.literal(1), - schema.literal(2), - schema.literal(3), - schema.literal(4), - schema.literal(5), - schema.literal(6), - ]) - ), - until: schema.maybe(schema.string()), - count: schema.maybe(schema.number()), - interval: schema.maybe(schema.number()), - wkst: schema.maybe( - schema.oneOf([ - schema.literal('MO'), - schema.literal('TU'), - schema.literal('WE'), - schema.literal('TH'), - schema.literal('FR'), - schema.literal('SA'), - schema.literal('SU'), - ]) - ), - byweekday: schema.maybe(schema.arrayOf(schema.oneOf([schema.string(), schema.number()]))), - bymonth: schema.maybe(schema.arrayOf(schema.number())), - bysetpos: schema.maybe(schema.arrayOf(schema.number())), - bymonthday: schema.arrayOf(schema.number()), - byyearday: schema.arrayOf(schema.number()), - byweekno: schema.arrayOf(schema.number()), - byhour: schema.arrayOf(schema.number()), - byminute: schema.arrayOf(schema.number()), - bysecond: schema.arrayOf(schema.number()), -}); - export const ruleSnoozeScheduleSchema = schema.object({ duration: schema.number(), - rRule: rRuleSchema, + rRule: rRuleResponseSchemaV1, id: schema.maybe(schema.string()), skipRecurrences: schema.maybe(schema.arrayOf(schema.string())), }); diff --git a/x-pack/plugins/alerting/server/application/maintenance_window/constants.ts b/x-pack/plugins/alerting/server/application/maintenance_window/constants.ts new file mode 100644 index 00000000000000..2844030ad79cc2 --- /dev/null +++ b/x-pack/plugins/alerting/server/application/maintenance_window/constants.ts @@ -0,0 +1,13 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +export const maintenanceWindowStatus = { + RUNNING: 'running', + UPCOMING: 'upcoming', + FINISHED: 'finished', + ARCHIVED: 'archived', +} as const; diff --git a/x-pack/plugins/alerting/server/maintenance_window_client/generate_maintenance_window_events.test.ts b/x-pack/plugins/alerting/server/application/maintenance_window/lib/generate_maintenance_window_events.test.ts similarity index 100% rename from x-pack/plugins/alerting/server/maintenance_window_client/generate_maintenance_window_events.test.ts rename to x-pack/plugins/alerting/server/application/maintenance_window/lib/generate_maintenance_window_events.test.ts diff --git a/x-pack/plugins/alerting/server/maintenance_window_client/generate_maintenance_window_events.ts b/x-pack/plugins/alerting/server/application/maintenance_window/lib/generate_maintenance_window_events.ts similarity index 99% rename from x-pack/plugins/alerting/server/maintenance_window_client/generate_maintenance_window_events.ts rename to x-pack/plugins/alerting/server/application/maintenance_window/lib/generate_maintenance_window_events.ts index 92ad3ad0fda4de..99f8e99f3f5e33 100644 --- a/x-pack/plugins/alerting/server/maintenance_window_client/generate_maintenance_window_events.ts +++ b/x-pack/plugins/alerting/server/application/maintenance_window/lib/generate_maintenance_window_events.ts @@ -8,7 +8,7 @@ import _ from 'lodash'; import moment from 'moment-timezone'; import { RRule, Weekday } from '@kbn/rrule'; -import { RRuleParams, MaintenanceWindowSOAttributes, DateRange } from '../../common'; +import { RRuleParams, MaintenanceWindowSOAttributes, DateRange } from '../../../../common'; export interface GenerateMaintenanceWindowEventsParams { rRule: RRuleParams; diff --git a/x-pack/plugins/alerting/server/maintenance_window_client/get_maintenance_window_date_and_status.test.ts b/x-pack/plugins/alerting/server/application/maintenance_window/lib/get_maintenance_window_date_and_status.test.ts similarity index 99% rename from x-pack/plugins/alerting/server/maintenance_window_client/get_maintenance_window_date_and_status.test.ts rename to x-pack/plugins/alerting/server/application/maintenance_window/lib/get_maintenance_window_date_and_status.test.ts index c0a61f7097f80f..2ee4e2d8ea20ba 100644 --- a/x-pack/plugins/alerting/server/maintenance_window_client/get_maintenance_window_date_and_status.test.ts +++ b/x-pack/plugins/alerting/server/application/maintenance_window/lib/get_maintenance_window_date_and_status.test.ts @@ -10,7 +10,7 @@ import { getMaintenanceWindowDateAndStatus, findRecentEventWithStatus, } from './get_maintenance_window_date_and_status'; -import { DateRange, MaintenanceWindowStatus } from '../../common'; +import { DateRange, MaintenanceWindowStatus } from '../../../../common'; const events: DateRange[] = [ { diff --git a/x-pack/plugins/alerting/server/maintenance_window_client/get_maintenance_window_date_and_status.ts b/x-pack/plugins/alerting/server/application/maintenance_window/lib/get_maintenance_window_date_and_status.ts similarity index 98% rename from x-pack/plugins/alerting/server/maintenance_window_client/get_maintenance_window_date_and_status.ts rename to x-pack/plugins/alerting/server/application/maintenance_window/lib/get_maintenance_window_date_and_status.ts index 4cd1e3322134bb..877f6f2fe32eb1 100644 --- a/x-pack/plugins/alerting/server/maintenance_window_client/get_maintenance_window_date_and_status.ts +++ b/x-pack/plugins/alerting/server/application/maintenance_window/lib/get_maintenance_window_date_and_status.ts @@ -5,7 +5,7 @@ * 2.0. */ import moment from 'moment'; -import { DateRange, MaintenanceWindowStatus } from '../../common'; +import { DateRange, MaintenanceWindowStatus } from '../../../../common'; export interface DateSearchResult { event: DateRange; diff --git a/x-pack/plugins/alerting/server/application/maintenance_window/lib/index.ts b/x-pack/plugins/alerting/server/application/maintenance_window/lib/index.ts new file mode 100644 index 00000000000000..473de1f777d884 --- /dev/null +++ b/x-pack/plugins/alerting/server/application/maintenance_window/lib/index.ts @@ -0,0 +1,17 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +export { + generateMaintenanceWindowEvents, + shouldRegenerateEvents, + mergeEvents, +} from './generate_maintenance_window_events'; + +export { + getMaintenanceWindowDateAndStatus, + findRecentEventWithStatus, +} from './get_maintenance_window_date_and_status'; diff --git a/x-pack/plugins/alerting/server/maintenance_window_client/methods/archive.test.ts b/x-pack/plugins/alerting/server/application/maintenance_window/methods/archive/archive_maintenance_window.test.ts similarity index 91% rename from x-pack/plugins/alerting/server/maintenance_window_client/methods/archive.test.ts rename to x-pack/plugins/alerting/server/application/maintenance_window/methods/archive/archive_maintenance_window.test.ts index c3da9c59482061..0a4f25d87fbbf0 100644 --- a/x-pack/plugins/alerting/server/maintenance_window_client/methods/archive.test.ts +++ b/x-pack/plugins/alerting/server/application/maintenance_window/methods/archive/archive_maintenance_window.test.ts @@ -7,14 +7,15 @@ import moment from 'moment-timezone'; import { Frequency } from '@kbn/rrule'; -import { archive } from './archive'; +import { archiveMaintenanceWindow } from './archive_maintenance_window'; import { savedObjectsClientMock, loggingSystemMock } from '@kbn/core/server/mocks'; import { SavedObjectsUpdateResponse, SavedObject } from '@kbn/core/server'; import { MaintenanceWindowClientContext, MAINTENANCE_WINDOW_SAVED_OBJECT_TYPE, -} from '../../../common'; -import { getMockMaintenanceWindow } from './test_helpers'; +} from '../../../../../common'; +import { getMockMaintenanceWindow } from '../../../../data/maintenance_window/test_helpers'; +import type { MaintenanceWindow } from '../../types'; const savedObjectsClient = savedObjectsClientMock.create(); @@ -68,7 +69,7 @@ describe('MaintenanceWindowClient - archive', () => { // Move to some time in the future jest.useFakeTimers().setSystemTime(new Date(secondTimestamp)); - await archive(mockContext, { id: 'test-id', archive: true }); + await archiveMaintenanceWindow(mockContext, { id: 'test-id', archive: true }); expect(savedObjectsClient.get).toHaveBeenLastCalledWith( MAINTENANCE_WINDOW_SAVED_OBJECT_TYPE, @@ -116,7 +117,7 @@ describe('MaintenanceWindowClient - archive', () => { // Move to some time in the future jest.useFakeTimers().setSystemTime(new Date(secondTimestamp)); - await archive(mockContext, { id: 'test-id', archive: false }); + await archiveMaintenanceWindow(mockContext, { id: 'test-id', archive: false }); expect(savedObjectsClient.get).toHaveBeenLastCalledWith( MAINTENANCE_WINDOW_SAVED_OBJECT_TYPE, @@ -155,7 +156,7 @@ describe('MaintenanceWindowClient - archive', () => { dtstart: '2023-03-26T00:00:00.000Z', freq: Frequency.WEEKLY, count: 5, - }, + } as MaintenanceWindow['rRule'], events: modifiedEvents, expirationDate: moment(new Date(firstTimestamp)).tz('UTC').add(2, 'week').toISOString(), }); @@ -175,7 +176,7 @@ describe('MaintenanceWindowClient - archive', () => { } as unknown as SavedObjectsUpdateResponse); jest.useFakeTimers().setSystemTime(new Date('2023-04-16T00:00:00.000Z')); - await archive(mockContext, { id: 'test-id', archive: true }); + await archiveMaintenanceWindow(mockContext, { id: 'test-id', archive: true }); expect(savedObjectsClient.update).toHaveBeenLastCalledWith( MAINTENANCE_WINDOW_SAVED_OBJECT_TYPE, diff --git a/x-pack/plugins/alerting/server/maintenance_window_client/methods/archive.ts b/x-pack/plugins/alerting/server/application/maintenance_window/methods/archive/archive_maintenance_window.ts similarity index 57% rename from x-pack/plugins/alerting/server/maintenance_window_client/methods/archive.ts rename to x-pack/plugins/alerting/server/application/maintenance_window/methods/archive/archive_maintenance_window.ts index 948f3c0e3e06e8..461f88288ced37 100644 --- a/x-pack/plugins/alerting/server/maintenance_window_client/methods/archive.ts +++ b/x-pack/plugins/alerting/server/application/maintenance_window/methods/archive/archive_maintenance_window.ts @@ -7,23 +7,23 @@ import moment from 'moment'; import Boom from '@hapi/boom'; +import type { MaintenanceWindowClientContext } from '../../../../../common'; +import type { MaintenanceWindow } from '../../types'; +import type { ArchiveMaintenanceWindowParams } from './types'; +import { archiveMaintenanceWindowParamsSchema } from './schemas'; import { generateMaintenanceWindowEvents, mergeEvents, -} from '../generate_maintenance_window_events'; -import { getMaintenanceWindowFromRaw } from '../get_maintenance_window_from_raw'; +} from '../../lib/generate_maintenance_window_events'; +import { retryIfConflicts } from '../../../../lib/retry_if_conflicts'; import { - MaintenanceWindowSOAttributes, - MaintenanceWindow, - MAINTENANCE_WINDOW_SAVED_OBJECT_TYPE, - MaintenanceWindowClientContext, -} from '../../../common'; -import { retryIfConflicts } from '../../lib/retry_if_conflicts'; - -export interface ArchiveParams { - id: string; - archive: boolean; -} + transformMaintenanceWindowAttributesToMaintenanceWindow, + transformMaintenanceWindowToMaintenanceWindowAttributes, +} from '../../transforms'; +import { + getMaintenanceWindowSo, + updateMaintenanceWindowSo, +} from '../../../../data/maintenance_window'; const getArchivedExpirationDate = (shouldArchive: boolean) => { if (shouldArchive) { @@ -32,9 +32,9 @@ const getArchivedExpirationDate = (shouldArchive: boolean) => { return moment.utc().add(1, 'year').toISOString(); }; -export async function archive( +export async function archiveMaintenanceWindow( context: MaintenanceWindowClientContext, - params: ArchiveParams + params: ArchiveMaintenanceWindowParams ): Promise { return await retryIfConflicts( context.logger, @@ -47,8 +47,14 @@ export async function archive( async function archiveWithOCC( context: MaintenanceWindowClientContext, - params: ArchiveParams + params: ArchiveMaintenanceWindowParams ): Promise { + try { + archiveMaintenanceWindowParamsSchema.validate(params); + } catch (error) { + throw Boom.badRequest(`Error validating archive params - ${error.message}`); + } + const { savedObjectsClient, getModificationMetadata, logger } = context; const { id, archive: shouldArchive } = params; @@ -56,10 +62,10 @@ async function archiveWithOCC( const expirationDate = getArchivedExpirationDate(shouldArchive); try { - const { attributes, version } = await savedObjectsClient.get( - MAINTENANCE_WINDOW_SAVED_OBJECT_TYPE, - id - ); + const { attributes, version } = await getMaintenanceWindowSo({ + id, + savedObjectsClient, + }); const events = mergeEvents({ newEvents: generateMaintenanceWindowEvents({ @@ -70,27 +76,30 @@ async function archiveWithOCC( oldEvents: attributes.events, }); - const result = await savedObjectsClient.update( - MAINTENANCE_WINDOW_SAVED_OBJECT_TYPE, - id, - { + const updatedMaintenanceWindowAttributes = + transformMaintenanceWindowToMaintenanceWindowAttributes({ ...attributes, events, expirationDate, updatedAt: modificationMetadata.updatedAt, updatedBy: modificationMetadata.updatedBy, - }, - { + }); + + const result = await updateMaintenanceWindowSo({ + id, + savedObjectsClient, + updateMaintenanceWindowAttributes: updatedMaintenanceWindowAttributes, + savedObjectsUpdateOptions: { version, - } - ); + }, + }); - return getMaintenanceWindowFromRaw({ + return transformMaintenanceWindowAttributesToMaintenanceWindow({ attributes: { ...attributes, ...result.attributes, }, - id, + id: result.id, }); } catch (e) { const errorMessage = `Failed to archive maintenance window by id: ${id}, Error: ${e}`; diff --git a/x-pack/plugins/alerting/server/application/maintenance_window/methods/archive/schemas/archive_maintenance_window_params_schema.ts b/x-pack/plugins/alerting/server/application/maintenance_window/methods/archive/schemas/archive_maintenance_window_params_schema.ts new file mode 100644 index 00000000000000..6dd806c856f27a --- /dev/null +++ b/x-pack/plugins/alerting/server/application/maintenance_window/methods/archive/schemas/archive_maintenance_window_params_schema.ts @@ -0,0 +1,13 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { schema } from '@kbn/config-schema'; + +export const archiveMaintenanceWindowParamsSchema = schema.object({ + id: schema.string(), + archive: schema.boolean(), +}); diff --git a/x-pack/plugins/alerting/server/application/maintenance_window/methods/archive/schemas/index.ts b/x-pack/plugins/alerting/server/application/maintenance_window/methods/archive/schemas/index.ts new file mode 100644 index 00000000000000..1e85f6049a4efd --- /dev/null +++ b/x-pack/plugins/alerting/server/application/maintenance_window/methods/archive/schemas/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 { archiveMaintenanceWindowParamsSchema } from './archive_maintenance_window_params_schema'; diff --git a/x-pack/plugins/alerting/server/application/maintenance_window/methods/archive/types/archive_maintenance_window_params.ts b/x-pack/plugins/alerting/server/application/maintenance_window/methods/archive/types/archive_maintenance_window_params.ts new file mode 100644 index 00000000000000..81ad31de9c6a9b --- /dev/null +++ b/x-pack/plugins/alerting/server/application/maintenance_window/methods/archive/types/archive_maintenance_window_params.ts @@ -0,0 +1,11 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import type { TypeOf } from '@kbn/config-schema'; +import { archiveMaintenanceWindowParamsSchema } from '../schemas'; + +export type ArchiveMaintenanceWindowParams = TypeOf; diff --git a/x-pack/plugins/alerting/server/application/maintenance_window/methods/archive/types/index.ts b/x-pack/plugins/alerting/server/application/maintenance_window/methods/archive/types/index.ts new file mode 100644 index 00000000000000..388f69056d9e28 --- /dev/null +++ b/x-pack/plugins/alerting/server/application/maintenance_window/methods/archive/types/index.ts @@ -0,0 +1,8 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +export type { ArchiveMaintenanceWindowParams } from './archive_maintenance_window_params'; diff --git a/x-pack/plugins/alerting/server/maintenance_window_client/methods/bulk_get.test.ts b/x-pack/plugins/alerting/server/application/maintenance_window/methods/bulk_get/bulk_get_maintenance_windows.test.ts similarity index 87% rename from x-pack/plugins/alerting/server/maintenance_window_client/methods/bulk_get.test.ts rename to x-pack/plugins/alerting/server/application/maintenance_window/methods/bulk_get/bulk_get_maintenance_windows.test.ts index c0d12169ac909b..488eb14f7df279 100644 --- a/x-pack/plugins/alerting/server/maintenance_window_client/methods/bulk_get.test.ts +++ b/x-pack/plugins/alerting/server/application/maintenance_window/methods/bulk_get/bulk_get_maintenance_windows.test.ts @@ -5,14 +5,14 @@ * 2.0. */ -import { bulkGet } from './bulk_get'; +import { bulkGetMaintenanceWindows } from './bulk_get_maintenance_windows'; import { savedObjectsClientMock, loggingSystemMock } from '@kbn/core/server/mocks'; import { SavedObject } from '@kbn/core/server'; import { MaintenanceWindowClientContext, MAINTENANCE_WINDOW_SAVED_OBJECT_TYPE, -} from '../../../common'; -import { getMockMaintenanceWindow } from './test_helpers'; +} from '../../../../../common'; +import { getMockMaintenanceWindow } from '../../../../data/maintenance_window/test_helpers'; const savedObjectsClient = savedObjectsClientMock.create(); @@ -55,7 +55,7 @@ describe('MaintenanceWindowClient - get', () => { ], }); - const result = await bulkGet(mockContext, { ids: ['id-1', 'id-2'] }); + const result = await bulkGetMaintenanceWindows(mockContext, { ids: ['id-1', 'id-2'] }); expect(savedObjectsClient.bulkGet).toHaveBeenLastCalledWith([ { diff --git a/x-pack/plugins/alerting/server/application/maintenance_window/methods/bulk_get/bulk_get_maintenance_windows.ts b/x-pack/plugins/alerting/server/application/maintenance_window/methods/bulk_get/bulk_get_maintenance_windows.ts new file mode 100644 index 00000000000000..ed9d403f3fa5cf --- /dev/null +++ b/x-pack/plugins/alerting/server/application/maintenance_window/methods/bulk_get/bulk_get_maintenance_windows.ts @@ -0,0 +1,71 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import Boom from '@hapi/boom'; +import type { + BulkGetMaintenanceWindowsParams, + BulkGetMaintenanceWindowsError, + BulkGetMaintenanceWindowsResult, +} from './types'; +import type { MaintenanceWindow } from '../../types'; +import { bulkGetMaintenanceWindowsParamsSchema } from './schemas'; +import type { MaintenanceWindowClientContext } from '../../../../../common'; +import { transformMaintenanceWindowAttributesToMaintenanceWindow } from '../../transforms'; +import { bulkGetMaintenanceWindowSo } from '../../../../data/maintenance_window'; + +export async function bulkGetMaintenanceWindows( + context: MaintenanceWindowClientContext, + params: BulkGetMaintenanceWindowsParams +): Promise { + const { savedObjectsClient, logger } = context; + const { ids } = params; + + try { + bulkGetMaintenanceWindowsParamsSchema.validate(params); + } catch (error) { + throw Boom.badRequest(`Error validating bulk get maintenance window data - ${error.message}`); + } + + const bulkGetObjects = ids.map((id) => ({ id })); + + try { + const { saved_objects: savedObjects } = await bulkGetMaintenanceWindowSo({ + objects: bulkGetObjects, + savedObjectsClient, + }); + + const maintenanceWindows: MaintenanceWindow[] = []; + const errors: BulkGetMaintenanceWindowsError[] = []; + + savedObjects.forEach((so) => { + if (so.error) { + errors.push({ + id: so.id, + error: so.error.error, + message: so.error.message, + statusCode: so.error.statusCode, + }); + } else { + maintenanceWindows.push( + transformMaintenanceWindowAttributesToMaintenanceWindow({ + id: so.id, + attributes: so.attributes, + }) + ); + } + }); + + return { + maintenanceWindows, + errors, + }; + } catch (e) { + const errorMessage = `Failed to bulk get maintenance window for ids: ${ids}, Error: ${e}`; + logger.error(errorMessage); + throw Boom.boomify(e, { message: errorMessage }); + } +} diff --git a/x-pack/plugins/alerting/server/application/maintenance_window/methods/bulk_get/schemas/bulk_get_maintenance_windows_params_schema.ts b/x-pack/plugins/alerting/server/application/maintenance_window/methods/bulk_get/schemas/bulk_get_maintenance_windows_params_schema.ts new file mode 100644 index 00000000000000..80e7cb776c9115 --- /dev/null +++ b/x-pack/plugins/alerting/server/application/maintenance_window/methods/bulk_get/schemas/bulk_get_maintenance_windows_params_schema.ts @@ -0,0 +1,12 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { schema } from '@kbn/config-schema'; + +export const bulkGetMaintenanceWindowsParamsSchema = schema.object({ + ids: schema.arrayOf(schema.string()), +}); diff --git a/x-pack/plugins/alerting/server/application/maintenance_window/methods/bulk_get/schemas/bulk_get_maintenance_windows_result_schema.ts b/x-pack/plugins/alerting/server/application/maintenance_window/methods/bulk_get/schemas/bulk_get_maintenance_windows_result_schema.ts new file mode 100644 index 00000000000000..214c9553a2e5dd --- /dev/null +++ b/x-pack/plugins/alerting/server/application/maintenance_window/methods/bulk_get/schemas/bulk_get_maintenance_windows_result_schema.ts @@ -0,0 +1,21 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { schema } from '@kbn/config-schema'; +import { maintenanceWindowSchema } from '../../../schemas'; + +export const bulkGetMaintenanceWindowsErrorSchema = schema.object({ + id: schema.string(), + error: schema.string(), + message: schema.string(), + statusCode: schema.number(), +}); + +export const bulkGetMaintenanceWindowsResultSchema = schema.object({ + maintenanceWindows: schema.arrayOf(maintenanceWindowSchema), + errors: schema.arrayOf(bulkGetMaintenanceWindowsErrorSchema), +}); diff --git a/x-pack/plugins/alerting/server/application/maintenance_window/methods/bulk_get/schemas/index.ts b/x-pack/plugins/alerting/server/application/maintenance_window/methods/bulk_get/schemas/index.ts new file mode 100644 index 00000000000000..f59497cf06d9e9 --- /dev/null +++ b/x-pack/plugins/alerting/server/application/maintenance_window/methods/bulk_get/schemas/index.ts @@ -0,0 +1,13 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +export { + bulkGetMaintenanceWindowsErrorSchema, + bulkGetMaintenanceWindowsResultSchema, +} from './bulk_get_maintenance_windows_result_schema'; + +export { bulkGetMaintenanceWindowsParamsSchema } from './bulk_get_maintenance_windows_params_schema'; diff --git a/x-pack/plugins/alerting/server/application/maintenance_window/methods/bulk_get/types/bulk_get_maintenance_window_params.ts b/x-pack/plugins/alerting/server/application/maintenance_window/methods/bulk_get/types/bulk_get_maintenance_window_params.ts new file mode 100644 index 00000000000000..7b0a1558809260 --- /dev/null +++ b/x-pack/plugins/alerting/server/application/maintenance_window/methods/bulk_get/types/bulk_get_maintenance_window_params.ts @@ -0,0 +1,11 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { TypeOf } from '@kbn/config-schema'; +import { bulkGetMaintenanceWindowsParamsSchema } from '../schemas'; + +export type BulkGetMaintenanceWindowsParams = TypeOf; diff --git a/x-pack/plugins/alerting/server/application/maintenance_window/methods/bulk_get/types/bulk_get_maintenance_window_result.ts b/x-pack/plugins/alerting/server/application/maintenance_window/methods/bulk_get/types/bulk_get_maintenance_window_result.ts new file mode 100644 index 00000000000000..7f640342bf6519 --- /dev/null +++ b/x-pack/plugins/alerting/server/application/maintenance_window/methods/bulk_get/types/bulk_get_maintenance_window_result.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. + */ + +import { TypeOf } from '@kbn/config-schema'; +import { + bulkGetMaintenanceWindowsErrorSchema, + bulkGetMaintenanceWindowsResultSchema, +} from '../schemas'; + +export type BulkGetMaintenanceWindowsError = TypeOf; +export type BulkGetMaintenanceWindowsResult = TypeOf; diff --git a/x-pack/plugins/alerting/server/application/maintenance_window/methods/bulk_get/types/index.ts b/x-pack/plugins/alerting/server/application/maintenance_window/methods/bulk_get/types/index.ts new file mode 100644 index 00000000000000..ecd869b8f10649 --- /dev/null +++ b/x-pack/plugins/alerting/server/application/maintenance_window/methods/bulk_get/types/index.ts @@ -0,0 +1,13 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +export type { + BulkGetMaintenanceWindowsError, + BulkGetMaintenanceWindowsResult, +} from './bulk_get_maintenance_window_result'; + +export type { BulkGetMaintenanceWindowsParams } from './bulk_get_maintenance_window_params'; diff --git a/x-pack/plugins/alerting/server/maintenance_window_client/methods/create.test.ts b/x-pack/plugins/alerting/server/application/maintenance_window/methods/create/create_maintenance_window.test.ts similarity index 81% rename from x-pack/plugins/alerting/server/maintenance_window_client/methods/create.test.ts rename to x-pack/plugins/alerting/server/application/maintenance_window/methods/create/create_maintenance_window.test.ts index 656a0907880795..452c3fe5c999ca 100644 --- a/x-pack/plugins/alerting/server/maintenance_window_client/methods/create.test.ts +++ b/x-pack/plugins/alerting/server/application/maintenance_window/methods/create/create_maintenance_window.test.ts @@ -6,14 +6,15 @@ */ import moment from 'moment-timezone'; -import { create } from './create'; +import { createMaintenanceWindow } from './create_maintenance_window'; +import { CreateMaintenanceWindowParams } from './types'; import { savedObjectsClientMock, loggingSystemMock } from '@kbn/core/server/mocks'; import { SavedObject } from '@kbn/core/server'; import { MaintenanceWindowClientContext, MAINTENANCE_WINDOW_SAVED_OBJECT_TYPE, -} from '../../../common'; -import { getMockMaintenanceWindow } from './test_helpers'; +} from '../../../../../common'; +import { getMockMaintenanceWindow } from '../../../../data/maintenance_window/test_helpers'; const savedObjectsClient = savedObjectsClientMock.create(); @@ -56,10 +57,12 @@ describe('MaintenanceWindowClient - create', () => { id: 'test-id', } as unknown as SavedObject); - const result = await create(mockContext, { - title: mockMaintenanceWindow.title, - duration: mockMaintenanceWindow.duration, - rRule: mockMaintenanceWindow.rRule, + const result = await createMaintenanceWindow(mockContext, { + data: { + title: mockMaintenanceWindow.title, + duration: mockMaintenanceWindow.duration, + rRule: mockMaintenanceWindow.rRule as CreateMaintenanceWindowParams['data']['rRule'], + }, }); expect(savedObjectsClient.create).toHaveBeenLastCalledWith( diff --git a/x-pack/plugins/alerting/server/application/maintenance_window/methods/create/create_maintenance_window.ts b/x-pack/plugins/alerting/server/application/maintenance_window/methods/create/create_maintenance_window.ts new file mode 100644 index 00000000000000..4f02b9038197fb --- /dev/null +++ b/x-pack/plugins/alerting/server/application/maintenance_window/methods/create/create_maintenance_window.ts @@ -0,0 +1,69 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import moment from 'moment'; +import Boom from '@hapi/boom'; +import { SavedObjectsUtils } from '@kbn/core/server'; +import { generateMaintenanceWindowEvents } from '../../lib/generate_maintenance_window_events'; +import type { MaintenanceWindowClientContext } from '../../../../../common'; +import type { MaintenanceWindow } from '../../types'; +import type { CreateMaintenanceWindowParams } from './types'; +import { + transformMaintenanceWindowAttributesToMaintenanceWindow, + transformMaintenanceWindowToMaintenanceWindowAttributes, +} from '../../transforms'; +import { createMaintenanceWindowSo } from '../../../../data/maintenance_window'; +import { createMaintenanceWindowParamsSchema } from './schemas'; + +export async function createMaintenanceWindow( + context: MaintenanceWindowClientContext, + params: CreateMaintenanceWindowParams +): Promise { + const { data } = params; + const { savedObjectsClient, getModificationMetadata, logger } = context; + const { title, duration, rRule } = data; + + try { + createMaintenanceWindowParamsSchema.validate(params); + } catch (error) { + throw Boom.badRequest(`Error validating create maintenance window data - ${error.message}`); + } + + const id = SavedObjectsUtils.generateId(); + const expirationDate = moment().utc().add(1, 'year').toISOString(); + const modificationMetadata = await getModificationMetadata(); + + const events = generateMaintenanceWindowEvents({ rRule, expirationDate, duration }); + const maintenanceWindowAttributes = transformMaintenanceWindowToMaintenanceWindowAttributes({ + title, + enabled: true, + expirationDate, + rRule: rRule as MaintenanceWindow['rRule'], + duration, + events, + ...modificationMetadata, + }); + + try { + const result = await createMaintenanceWindowSo({ + savedObjectsClient, + maintenanceWindowAttributes, + savedObjectsCreateOptions: { + id, + }, + }); + + return transformMaintenanceWindowAttributesToMaintenanceWindow({ + attributes: result.attributes, + id: result.id, + }); + } catch (e) { + const errorMessage = `Failed to create maintenance window, Error: ${e}`; + logger.error(errorMessage); + throw Boom.boomify(e, { message: errorMessage }); + } +} diff --git a/x-pack/plugins/alerting/server/application/maintenance_window/methods/create/schemas/create_maintenance_window_params_schema.ts b/x-pack/plugins/alerting/server/application/maintenance_window/methods/create/schemas/create_maintenance_window_params_schema.ts new file mode 100644 index 00000000000000..306b9bd8c259aa --- /dev/null +++ b/x-pack/plugins/alerting/server/application/maintenance_window/methods/create/schemas/create_maintenance_window_params_schema.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 { schema } from '@kbn/config-schema'; +import { rRuleRequestSchema } from '../../../../r_rule/schemas'; + +export const createMaintenanceWindowParamsSchema = schema.object({ + data: schema.object({ + title: schema.string(), + duration: schema.number(), + rRule: rRuleRequestSchema, + }), +}); diff --git a/x-pack/plugins/alerting/server/application/maintenance_window/methods/create/schemas/index.ts b/x-pack/plugins/alerting/server/application/maintenance_window/methods/create/schemas/index.ts new file mode 100644 index 00000000000000..0cea0dce3efe26 --- /dev/null +++ b/x-pack/plugins/alerting/server/application/maintenance_window/methods/create/schemas/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 { createMaintenanceWindowParamsSchema } from './create_maintenance_window_params_schema'; diff --git a/x-pack/plugins/alerting/server/application/maintenance_window/methods/create/types/create_maintenance_window_params.ts b/x-pack/plugins/alerting/server/application/maintenance_window/methods/create/types/create_maintenance_window_params.ts new file mode 100644 index 00000000000000..66f9070f24277b --- /dev/null +++ b/x-pack/plugins/alerting/server/application/maintenance_window/methods/create/types/create_maintenance_window_params.ts @@ -0,0 +1,11 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { TypeOf } from '@kbn/config-schema'; +import { createMaintenanceWindowParamsSchema } from '../schemas'; + +export type CreateMaintenanceWindowParams = TypeOf; diff --git a/x-pack/plugins/alerting/server/application/maintenance_window/methods/create/types/index.ts b/x-pack/plugins/alerting/server/application/maintenance_window/methods/create/types/index.ts new file mode 100644 index 00000000000000..2f43ca0850e891 --- /dev/null +++ b/x-pack/plugins/alerting/server/application/maintenance_window/methods/create/types/index.ts @@ -0,0 +1,8 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +export type { CreateMaintenanceWindowParams } from './create_maintenance_window_params'; diff --git a/x-pack/plugins/alerting/server/maintenance_window_client/methods/delete.test.ts b/x-pack/plugins/alerting/server/application/maintenance_window/methods/delete/delete_maintenance_window.test.ts similarity index 92% rename from x-pack/plugins/alerting/server/maintenance_window_client/methods/delete.test.ts rename to x-pack/plugins/alerting/server/application/maintenance_window/methods/delete/delete_maintenance_window.test.ts index 866382eee81bcf..0fd75c49f91d51 100644 --- a/x-pack/plugins/alerting/server/maintenance_window_client/methods/delete.test.ts +++ b/x-pack/plugins/alerting/server/application/maintenance_window/methods/delete/delete_maintenance_window.test.ts @@ -5,12 +5,12 @@ * 2.0. */ -import { deleteMaintenanceWindow } from './delete'; +import { deleteMaintenanceWindow } from './delete_maintenance_window'; import { savedObjectsClientMock, loggingSystemMock } from '@kbn/core/server/mocks'; import { MaintenanceWindowClientContext, MAINTENANCE_WINDOW_SAVED_OBJECT_TYPE, -} from '../../../common'; +} from '../../../../../common'; const savedObjectsClient = savedObjectsClientMock.create(); @@ -36,7 +36,8 @@ describe('MaintenanceWindowClient - delete', () => { expect(savedObjectsClient.delete).toHaveBeenLastCalledWith( MAINTENANCE_WINDOW_SAVED_OBJECT_TYPE, - 'test-id' + 'test-id', + undefined ); expect(result).toEqual({}); diff --git a/x-pack/plugins/alerting/server/maintenance_window_client/methods/delete.ts b/x-pack/plugins/alerting/server/application/maintenance_window/methods/delete/delete_maintenance_window.ts similarity index 57% rename from x-pack/plugins/alerting/server/maintenance_window_client/methods/delete.ts rename to x-pack/plugins/alerting/server/application/maintenance_window/methods/delete/delete_maintenance_window.ts index 8b72742cc94b6b..44bcdd9f550493 100644 --- a/x-pack/plugins/alerting/server/maintenance_window_client/methods/delete.ts +++ b/x-pack/plugins/alerting/server/application/maintenance_window/methods/delete/delete_maintenance_window.ts @@ -6,19 +6,15 @@ */ import Boom from '@hapi/boom'; -import { - MAINTENANCE_WINDOW_SAVED_OBJECT_TYPE, - MaintenanceWindowClientContext, -} from '../../../common'; -import { retryIfConflicts } from '../../lib/retry_if_conflicts'; - -export interface DeleteParams { - id: string; -} +import type { MaintenanceWindowClientContext } from '../../../../../common'; +import type { DeleteMaintenanceWindowParams } from './types'; +import { deleteMaintenanceWindowParamsSchema } from './schemas'; +import { retryIfConflicts } from '../../../../lib/retry_if_conflicts'; +import { deleteMaintenanceWindowSo } from '../../../../data/maintenance_window'; export async function deleteMaintenanceWindow( context: MaintenanceWindowClientContext, - params: DeleteParams + params: DeleteMaintenanceWindowParams ): Promise<{}> { return await retryIfConflicts( context.logger, @@ -29,12 +25,19 @@ export async function deleteMaintenanceWindow( async function deleteWithOCC( context: MaintenanceWindowClientContext, - params: DeleteParams + params: DeleteMaintenanceWindowParams ): Promise<{}> { const { savedObjectsClient, logger } = context; const { id } = params; + + try { + deleteMaintenanceWindowParamsSchema.validate(params); + } catch (error) { + throw Boom.badRequest(`Error validating delete maintenance window data - ${error.message}`); + } + try { - return await savedObjectsClient.delete(MAINTENANCE_WINDOW_SAVED_OBJECT_TYPE, id); + return await deleteMaintenanceWindowSo({ id, savedObjectsClient }); } catch (e) { const errorMessage = `Failed to delete maintenance window by id: ${id}, Error: ${e}`; logger.error(errorMessage); diff --git a/x-pack/plugins/alerting/server/application/maintenance_window/methods/delete/schemas/delete_maintenance_window_params_schema.ts b/x-pack/plugins/alerting/server/application/maintenance_window/methods/delete/schemas/delete_maintenance_window_params_schema.ts new file mode 100644 index 00000000000000..189494a30c8268 --- /dev/null +++ b/x-pack/plugins/alerting/server/application/maintenance_window/methods/delete/schemas/delete_maintenance_window_params_schema.ts @@ -0,0 +1,12 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { schema } from '@kbn/config-schema'; + +export const deleteMaintenanceWindowParamsSchema = schema.object({ + id: schema.string(), +}); diff --git a/x-pack/plugins/alerting/server/application/maintenance_window/methods/delete/schemas/index.ts b/x-pack/plugins/alerting/server/application/maintenance_window/methods/delete/schemas/index.ts new file mode 100644 index 00000000000000..9310193b7c6d0c --- /dev/null +++ b/x-pack/plugins/alerting/server/application/maintenance_window/methods/delete/schemas/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 { deleteMaintenanceWindowParamsSchema } from './delete_maintenance_window_params_schema'; diff --git a/x-pack/plugins/alerting/server/application/maintenance_window/methods/delete/types/delete_maintenance_window_params.ts b/x-pack/plugins/alerting/server/application/maintenance_window/methods/delete/types/delete_maintenance_window_params.ts new file mode 100644 index 00000000000000..e241528ec2011b --- /dev/null +++ b/x-pack/plugins/alerting/server/application/maintenance_window/methods/delete/types/delete_maintenance_window_params.ts @@ -0,0 +1,11 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { TypeOf } from '@kbn/config-schema'; +import { deleteMaintenanceWindowParamsSchema } from '../schemas'; + +export type DeleteMaintenanceWindowParams = TypeOf; diff --git a/x-pack/plugins/alerting/server/application/maintenance_window/methods/delete/types/index.ts b/x-pack/plugins/alerting/server/application/maintenance_window/methods/delete/types/index.ts new file mode 100644 index 00000000000000..67afa872c93876 --- /dev/null +++ b/x-pack/plugins/alerting/server/application/maintenance_window/methods/delete/types/index.ts @@ -0,0 +1,8 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +export type { DeleteMaintenanceWindowParams } from './delete_maintenance_window_params'; diff --git a/x-pack/plugins/alerting/server/maintenance_window_client/methods/find.test.ts b/x-pack/plugins/alerting/server/application/maintenance_window/methods/find/find_maintenance_windows.test.ts similarity index 86% rename from x-pack/plugins/alerting/server/maintenance_window_client/methods/find.test.ts rename to x-pack/plugins/alerting/server/application/maintenance_window/methods/find/find_maintenance_windows.test.ts index f29e6576e6f788..8645012406e2c2 100644 --- a/x-pack/plugins/alerting/server/maintenance_window_client/methods/find.test.ts +++ b/x-pack/plugins/alerting/server/application/maintenance_window/methods/find/find_maintenance_windows.test.ts @@ -5,14 +5,14 @@ * 2.0. */ -import { find } from './find'; +import { findMaintenanceWindows } from './find_maintenance_windows'; import { savedObjectsClientMock, loggingSystemMock } from '@kbn/core/server/mocks'; import { SavedObjectsFindResponse } from '@kbn/core/server'; import { MaintenanceWindowClientContext, MAINTENANCE_WINDOW_SAVED_OBJECT_TYPE, -} from '../../../common'; -import { getMockMaintenanceWindow } from './test_helpers'; +} from '../../../../../common'; +import { getMockMaintenanceWindow } from '../../../../data/maintenance_window/test_helpers'; const savedObjectsClient = savedObjectsClientMock.create(); @@ -47,7 +47,7 @@ describe('MaintenanceWindowClient - find', () => { ], } as unknown as SavedObjectsFindResponse); - const result = await find(mockContext); + const result = await findMaintenanceWindows(mockContext); expect(savedObjectsClient.find).toHaveBeenLastCalledWith({ type: MAINTENANCE_WINDOW_SAVED_OBJECT_TYPE, diff --git a/x-pack/plugins/alerting/server/maintenance_window_client/methods/find.ts b/x-pack/plugins/alerting/server/application/maintenance_window/methods/find/find_maintenance_windows.ts similarity index 53% rename from x-pack/plugins/alerting/server/maintenance_window_client/methods/find.ts rename to x-pack/plugins/alerting/server/application/maintenance_window/methods/find/find_maintenance_windows.ts index f28761b4a2b663..fe0f279ea40736 100644 --- a/x-pack/plugins/alerting/server/maintenance_window_client/methods/find.ts +++ b/x-pack/plugins/alerting/server/application/maintenance_window/methods/find/find_maintenance_windows.ts @@ -6,29 +6,22 @@ */ import Boom from '@hapi/boom'; -import { getMaintenanceWindowFromRaw } from '../get_maintenance_window_from_raw'; -import { - MaintenanceWindowSOAttributes, - MaintenanceWindow, - MAINTENANCE_WINDOW_SAVED_OBJECT_TYPE, - MaintenanceWindowClientContext, -} from '../../../common'; +import { MaintenanceWindowClientContext } from '../../../../../common'; +import { transformMaintenanceWindowAttributesToMaintenanceWindow } from '../../transforms'; +import { findMaintenanceWindowSo } from '../../../../data/maintenance_window'; +import type { FindMaintenanceWindowsResult } from './types'; -export interface FindResult { - data: MaintenanceWindow[]; -} - -export async function find(context: MaintenanceWindowClientContext): Promise { +export async function findMaintenanceWindows( + context: MaintenanceWindowClientContext +): Promise { const { savedObjectsClient, logger } = context; try { - const result = await savedObjectsClient.find({ - type: MAINTENANCE_WINDOW_SAVED_OBJECT_TYPE, - }); + const result = await findMaintenanceWindowSo({ savedObjectsClient }); return { data: result.saved_objects.map((so) => - getMaintenanceWindowFromRaw({ + transformMaintenanceWindowAttributesToMaintenanceWindow({ attributes: so.attributes, id: so.id, }) diff --git a/x-pack/plugins/alerting/server/application/maintenance_window/methods/find/schemas/find_maintenance_windows_result_schema.ts b/x-pack/plugins/alerting/server/application/maintenance_window/methods/find/schemas/find_maintenance_windows_result_schema.ts new file mode 100644 index 00000000000000..1bdc2f00219ae2 --- /dev/null +++ b/x-pack/plugins/alerting/server/application/maintenance_window/methods/find/schemas/find_maintenance_windows_result_schema.ts @@ -0,0 +1,13 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { schema } from '@kbn/config-schema'; +import { maintenanceWindowSchema } from '../../../schemas'; + +export const findMaintenanceWindowsResultSchema = schema.object({ + data: schema.arrayOf(maintenanceWindowSchema), +}); diff --git a/x-pack/plugins/alerting/server/application/maintenance_window/methods/find/schemas/index.ts b/x-pack/plugins/alerting/server/application/maintenance_window/methods/find/schemas/index.ts new file mode 100644 index 00000000000000..4b2f087c955053 --- /dev/null +++ b/x-pack/plugins/alerting/server/application/maintenance_window/methods/find/schemas/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 { findMaintenanceWindowsResultSchema } from './find_maintenance_windows_result_schema'; diff --git a/x-pack/plugins/alerting/server/application/maintenance_window/methods/find/types/find_maintenance_window_result.ts b/x-pack/plugins/alerting/server/application/maintenance_window/methods/find/types/find_maintenance_window_result.ts new file mode 100644 index 00000000000000..6a16366cd8f295 --- /dev/null +++ b/x-pack/plugins/alerting/server/application/maintenance_window/methods/find/types/find_maintenance_window_result.ts @@ -0,0 +1,11 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { TypeOf } from '@kbn/config-schema'; +import { findMaintenanceWindowsResultSchema } from '../schemas'; + +export type FindMaintenanceWindowsResult = TypeOf; diff --git a/x-pack/plugins/alerting/server/application/maintenance_window/methods/find/types/index.ts b/x-pack/plugins/alerting/server/application/maintenance_window/methods/find/types/index.ts new file mode 100644 index 00000000000000..a5f00973bb82e5 --- /dev/null +++ b/x-pack/plugins/alerting/server/application/maintenance_window/methods/find/types/index.ts @@ -0,0 +1,8 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +export type { FindMaintenanceWindowsResult } from './find_maintenance_window_result'; diff --git a/x-pack/plugins/alerting/server/maintenance_window_client/methods/finish.test.ts b/x-pack/plugins/alerting/server/application/maintenance_window/methods/finish/finish_maintenance_window.test.ts similarity index 90% rename from x-pack/plugins/alerting/server/maintenance_window_client/methods/finish.test.ts rename to x-pack/plugins/alerting/server/application/maintenance_window/methods/finish/finish_maintenance_window.test.ts index 8a37f228892b65..0d323423557060 100644 --- a/x-pack/plugins/alerting/server/maintenance_window_client/methods/finish.test.ts +++ b/x-pack/plugins/alerting/server/application/maintenance_window/methods/finish/finish_maintenance_window.test.ts @@ -7,14 +7,15 @@ import moment from 'moment-timezone'; import { Frequency } from '@kbn/rrule'; -import { finish } from './finish'; +import { finishMaintenanceWindow } from './finish_maintenance_window'; import { savedObjectsClientMock, loggingSystemMock } from '@kbn/core/server/mocks'; import { SavedObjectsUpdateResponse, SavedObject } from '@kbn/core/server'; import { MaintenanceWindowClientContext, MAINTENANCE_WINDOW_SAVED_OBJECT_TYPE, -} from '../../../common'; -import { getMockMaintenanceWindow } from './test_helpers'; +} from '../../../../../common'; +import { getMockMaintenanceWindow } from '../../../../data/maintenance_window/test_helpers'; +import type { MaintenanceWindow } from '../../types'; const savedObjectsClient = savedObjectsClientMock.create(); @@ -56,7 +57,7 @@ describe('MaintenanceWindowClient - finish', () => { dtstart: moment().utc().toISOString(), freq: Frequency.WEEKLY, count: 2, - }, + } as MaintenanceWindow['rRule'], }); savedObjectsClient.get.mockResolvedValueOnce({ @@ -80,7 +81,7 @@ describe('MaintenanceWindowClient - finish', () => { // Move 30 mins into the future jest.useFakeTimers().setSystemTime(moment.utc(firstTimestamp).add(30, 'minute').toDate()); - const result = await finish(mockContext, { id: 'test-id' }); + const result = await finishMaintenanceWindow(mockContext, { id: 'test-id' }); expect(savedObjectsClient.update).toHaveBeenLastCalledWith( MAINTENANCE_WINDOW_SAVED_OBJECT_TYPE, @@ -112,7 +113,7 @@ describe('MaintenanceWindowClient - finish', () => { dtstart: '2023-03-26T00:00:00.000Z', freq: Frequency.WEEKLY, count: 5, - }, + } as MaintenanceWindow['rRule'], events: modifiedEvents, expirationDate: moment(new Date(firstTimestamp)).tz('UTC').add(2, 'week').toISOString(), }); @@ -133,7 +134,7 @@ describe('MaintenanceWindowClient - finish', () => { jest.useFakeTimers().setSystemTime(new Date('2023-04-15T23:30:00.000Z')); - await finish(mockContext, { id: 'test-id' }); + await finishMaintenanceWindow(mockContext, { id: 'test-id' }); expect(savedObjectsClient.update).toHaveBeenLastCalledWith( MAINTENANCE_WINDOW_SAVED_OBJECT_TYPE, @@ -160,7 +161,7 @@ describe('MaintenanceWindowClient - finish', () => { dtstart: moment().utc().toISOString(), freq: Frequency.WEEKLY, count: 2, - }, + } as MaintenanceWindow['rRule'], }); savedObjectsClient.get.mockResolvedValueOnce({ @@ -173,7 +174,7 @@ describe('MaintenanceWindowClient - finish', () => { jest.useFakeTimers().setSystemTime(moment.utc(firstTimestamp).add(2, 'hours').toDate()); await expect(async () => { - await finish(mockContext, { id: 'test-id' }); + await finishMaintenanceWindow(mockContext, { id: 'test-id' }); }).rejects.toThrowError(); expect(mockContext.logger.error).toHaveBeenLastCalledWith( diff --git a/x-pack/plugins/alerting/server/maintenance_window_client/methods/finish.ts b/x-pack/plugins/alerting/server/application/maintenance_window/methods/finish/finish_maintenance_window.ts similarity index 61% rename from x-pack/plugins/alerting/server/maintenance_window_client/methods/finish.ts rename to x-pack/plugins/alerting/server/application/maintenance_window/methods/finish/finish_maintenance_window.ts index 1853a2e49f94e7..e318971993542a 100644 --- a/x-pack/plugins/alerting/server/maintenance_window_client/methods/finish.ts +++ b/x-pack/plugins/alerting/server/application/maintenance_window/methods/finish/finish_maintenance_window.ts @@ -10,26 +10,29 @@ import Boom from '@hapi/boom'; import { generateMaintenanceWindowEvents, mergeEvents, -} from '../generate_maintenance_window_events'; -import { getMaintenanceWindowDateAndStatus } from '../get_maintenance_window_date_and_status'; -import { getMaintenanceWindowFromRaw } from '../get_maintenance_window_from_raw'; +} from '../../lib/generate_maintenance_window_events'; +import { getMaintenanceWindowDateAndStatus } from '../../lib/get_maintenance_window_date_and_status'; import { - MaintenanceWindowSOAttributes, - MaintenanceWindow, DateRange, - MAINTENANCE_WINDOW_SAVED_OBJECT_TYPE, MaintenanceWindowClientContext, MaintenanceWindowStatus, -} from '../../../common'; -import { retryIfConflicts } from '../../lib/retry_if_conflicts'; - -export interface FinishParams { - id: string; -} +} from '../../../../../common'; +import { retryIfConflicts } from '../../../../lib/retry_if_conflicts'; +import { + getMaintenanceWindowSo, + updateMaintenanceWindowSo, +} from '../../../../data/maintenance_window'; +import type { MaintenanceWindow } from '../../types'; +import { + transformMaintenanceWindowAttributesToMaintenanceWindow, + transformMaintenanceWindowToMaintenanceWindowAttributes, +} from '../../transforms'; +import type { FinishMaintenanceWindowParams } from './types'; +import { finishMaintenanceWindowParamsSchema } from './schemas'; -export async function finish( +export async function finishMaintenanceWindow( context: MaintenanceWindowClientContext, - params: FinishParams + params: FinishMaintenanceWindowParams ): Promise { return await retryIfConflicts( context.logger, @@ -42,11 +45,17 @@ export async function finish( async function finishWithOCC( context: MaintenanceWindowClientContext, - params: FinishParams + params: FinishMaintenanceWindowParams ): Promise { const { savedObjectsClient, getModificationMetadata, logger } = context; const { id } = params; + try { + finishMaintenanceWindowParamsSchema.validate(params); + } catch (error) { + throw Boom.badRequest(`Error validating finish maintenance window data - ${error.message}`); + } + const modificationMetadata = await getModificationMetadata(); const now = new Date(); const expirationDate = moment.utc(now).add(1, 'year').toDate(); @@ -56,22 +65,24 @@ async function finishWithOCC( attributes, version, id: fetchedId, - } = await savedObjectsClient.get( - MAINTENANCE_WINDOW_SAVED_OBJECT_TYPE, - id - ); + } = await getMaintenanceWindowSo({ id, savedObjectsClient }); + + const maintenanceWindow = transformMaintenanceWindowAttributesToMaintenanceWindow({ + attributes, + id: fetchedId, + }); // Generate new events with new expiration date const newEvents = generateMaintenanceWindowEvents({ - rRule: attributes.rRule, - duration: attributes.duration, + rRule: maintenanceWindow.rRule, + duration: maintenanceWindow.duration, expirationDate: expirationDate.toISOString(), }); // Merge it with the old events const events = mergeEvents({ newEvents, - oldEvents: attributes.events, + oldEvents: maintenanceWindow.events, }); // Find the current event and status of the maintenance window @@ -99,21 +110,25 @@ async function finishWithOCC( const eventsWithFinishedEvent = [...events]; eventsWithFinishedEvent[index] = eventToFinish; - const result = await savedObjectsClient.update( - MAINTENANCE_WINDOW_SAVED_OBJECT_TYPE, - fetchedId, - { + const updateMaintenanceWindowAttributes = + transformMaintenanceWindowToMaintenanceWindowAttributes({ + ...maintenanceWindow, events: eventsWithFinishedEvent, expirationDate: expirationDate.toISOString(), updatedAt: modificationMetadata.updatedAt, updatedBy: modificationMetadata.updatedBy, - }, - { + }); + + const result = await updateMaintenanceWindowSo({ + id: fetchedId, + savedObjectsClient, + updateMaintenanceWindowAttributes, + savedObjectsUpdateOptions: { version, - } - ); + }, + }); - return getMaintenanceWindowFromRaw({ + return transformMaintenanceWindowAttributesToMaintenanceWindow({ attributes: { ...attributes, ...result.attributes, diff --git a/x-pack/plugins/alerting/server/application/maintenance_window/methods/finish/schemas/finish_maintenance_window_params_schema.ts b/x-pack/plugins/alerting/server/application/maintenance_window/methods/finish/schemas/finish_maintenance_window_params_schema.ts new file mode 100644 index 00000000000000..efb7733da9abb8 --- /dev/null +++ b/x-pack/plugins/alerting/server/application/maintenance_window/methods/finish/schemas/finish_maintenance_window_params_schema.ts @@ -0,0 +1,12 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { schema } from '@kbn/config-schema'; + +export const finishMaintenanceWindowParamsSchema = schema.object({ + id: schema.string(), +}); diff --git a/x-pack/plugins/alerting/server/application/maintenance_window/methods/finish/schemas/index.ts b/x-pack/plugins/alerting/server/application/maintenance_window/methods/finish/schemas/index.ts new file mode 100644 index 00000000000000..482631258caa9c --- /dev/null +++ b/x-pack/plugins/alerting/server/application/maintenance_window/methods/finish/schemas/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 { finishMaintenanceWindowParamsSchema } from './finish_maintenance_window_params_schema'; diff --git a/x-pack/plugins/alerting/server/application/maintenance_window/methods/finish/types/finish_maintenance_window_params.ts b/x-pack/plugins/alerting/server/application/maintenance_window/methods/finish/types/finish_maintenance_window_params.ts new file mode 100644 index 00000000000000..7356042f758fac --- /dev/null +++ b/x-pack/plugins/alerting/server/application/maintenance_window/methods/finish/types/finish_maintenance_window_params.ts @@ -0,0 +1,11 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { TypeOf } from '@kbn/config-schema'; +import { finishMaintenanceWindowParamsSchema } from '../schemas'; + +export type FinishMaintenanceWindowParams = TypeOf; diff --git a/x-pack/plugins/alerting/server/application/maintenance_window/methods/finish/types/index.ts b/x-pack/plugins/alerting/server/application/maintenance_window/methods/finish/types/index.ts new file mode 100644 index 00000000000000..d5a180637ff2ee --- /dev/null +++ b/x-pack/plugins/alerting/server/application/maintenance_window/methods/finish/types/index.ts @@ -0,0 +1,8 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +export type { FinishMaintenanceWindowParams } from './finish_maintenance_window_params'; diff --git a/x-pack/plugins/alerting/server/maintenance_window_client/methods/get.test.ts b/x-pack/plugins/alerting/server/application/maintenance_window/methods/get/get_maintenance_window.test.ts similarity index 84% rename from x-pack/plugins/alerting/server/maintenance_window_client/methods/get.test.ts rename to x-pack/plugins/alerting/server/application/maintenance_window/methods/get/get_maintenance_window.test.ts index 09ba15d0289d19..fa24bb42e57d82 100644 --- a/x-pack/plugins/alerting/server/maintenance_window_client/methods/get.test.ts +++ b/x-pack/plugins/alerting/server/application/maintenance_window/methods/get/get_maintenance_window.test.ts @@ -5,14 +5,14 @@ * 2.0. */ -import { get } from './get'; +import { getMaintenanceWindow } from './get_maintenance_window'; import { savedObjectsClientMock, loggingSystemMock } from '@kbn/core/server/mocks'; import { SavedObject } from '@kbn/core/server'; import { MaintenanceWindowClientContext, MAINTENANCE_WINDOW_SAVED_OBJECT_TYPE, -} from '../../../common'; -import { getMockMaintenanceWindow } from './test_helpers'; +} from '../../../../../common'; +import { getMockMaintenanceWindow } from '../../../../data/maintenance_window/test_helpers'; const savedObjectsClient = savedObjectsClientMock.create(); @@ -42,7 +42,7 @@ describe('MaintenanceWindowClient - get', () => { id: 'test-id', } as unknown as SavedObject); - const result = await get(mockContext, { id: 'test-id' }); + const result = await getMaintenanceWindow(mockContext, { id: 'test-id' }); expect(savedObjectsClient.get).toHaveBeenLastCalledWith( MAINTENANCE_WINDOW_SAVED_OBJECT_TYPE, diff --git a/x-pack/plugins/alerting/server/application/maintenance_window/methods/get/get_maintenance_window.ts b/x-pack/plugins/alerting/server/application/maintenance_window/methods/get/get_maintenance_window.ts new file mode 100644 index 00000000000000..1b4aefa8310946 --- /dev/null +++ b/x-pack/plugins/alerting/server/application/maintenance_window/methods/get/get_maintenance_window.ts @@ -0,0 +1,44 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import Boom from '@hapi/boom'; +import type { MaintenanceWindowClientContext } from '../../../../../common'; +import type { MaintenanceWindow } from '../../types'; +import type { GetMaintenanceWindowParams } from './types'; +import { transformMaintenanceWindowAttributesToMaintenanceWindow } from '../../transforms'; +import { getMaintenanceWindowParamsSchema } from './schemas'; +import { getMaintenanceWindowSo } from '../../../../data/maintenance_window'; + +export async function getMaintenanceWindow( + context: MaintenanceWindowClientContext, + params: GetMaintenanceWindowParams +): Promise { + const { savedObjectsClient, logger } = context; + const { id } = params; + + try { + getMaintenanceWindowParamsSchema.validate(params); + } catch (error) { + throw Boom.badRequest(`Error validating get maintenance window data - ${error.message}`); + } + + try { + const result = await getMaintenanceWindowSo({ + id, + savedObjectsClient, + }); + + return transformMaintenanceWindowAttributesToMaintenanceWindow({ + attributes: result.attributes, + id: result.id, + }); + } catch (e) { + const errorMessage = `Failed to get maintenance window by id: ${id}, Error: ${e}`; + logger.error(errorMessage); + throw Boom.boomify(e, { message: errorMessage }); + } +} diff --git a/x-pack/plugins/alerting/server/application/maintenance_window/methods/get/schemas/get_maintenance_window_params_schema.ts b/x-pack/plugins/alerting/server/application/maintenance_window/methods/get/schemas/get_maintenance_window_params_schema.ts new file mode 100644 index 00000000000000..9eaffadc90cc21 --- /dev/null +++ b/x-pack/plugins/alerting/server/application/maintenance_window/methods/get/schemas/get_maintenance_window_params_schema.ts @@ -0,0 +1,12 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { schema } from '@kbn/config-schema'; + +export const getMaintenanceWindowParamsSchema = schema.object({ + id: schema.string(), +}); diff --git a/x-pack/plugins/alerting/server/application/maintenance_window/methods/get/schemas/index.ts b/x-pack/plugins/alerting/server/application/maintenance_window/methods/get/schemas/index.ts new file mode 100644 index 00000000000000..92b3a8024c7873 --- /dev/null +++ b/x-pack/plugins/alerting/server/application/maintenance_window/methods/get/schemas/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 { getMaintenanceWindowParamsSchema } from './get_maintenance_window_params_schema'; diff --git a/x-pack/plugins/alerting/server/application/maintenance_window/methods/get/types/get_maintenance_window_params.ts b/x-pack/plugins/alerting/server/application/maintenance_window/methods/get/types/get_maintenance_window_params.ts new file mode 100644 index 00000000000000..e9bf4c7f3d1c4d --- /dev/null +++ b/x-pack/plugins/alerting/server/application/maintenance_window/methods/get/types/get_maintenance_window_params.ts @@ -0,0 +1,11 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { TypeOf } from '@kbn/config-schema'; +import { getMaintenanceWindowParamsSchema } from '../schemas'; + +export type GetMaintenanceWindowParams = TypeOf; diff --git a/x-pack/plugins/alerting/server/application/maintenance_window/methods/get/types/index.ts b/x-pack/plugins/alerting/server/application/maintenance_window/methods/get/types/index.ts new file mode 100644 index 00000000000000..c38bba1cf250c6 --- /dev/null +++ b/x-pack/plugins/alerting/server/application/maintenance_window/methods/get/types/index.ts @@ -0,0 +1,8 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +export type { GetMaintenanceWindowParams } from './get_maintenance_window_params'; diff --git a/x-pack/plugins/alerting/server/maintenance_window_client/methods/get_active_maintenance_windows.test.ts b/x-pack/plugins/alerting/server/application/maintenance_window/methods/get_active/get_active_maintenance_windows.test.ts similarity index 97% rename from x-pack/plugins/alerting/server/maintenance_window_client/methods/get_active_maintenance_windows.test.ts rename to x-pack/plugins/alerting/server/application/maintenance_window/methods/get_active/get_active_maintenance_windows.test.ts index 2351a687728c8b..b9a9f958b4e6a6 100644 --- a/x-pack/plugins/alerting/server/maintenance_window_client/methods/get_active_maintenance_windows.test.ts +++ b/x-pack/plugins/alerting/server/application/maintenance_window/methods/get_active/get_active_maintenance_windows.test.ts @@ -12,8 +12,8 @@ import { SavedObjectsFindResponse } from '@kbn/core/server'; import { MaintenanceWindowClientContext, MAINTENANCE_WINDOW_SAVED_OBJECT_TYPE, -} from '../../../common'; -import { getMockMaintenanceWindow } from './test_helpers'; +} from '../../../../../common'; +import { getMockMaintenanceWindow } from '../../../../data/maintenance_window/test_helpers'; const savedObjectsClient = savedObjectsClientMock.create(); diff --git a/x-pack/plugins/alerting/server/maintenance_window_client/methods/get_active_maintenance_windows.ts b/x-pack/plugins/alerting/server/application/maintenance_window/methods/get_active/get_active_maintenance_windows.ts similarity index 64% rename from x-pack/plugins/alerting/server/maintenance_window_client/methods/get_active_maintenance_windows.ts rename to x-pack/plugins/alerting/server/application/maintenance_window/methods/get_active/get_active_maintenance_windows.ts index ececf6618b0a55..9fc834c6075485 100644 --- a/x-pack/plugins/alerting/server/maintenance_window_client/methods/get_active_maintenance_windows.ts +++ b/x-pack/plugins/alerting/server/application/maintenance_window/methods/get_active/get_active_maintenance_windows.ts @@ -7,13 +7,10 @@ import Boom from '@hapi/boom'; import { nodeBuilder } from '@kbn/es-query'; -import { getMaintenanceWindowFromRaw } from '../get_maintenance_window_from_raw'; -import { - MaintenanceWindow, - MaintenanceWindowSOAttributes, - MAINTENANCE_WINDOW_SAVED_OBJECT_TYPE, - MaintenanceWindowClientContext, -} from '../../../common'; +import type { MaintenanceWindowClientContext } from '../../../../../common'; +import type { MaintenanceWindow } from '../../types'; +import { transformMaintenanceWindowAttributesToMaintenanceWindow } from '../../transforms'; +import { findMaintenanceWindowSo } from '../../../../data/maintenance_window'; export interface MaintenanceWindowAggregationResult { maintenanceWindow: { @@ -39,17 +36,17 @@ export async function getActiveMaintenanceWindows( ]); try { - const result = await savedObjectsClient.find({ - type: MAINTENANCE_WINDOW_SAVED_OBJECT_TYPE, - filter, + const { saved_objects: savedObjects } = await findMaintenanceWindowSo({ + savedObjectsClient, + savedObjectsFindOptions: { filter }, }); - return result.saved_objects.map((so) => - getMaintenanceWindowFromRaw({ - attributes: so.attributes, - id: so.id, - }) - ); + return savedObjects.map((savedObject) => { + return transformMaintenanceWindowAttributesToMaintenanceWindow({ + attributes: savedObject.attributes, + id: savedObject.id, + }); + }); } catch (e) { const errorMessage = `Failed to find active maintenance window by interval, Error: ${e}`; logger.error(errorMessage); diff --git a/x-pack/plugins/alerting/server/application/maintenance_window/methods/update/schemas/index.ts b/x-pack/plugins/alerting/server/application/maintenance_window/methods/update/schemas/index.ts new file mode 100644 index 00000000000000..5d410841841c59 --- /dev/null +++ b/x-pack/plugins/alerting/server/application/maintenance_window/methods/update/schemas/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 { updateMaintenanceWindowParamsSchema } from './update_maintenance_window_params_schema'; diff --git a/x-pack/plugins/alerting/server/application/maintenance_window/methods/update/schemas/update_maintenance_window_params_schema.ts b/x-pack/plugins/alerting/server/application/maintenance_window/methods/update/schemas/update_maintenance_window_params_schema.ts new file mode 100644 index 00000000000000..1171855ca28199 --- /dev/null +++ b/x-pack/plugins/alerting/server/application/maintenance_window/methods/update/schemas/update_maintenance_window_params_schema.ts @@ -0,0 +1,19 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { schema } from '@kbn/config-schema'; +import { rRuleRequestSchema } from '../../../../r_rule/schemas'; + +export const updateMaintenanceWindowParamsSchema = schema.object({ + id: schema.string(), + data: schema.object({ + title: schema.maybe(schema.string()), + enabled: schema.maybe(schema.boolean()), + duration: schema.maybe(schema.number()), + rRule: schema.maybe(rRuleRequestSchema), + }), +}); diff --git a/x-pack/plugins/alerting/server/application/maintenance_window/methods/update/types/index.ts b/x-pack/plugins/alerting/server/application/maintenance_window/methods/update/types/index.ts new file mode 100644 index 00000000000000..af979060d62222 --- /dev/null +++ b/x-pack/plugins/alerting/server/application/maintenance_window/methods/update/types/index.ts @@ -0,0 +1,8 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +export type { UpdateMaintenanceWindowParams } from './update_maintenance_window_params'; diff --git a/x-pack/plugins/alerting/server/application/maintenance_window/methods/update/types/update_maintenance_window_params.ts b/x-pack/plugins/alerting/server/application/maintenance_window/methods/update/types/update_maintenance_window_params.ts new file mode 100644 index 00000000000000..a8497347a52b7a --- /dev/null +++ b/x-pack/plugins/alerting/server/application/maintenance_window/methods/update/types/update_maintenance_window_params.ts @@ -0,0 +1,11 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { TypeOf } from '@kbn/config-schema'; +import { updateMaintenanceWindowParamsSchema } from '../schemas'; + +export type UpdateMaintenanceWindowParams = TypeOf; diff --git a/x-pack/plugins/alerting/server/maintenance_window_client/methods/update.test.ts b/x-pack/plugins/alerting/server/application/maintenance_window/methods/update/update_maintenance_window.test.ts similarity index 85% rename from x-pack/plugins/alerting/server/maintenance_window_client/methods/update.test.ts rename to x-pack/plugins/alerting/server/application/maintenance_window/methods/update/update_maintenance_window.test.ts index ea2cb33341b0db..27798cc4e3c57f 100644 --- a/x-pack/plugins/alerting/server/maintenance_window_client/methods/update.test.ts +++ b/x-pack/plugins/alerting/server/application/maintenance_window/methods/update/update_maintenance_window.test.ts @@ -7,14 +7,16 @@ import moment from 'moment-timezone'; import { Frequency } from '@kbn/rrule'; -import { update } from './update'; +import { updateMaintenanceWindow } from './update_maintenance_window'; +import { UpdateMaintenanceWindowParams } from './types'; import { savedObjectsClientMock, loggingSystemMock } from '@kbn/core/server/mocks'; import { SavedObject } from '@kbn/core/server'; import { MaintenanceWindowClientContext, MAINTENANCE_WINDOW_SAVED_OBJECT_TYPE, -} from '../../../common'; -import { getMockMaintenanceWindow } from './test_helpers'; +} from '../../../../../common'; +import { getMockMaintenanceWindow } from '../../../../data/maintenance_window/test_helpers'; +import type { MaintenanceWindow } from '../../types'; const savedObjectsClient = savedObjectsClientMock.create(); @@ -83,9 +85,12 @@ describe('MaintenanceWindowClient - update', () => { jest.useFakeTimers().setSystemTime(new Date(secondTimestamp)); - const result = await update(mockContext, { + const result = await updateMaintenanceWindow(mockContext, { id: 'test-id', - ...updatedAttributes, + data: { + ...updatedAttributes, + rRule: updatedAttributes.rRule as UpdateMaintenanceWindowParams['data']['rRule'], + }, }); expect(savedObjectsClient.get).toHaveBeenLastCalledWith( @@ -136,7 +141,7 @@ describe('MaintenanceWindowClient - update', () => { dtstart: '2023-03-26T00:00:00.000Z', freq: Frequency.WEEKLY, count: 5, - }, + } as MaintenanceWindow['rRule'], events: modifiedEvents, expirationDate: moment(new Date(firstTimestamp)).tz('UTC').add(2, 'week').toISOString(), }); @@ -157,7 +162,7 @@ describe('MaintenanceWindowClient - update', () => { } as unknown as SavedObject); // Update without changing duration or rrule - await update(mockContext, { id: 'test-id' }); + await updateMaintenanceWindow(mockContext, { id: 'test-id', data: {} }); // Events keep the previous modified events, but adds on the new events expect(savedObjectsClient.create).toHaveBeenLastCalledWith( MAINTENANCE_WINDOW_SAVED_OBJECT_TYPE, @@ -172,13 +177,15 @@ describe('MaintenanceWindowClient - update', () => { ); // Update with changing rrule - await update(mockContext, { + await updateMaintenanceWindow(mockContext, { id: 'test-id', - rRule: { - tzid: 'CET', - dtstart: '2023-03-26T00:00:00.000Z', - freq: Frequency.WEEKLY, - count: 2, + data: { + rRule: { + tzid: 'CET', + dtstart: '2023-03-26T00:00:00.000Z', + freq: Frequency.WEEKLY, + count: 2, + }, }, }); // All events are regenerated @@ -211,7 +218,17 @@ describe('MaintenanceWindowClient - update', () => { } as unknown as SavedObject); await expect(async () => { - await update(mockContext, { id: 'test-id', ...updatedAttributes }); + await updateMaintenanceWindow(mockContext, { + id: 'test-id', + data: { + rRule: { + tzid: 'CET', + dtstart: '2023-03-26T00:00:00.000Z', + freq: Frequency.WEEKLY, + count: 2, + }, + }, + }); }).rejects.toThrowError(); expect(mockContext.logger.error).toHaveBeenLastCalledWith( diff --git a/x-pack/plugins/alerting/server/application/maintenance_window/methods/update/update_maintenance_window.ts b/x-pack/plugins/alerting/server/application/maintenance_window/methods/update/update_maintenance_window.ts new file mode 100644 index 00000000000000..19b145a4894313 --- /dev/null +++ b/x-pack/plugins/alerting/server/application/maintenance_window/methods/update/update_maintenance_window.ts @@ -0,0 +1,120 @@ +/* + * Copyright 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 Boom from '@hapi/boom'; +import type { MaintenanceWindowClientContext } from '../../../../../common'; +import type { MaintenanceWindow } from '../../types'; +import { + generateMaintenanceWindowEvents, + shouldRegenerateEvents, + mergeEvents, +} from '../../lib/generate_maintenance_window_events'; +import { retryIfConflicts } from '../../../../lib/retry_if_conflicts'; +import { + transformMaintenanceWindowAttributesToMaintenanceWindow, + transformMaintenanceWindowToMaintenanceWindowAttributes, +} from '../../transforms'; +import { + getMaintenanceWindowSo, + createMaintenanceWindowSo, +} from '../../../../data/maintenance_window'; +import { UpdateMaintenanceWindowParams } from './types'; +import { updateMaintenanceWindowParamsSchema } from './schemas'; + +export async function updateMaintenanceWindow( + context: MaintenanceWindowClientContext, + params: UpdateMaintenanceWindowParams +): Promise { + return await retryIfConflicts( + context.logger, + `maintenanceWindowClient.update('${params.id})`, + async () => { + return await updateWithOCC(context, params); + } + ); +} + +async function updateWithOCC( + context: MaintenanceWindowClientContext, + params: UpdateMaintenanceWindowParams +): Promise { + const { savedObjectsClient, getModificationMetadata, logger } = context; + const { id, data } = params; + const { title, enabled, duration, rRule } = data; + + try { + updateMaintenanceWindowParamsSchema.validate(params); + } catch (error) { + throw Boom.badRequest(`Error validating update maintenance window data - ${error.message}`); + } + + try { + const { + attributes, + id: fetchedId, + version, + } = await getMaintenanceWindowSo({ id, savedObjectsClient }); + + const maintenanceWindow = transformMaintenanceWindowAttributesToMaintenanceWindow({ + attributes, + id: fetchedId, + }); + + if (moment.utc(maintenanceWindow.expirationDate).isBefore(new Date())) { + throw Boom.badRequest('Cannot edit archived maintenance windows'); + } + + const expirationDate = moment.utc().add(1, 'year').toISOString(); + const modificationMetadata = await getModificationMetadata(); + + let events = generateMaintenanceWindowEvents({ + rRule: rRule || maintenanceWindow.rRule, + duration: typeof duration === 'number' ? duration : maintenanceWindow.duration, + expirationDate, + }); + + if (!shouldRegenerateEvents({ maintenanceWindow, rRule, duration })) { + events = mergeEvents({ oldEvents: maintenanceWindow.events, newEvents: events }); + } + + const updateMaintenanceWindowAttributes = + transformMaintenanceWindowToMaintenanceWindowAttributes({ + ...maintenanceWindow, + ...(title ? { title } : {}), + ...(rRule ? { rRule: rRule as MaintenanceWindow['rRule'] } : {}), + ...(typeof duration === 'number' ? { duration } : {}), + ...(typeof enabled === 'boolean' ? { enabled } : {}), + expirationDate, + events, + updatedBy: modificationMetadata.updatedBy, + updatedAt: modificationMetadata.updatedAt, + }); + + // We are deleting and then creating rather than updating because SO.update + // performs a partial update on the rRule, we would need to null out all of the fields + // that are removed from a new rRule if that were the case. + const result = await createMaintenanceWindowSo({ + savedObjectsClient, + maintenanceWindowAttributes: updateMaintenanceWindowAttributes, + savedObjectsCreateOptions: { + id: fetchedId, + version, + overwrite: true, + }, + }); + + return transformMaintenanceWindowAttributesToMaintenanceWindow({ + attributes: result.attributes, + id: result.id, + }); + } catch (e) { + const errorMessage = `Failed to update maintenance window by id: ${id}, Error: ${e}`; + logger.error(errorMessage); + throw Boom.boomify(e, { message: errorMessage }); + } +} diff --git a/x-pack/plugins/alerting/server/application/maintenance_window/schemas/index.ts b/x-pack/plugins/alerting/server/application/maintenance_window/schemas/index.ts new file mode 100644 index 00000000000000..6cfbebc677b332 --- /dev/null +++ b/x-pack/plugins/alerting/server/application/maintenance_window/schemas/index.ts @@ -0,0 +1,11 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +export { + maintenanceWindowEventSchema, + maintenanceWindowSchema, +} from './maintenance_window_schemas'; diff --git a/x-pack/plugins/alerting/server/application/maintenance_window/schemas/maintenance_window_schemas.ts b/x-pack/plugins/alerting/server/application/maintenance_window/schemas/maintenance_window_schemas.ts new file mode 100644 index 00000000000000..bb70e4ee82abef --- /dev/null +++ b/x-pack/plugins/alerting/server/application/maintenance_window/schemas/maintenance_window_schemas.ts @@ -0,0 +1,37 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { schema } from '@kbn/config-schema'; +import { maintenanceWindowStatus } from '../constants'; +import { rRuleSchema } from '../../r_rule/schemas'; + +export const maintenanceWindowEventSchema = schema.object({ + gte: schema.string(), + lte: schema.string(), +}); + +export const maintenanceWindowSchema = schema.object({ + id: schema.string(), + title: schema.string(), + enabled: schema.boolean(), + duration: schema.number(), + expirationDate: schema.string(), + events: schema.arrayOf(maintenanceWindowEventSchema), + rRule: rRuleSchema, + createdBy: schema.nullable(schema.string()), + updatedBy: schema.nullable(schema.string()), + createdAt: schema.string(), + updatedAt: schema.string(), + eventStartTime: schema.nullable(schema.string()), + eventEndTime: schema.nullable(schema.string()), + status: schema.oneOf([ + schema.literal(maintenanceWindowStatus.RUNNING), + schema.literal(maintenanceWindowStatus.UPCOMING), + schema.literal(maintenanceWindowStatus.FINISHED), + schema.literal(maintenanceWindowStatus.ARCHIVED), + ]), +}); diff --git a/x-pack/plugins/alerting/server/application/maintenance_window/transforms/index.ts b/x-pack/plugins/alerting/server/application/maintenance_window/transforms/index.ts new file mode 100644 index 00000000000000..a9b5323c94a689 --- /dev/null +++ b/x-pack/plugins/alerting/server/application/maintenance_window/transforms/index.ts @@ -0,0 +1,9 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +export { transformMaintenanceWindowAttributesToMaintenanceWindow } from './transform_maintenance_window_attributes_to_maintenance_window'; +export { transformMaintenanceWindowToMaintenanceWindowAttributes } from './transform_maintenance_window_to_maintenance_window_attributes'; diff --git a/x-pack/plugins/alerting/server/application/maintenance_window/transforms/transform_maintenance_window_attributes_to_maintenance_window.ts b/x-pack/plugins/alerting/server/application/maintenance_window/transforms/transform_maintenance_window_attributes_to_maintenance_window.ts new file mode 100644 index 00000000000000..a03dbe9e4b3a8e --- /dev/null +++ b/x-pack/plugins/alerting/server/application/maintenance_window/transforms/transform_maintenance_window_attributes_to_maintenance_window.ts @@ -0,0 +1,43 @@ +/* + * Copyright 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 { MaintenanceWindow } from '../types'; +import { MaintenanceWindowAttributes } from '../../../data/maintenance_window/types'; +import { getMaintenanceWindowDateAndStatus } from '../lib'; + +export interface TransformMaintenanceWindowAttributesMaintenanceWindowParams { + attributes: MaintenanceWindowAttributes; + id: string; +} + +export const transformMaintenanceWindowAttributesToMaintenanceWindow = ( + params: TransformMaintenanceWindowAttributesMaintenanceWindowParams +): MaintenanceWindow => { + const { id, attributes } = params; + const { events, expirationDate } = attributes; + const { eventStartTime, eventEndTime, status } = getMaintenanceWindowDateAndStatus({ + events, + expirationDate: new Date(expirationDate), + dateToCompare: new Date(), + }); + + return { + id, + title: attributes.title, + enabled: attributes.enabled, + duration: attributes.duration, + expirationDate: attributes.expirationDate, + events: attributes.events, + rRule: attributes.rRule, + createdBy: attributes.createdBy, + updatedBy: attributes.updatedBy, + createdAt: attributes.createdAt, + updatedAt: attributes.updatedAt, + eventStartTime, + eventEndTime, + status, + }; +}; diff --git a/x-pack/plugins/alerting/server/application/maintenance_window/transforms/transform_maintenance_window_to_maintenance_window_attributes.ts b/x-pack/plugins/alerting/server/application/maintenance_window/transforms/transform_maintenance_window_to_maintenance_window_attributes.ts new file mode 100644 index 00000000000000..98b2f9fe93bcef --- /dev/null +++ b/x-pack/plugins/alerting/server/application/maintenance_window/transforms/transform_maintenance_window_to_maintenance_window_attributes.ts @@ -0,0 +1,26 @@ +/* + * Copyright 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 { MaintenanceWindowWithoutComputedProperties } from '../types'; +import { MaintenanceWindowAttributes } from '../../../data/maintenance_window/types'; + +export const transformMaintenanceWindowToMaintenanceWindowAttributes = ( + maintenanceWindow: MaintenanceWindowWithoutComputedProperties +): MaintenanceWindowAttributes => { + return { + title: maintenanceWindow.title, + enabled: maintenanceWindow.enabled, + duration: maintenanceWindow.duration, + expirationDate: maintenanceWindow.expirationDate, + events: maintenanceWindow.events, + rRule: maintenanceWindow.rRule, + createdBy: maintenanceWindow.createdBy, + updatedBy: maintenanceWindow.updatedBy, + createdAt: maintenanceWindow.createdAt, + updatedAt: maintenanceWindow.updatedAt, + }; +}; diff --git a/x-pack/plugins/alerting/server/application/maintenance_window/types/index.ts b/x-pack/plugins/alerting/server/application/maintenance_window/types/index.ts new file mode 100644 index 00000000000000..30a56f4e53083e --- /dev/null +++ b/x-pack/plugins/alerting/server/application/maintenance_window/types/index.ts @@ -0,0 +1,12 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +export type { + MaintenanceWindow, + MaintenanceWindowStatus, + MaintenanceWindowWithoutComputedProperties, +} from './maintenance_window'; diff --git a/x-pack/plugins/alerting/server/application/maintenance_window/types/maintenance_window.ts b/x-pack/plugins/alerting/server/application/maintenance_window/types/maintenance_window.ts new file mode 100644 index 00000000000000..15dd6b8ca2a1b9 --- /dev/null +++ b/x-pack/plugins/alerting/server/application/maintenance_window/types/maintenance_window.ts @@ -0,0 +1,19 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { TypeOf } from '@kbn/config-schema'; +import { maintenanceWindowStatus } from '../constants'; +import { maintenanceWindowSchema } from '../schemas'; + +export type MaintenanceWindow = TypeOf; +export type MaintenanceWindowStatus = + typeof maintenanceWindowStatus[keyof typeof maintenanceWindowStatus]; + +export type MaintenanceWindowWithoutComputedProperties = Omit< + MaintenanceWindow, + 'id' | 'eventStartTime' | 'eventEndTime' | 'status' +>; diff --git a/x-pack/plugins/alerting/server/data/maintenance_window/index.ts b/x-pack/plugins/alerting/server/data/maintenance_window/index.ts new file mode 100644 index 00000000000000..a2b43b507797d2 --- /dev/null +++ b/x-pack/plugins/alerting/server/data/maintenance_window/index.ts @@ -0,0 +1,20 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +export { bulkGetMaintenanceWindowSo } from './methods/bulk_get_maintenance_window_so'; +export { createMaintenanceWindowSo } from './methods/create_maintenance_window_so'; +export { deleteMaintenanceWindowSo } from './methods/delete_maintenance_window_so'; +export { findMaintenanceWindowSo } from './methods/find_maintenance_window_so'; +export { getMaintenanceWindowSo } from './methods/get_maintenance_window_so'; +export { updateMaintenanceWindowSo } from './methods/update_maintenance_window_so'; + +export type { BulkGetMaintenanceWindowSoParams } from './methods/bulk_get_maintenance_window_so'; +export type { CreateMaintenanceWindowSoParams } from './methods/create_maintenance_window_so'; +export type { DeleteMaintenanceWindowSoParams } from './methods/delete_maintenance_window_so'; +export type { FindMaintenanceWindowSoParams } from './methods/find_maintenance_window_so'; +export type { GetMaintenanceWindowSoParams } from './methods/get_maintenance_window_so'; +export type { UpdateMaintenanceWindowSoParams } from './methods/update_maintenance_window_so'; diff --git a/x-pack/plugins/alerting/server/data/maintenance_window/methods/bulk_get_maintenance_window_so.ts b/x-pack/plugins/alerting/server/data/maintenance_window/methods/bulk_get_maintenance_window_so.ts new file mode 100644 index 00000000000000..4023948caf7ad7 --- /dev/null +++ b/x-pack/plugins/alerting/server/data/maintenance_window/methods/bulk_get_maintenance_window_so.ts @@ -0,0 +1,32 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { SavedObjectsClientContract, SavedObjectsBulkResponse } from '@kbn/core/server'; +import { MaintenanceWindowAttributes } from '../types'; +import { MAINTENANCE_WINDOW_SAVED_OBJECT_TYPE } from '../../../../common'; + +export interface BulkGetMaintenanceWindowObject { + id: string; +} + +export interface BulkGetMaintenanceWindowSoParams { + objects: BulkGetMaintenanceWindowObject[]; + savedObjectsClient: SavedObjectsClientContract; +} + +export const bulkGetMaintenanceWindowSo = ( + params: BulkGetMaintenanceWindowSoParams +): Promise> => { + const { objects, savedObjectsClient } = params; + + return savedObjectsClient.bulkGet( + objects.map((object) => ({ + id: object.id, + type: MAINTENANCE_WINDOW_SAVED_OBJECT_TYPE, + })) + ); +}; diff --git a/x-pack/plugins/alerting/server/data/maintenance_window/methods/create_maintenance_window_so.ts b/x-pack/plugins/alerting/server/data/maintenance_window/methods/create_maintenance_window_so.ts new file mode 100644 index 00000000000000..6beee4db0d9e83 --- /dev/null +++ b/x-pack/plugins/alerting/server/data/maintenance_window/methods/create_maintenance_window_so.ts @@ -0,0 +1,32 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { + SavedObjectsClientContract, + SavedObjectsCreateOptions, + SavedObject, +} from '@kbn/core/server'; +import { MaintenanceWindowAttributes } from '../types'; +import { MAINTENANCE_WINDOW_SAVED_OBJECT_TYPE } from '../../../../common'; + +export interface CreateMaintenanceWindowSoParams { + savedObjectsClient: SavedObjectsClientContract; + maintenanceWindowAttributes: MaintenanceWindowAttributes; + savedObjectsCreateOptions?: SavedObjectsCreateOptions; +} + +export const createMaintenanceWindowSo = ( + params: CreateMaintenanceWindowSoParams +): Promise> => { + const { savedObjectsClient, maintenanceWindowAttributes, savedObjectsCreateOptions } = params; + + return savedObjectsClient.create( + MAINTENANCE_WINDOW_SAVED_OBJECT_TYPE, + maintenanceWindowAttributes, + savedObjectsCreateOptions + ); +}; diff --git a/x-pack/plugins/alerting/server/data/maintenance_window/methods/delete_maintenance_window_so.ts b/x-pack/plugins/alerting/server/data/maintenance_window/methods/delete_maintenance_window_so.ts new file mode 100644 index 00000000000000..18725da8dbd5ad --- /dev/null +++ b/x-pack/plugins/alerting/server/data/maintenance_window/methods/delete_maintenance_window_so.ts @@ -0,0 +1,25 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { SavedObjectsClientContract, SavedObjectsDeleteOptions } from '@kbn/core/server'; +import { MAINTENANCE_WINDOW_SAVED_OBJECT_TYPE } from '../../../../common'; + +export interface DeleteMaintenanceWindowSoParams { + id: string; + savedObjectsClient: SavedObjectsClientContract; + savedObjectsDeleteOptions?: SavedObjectsDeleteOptions; +} + +export const deleteMaintenanceWindowSo = (params: DeleteMaintenanceWindowSoParams): Promise<{}> => { + const { id, savedObjectsClient, savedObjectsDeleteOptions } = params; + + return savedObjectsClient.delete( + MAINTENANCE_WINDOW_SAVED_OBJECT_TYPE, + id, + savedObjectsDeleteOptions + ); +}; diff --git a/x-pack/plugins/alerting/server/data/maintenance_window/methods/find_maintenance_window_so.ts b/x-pack/plugins/alerting/server/data/maintenance_window/methods/find_maintenance_window_so.ts new file mode 100644 index 00000000000000..baaed546c88cb7 --- /dev/null +++ b/x-pack/plugins/alerting/server/data/maintenance_window/methods/find_maintenance_window_so.ts @@ -0,0 +1,30 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { + SavedObjectsClientContract, + SavedObjectsFindOptions, + SavedObjectsFindResponse, +} from '@kbn/core/server'; +import { MaintenanceWindowAttributes } from '../types'; +import { MAINTENANCE_WINDOW_SAVED_OBJECT_TYPE } from '../../../../common'; + +export interface FindMaintenanceWindowSoParams { + savedObjectsClient: SavedObjectsClientContract; + savedObjectsFindOptions?: Omit; +} + +export const findMaintenanceWindowSo = >( + params: FindMaintenanceWindowSoParams +): Promise> => { + const { savedObjectsClient, savedObjectsFindOptions } = params; + + return savedObjectsClient.find({ + ...savedObjectsFindOptions, + type: MAINTENANCE_WINDOW_SAVED_OBJECT_TYPE, + }); +}; diff --git a/x-pack/plugins/alerting/server/data/maintenance_window/methods/get_maintenance_window_so.ts b/x-pack/plugins/alerting/server/data/maintenance_window/methods/get_maintenance_window_so.ts new file mode 100644 index 00000000000000..9dfb11ee7ee0b6 --- /dev/null +++ b/x-pack/plugins/alerting/server/data/maintenance_window/methods/get_maintenance_window_so.ts @@ -0,0 +1,26 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { SavedObjectsClientContract, SavedObject } from '@kbn/core/server'; +import { MaintenanceWindowAttributes } from '../types'; +import { MAINTENANCE_WINDOW_SAVED_OBJECT_TYPE } from '../../../../common'; + +export interface GetMaintenanceWindowSoParams { + id: string; + savedObjectsClient: SavedObjectsClientContract; +} + +export const getMaintenanceWindowSo = ( + params: GetMaintenanceWindowSoParams +): Promise> => { + const { id, savedObjectsClient } = params; + + return savedObjectsClient.get( + MAINTENANCE_WINDOW_SAVED_OBJECT_TYPE, + id + ); +}; diff --git a/x-pack/plugins/alerting/server/data/maintenance_window/methods/update_maintenance_window_so.ts b/x-pack/plugins/alerting/server/data/maintenance_window/methods/update_maintenance_window_so.ts new file mode 100644 index 00000000000000..b65516da3c7264 --- /dev/null +++ b/x-pack/plugins/alerting/server/data/maintenance_window/methods/update_maintenance_window_so.ts @@ -0,0 +1,35 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { + SavedObjectsClientContract, + SavedObjectsUpdateOptions, + SavedObjectsUpdateResponse, +} from '@kbn/core/server'; +import { MaintenanceWindowAttributes } from '../types'; +import { MAINTENANCE_WINDOW_SAVED_OBJECT_TYPE } from '../../../../common'; + +export interface UpdateMaintenanceWindowSoParams { + id: string; + savedObjectsClient: SavedObjectsClientContract; + updateMaintenanceWindowAttributes: Partial; + savedObjectsUpdateOptions?: SavedObjectsUpdateOptions; +} + +export const updateMaintenanceWindowSo = ( + params: UpdateMaintenanceWindowSoParams +): Promise> => { + const { id, savedObjectsClient, updateMaintenanceWindowAttributes, savedObjectsUpdateOptions } = + params; + + return savedObjectsClient.update( + MAINTENANCE_WINDOW_SAVED_OBJECT_TYPE, + id, + updateMaintenanceWindowAttributes, + savedObjectsUpdateOptions + ); +}; diff --git a/x-pack/plugins/alerting/server/maintenance_window_client/methods/test_helpers.ts b/x-pack/plugins/alerting/server/data/maintenance_window/test_helpers.ts similarity index 83% rename from x-pack/plugins/alerting/server/maintenance_window_client/methods/test_helpers.ts rename to x-pack/plugins/alerting/server/data/maintenance_window/test_helpers.ts index 54745c61b73e94..2d18b736fdc142 100644 --- a/x-pack/plugins/alerting/server/maintenance_window_client/methods/test_helpers.ts +++ b/x-pack/plugins/alerting/server/data/maintenance_window/test_helpers.ts @@ -6,11 +6,11 @@ */ import { Frequency } from '@kbn/rrule'; -import { MaintenanceWindowSOAttributes } from '../../../common'; +import { MaintenanceWindowAttributes } from './types'; export const getMockMaintenanceWindow = ( - overwrites?: Partial -): MaintenanceWindowSOAttributes => { + overwrites?: Partial +): MaintenanceWindowAttributes => { return { title: 'test-title', duration: 60 * 60 * 1000, @@ -20,7 +20,7 @@ export const getMockMaintenanceWindow = ( dtstart: '2023-02-26T00:00:00.000Z', freq: Frequency.WEEKLY, count: 2, - }, + } as MaintenanceWindowAttributes['rRule'], events: [ { gte: '2023-02-26T00:00:00.000Z', diff --git a/x-pack/plugins/alerting/server/data/maintenance_window/types/index.ts b/x-pack/plugins/alerting/server/data/maintenance_window/types/index.ts new file mode 100644 index 00000000000000..a3d230d15e6e37 --- /dev/null +++ b/x-pack/plugins/alerting/server/data/maintenance_window/types/index.ts @@ -0,0 +1,11 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +export type { + MaintenanceWindowAttributes, + MaintenanceWindowEventAttributes, +} from './maintenance_window_attributes'; diff --git a/x-pack/plugins/alerting/server/data/maintenance_window/types/maintenance_window_attributes.ts b/x-pack/plugins/alerting/server/data/maintenance_window/types/maintenance_window_attributes.ts new file mode 100644 index 00000000000000..6167d94a722db6 --- /dev/null +++ b/x-pack/plugins/alerting/server/data/maintenance_window/types/maintenance_window_attributes.ts @@ -0,0 +1,26 @@ +/* + * Copyright 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 { RRuleAttributes } from '../../r_rule/types'; + +export interface MaintenanceWindowEventAttributes { + gte: string; + lte: string; +} + +export interface MaintenanceWindowAttributes { + title: string; + enabled: boolean; + duration: number; + expirationDate: string; + events: MaintenanceWindowEventAttributes[]; + rRule: RRuleAttributes; + createdBy: string | null; + updatedBy: string | null; + createdAt: string; + updatedAt: string; +} diff --git a/x-pack/plugins/alerting/server/data/r_rule/types/index.ts b/x-pack/plugins/alerting/server/data/r_rule/types/index.ts new file mode 100644 index 00000000000000..282fd9238c73bc --- /dev/null +++ b/x-pack/plugins/alerting/server/data/r_rule/types/index.ts @@ -0,0 +1,8 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +export type { RRuleAttributes } from './r_rule_attributes'; diff --git a/x-pack/plugins/alerting/server/data/r_rule/types/r_rule_attributes.ts b/x-pack/plugins/alerting/server/data/r_rule/types/r_rule_attributes.ts new file mode 100644 index 00000000000000..e29bc5c7ab7e2a --- /dev/null +++ b/x-pack/plugins/alerting/server/data/r_rule/types/r_rule_attributes.ts @@ -0,0 +1,29 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import type { WeekdayStr } from '@kbn/rrule'; + +type RRuleFreq = 0 | 1 | 2 | 3 | 4 | 5 | 6; + +export interface RRuleAttributes { + dtstart: string; + tzid: string; + freq?: RRuleFreq; + until?: string; + count?: number; + interval?: number; + wkst?: WeekdayStr; + byweekday?: Array; + bymonth?: number[]; + bysetpos?: number[]; + bymonthday: number[]; + byyearday: number[]; + byweekno: number[]; + byhour: number[]; + byminute: number[]; + bysecond: number[]; +} diff --git a/x-pack/plugins/alerting/server/data/rule/types/index.ts b/x-pack/plugins/alerting/server/data/rule/types/index.ts index d0eef33f655478..a742c1b28224b1 100644 --- a/x-pack/plugins/alerting/server/data/rule/types/index.ts +++ b/x-pack/plugins/alerting/server/data/rule/types/index.ts @@ -12,7 +12,6 @@ export type { RuleExecutionStatusValuesAttributes, RuleExecutionStatusErrorReasonAttributes, RuleExecutionStatusWarningReasonAttributes, - RRuleAttributes, RuleSnoozeScheduleAttributes, RuleExecutionStatusAttributes, RuleLastRunAttributes, diff --git a/x-pack/plugins/alerting/server/data/rule/types/rule_attributes.ts b/x-pack/plugins/alerting/server/data/rule/types/rule_attributes.ts index 03ccf7c8a6b0de..aa8adda873cdec 100644 --- a/x-pack/plugins/alerting/server/data/rule/types/rule_attributes.ts +++ b/x-pack/plugins/alerting/server/data/rule/types/rule_attributes.ts @@ -7,7 +7,6 @@ import type { SavedObjectAttributes } from '@kbn/core/server'; import { Filter } from '@kbn/es-query'; -import type { WeekdayStr } from '@kbn/rrule'; import { IsoWeekday } from '../../../../common'; import { ruleNotifyWhenAttributes, @@ -16,6 +15,7 @@ import { ruleExecutionStatusErrorReasonAttributes, ruleExecutionStatusWarningReasonAttributes, } from '../constants'; +import { RRuleAttributes } from '../../r_rule/types'; export type RuleNotifyWhenAttributes = typeof ruleNotifyWhenAttributes[keyof typeof ruleNotifyWhenAttributes]; @@ -28,27 +28,6 @@ export type RuleExecutionStatusErrorReasonAttributes = export type RuleExecutionStatusWarningReasonAttributes = typeof ruleExecutionStatusWarningReasonAttributes[keyof typeof ruleExecutionStatusWarningReasonAttributes]; -type RRuleFreq = 0 | 1 | 2 | 3 | 4 | 5 | 6; - -export interface RRuleAttributes { - dtstart: string; - tzid: string; - freq?: RRuleFreq; - until?: string; - count?: number; - interval?: number; - wkst?: WeekdayStr; - byweekday?: Array; - bymonth?: number[]; - bysetpos?: number[]; - bymonthday: number[]; - byyearday: number[]; - byweekno: number[]; - byhour: number[]; - byminute: number[]; - bysecond: number[]; -} - export interface RuleSnoozeScheduleAttributes { duration: number; rRule: RRuleAttributes; diff --git a/x-pack/plugins/alerting/server/maintenance_window_client/get_maintenance_window_from_raw.ts b/x-pack/plugins/alerting/server/maintenance_window_client/get_maintenance_window_from_raw.ts deleted file mode 100644 index 6f97bfbe7577ad..00000000000000 --- a/x-pack/plugins/alerting/server/maintenance_window_client/get_maintenance_window_from_raw.ts +++ /dev/null @@ -1,34 +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 { MaintenanceWindowSOAttributes } from '../../common'; -import { getMaintenanceWindowDateAndStatus } from './get_maintenance_window_date_and_status'; - -export interface GetMaintenanceWindowFromRawParams { - id: string; - attributes: MaintenanceWindowSOAttributes; -} - -export const getMaintenanceWindowFromRaw = ({ - id, - attributes, -}: GetMaintenanceWindowFromRawParams) => { - const { events, expirationDate } = attributes; - const { eventStartTime, eventEndTime, status } = getMaintenanceWindowDateAndStatus({ - events, - expirationDate: new Date(expirationDate), - dateToCompare: new Date(), - }); - - return { - ...attributes, - id, - eventStartTime, - eventEndTime, - status, - }; -}; diff --git a/x-pack/plugins/alerting/server/maintenance_window_client/index.ts b/x-pack/plugins/alerting/server/maintenance_window_client/index.ts index 13f9f00d6e4da9..0ff7fcf47be6bb 100644 --- a/x-pack/plugins/alerting/server/maintenance_window_client/index.ts +++ b/x-pack/plugins/alerting/server/maintenance_window_client/index.ts @@ -6,4 +6,4 @@ */ export * from './maintenance_window_client'; -export * from './generate_maintenance_window_events'; +export * from '../application/maintenance_window/lib/generate_maintenance_window_events'; diff --git a/x-pack/plugins/alerting/server/maintenance_window_client/maintenance_window_client.ts b/x-pack/plugins/alerting/server/maintenance_window_client/maintenance_window_client.ts index 19b7fe8d862fc7..2bbbacad73a9e0 100644 --- a/x-pack/plugins/alerting/server/maintenance_window_client/maintenance_window_client.ts +++ b/x-pack/plugins/alerting/server/maintenance_window_client/maintenance_window_client.ts @@ -6,21 +6,31 @@ */ import { Logger, SavedObjectsClientContract } from '@kbn/core/server'; -import { create, CreateParams } from './methods/create'; -import { get, GetParams } from './methods/get'; -import { update, UpdateParams } from './methods/update'; -import { find, FindResult } from './methods/find'; -import { deleteMaintenanceWindow, DeleteParams } from './methods/delete'; -import { archive, ArchiveParams } from './methods/archive'; -import { getActiveMaintenanceWindows } from './methods/get_active_maintenance_windows'; -import { finish, FinishParams } from './methods/finish'; -import { bulkGet, BulkGetParams, BulkGetResult } from './methods/bulk_get'; - +import { createMaintenanceWindow } from '../application/maintenance_window/methods/create/create_maintenance_window'; +import type { CreateMaintenanceWindowParams } from '../application/maintenance_window/methods/create/types'; +import { getMaintenanceWindow } from '../application/maintenance_window/methods/get/get_maintenance_window'; +import type { GetMaintenanceWindowParams } from '../application/maintenance_window/methods/get/types'; +import { updateMaintenanceWindow } from '../application/maintenance_window/methods/update/update_maintenance_window'; +import type { UpdateMaintenanceWindowParams } from '../application/maintenance_window/methods/update/types'; +import { findMaintenanceWindows } from '../application/maintenance_window/methods/find/find_maintenance_windows'; +import type { FindMaintenanceWindowsResult } from '../application/maintenance_window/methods/find/types'; +import { deleteMaintenanceWindow } from '../application/maintenance_window/methods/delete/delete_maintenance_window'; +import type { DeleteMaintenanceWindowParams } from '../application/maintenance_window/methods/delete/types'; +import { archiveMaintenanceWindow } from '../application/maintenance_window/methods/archive/archive_maintenance_window'; +import type { ArchiveMaintenanceWindowParams } from '../application/maintenance_window/methods/archive/types'; +import { getActiveMaintenanceWindows } from '../application/maintenance_window/methods/get_active/get_active_maintenance_windows'; +import { finishMaintenanceWindow } from '../application/maintenance_window/methods/finish/finish_maintenance_window'; +import type { FinishMaintenanceWindowParams } from '../application/maintenance_window/methods/finish/types'; +import { bulkGetMaintenanceWindows } from '../application/maintenance_window/methods/bulk_get/bulk_get_maintenance_windows'; +import type { + BulkGetMaintenanceWindowsParams, + BulkGetMaintenanceWindowsResult, +} from '../application/maintenance_window/methods/bulk_get/types'; import { - MaintenanceWindow, MaintenanceWindowModificationMetadata, MaintenanceWindowClientContext, } from '../../common'; +import type { MaintenanceWindow } from '../application/maintenance_window/types'; export interface MaintenanceWindowClientConstructorOptions { readonly logger: Logger; @@ -57,19 +67,22 @@ export class MaintenanceWindowClient { }; } - public create = (params: CreateParams): Promise => - create(this.context, params); - public get = (params: GetParams): Promise => get(this.context, params); - public update = (params: UpdateParams): Promise => - update(this.context, params); - public find = (): Promise => find(this.context); - public delete = (params: DeleteParams): Promise<{}> => + public create = (params: CreateMaintenanceWindowParams): Promise => + createMaintenanceWindow(this.context, params); + public get = (params: GetMaintenanceWindowParams): Promise => + getMaintenanceWindow(this.context, params); + public update = (params: UpdateMaintenanceWindowParams): Promise => + updateMaintenanceWindow(this.context, params); + public find = (): Promise => findMaintenanceWindows(this.context); + public delete = (params: DeleteMaintenanceWindowParams): Promise<{}> => deleteMaintenanceWindow(this.context, params); - public archive = (params: ArchiveParams): Promise => - archive(this.context, params); - public finish = (params: FinishParams): Promise => - finish(this.context, params); - public bulkGet = (params: BulkGetParams): Promise => bulkGet(this.context, params); + public archive = (params: ArchiveMaintenanceWindowParams): Promise => + archiveMaintenanceWindow(this.context, params); + public finish = (params: FinishMaintenanceWindowParams): Promise => + finishMaintenanceWindow(this.context, params); + public bulkGet = ( + params: BulkGetMaintenanceWindowsParams + ): Promise => bulkGetMaintenanceWindows(this.context, params); public getActiveMaintenanceWindows = (): Promise => getActiveMaintenanceWindows(this.context); } diff --git a/x-pack/plugins/alerting/server/maintenance_window_client/methods/bulk_get.ts b/x-pack/plugins/alerting/server/maintenance_window_client/methods/bulk_get.ts deleted file mode 100644 index c87a62257827cb..00000000000000 --- a/x-pack/plugins/alerting/server/maintenance_window_client/methods/bulk_get.ts +++ /dev/null @@ -1,76 +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 Boom from '@hapi/boom'; -import { getMaintenanceWindowFromRaw } from '../get_maintenance_window_from_raw'; -import { - MaintenanceWindowSOAttributes, - MaintenanceWindow, - MAINTENANCE_WINDOW_SAVED_OBJECT_TYPE, - MaintenanceWindowClientContext, -} from '../../../common'; - -export interface BulkGetParams { - ids: string[]; -} - -export interface BulkGetMaintenanceWindowError { - id: string; - error: string; - message: string; - statusCode: number; -} - -export interface BulkGetResult { - maintenanceWindows: MaintenanceWindow[]; - errors: BulkGetMaintenanceWindowError[]; -} - -export async function bulkGet( - context: MaintenanceWindowClientContext, - params: BulkGetParams -): Promise { - const { savedObjectsClient, logger } = context; - const { ids } = params; - - const bulkGetObjects = ids.map((id) => ({ id, type: MAINTENANCE_WINDOW_SAVED_OBJECT_TYPE })); - - try { - const { saved_objects: savedObjects } = - await savedObjectsClient.bulkGet(bulkGetObjects); - - const maintenanceWindows: MaintenanceWindow[] = []; - const errors: BulkGetMaintenanceWindowError[] = []; - - savedObjects.forEach((so) => { - if (so.error) { - errors.push({ - id: so.id, - error: so.error.error, - message: so.error.message, - statusCode: so.error.statusCode, - }); - } else { - maintenanceWindows.push( - getMaintenanceWindowFromRaw({ - id: so.id, - attributes: so.attributes, - }) - ); - } - }); - - return { - maintenanceWindows, - errors, - }; - } catch (e) { - const errorMessage = `Failed to bulk get maintenance window for ids: ${ids}, Error: ${e}`; - logger.error(errorMessage); - throw Boom.boomify(e, { message: errorMessage }); - } -} diff --git a/x-pack/plugins/alerting/server/maintenance_window_client/methods/create.ts b/x-pack/plugins/alerting/server/maintenance_window_client/methods/create.ts deleted file mode 100644 index 5586103ac9d2d2..00000000000000 --- a/x-pack/plugins/alerting/server/maintenance_window_client/methods/create.ts +++ /dev/null @@ -1,64 +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 Boom from '@hapi/boom'; -import { SavedObjectsUtils } from '@kbn/core/server'; -import { getMaintenanceWindowFromRaw } from '../get_maintenance_window_from_raw'; -import { generateMaintenanceWindowEvents } from '../generate_maintenance_window_events'; -import { - MaintenanceWindowSOAttributes, - MaintenanceWindow, - MAINTENANCE_WINDOW_SAVED_OBJECT_TYPE, - RRuleParams, - MaintenanceWindowClientContext, -} from '../../../common'; - -export interface CreateParams { - title: string; - duration: number; - rRule: RRuleParams; -} - -export async function create( - context: MaintenanceWindowClientContext, - params: CreateParams -): Promise { - const { savedObjectsClient, getModificationMetadata, logger } = context; - const { title, duration, rRule } = params; - - const id = SavedObjectsUtils.generateId(); - const expirationDate = moment().utc().add(1, 'year').toISOString(); - const modificationMetadata = await getModificationMetadata(); - - try { - const events = generateMaintenanceWindowEvents({ rRule, expirationDate, duration }); - const result = await savedObjectsClient.create( - MAINTENANCE_WINDOW_SAVED_OBJECT_TYPE, - { - title, - enabled: true, - expirationDate, - rRule, - duration, - events, - ...modificationMetadata, - }, - { - id, - } - ); - return getMaintenanceWindowFromRaw({ - attributes: result.attributes, - id: result.id, - }); - } catch (e) { - const errorMessage = `Failed to create maintenance window, Error: ${e}`; - logger.error(errorMessage); - throw Boom.boomify(e, { message: errorMessage }); - } -} diff --git a/x-pack/plugins/alerting/server/maintenance_window_client/methods/get.ts b/x-pack/plugins/alerting/server/maintenance_window_client/methods/get.ts deleted file mode 100644 index 91bbd0a35ab6fe..00000000000000 --- a/x-pack/plugins/alerting/server/maintenance_window_client/methods/get.ts +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import Boom from '@hapi/boom'; -import { getMaintenanceWindowFromRaw } from '../get_maintenance_window_from_raw'; -import { - MaintenanceWindowSOAttributes, - MaintenanceWindow, - MAINTENANCE_WINDOW_SAVED_OBJECT_TYPE, - MaintenanceWindowClientContext, -} from '../../../common'; - -export interface GetParams { - id: string; -} - -export async function get( - context: MaintenanceWindowClientContext, - params: GetParams -): Promise { - const { savedObjectsClient, logger } = context; - const { id } = params; - try { - const result = await savedObjectsClient.get( - MAINTENANCE_WINDOW_SAVED_OBJECT_TYPE, - id - ); - - return getMaintenanceWindowFromRaw({ - attributes: result.attributes, - id: result.id, - }); - } catch (e) { - const errorMessage = `Failed to get maintenance window by id: ${id}, Error: ${e}`; - logger.error(errorMessage); - throw Boom.boomify(e, { message: errorMessage }); - } -} diff --git a/x-pack/plugins/alerting/server/maintenance_window_client/methods/update.ts b/x-pack/plugins/alerting/server/maintenance_window_client/methods/update.ts deleted file mode 100644 index e42ca980f1148f..00000000000000 --- a/x-pack/plugins/alerting/server/maintenance_window_client/methods/update.ts +++ /dev/null @@ -1,114 +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 Boom from '@hapi/boom'; -import { getMaintenanceWindowFromRaw } from '../get_maintenance_window_from_raw'; -import { - generateMaintenanceWindowEvents, - shouldRegenerateEvents, - mergeEvents, -} from '../generate_maintenance_window_events'; -import { - MaintenanceWindow, - MaintenanceWindowSOAttributes, - MAINTENANCE_WINDOW_SAVED_OBJECT_TYPE, - RRuleParams, - MaintenanceWindowClientContext, -} from '../../../common'; -import { retryIfConflicts } from '../../lib/retry_if_conflicts'; - -export interface UpdateParams { - id: string; - title?: string; - enabled?: boolean; - duration?: number; - rRule?: RRuleParams; -} - -export async function update( - context: MaintenanceWindowClientContext, - params: UpdateParams -): Promise { - return await retryIfConflicts( - context.logger, - `maintenanceWindowClient.update('${params.id})`, - async () => { - return await updateWithOCC(context, params); - } - ); -} - -async function updateWithOCC( - context: MaintenanceWindowClientContext, - params: UpdateParams -): Promise { - const { savedObjectsClient, getModificationMetadata, logger } = context; - const { id, title, enabled, duration, rRule } = params; - - try { - const { - attributes, - id: fetchedId, - version, - } = await savedObjectsClient.get( - MAINTENANCE_WINDOW_SAVED_OBJECT_TYPE, - id - ); - - if (moment.utc(attributes.expirationDate).isBefore(new Date())) { - throw Boom.badRequest('Cannot edit archived maintenance windows'); - } - - const expirationDate = moment.utc().add(1, 'year').toISOString(); - const modificationMetadata = await getModificationMetadata(); - - let events = generateMaintenanceWindowEvents({ - rRule: rRule || attributes.rRule, - duration: typeof duration === 'number' ? duration : attributes.duration, - expirationDate, - }); - - if (!shouldRegenerateEvents({ maintenanceWindow: attributes, rRule, duration })) { - events = mergeEvents({ oldEvents: attributes.events, newEvents: events }); - } - - const updatedAttributes = { - ...attributes, - ...(title ? { title } : {}), - ...(rRule ? { rRule } : {}), - ...(typeof duration === 'number' ? { duration } : {}), - ...(typeof enabled === 'boolean' ? { enabled } : {}), - expirationDate, - events, - updatedBy: modificationMetadata.updatedBy, - updatedAt: modificationMetadata.updatedAt, - }; - - // We are deleting and then creating rather than updating because SO.update - // performs a partial update on the rRule, we would need to null out all of the fields - // that are removed from a new rRule if that were the case. - const result = await savedObjectsClient.create( - MAINTENANCE_WINDOW_SAVED_OBJECT_TYPE, - updatedAttributes, - { - id: fetchedId, - version, - overwrite: true, - } - ); - - return getMaintenanceWindowFromRaw({ - attributes: result.attributes, - id: result.id, - }); - } catch (e) { - const errorMessage = `Failed to update maintenance window by id: ${id}, Error: ${e}`; - logger.error(errorMessage); - throw Boom.boomify(e, { message: errorMessage }); - } -} diff --git a/x-pack/plugins/alerting/server/routes/index.ts b/x-pack/plugins/alerting/server/routes/index.ts index 1bffc87e7b60a9..fe82abe56c4aff 100644 --- a/x-pack/plugins/alerting/server/routes/index.ts +++ b/x-pack/plugins/alerting/server/routes/index.ts @@ -49,17 +49,17 @@ import { updateFlappingSettingsRoute } from './update_flapping_settings'; import { getRuleTagsRoute } from './get_rule_tags'; import { getScheduleFrequencyRoute } from './rule/apis/get_schedule_frequency'; -import { createMaintenanceWindowRoute } from './maintenance_window/create_maintenance_window'; -import { getMaintenanceWindowRoute } from './maintenance_window/get_maintenance_window'; -import { updateMaintenanceWindowRoute } from './maintenance_window/update_maintenance_window'; -import { deleteMaintenanceWindowRoute } from './maintenance_window/delete_maintenance_window'; -import { findMaintenanceWindowsRoute } from './maintenance_window/find_maintenance_windows'; -import { archiveMaintenanceWindowRoute } from './maintenance_window/archive_maintenance_window'; -import { finishMaintenanceWindowRoute } from './maintenance_window/finish_maintenance_window'; -import { activeMaintenanceWindowsRoute } from './maintenance_window/active_maintenance_windows'; +import { createMaintenanceWindowRoute } from './maintenance_window/apis/create/create_maintenance_window_route'; +import { getMaintenanceWindowRoute } from './maintenance_window/apis/get/get_maintenance_window_route'; +import { updateMaintenanceWindowRoute } from './maintenance_window/apis/update/update_maintenance_window_route'; +import { deleteMaintenanceWindowRoute } from './maintenance_window/apis/delete/delete_maintenance_window_route'; +import { findMaintenanceWindowsRoute } from './maintenance_window/apis/find/find_maintenance_windows_route'; +import { archiveMaintenanceWindowRoute } from './maintenance_window/apis/archive/archive_maintenance_window_route'; +import { finishMaintenanceWindowRoute } from './maintenance_window/apis/finish/finish_maintenance_window_route'; +import { getActiveMaintenanceWindowsRoute } from './maintenance_window/apis/get_active/get_active_maintenance_windows_route'; import { registerRulesValueSuggestionsRoute } from './suggestions/values_suggestion_rules'; import { registerFieldsRoute } from './suggestions/fields_rules'; -import { bulkGetMaintenanceWindowRoute } from './maintenance_window/bulk_get_maintenance_windows'; +import { bulkGetMaintenanceWindowRoute } from './maintenance_window/apis/bulk_get/bulk_get_maintenance_windows_route'; import { registerAlertsValueSuggestionsRoute } from './suggestions/values_suggestion_alerts'; export interface RouteOptions { @@ -125,7 +125,7 @@ export function defineRoutes(opts: RouteOptions) { findMaintenanceWindowsRoute(router, licenseState); archiveMaintenanceWindowRoute(router, licenseState); finishMaintenanceWindowRoute(router, licenseState); - activeMaintenanceWindowsRoute(router, licenseState); + getActiveMaintenanceWindowsRoute(router, licenseState); registerAlertsValueSuggestionsRoute(router, licenseState, config$!, getAlertIndicesAlias); registerRulesValueSuggestionsRoute(router, licenseState, config$!); registerFieldsRoute(router, licenseState); diff --git a/x-pack/plugins/alerting/server/routes/maintenance_window/archive_maintenance_window.test.ts b/x-pack/plugins/alerting/server/routes/maintenance_window/apis/archive/archive_maintenance_window_route.test.ts similarity index 86% rename from x-pack/plugins/alerting/server/routes/maintenance_window/archive_maintenance_window.test.ts rename to x-pack/plugins/alerting/server/routes/maintenance_window/apis/archive/archive_maintenance_window_route.test.ts index 0c3ec076167dd4..040ba6e8ea9abb 100644 --- a/x-pack/plugins/alerting/server/routes/maintenance_window/archive_maintenance_window.test.ts +++ b/x-pack/plugins/alerting/server/routes/maintenance_window/apis/archive/archive_maintenance_window_route.test.ts @@ -6,18 +6,18 @@ */ import { httpServiceMock } from '@kbn/core/server/mocks'; -import { licenseStateMock } from '../../lib/license_state.mock'; -import { verifyApiAccess } from '../../lib/license_api_access'; -import { mockHandlerArguments } from '../_mock_handler_arguments'; -import { maintenanceWindowClientMock } from '../../maintenance_window_client.mock'; -import { archiveMaintenanceWindowRoute } from './archive_maintenance_window'; -import { getMockMaintenanceWindow } from '../../maintenance_window_client/methods/test_helpers'; -import { MaintenanceWindowStatus } from '../../../common'; -import { rewritePartialMaintenanceBodyRes } from '../lib'; +import { licenseStateMock } from '../../../../lib/license_state.mock'; +import { verifyApiAccess } from '../../../../lib/license_api_access'; +import { mockHandlerArguments } from '../../../_mock_handler_arguments'; +import { maintenanceWindowClientMock } from '../../../../maintenance_window_client.mock'; +import { archiveMaintenanceWindowRoute } from './archive_maintenance_window_route'; +import { getMockMaintenanceWindow } from '../../../../data/maintenance_window/test_helpers'; +import { MaintenanceWindowStatus } from '../../../../../common'; +import { rewritePartialMaintenanceBodyRes } from '../../../lib'; const maintenanceWindowClient = maintenanceWindowClientMock.create(); -jest.mock('../../lib/license_api_access', () => ({ +jest.mock('../../../../lib/license_api_access', () => ({ verifyApiAccess: jest.fn(), })); diff --git a/x-pack/plugins/alerting/server/routes/maintenance_window/apis/archive/archive_maintenance_window_route.ts b/x-pack/plugins/alerting/server/routes/maintenance_window/apis/archive/archive_maintenance_window_route.ts new file mode 100644 index 00000000000000..9f218220e6a920 --- /dev/null +++ b/x-pack/plugins/alerting/server/routes/maintenance_window/apis/archive/archive_maintenance_window_route.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 { IRouter } from '@kbn/core/server'; +import { ILicenseState } from '../../../../lib'; +import { verifyAccessAndContext } from '../../../lib'; +import { + AlertingRequestHandlerContext, + INTERNAL_ALERTING_API_MAINTENANCE_WINDOW_PATH, +} from '../../../../types'; +import { MAINTENANCE_WINDOW_API_PRIVILEGES } from '../../../../../common'; +import { MaintenanceWindow } from '../../../../application/maintenance_window/types'; +import { + archiveBodySchemaV1, + archiveParamsSchemaV1, + ArchiveMaintenanceWindowRequestBodyV1, + ArchiveMaintenanceWindowRequestParamsV1, + ArchiveMaintenanceWindowResponseV1, +} from '../../../../../common/routes/maintenance_window/apis/archive'; +import { transformMaintenanceWindowToResponseV1 } from '../../transforms'; + +export const archiveMaintenanceWindowRoute = ( + router: IRouter, + licenseState: ILicenseState +) => { + router.post( + { + path: `${INTERNAL_ALERTING_API_MAINTENANCE_WINDOW_PATH}/{id}/_archive`, + validate: { + params: archiveParamsSchemaV1, + body: archiveBodySchemaV1, + }, + options: { + tags: [`access:${MAINTENANCE_WINDOW_API_PRIVILEGES.WRITE_MAINTENANCE_WINDOW}`], + }, + }, + router.handleLegacyErrors( + verifyAccessAndContext(licenseState, async function (context, req, res) { + licenseState.ensureLicenseForMaintenanceWindow(); + + const params: ArchiveMaintenanceWindowRequestParamsV1 = req.params; + const body: ArchiveMaintenanceWindowRequestBodyV1 = req.body; + + const maintenanceWindowClient = (await context.alerting).getMaintenanceWindowClient(); + + const maintenanceWindow: MaintenanceWindow = await maintenanceWindowClient.archive({ + id: params.id, + archive: body.archive, + }); + + const response: ArchiveMaintenanceWindowResponseV1 = { + body: transformMaintenanceWindowToResponseV1(maintenanceWindow), + }; + + return res.ok(response); + }) + ) + ); +}; diff --git a/x-pack/plugins/alerting/server/routes/maintenance_window/bulk_get_maintenance_windows.test.ts b/x-pack/plugins/alerting/server/routes/maintenance_window/apis/bulk_get/bulk_get_maintenance_windows_route.test.ts similarity index 84% rename from x-pack/plugins/alerting/server/routes/maintenance_window/bulk_get_maintenance_windows.test.ts rename to x-pack/plugins/alerting/server/routes/maintenance_window/apis/bulk_get/bulk_get_maintenance_windows_route.test.ts index 50422e581aebd7..c39fe061b69e5b 100644 --- a/x-pack/plugins/alerting/server/routes/maintenance_window/bulk_get_maintenance_windows.test.ts +++ b/x-pack/plugins/alerting/server/routes/maintenance_window/apis/bulk_get/bulk_get_maintenance_windows_route.test.ts @@ -6,17 +6,18 @@ */ import { httpServiceMock } from '@kbn/core/server/mocks'; -import { licenseStateMock } from '../../lib/license_state.mock'; -import { verifyApiAccess } from '../../lib/license_api_access'; -import { mockHandlerArguments } from '../_mock_handler_arguments'; -import { maintenanceWindowClientMock } from '../../maintenance_window_client.mock'; -import { bulkGetMaintenanceWindowRoute, rewriteBodyResponse } from './bulk_get_maintenance_windows'; -import { getMockMaintenanceWindow } from '../../maintenance_window_client/methods/test_helpers'; -import { MaintenanceWindowStatus } from '../../../common'; +import { licenseStateMock } from '../../../../lib/license_state.mock'; +import { verifyApiAccess } from '../../../../lib/license_api_access'; +import { mockHandlerArguments } from '../../../_mock_handler_arguments'; +import { maintenanceWindowClientMock } from '../../../../maintenance_window_client.mock'; +import { bulkGetMaintenanceWindowRoute } from './bulk_get_maintenance_windows_route'; +import { getMockMaintenanceWindow } from '../../../../data/maintenance_window/test_helpers'; +import { MaintenanceWindowStatus } from '../../../../../common'; +import { transformBulkGetResultToResponseV1 } from './transforms'; const maintenanceWindowClient = maintenanceWindowClientMock.create(); -jest.mock('../../lib/license_api_access', () => ({ +jest.mock('../../../../lib/license_api_access', () => ({ verifyApiAccess: jest.fn(), })); @@ -75,7 +76,7 @@ describe('bulkGetMaintenanceWindowRoute', () => { ids: ['test-id-1', 'test-id-2', 'test-id-3'], }); expect(res.ok).toHaveBeenLastCalledWith({ - body: rewriteBodyResponse(mockBulkGetResponse), + body: transformBulkGetResultToResponseV1(mockBulkGetResponse), }); }); diff --git a/x-pack/plugins/alerting/server/routes/maintenance_window/bulk_get_maintenance_windows.ts b/x-pack/plugins/alerting/server/routes/maintenance_window/apis/bulk_get/bulk_get_maintenance_windows_route.ts similarity index 51% rename from x-pack/plugins/alerting/server/routes/maintenance_window/bulk_get_maintenance_windows.ts rename to x-pack/plugins/alerting/server/routes/maintenance_window/apis/bulk_get/bulk_get_maintenance_windows_route.ts index 77916fb4d44f3e..fd77b52e0c04f5 100644 --- a/x-pack/plugins/alerting/server/routes/maintenance_window/bulk_get_maintenance_windows.ts +++ b/x-pack/plugins/alerting/server/routes/maintenance_window/apis/bulk_get/bulk_get_maintenance_windows_route.ts @@ -6,29 +6,20 @@ */ import { IRouter } from '@kbn/core/server'; -import { schema } from '@kbn/config-schema'; -import { ILicenseState } from '../../lib'; -import { verifyAccessAndContext, rewriteMaintenanceWindowRes, RewriteResponseCase } from '../lib'; +import { ILicenseState } from '../../../../lib'; +import { verifyAccessAndContext } from '../../../lib'; import { AlertingRequestHandlerContext, INTERNAL_ALERTING_API_MAINTENANCE_WINDOW_PATH, -} from '../../types'; -import { MAINTENANCE_WINDOW_API_PRIVILEGES } from '../../../common'; -import { BulkGetResult } from '../../maintenance_window_client/methods/bulk_get'; - -const bodySchema = schema.object({ - ids: schema.arrayOf(schema.string()), -}); - -export const rewriteBodyResponse: RewriteResponseCase = (result: BulkGetResult) => ({ - maintenance_windows: result.maintenanceWindows.map((mw) => rewriteMaintenanceWindowRes(mw)), - errors: result.errors.map((error) => ({ - id: error.id, - error: error.error, - message: error.message, - status_code: error.statusCode, - })), -}); +} from '../../../../types'; +import { MAINTENANCE_WINDOW_API_PRIVILEGES } from '../../../../../common'; +import { BulkGetMaintenanceWindowsResult } from '../../../../application/maintenance_window/methods/bulk_get/types'; +import { + bulkGetBodySchemaV1, + BulkGetMaintenanceWindowsRequestBodyV1, + BulkGetMaintenanceWindowsResponseV1, +} from '../../../../../common/routes/maintenance_window/apis/bulk_get'; +import { transformBulkGetResultToResponseV1 } from './transforms'; export const bulkGetMaintenanceWindowRoute = ( router: IRouter, @@ -38,7 +29,7 @@ export const bulkGetMaintenanceWindowRoute = ( { path: `${INTERNAL_ALERTING_API_MAINTENANCE_WINDOW_PATH}/_bulk_get`, validate: { - body: bodySchema, + body: bulkGetBodySchemaV1, }, options: { tags: [`access:${MAINTENANCE_WINDOW_API_PRIVILEGES.READ_MAINTENANCE_WINDOW}`], @@ -48,13 +39,19 @@ export const bulkGetMaintenanceWindowRoute = ( verifyAccessAndContext(licenseState, async function (context, req, res) { licenseState.ensureLicenseForMaintenanceWindow(); + const body: BulkGetMaintenanceWindowsRequestBodyV1 = req.body; + const maintenanceWindowClient = (await context.alerting).getMaintenanceWindowClient(); - const { ids } = req.body; - const result = await maintenanceWindowClient.bulkGet({ ids }); - return res.ok({ - body: rewriteBodyResponse(result), + const result: BulkGetMaintenanceWindowsResult = await maintenanceWindowClient.bulkGet({ + ids: body.ids, }); + + const response: BulkGetMaintenanceWindowsResponseV1 = { + body: transformBulkGetResultToResponseV1(result), + }; + + return res.ok(response); }) ) ); diff --git a/x-pack/plugins/alerting/server/routes/maintenance_window/apis/bulk_get/transforms/index.ts b/x-pack/plugins/alerting/server/routes/maintenance_window/apis/bulk_get/transforms/index.ts new file mode 100644 index 00000000000000..430c2f6b93f83e --- /dev/null +++ b/x-pack/plugins/alerting/server/routes/maintenance_window/apis/bulk_get/transforms/index.ts @@ -0,0 +1,10 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +export { transformBulkGetResultToResponse } from './transform_bulk_get_response/latest'; + +export { transformBulkGetResultToResponse as transformBulkGetResultToResponseV1 } from './transform_bulk_get_response/v1'; diff --git a/x-pack/plugins/alerting/server/routes/maintenance_window/apis/bulk_get/transforms/transform_bulk_get_response/latest.ts b/x-pack/plugins/alerting/server/routes/maintenance_window/apis/bulk_get/transforms/transform_bulk_get_response/latest.ts new file mode 100644 index 00000000000000..46b64fd03d6e22 --- /dev/null +++ b/x-pack/plugins/alerting/server/routes/maintenance_window/apis/bulk_get/transforms/transform_bulk_get_response/latest.ts @@ -0,0 +1,8 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +export { transformBulkGetResultToResponse } from './v1'; diff --git a/x-pack/plugins/alerting/server/routes/maintenance_window/apis/bulk_get/transforms/transform_bulk_get_response/v1.ts b/x-pack/plugins/alerting/server/routes/maintenance_window/apis/bulk_get/transforms/transform_bulk_get_response/v1.ts new file mode 100644 index 00000000000000..5e791e0d917e9c --- /dev/null +++ b/x-pack/plugins/alerting/server/routes/maintenance_window/apis/bulk_get/transforms/transform_bulk_get_response/v1.ts @@ -0,0 +1,28 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { BulkGetMaintenanceWindowsResponseBodyV1 } from '../../../../../../../common/routes/maintenance_window/apis/bulk_get'; +import { BulkGetMaintenanceWindowsResult } from '../../../../../../application/maintenance_window/methods/bulk_get/types'; +import { transformMaintenanceWindowToResponseV1 } from '../../../../transforms'; + +export const transformBulkGetResultToResponse = ( + result: BulkGetMaintenanceWindowsResult +): BulkGetMaintenanceWindowsResponseBodyV1 => { + return { + maintenance_windows: result.maintenanceWindows.map((mw) => { + return transformMaintenanceWindowToResponseV1(mw); + }), + errors: result.errors.map((error) => { + return { + id: error.id, + error: error.error, + message: error.message, + status_code: error.statusCode, + }; + }), + }; +}; diff --git a/x-pack/plugins/alerting/server/routes/maintenance_window/create_maintenance_window.test.ts b/x-pack/plugins/alerting/server/routes/maintenance_window/apis/create/create_maintenance_window_route.test.ts similarity index 75% rename from x-pack/plugins/alerting/server/routes/maintenance_window/create_maintenance_window.test.ts rename to x-pack/plugins/alerting/server/routes/maintenance_window/apis/create/create_maintenance_window_route.test.ts index adf365f409d9b7..f019f8a04b76e0 100644 --- a/x-pack/plugins/alerting/server/routes/maintenance_window/create_maintenance_window.test.ts +++ b/x-pack/plugins/alerting/server/routes/maintenance_window/apis/create/create_maintenance_window_route.test.ts @@ -6,18 +6,22 @@ */ import { httpServiceMock } from '@kbn/core/server/mocks'; -import { licenseStateMock } from '../../lib/license_state.mock'; -import { verifyApiAccess } from '../../lib/license_api_access'; -import { mockHandlerArguments } from '../_mock_handler_arguments'; -import { maintenanceWindowClientMock } from '../../maintenance_window_client.mock'; -import { createMaintenanceWindowRoute, rewriteQueryReq } from './create_maintenance_window'; -import { getMockMaintenanceWindow } from '../../maintenance_window_client/methods/test_helpers'; -import { MaintenanceWindowStatus } from '../../../common'; -import { rewritePartialMaintenanceBodyRes } from '../lib'; +import { licenseStateMock } from '../../../../lib/license_state.mock'; +import { verifyApiAccess } from '../../../../lib/license_api_access'; +import { mockHandlerArguments } from '../../../_mock_handler_arguments'; +import { maintenanceWindowClientMock } from '../../../../maintenance_window_client.mock'; +import { createMaintenanceWindowRoute } from './create_maintenance_window_route'; +import { getMockMaintenanceWindow } from '../../../../data/maintenance_window/test_helpers'; +import { MaintenanceWindowStatus } from '../../../../../common'; + +import { MaintenanceWindow } from '../../../../application/maintenance_window/types'; +import { CreateMaintenanceWindowRequestBody } from '../../../../../common/routes/maintenance_window/apis/create'; +import { transformCreateBody } from './transforms'; +import { transformMaintenanceWindowToResponse } from '../../transforms'; const maintenanceWindowClient = maintenanceWindowClientMock.create(); -jest.mock('../../lib/license_api_access', () => ({ +jest.mock('../../../../lib/license_api_access', () => ({ verifyApiAccess: jest.fn(), })); @@ -27,13 +31,13 @@ const mockMaintenanceWindow = { eventEndTime: new Date().toISOString(), status: MaintenanceWindowStatus.Running, id: 'test-id', -}; +} as MaintenanceWindow; const createParams = { title: 'test-title', duration: 1000, r_rule: mockMaintenanceWindow.rRule, -}; +} as CreateMaintenanceWindowRequestBody; describe('createMaintenanceWindowRoute', () => { beforeEach(() => { @@ -58,9 +62,11 @@ describe('createMaintenanceWindowRoute', () => { await handler(context, req, res); - expect(maintenanceWindowClient.create).toHaveBeenLastCalledWith(rewriteQueryReq(createParams)); + expect(maintenanceWindowClient.create).toHaveBeenLastCalledWith({ + data: transformCreateBody(createParams), + }); expect(res.ok).toHaveBeenLastCalledWith({ - body: rewritePartialMaintenanceBodyRes(mockMaintenanceWindow), + body: transformMaintenanceWindowToResponse(mockMaintenanceWindow), }); }); diff --git a/x-pack/plugins/alerting/server/routes/maintenance_window/create_maintenance_window.ts b/x-pack/plugins/alerting/server/routes/maintenance_window/apis/create/create_maintenance_window_route.ts similarity index 51% rename from x-pack/plugins/alerting/server/routes/maintenance_window/create_maintenance_window.ts rename to x-pack/plugins/alerting/server/routes/maintenance_window/apis/create/create_maintenance_window_route.ts index 311383e7957f76..1bbc6e311068ca 100644 --- a/x-pack/plugins/alerting/server/routes/maintenance_window/create_maintenance_window.ts +++ b/x-pack/plugins/alerting/server/routes/maintenance_window/apis/create/create_maintenance_window_route.ts @@ -6,33 +6,21 @@ */ import { IRouter } from '@kbn/core/server'; -import { schema } from '@kbn/config-schema'; -import { ILicenseState } from '../../lib'; -import { - verifyAccessAndContext, - rRuleSchema, - RewriteRequestCase, - rewriteMaintenanceWindowRes, -} from '../lib'; +import { ILicenseState } from '../../../../lib'; +import { verifyAccessAndContext } from '../../../lib'; import { AlertingRequestHandlerContext, INTERNAL_ALERTING_API_MAINTENANCE_WINDOW_PATH, -} from '../../types'; -import { MaintenanceWindowCreateBody, MAINTENANCE_WINDOW_API_PRIVILEGES } from '../../../common'; - -const bodySchema = schema.object({ - title: schema.string(), - duration: schema.number(), - r_rule: rRuleSchema, -}); - -export const rewriteQueryReq: RewriteRequestCase = ({ - r_rule: rRule, - ...rest -}) => ({ - ...rest, - rRule, -}); +} from '../../../../types'; +import { MAINTENANCE_WINDOW_API_PRIVILEGES } from '../../../../../common'; +import { MaintenanceWindow } from '../../../../application/maintenance_window/types'; +import { + createBodySchemaV1, + CreateMaintenanceWindowRequestBodyV1, + CreateMaintenanceWindowResponseV1, +} from '../../../../../common/routes/maintenance_window/apis/create'; +import { transformCreateBodyV1 } from './transforms'; +import { transformMaintenanceWindowToResponseV1 } from '../../transforms'; export const createMaintenanceWindowRoute = ( router: IRouter, @@ -42,7 +30,7 @@ export const createMaintenanceWindowRoute = ( { path: INTERNAL_ALERTING_API_MAINTENANCE_WINDOW_PATH, validate: { - body: bodySchema, + body: createBodySchemaV1, }, options: { tags: [`access:${MAINTENANCE_WINDOW_API_PRIVILEGES.WRITE_MAINTENANCE_WINDOW}`], @@ -52,11 +40,19 @@ export const createMaintenanceWindowRoute = ( verifyAccessAndContext(licenseState, async function (context, req, res) { licenseState.ensureLicenseForMaintenanceWindow(); + const body: CreateMaintenanceWindowRequestBodyV1 = req.body; + const maintenanceWindowClient = (await context.alerting).getMaintenanceWindowClient(); - const maintenanceWindow = await maintenanceWindowClient.create(rewriteQueryReq(req.body)); - return res.ok({ - body: rewriteMaintenanceWindowRes(maintenanceWindow), + + const maintenanceWindow: MaintenanceWindow = await maintenanceWindowClient.create({ + data: transformCreateBodyV1(body), }); + + const response: CreateMaintenanceWindowResponseV1 = { + body: transformMaintenanceWindowToResponseV1(maintenanceWindow), + }; + + return res.ok(response); }) ) ); diff --git a/x-pack/plugins/alerting/server/routes/maintenance_window/apis/create/transforms/index.ts b/x-pack/plugins/alerting/server/routes/maintenance_window/apis/create/transforms/index.ts new file mode 100644 index 00000000000000..acd4b6fde493c5 --- /dev/null +++ b/x-pack/plugins/alerting/server/routes/maintenance_window/apis/create/transforms/index.ts @@ -0,0 +1,10 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +export { transformCreateBody } from './transform_create_body/latest'; + +export { transformCreateBody as transformCreateBodyV1 } from './transform_create_body/v1'; diff --git a/x-pack/plugins/alerting/server/routes/maintenance_window/apis/create/transforms/transform_create_body/latest.ts b/x-pack/plugins/alerting/server/routes/maintenance_window/apis/create/transforms/transform_create_body/latest.ts new file mode 100644 index 00000000000000..84b3dac9e7737b --- /dev/null +++ b/x-pack/plugins/alerting/server/routes/maintenance_window/apis/create/transforms/transform_create_body/latest.ts @@ -0,0 +1,8 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +export { transformCreateBody } from './v1'; diff --git a/x-pack/plugins/alerting/server/routes/maintenance_window/apis/create/transforms/transform_create_body/v1.ts b/x-pack/plugins/alerting/server/routes/maintenance_window/apis/create/transforms/transform_create_body/v1.ts new file mode 100644 index 00000000000000..290f29d90849f1 --- /dev/null +++ b/x-pack/plugins/alerting/server/routes/maintenance_window/apis/create/transforms/transform_create_body/v1.ts @@ -0,0 +1,19 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { CreateMaintenanceWindowRequestBodyV1 } from '../../../../../../../common/routes/maintenance_window/apis/create'; +import { CreateMaintenanceWindowParams } from '../../../../../../application/maintenance_window/methods/create/types'; + +export const transformCreateBody = ( + createBody: CreateMaintenanceWindowRequestBodyV1 +): CreateMaintenanceWindowParams['data'] => { + return { + title: createBody.title, + duration: createBody.duration, + rRule: createBody.r_rule, + }; +}; diff --git a/x-pack/plugins/alerting/server/routes/maintenance_window/delete_maintenance_window.test.ts b/x-pack/plugins/alerting/server/routes/maintenance_window/apis/delete/delete_maintenance_window_route.test.ts similarity index 86% rename from x-pack/plugins/alerting/server/routes/maintenance_window/delete_maintenance_window.test.ts rename to x-pack/plugins/alerting/server/routes/maintenance_window/apis/delete/delete_maintenance_window_route.test.ts index 2c356c65d65ece..7ac0db328cf9df 100644 --- a/x-pack/plugins/alerting/server/routes/maintenance_window/delete_maintenance_window.test.ts +++ b/x-pack/plugins/alerting/server/routes/maintenance_window/apis/delete/delete_maintenance_window_route.test.ts @@ -6,17 +6,17 @@ */ import { httpServiceMock } from '@kbn/core/server/mocks'; -import { licenseStateMock } from '../../lib/license_state.mock'; -import { verifyApiAccess } from '../../lib/license_api_access'; -import { mockHandlerArguments } from '../_mock_handler_arguments'; -import { maintenanceWindowClientMock } from '../../maintenance_window_client.mock'; -import { deleteMaintenanceWindowRoute } from './delete_maintenance_window'; -import { getMockMaintenanceWindow } from '../../maintenance_window_client/methods/test_helpers'; -import { MaintenanceWindowStatus } from '../../../common'; +import { licenseStateMock } from '../../../../lib/license_state.mock'; +import { verifyApiAccess } from '../../../../lib/license_api_access'; +import { mockHandlerArguments } from '../../../_mock_handler_arguments'; +import { maintenanceWindowClientMock } from '../../../../maintenance_window_client.mock'; +import { deleteMaintenanceWindowRoute } from './delete_maintenance_window_route'; +import { getMockMaintenanceWindow } from '../../../../data/maintenance_window/test_helpers'; +import { MaintenanceWindowStatus } from '../../../../../common'; const maintenanceWindowClient = maintenanceWindowClientMock.create(); -jest.mock('../../lib/license_api_access', () => ({ +jest.mock('../../../../lib/license_api_access', () => ({ verifyApiAccess: jest.fn(), })); diff --git a/x-pack/plugins/alerting/server/routes/maintenance_window/delete_maintenance_window.ts b/x-pack/plugins/alerting/server/routes/maintenance_window/apis/delete/delete_maintenance_window_route.ts similarity index 67% rename from x-pack/plugins/alerting/server/routes/maintenance_window/delete_maintenance_window.ts rename to x-pack/plugins/alerting/server/routes/maintenance_window/apis/delete/delete_maintenance_window_route.ts index ca2a166f1ab57c..9abc9872b9b372 100644 --- a/x-pack/plugins/alerting/server/routes/maintenance_window/delete_maintenance_window.ts +++ b/x-pack/plugins/alerting/server/routes/maintenance_window/apis/delete/delete_maintenance_window_route.ts @@ -6,18 +6,18 @@ */ import { IRouter } from '@kbn/core/server'; -import { schema } from '@kbn/config-schema'; -import { ILicenseState } from '../../lib'; -import { verifyAccessAndContext } from '../lib'; +import { ILicenseState } from '../../../../lib'; +import { verifyAccessAndContext } from '../../../lib'; import { AlertingRequestHandlerContext, INTERNAL_ALERTING_API_MAINTENANCE_WINDOW_PATH, -} from '../../types'; -import { MAINTENANCE_WINDOW_API_PRIVILEGES } from '../../../common'; +} from '../../../../types'; +import { MAINTENANCE_WINDOW_API_PRIVILEGES } from '../../../../../common'; -const paramSchema = schema.object({ - id: schema.string(), -}); +import { + deleteParamsSchemaV1, + DeleteMaintenanceWindowRequestParamsV1, +} from '../../../../../common/routes/maintenance_window/apis/delete'; export const deleteMaintenanceWindowRoute = ( router: IRouter, @@ -27,7 +27,7 @@ export const deleteMaintenanceWindowRoute = ( { path: `${INTERNAL_ALERTING_API_MAINTENANCE_WINDOW_PATH}/{id}`, validate: { - params: paramSchema, + params: deleteParamsSchemaV1, }, options: { tags: [`access:${MAINTENANCE_WINDOW_API_PRIVILEGES.WRITE_MAINTENANCE_WINDOW}`], @@ -37,9 +37,12 @@ export const deleteMaintenanceWindowRoute = ( verifyAccessAndContext(licenseState, async function (context, req, res) { licenseState.ensureLicenseForMaintenanceWindow(); + const params: DeleteMaintenanceWindowRequestParamsV1 = req.params; + const maintenanceWindowClient = (await context.alerting).getMaintenanceWindowClient(); - const { id } = req.params; - await maintenanceWindowClient.delete({ id }); + + await maintenanceWindowClient.delete({ id: params.id }); + return res.noContent(); }) ) diff --git a/x-pack/plugins/alerting/server/routes/maintenance_window/find_maintenance_windows.test.ts b/x-pack/plugins/alerting/server/routes/maintenance_window/apis/find/find_maintenance_windows_route.test.ts similarity index 86% rename from x-pack/plugins/alerting/server/routes/maintenance_window/find_maintenance_windows.test.ts rename to x-pack/plugins/alerting/server/routes/maintenance_window/apis/find/find_maintenance_windows_route.test.ts index ed1562ce726dfc..a9a7d22e207518 100644 --- a/x-pack/plugins/alerting/server/routes/maintenance_window/find_maintenance_windows.test.ts +++ b/x-pack/plugins/alerting/server/routes/maintenance_window/apis/find/find_maintenance_windows_route.test.ts @@ -6,18 +6,18 @@ */ import { httpServiceMock } from '@kbn/core/server/mocks'; -import { licenseStateMock } from '../../lib/license_state.mock'; -import { verifyApiAccess } from '../../lib/license_api_access'; -import { mockHandlerArguments } from '../_mock_handler_arguments'; -import { maintenanceWindowClientMock } from '../../maintenance_window_client.mock'; -import { findMaintenanceWindowsRoute } from './find_maintenance_windows'; -import { getMockMaintenanceWindow } from '../../maintenance_window_client/methods/test_helpers'; -import { MaintenanceWindowStatus } from '../../../common'; -import { rewriteMaintenanceWindowRes } from '../lib'; +import { licenseStateMock } from '../../../../lib/license_state.mock'; +import { verifyApiAccess } from '../../../../lib/license_api_access'; +import { mockHandlerArguments } from '../../../_mock_handler_arguments'; +import { maintenanceWindowClientMock } from '../../../../maintenance_window_client.mock'; +import { findMaintenanceWindowsRoute } from './find_maintenance_windows_route'; +import { getMockMaintenanceWindow } from '../../../../data/maintenance_window/test_helpers'; +import { MaintenanceWindowStatus } from '../../../../../common'; +import { rewriteMaintenanceWindowRes } from '../../../lib'; const maintenanceWindowClient = maintenanceWindowClientMock.create(); -jest.mock('../../lib/license_api_access', () => ({ +jest.mock('../../../../lib/license_api_access', () => ({ verifyApiAccess: jest.fn(), })); diff --git a/x-pack/plugins/alerting/server/routes/maintenance_window/find_maintenance_windows.ts b/x-pack/plugins/alerting/server/routes/maintenance_window/apis/find/find_maintenance_windows_route.ts similarity index 60% rename from x-pack/plugins/alerting/server/routes/maintenance_window/find_maintenance_windows.ts rename to x-pack/plugins/alerting/server/routes/maintenance_window/apis/find/find_maintenance_windows_route.ts index 0e1b615e939c0b..4baf6032e4222c 100644 --- a/x-pack/plugins/alerting/server/routes/maintenance_window/find_maintenance_windows.ts +++ b/x-pack/plugins/alerting/server/routes/maintenance_window/apis/find/find_maintenance_windows_route.ts @@ -6,13 +6,16 @@ */ import { IRouter } from '@kbn/core/server'; -import { ILicenseState } from '../../lib'; -import { verifyAccessAndContext, rewriteMaintenanceWindowRes } from '../lib'; +import { ILicenseState } from '../../../../lib'; +import { verifyAccessAndContext } from '../../../lib'; import { AlertingRequestHandlerContext, INTERNAL_ALERTING_API_MAINTENANCE_WINDOW_PATH, -} from '../../types'; -import { MAINTENANCE_WINDOW_API_PRIVILEGES } from '../../../common'; +} from '../../../../types'; +import { MAINTENANCE_WINDOW_API_PRIVILEGES } from '../../../../../common'; +import type { FindMaintenanceWindowsResult } from '../../../../application/maintenance_window/methods/find/types'; +import type { FindMaintenanceWindowsResponseV1 } from '../../../../../common/routes/maintenance_window/apis/find'; +import { transformMaintenanceWindowToResponseV1 } from '../../transforms'; export const findMaintenanceWindowsRoute = ( router: IRouter, @@ -31,16 +34,19 @@ export const findMaintenanceWindowsRoute = ( licenseState.ensureLicenseForMaintenanceWindow(); const maintenanceWindowClient = (await context.alerting).getMaintenanceWindowClient(); - const result = await maintenanceWindowClient.find(); - return res.ok({ + const result: FindMaintenanceWindowsResult = await maintenanceWindowClient.find(); + + const response: FindMaintenanceWindowsResponseV1 = { body: { data: result.data.map((maintenanceWindow) => - rewriteMaintenanceWindowRes(maintenanceWindow) + transformMaintenanceWindowToResponseV1(maintenanceWindow) ), total: result.data.length, }, - }); + }; + + return res.ok(response); }) ) ); diff --git a/x-pack/plugins/alerting/server/routes/maintenance_window/finish_maintenance_window.test.ts b/x-pack/plugins/alerting/server/routes/maintenance_window/apis/finish/finish_maintenance_window_route.test.ts similarity index 85% rename from x-pack/plugins/alerting/server/routes/maintenance_window/finish_maintenance_window.test.ts rename to x-pack/plugins/alerting/server/routes/maintenance_window/apis/finish/finish_maintenance_window_route.test.ts index a115e7d47d6285..e7ec470839fe97 100644 --- a/x-pack/plugins/alerting/server/routes/maintenance_window/finish_maintenance_window.test.ts +++ b/x-pack/plugins/alerting/server/routes/maintenance_window/apis/finish/finish_maintenance_window_route.test.ts @@ -6,18 +6,18 @@ */ import { httpServiceMock } from '@kbn/core/server/mocks'; -import { licenseStateMock } from '../../lib/license_state.mock'; -import { verifyApiAccess } from '../../lib/license_api_access'; -import { mockHandlerArguments } from '../_mock_handler_arguments'; -import { maintenanceWindowClientMock } from '../../maintenance_window_client.mock'; -import { finishMaintenanceWindowRoute } from './finish_maintenance_window'; -import { getMockMaintenanceWindow } from '../../maintenance_window_client/methods/test_helpers'; -import { MaintenanceWindowStatus } from '../../../common'; -import { rewritePartialMaintenanceBodyRes } from '../lib'; +import { licenseStateMock } from '../../../../lib/license_state.mock'; +import { verifyApiAccess } from '../../../../lib/license_api_access'; +import { mockHandlerArguments } from '../../../_mock_handler_arguments'; +import { maintenanceWindowClientMock } from '../../../../maintenance_window_client.mock'; +import { finishMaintenanceWindowRoute } from './finish_maintenance_window_route'; +import { getMockMaintenanceWindow } from '../../../../data/maintenance_window/test_helpers'; +import { MaintenanceWindowStatus } from '../../../../../common'; +import { rewritePartialMaintenanceBodyRes } from '../../../lib'; const maintenanceWindowClient = maintenanceWindowClientMock.create(); -jest.mock('../../lib/license_api_access', () => ({ +jest.mock('../../../../lib/license_api_access', () => ({ verifyApiAccess: jest.fn(), })); diff --git a/x-pack/plugins/alerting/server/routes/maintenance_window/finish_maintenance_window.ts b/x-pack/plugins/alerting/server/routes/maintenance_window/apis/finish/finish_maintenance_window_route.ts similarity index 52% rename from x-pack/plugins/alerting/server/routes/maintenance_window/finish_maintenance_window.ts rename to x-pack/plugins/alerting/server/routes/maintenance_window/apis/finish/finish_maintenance_window_route.ts index 0c9cd8e058ec95..fe1310734d4240 100644 --- a/x-pack/plugins/alerting/server/routes/maintenance_window/finish_maintenance_window.ts +++ b/x-pack/plugins/alerting/server/routes/maintenance_window/apis/finish/finish_maintenance_window_route.ts @@ -6,18 +6,20 @@ */ import { IRouter } from '@kbn/core/server'; -import { schema } from '@kbn/config-schema'; -import { ILicenseState } from '../../lib'; -import { verifyAccessAndContext, rewritePartialMaintenanceBodyRes } from '../lib'; +import { ILicenseState } from '../../../../lib'; +import { verifyAccessAndContext } from '../../../lib'; import { AlertingRequestHandlerContext, INTERNAL_ALERTING_API_MAINTENANCE_WINDOW_PATH, -} from '../../types'; -import { MAINTENANCE_WINDOW_API_PRIVILEGES } from '../../../common'; - -const paramSchema = schema.object({ - id: schema.string(), -}); +} from '../../../../types'; +import { MaintenanceWindow } from '../../../../application/maintenance_window/types'; +import { + finishParamsSchemaV1, + FinishMaintenanceWindowRequestParamsV1, + FinishMaintenanceWindowResponseV1, +} from '../../../../../common/routes/maintenance_window/apis/finish'; +import { MAINTENANCE_WINDOW_API_PRIVILEGES } from '../../../../../common'; +import { transformMaintenanceWindowToResponseV1 } from '../../transforms'; export const finishMaintenanceWindowRoute = ( router: IRouter, @@ -27,7 +29,7 @@ export const finishMaintenanceWindowRoute = ( { path: `${INTERNAL_ALERTING_API_MAINTENANCE_WINDOW_PATH}/{id}/_finish`, validate: { - params: paramSchema, + params: finishParamsSchemaV1, }, options: { tags: [`access:${MAINTENANCE_WINDOW_API_PRIVILEGES.WRITE_MAINTENANCE_WINDOW}`], @@ -37,11 +39,19 @@ export const finishMaintenanceWindowRoute = ( verifyAccessAndContext(licenseState, async function (context, req, res) { licenseState.ensureLicenseForMaintenanceWindow(); + const params: FinishMaintenanceWindowRequestParamsV1 = req.params; + const maintenanceWindowClient = (await context.alerting).getMaintenanceWindowClient(); - const maintenanceWindow = await maintenanceWindowClient.finish(req.params); - return res.ok({ - body: rewritePartialMaintenanceBodyRes(maintenanceWindow), + + const maintenanceWindow: MaintenanceWindow = await maintenanceWindowClient.finish({ + id: params.id, }); + + const response: FinishMaintenanceWindowResponseV1 = { + body: transformMaintenanceWindowToResponseV1(maintenanceWindow), + }; + + return res.ok(response); }) ) ); diff --git a/x-pack/plugins/alerting/server/routes/maintenance_window/get_maintenance_window.test.ts b/x-pack/plugins/alerting/server/routes/maintenance_window/apis/get/get_maintenance_window_route.test.ts similarity index 85% rename from x-pack/plugins/alerting/server/routes/maintenance_window/get_maintenance_window.test.ts rename to x-pack/plugins/alerting/server/routes/maintenance_window/apis/get/get_maintenance_window_route.test.ts index a2691939d00e5d..9e17aed88eaf03 100644 --- a/x-pack/plugins/alerting/server/routes/maintenance_window/get_maintenance_window.test.ts +++ b/x-pack/plugins/alerting/server/routes/maintenance_window/apis/get/get_maintenance_window_route.test.ts @@ -6,18 +6,18 @@ */ import { httpServiceMock } from '@kbn/core/server/mocks'; -import { licenseStateMock } from '../../lib/license_state.mock'; -import { verifyApiAccess } from '../../lib/license_api_access'; -import { mockHandlerArguments } from '../_mock_handler_arguments'; -import { maintenanceWindowClientMock } from '../../maintenance_window_client.mock'; -import { getMaintenanceWindowRoute } from './get_maintenance_window'; -import { getMockMaintenanceWindow } from '../../maintenance_window_client/methods/test_helpers'; -import { MaintenanceWindowStatus } from '../../../common'; -import { rewritePartialMaintenanceBodyRes } from '../lib'; +import { licenseStateMock } from '../../../../lib/license_state.mock'; +import { verifyApiAccess } from '../../../../lib/license_api_access'; +import { mockHandlerArguments } from '../../../_mock_handler_arguments'; +import { maintenanceWindowClientMock } from '../../../../maintenance_window_client.mock'; +import { getMaintenanceWindowRoute } from './get_maintenance_window_route'; +import { getMockMaintenanceWindow } from '../../../../data/maintenance_window/test_helpers'; +import { MaintenanceWindowStatus } from '../../../../../common'; +import { rewritePartialMaintenanceBodyRes } from '../../../lib'; const maintenanceWindowClient = maintenanceWindowClientMock.create(); -jest.mock('../../lib/license_api_access', () => ({ +jest.mock('../../../../lib/license_api_access', () => ({ verifyApiAccess: jest.fn(), })); diff --git a/x-pack/plugins/alerting/server/routes/maintenance_window/get_maintenance_window.ts b/x-pack/plugins/alerting/server/routes/maintenance_window/apis/get/get_maintenance_window_route.ts similarity index 52% rename from x-pack/plugins/alerting/server/routes/maintenance_window/get_maintenance_window.ts rename to x-pack/plugins/alerting/server/routes/maintenance_window/apis/get/get_maintenance_window_route.ts index 9dfe599855f62e..2b842f3ad0449d 100644 --- a/x-pack/plugins/alerting/server/routes/maintenance_window/get_maintenance_window.ts +++ b/x-pack/plugins/alerting/server/routes/maintenance_window/apis/get/get_maintenance_window_route.ts @@ -6,18 +6,20 @@ */ import { IRouter } from '@kbn/core/server'; -import { schema } from '@kbn/config-schema'; -import { ILicenseState } from '../../lib'; -import { verifyAccessAndContext, rewriteMaintenanceWindowRes } from '../lib'; +import { ILicenseState } from '../../../../lib'; +import { verifyAccessAndContext } from '../../../lib'; import { AlertingRequestHandlerContext, INTERNAL_ALERTING_API_MAINTENANCE_WINDOW_PATH, -} from '../../types'; -import { MAINTENANCE_WINDOW_API_PRIVILEGES } from '../../../common'; - -const paramSchema = schema.object({ - id: schema.string(), -}); +} from '../../../../types'; +import { MAINTENANCE_WINDOW_API_PRIVILEGES } from '../../../../../common'; +import { MaintenanceWindow } from '../../../../application/maintenance_window/types'; +import { + getParamsSchemaV1, + GetMaintenanceWindowRequestParamsV1, + GetMaintenanceWindowResponseV1, +} from '../../../../../common/routes/maintenance_window/apis/get'; +import { transformMaintenanceWindowToResponseV1 } from '../../transforms'; export const getMaintenanceWindowRoute = ( router: IRouter, @@ -27,7 +29,7 @@ export const getMaintenanceWindowRoute = ( { path: `${INTERNAL_ALERTING_API_MAINTENANCE_WINDOW_PATH}/{id}`, validate: { - params: paramSchema, + params: getParamsSchemaV1, }, options: { tags: [`access:${MAINTENANCE_WINDOW_API_PRIVILEGES.READ_MAINTENANCE_WINDOW}`], @@ -38,11 +40,17 @@ export const getMaintenanceWindowRoute = ( licenseState.ensureLicenseForMaintenanceWindow(); const maintenanceWindowClient = (await context.alerting).getMaintenanceWindowClient(); - const { id } = req.params; - const maintenanceWindow = await maintenanceWindowClient.get({ id }); - return res.ok({ - body: rewriteMaintenanceWindowRes(maintenanceWindow), + + const params: GetMaintenanceWindowRequestParamsV1 = req.params; + + const maintenanceWindow: MaintenanceWindow = await maintenanceWindowClient.get({ + id: params.id, }); + + const response: GetMaintenanceWindowResponseV1 = { + body: transformMaintenanceWindowToResponseV1(maintenanceWindow), + }; + return res.ok(response); }) ) ); diff --git a/x-pack/plugins/alerting/server/routes/maintenance_window/active_maintenance_windows.test.ts b/x-pack/plugins/alerting/server/routes/maintenance_window/apis/get_active/get_active_maintenance_windows_route.test.ts similarity index 78% rename from x-pack/plugins/alerting/server/routes/maintenance_window/active_maintenance_windows.test.ts rename to x-pack/plugins/alerting/server/routes/maintenance_window/apis/get_active/get_active_maintenance_windows_route.test.ts index 868f1542561e4c..c9f9fa28413740 100644 --- a/x-pack/plugins/alerting/server/routes/maintenance_window/active_maintenance_windows.test.ts +++ b/x-pack/plugins/alerting/server/routes/maintenance_window/apis/get_active/get_active_maintenance_windows_route.test.ts @@ -6,18 +6,18 @@ */ import { httpServiceMock } from '@kbn/core/server/mocks'; -import { licenseStateMock } from '../../lib/license_state.mock'; -import { verifyApiAccess } from '../../lib/license_api_access'; -import { mockHandlerArguments } from '../_mock_handler_arguments'; -import { maintenanceWindowClientMock } from '../../maintenance_window_client.mock'; -import { activeMaintenanceWindowsRoute } from './active_maintenance_windows'; -import { getMockMaintenanceWindow } from '../../maintenance_window_client/methods/test_helpers'; -import { MaintenanceWindowStatus } from '../../../common'; -import { rewriteMaintenanceWindowRes } from '../lib'; +import { licenseStateMock } from '../../../../lib/license_state.mock'; +import { verifyApiAccess } from '../../../../lib/license_api_access'; +import { mockHandlerArguments } from '../../../_mock_handler_arguments'; +import { maintenanceWindowClientMock } from '../../../../maintenance_window_client.mock'; +import { getActiveMaintenanceWindowsRoute } from './get_active_maintenance_windows_route'; +import { getMockMaintenanceWindow } from '../../../../data/maintenance_window/test_helpers'; +import { MaintenanceWindowStatus } from '../../../../../common'; +import { rewriteMaintenanceWindowRes } from '../../../lib'; const maintenanceWindowClient = maintenanceWindowClientMock.create(); -jest.mock('../../lib/license_api_access', () => ({ +jest.mock('../../../../lib/license_api_access', () => ({ verifyApiAccess: jest.fn(), })); @@ -38,7 +38,7 @@ const mockMaintenanceWindows = [ }, ]; -describe('activeMaintenanceWindowsRoute', () => { +describe('getActiveMaintenanceWindowsRoute', () => { beforeEach(() => { jest.resetAllMocks(); }); @@ -47,7 +47,7 @@ describe('activeMaintenanceWindowsRoute', () => { const licenseState = licenseStateMock.create(); const router = httpServiceMock.createRouter(); - activeMaintenanceWindowsRoute(router, licenseState); + getActiveMaintenanceWindowsRoute(router, licenseState); maintenanceWindowClient.getActiveMaintenanceWindows.mockResolvedValueOnce( mockMaintenanceWindows @@ -70,7 +70,7 @@ describe('activeMaintenanceWindowsRoute', () => { const licenseState = licenseStateMock.create(); const router = httpServiceMock.createRouter(); - activeMaintenanceWindowsRoute(router, licenseState); + getActiveMaintenanceWindowsRoute(router, licenseState); maintenanceWindowClient.getActiveMaintenanceWindows.mockResolvedValueOnce( mockMaintenanceWindows @@ -85,7 +85,7 @@ describe('activeMaintenanceWindowsRoute', () => { const licenseState = licenseStateMock.create(); const router = httpServiceMock.createRouter(); - activeMaintenanceWindowsRoute(router, licenseState); + getActiveMaintenanceWindowsRoute(router, licenseState); (verifyApiAccess as jest.Mock).mockImplementation(() => { throw new Error('Failure'); @@ -99,7 +99,7 @@ describe('activeMaintenanceWindowsRoute', () => { const licenseState = licenseStateMock.create(); const router = httpServiceMock.createRouter(); - activeMaintenanceWindowsRoute(router, licenseState); + getActiveMaintenanceWindowsRoute(router, licenseState); (licenseState.ensureLicenseForMaintenanceWindow as jest.Mock).mockImplementation(() => { throw new Error('Failure'); diff --git a/x-pack/plugins/alerting/server/routes/maintenance_window/active_maintenance_windows.ts b/x-pack/plugins/alerting/server/routes/maintenance_window/apis/get_active/get_active_maintenance_windows_route.ts similarity index 58% rename from x-pack/plugins/alerting/server/routes/maintenance_window/active_maintenance_windows.ts rename to x-pack/plugins/alerting/server/routes/maintenance_window/apis/get_active/get_active_maintenance_windows_route.ts index c2a8d6c761d63e..e7c70d23a5132e 100644 --- a/x-pack/plugins/alerting/server/routes/maintenance_window/active_maintenance_windows.ts +++ b/x-pack/plugins/alerting/server/routes/maintenance_window/apis/get_active/get_active_maintenance_windows_route.ts @@ -6,15 +6,19 @@ */ import { IRouter } from '@kbn/core/server'; -import { ILicenseState } from '../../lib'; -import { verifyAccessAndContext, rewriteMaintenanceWindowRes } from '../lib'; +import { ILicenseState } from '../../../../lib'; +import { verifyAccessAndContext } from '../../../lib'; import { AlertingRequestHandlerContext, INTERNAL_ALERTING_API_GET_ACTIVE_MAINTENANCE_WINDOWS_PATH, -} from '../../types'; -import { MAINTENANCE_WINDOW_API_PRIVILEGES } from '../../../common'; +} from '../../../../types'; +import { MAINTENANCE_WINDOW_API_PRIVILEGES } from '../../../../../common'; -export const activeMaintenanceWindowsRoute = ( +import { MaintenanceWindow } from '../../../../application/maintenance_window/types'; +import { GetActiveMaintenanceWindowsResponseV1 } from '../../../../../common/routes/maintenance_window/apis/get_active'; +import { transformMaintenanceWindowToResponseV1 } from '../../transforms'; + +export const getActiveMaintenanceWindowsRoute = ( router: IRouter, licenseState: ILicenseState ) => { @@ -39,11 +43,16 @@ export const activeMaintenanceWindowsRoute = ( }); } const maintenanceWindowClient = (await context.alerting).getMaintenanceWindowClient(); - const result = await maintenanceWindowClient.getActiveMaintenanceWindows(); + const maintenanceWindows: MaintenanceWindow[] = + await maintenanceWindowClient.getActiveMaintenanceWindows(); + + const response: GetActiveMaintenanceWindowsResponseV1 = { + body: maintenanceWindows.map((maintenanceWindow) => + transformMaintenanceWindowToResponseV1(maintenanceWindow) + ), + }; - return res.ok({ - body: result.map((maintenanceWindow) => rewriteMaintenanceWindowRes(maintenanceWindow)), - }); + return res.ok(response); }) ) ); diff --git a/x-pack/plugins/alerting/server/routes/maintenance_window/apis/update/transforms/index.ts b/x-pack/plugins/alerting/server/routes/maintenance_window/apis/update/transforms/index.ts new file mode 100644 index 00000000000000..975b9236bd5b69 --- /dev/null +++ b/x-pack/plugins/alerting/server/routes/maintenance_window/apis/update/transforms/index.ts @@ -0,0 +1,10 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +export { transformUpdateBody } from './transform_update_body/latest'; + +export { transformUpdateBody as transformUpdateBodyV1 } from './transform_update_body/v1'; diff --git a/x-pack/plugins/alerting/server/routes/maintenance_window/apis/update/transforms/transform_update_body/latest.ts b/x-pack/plugins/alerting/server/routes/maintenance_window/apis/update/transforms/transform_update_body/latest.ts new file mode 100644 index 00000000000000..880fa5f920551b --- /dev/null +++ b/x-pack/plugins/alerting/server/routes/maintenance_window/apis/update/transforms/transform_update_body/latest.ts @@ -0,0 +1,8 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +export { transformUpdateBody } from './v1'; diff --git a/x-pack/plugins/alerting/server/routes/maintenance_window/apis/update/transforms/transform_update_body/v1.ts b/x-pack/plugins/alerting/server/routes/maintenance_window/apis/update/transforms/transform_update_body/v1.ts new file mode 100644 index 00000000000000..5e6ac58bb16f37 --- /dev/null +++ b/x-pack/plugins/alerting/server/routes/maintenance_window/apis/update/transforms/transform_update_body/v1.ts @@ -0,0 +1,21 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { UpdateMaintenanceWindowRequestBodyV1 } from '../../../../../../../common/routes/maintenance_window/apis/update'; +import { UpdateMaintenanceWindowParams } from '../../../../../../application/maintenance_window/methods/update/types'; + +export const transformUpdateBody = ( + updateBody: UpdateMaintenanceWindowRequestBodyV1 +): UpdateMaintenanceWindowParams['data'] => { + const { title, enabled, duration, r_rule: rRule } = updateBody; + return { + ...(title !== undefined ? { title } : {}), + ...(enabled !== undefined ? { enabled } : {}), + ...(duration !== undefined ? { duration } : {}), + ...(rRule !== undefined ? { rRule } : {}), + }; +}; diff --git a/x-pack/plugins/alerting/server/routes/maintenance_window/update_maintenance_window.test.ts b/x-pack/plugins/alerting/server/routes/maintenance_window/apis/update/update_maintenance_window_route.test.ts similarity index 83% rename from x-pack/plugins/alerting/server/routes/maintenance_window/update_maintenance_window.test.ts rename to x-pack/plugins/alerting/server/routes/maintenance_window/apis/update/update_maintenance_window_route.test.ts index a7793c49958908..40c6da84c551c6 100644 --- a/x-pack/plugins/alerting/server/routes/maintenance_window/update_maintenance_window.test.ts +++ b/x-pack/plugins/alerting/server/routes/maintenance_window/apis/update/update_maintenance_window_route.test.ts @@ -4,20 +4,20 @@ * 2.0; you may not use this file except in compliance with the Elastic License * 2.0. */ -import { Frequency } from '@kbn/rrule'; import { httpServiceMock } from '@kbn/core/server/mocks'; -import { licenseStateMock } from '../../lib/license_state.mock'; -import { verifyApiAccess } from '../../lib/license_api_access'; -import { mockHandlerArguments } from '../_mock_handler_arguments'; -import { maintenanceWindowClientMock } from '../../maintenance_window_client.mock'; -import { updateMaintenanceWindowRoute, rewriteQueryReq } from './update_maintenance_window'; -import { getMockMaintenanceWindow } from '../../maintenance_window_client/methods/test_helpers'; -import { MaintenanceWindowStatus } from '../../../common'; -import { rewritePartialMaintenanceBodyRes } from '../lib'; +import { licenseStateMock } from '../../../../lib/license_state.mock'; +import { verifyApiAccess } from '../../../../lib/license_api_access'; +import { mockHandlerArguments } from '../../../_mock_handler_arguments'; +import { maintenanceWindowClientMock } from '../../../../maintenance_window_client.mock'; +import { updateMaintenanceWindowRoute } from './update_maintenance_window_route'; +import { getMockMaintenanceWindow } from '../../../../data/maintenance_window/test_helpers'; +import { MaintenanceWindowStatus } from '../../../../../common'; +import { transformUpdateBody } from './transforms'; +import { rewritePartialMaintenanceBodyRes } from '../../../lib'; const maintenanceWindowClient = maintenanceWindowClientMock.create(); -jest.mock('../../lib/license_api_access', () => ({ +jest.mock('../../../../lib/license_api_access', () => ({ verifyApiAccess: jest.fn(), })); @@ -36,7 +36,7 @@ const updateParams = { r_rule: { tzid: 'CET', dtstart: '2023-03-26T00:00:00.000Z', - freq: Frequency.WEEKLY, + freq: 2 as const, count: 10, }, }; @@ -69,7 +69,7 @@ describe('updateMaintenanceWindowRoute', () => { expect(maintenanceWindowClient.update).toHaveBeenLastCalledWith({ id: 'test-id', - ...rewriteQueryReq(updateParams), + data: transformUpdateBody(updateParams), }); expect(res.ok).toHaveBeenLastCalledWith({ diff --git a/x-pack/plugins/alerting/server/routes/maintenance_window/apis/update/update_maintenance_window_route.ts b/x-pack/plugins/alerting/server/routes/maintenance_window/apis/update/update_maintenance_window_route.ts new file mode 100644 index 00000000000000..82f116e3ab8d7d --- /dev/null +++ b/x-pack/plugins/alerting/server/routes/maintenance_window/apis/update/update_maintenance_window_route.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 { IRouter } from '@kbn/core/server'; +import { ILicenseState } from '../../../../lib'; +import { verifyAccessAndContext } from '../../../lib'; +import { + AlertingRequestHandlerContext, + INTERNAL_ALERTING_API_MAINTENANCE_WINDOW_PATH, +} from '../../../../types'; +import { MAINTENANCE_WINDOW_API_PRIVILEGES } from '../../../../../common'; +import { MaintenanceWindow } from '../../../../application/maintenance_window/types'; +import { + updateBodySchemaV1, + updateParamsSchemaV1, + UpdateMaintenanceWindowRequestBodyV1, + UpdateMaintenanceWindowRequestParamsV1, + UpdateMaintenanceWindowResponseV1, +} from '../../../../../common/routes/maintenance_window/apis/update'; +import { transformUpdateBodyV1 } from './transforms'; +import { transformMaintenanceWindowToResponseV1 } from '../../transforms'; + +export const updateMaintenanceWindowRoute = ( + router: IRouter, + licenseState: ILicenseState +) => { + router.post( + { + path: `${INTERNAL_ALERTING_API_MAINTENANCE_WINDOW_PATH}/{id}`, + validate: { + body: updateBodySchemaV1, + params: updateParamsSchemaV1, + }, + options: { + tags: [`access:${MAINTENANCE_WINDOW_API_PRIVILEGES.WRITE_MAINTENANCE_WINDOW}`], + }, + }, + router.handleLegacyErrors( + verifyAccessAndContext(licenseState, async function (context, req, res) { + licenseState.ensureLicenseForMaintenanceWindow(); + + const body: UpdateMaintenanceWindowRequestBodyV1 = req.body; + + const params: UpdateMaintenanceWindowRequestParamsV1 = req.params; + + const maintenanceWindowClient = (await context.alerting).getMaintenanceWindowClient(); + + const maintenanceWindow: MaintenanceWindow = await maintenanceWindowClient.update({ + id: params.id, + data: transformUpdateBodyV1(body), + }); + + const response: UpdateMaintenanceWindowResponseV1 = { + body: transformMaintenanceWindowToResponseV1(maintenanceWindow), + }; + + return res.ok(response); + }) + ) + ); +}; diff --git a/x-pack/plugins/alerting/server/routes/maintenance_window/archive_maintenance_window.ts b/x-pack/plugins/alerting/server/routes/maintenance_window/archive_maintenance_window.ts deleted file mode 100644 index 5aafa108626883..00000000000000 --- a/x-pack/plugins/alerting/server/routes/maintenance_window/archive_maintenance_window.ts +++ /dev/null @@ -1,58 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import { IRouter } from '@kbn/core/server'; -import { schema } from '@kbn/config-schema'; -import { ILicenseState } from '../../lib'; -import { verifyAccessAndContext, rewritePartialMaintenanceBodyRes } from '../lib'; -import { - AlertingRequestHandlerContext, - INTERNAL_ALERTING_API_MAINTENANCE_WINDOW_PATH, -} from '../../types'; -import { MAINTENANCE_WINDOW_API_PRIVILEGES } from '../../../common'; - -const paramSchema = schema.object({ - id: schema.string(), -}); - -const bodySchema = schema.object({ - archive: schema.boolean(), -}); - -export const archiveMaintenanceWindowRoute = ( - router: IRouter, - licenseState: ILicenseState -) => { - router.post( - { - path: `${INTERNAL_ALERTING_API_MAINTENANCE_WINDOW_PATH}/{id}/_archive`, - validate: { - params: paramSchema, - body: bodySchema, - }, - options: { - tags: [`access:${MAINTENANCE_WINDOW_API_PRIVILEGES.WRITE_MAINTENANCE_WINDOW}`], - }, - }, - router.handleLegacyErrors( - verifyAccessAndContext(licenseState, async function (context, req, res) { - licenseState.ensureLicenseForMaintenanceWindow(); - - const maintenanceWindowClient = (await context.alerting).getMaintenanceWindowClient(); - const { id } = req.params; - const { archive } = req.body; - const maintenanceWindow = await maintenanceWindowClient.archive({ - id, - archive, - }); - return res.ok({ - body: rewritePartialMaintenanceBodyRes(maintenanceWindow), - }); - }) - ) - ); -}; diff --git a/x-pack/plugins/alerting/server/routes/maintenance_window/transforms/index.ts b/x-pack/plugins/alerting/server/routes/maintenance_window/transforms/index.ts new file mode 100644 index 00000000000000..040c4daabcd84a --- /dev/null +++ b/x-pack/plugins/alerting/server/routes/maintenance_window/transforms/index.ts @@ -0,0 +1,10 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +export { transformMaintenanceWindowToResponse } from './transform_maintenance_window_to_response/latest'; + +export { transformMaintenanceWindowToResponse as transformMaintenanceWindowToResponseV1 } from './transform_maintenance_window_to_response/v1'; diff --git a/x-pack/plugins/alerting/server/routes/maintenance_window/transforms/transform_maintenance_window_to_response/latest.ts b/x-pack/plugins/alerting/server/routes/maintenance_window/transforms/transform_maintenance_window_to_response/latest.ts new file mode 100644 index 00000000000000..3308f4fb4751d9 --- /dev/null +++ b/x-pack/plugins/alerting/server/routes/maintenance_window/transforms/transform_maintenance_window_to_response/latest.ts @@ -0,0 +1,8 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +export { transformMaintenanceWindowToResponse } from './v1'; diff --git a/x-pack/plugins/alerting/server/routes/maintenance_window/transforms/transform_maintenance_window_to_response/v1.ts b/x-pack/plugins/alerting/server/routes/maintenance_window/transforms/transform_maintenance_window_to_response/v1.ts new file mode 100644 index 00000000000000..cfa091a25dda14 --- /dev/null +++ b/x-pack/plugins/alerting/server/routes/maintenance_window/transforms/transform_maintenance_window_to_response/v1.ts @@ -0,0 +1,30 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { MaintenanceWindowResponseV1 } from '../../../../../common/routes/maintenance_window/response'; +import { MaintenanceWindow } from '../../../../application/maintenance_window/types'; + +export const transformMaintenanceWindowToResponse = ( + maintenanceWindow: MaintenanceWindow +): MaintenanceWindowResponseV1 => { + return { + id: maintenanceWindow.id, + title: maintenanceWindow.title, + enabled: maintenanceWindow.enabled, + duration: maintenanceWindow.duration, + expiration_date: maintenanceWindow.expirationDate, + events: maintenanceWindow.events, + r_rule: maintenanceWindow.rRule, + created_by: maintenanceWindow.createdBy, + updated_by: maintenanceWindow.updatedBy, + created_at: maintenanceWindow.createdAt, + updated_at: maintenanceWindow.updatedAt, + event_start_time: maintenanceWindow.eventStartTime, + event_end_time: maintenanceWindow.eventEndTime, + status: maintenanceWindow.status, + }; +}; diff --git a/x-pack/plugins/alerting/server/routes/maintenance_window/update_maintenance_window.ts b/x-pack/plugins/alerting/server/routes/maintenance_window/update_maintenance_window.ts deleted file mode 100644 index 46d9c70cc9ab3a..00000000000000 --- a/x-pack/plugins/alerting/server/routes/maintenance_window/update_maintenance_window.ts +++ /dev/null @@ -1,79 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import { IRouter } from '@kbn/core/server'; -import { schema } from '@kbn/config-schema'; -import { ILicenseState } from '../../lib'; -import { - verifyAccessAndContext, - rRuleSchema, - RewriteRequestCase, - rewritePartialMaintenanceBodyRes, -} from '../lib'; -import { - AlertingRequestHandlerContext, - INTERNAL_ALERTING_API_MAINTENANCE_WINDOW_PATH, -} from '../../types'; -import { MaintenanceWindowSOProperties, MAINTENANCE_WINDOW_API_PRIVILEGES } from '../../../common'; - -const paramSchema = schema.object({ - id: schema.string(), -}); - -const bodySchema = schema.object({ - title: schema.maybe(schema.string()), - enabled: schema.maybe(schema.boolean()), - duration: schema.maybe(schema.number()), - r_rule: schema.maybe(rRuleSchema), -}); - -interface MaintenanceWindowUpdateBody { - title?: MaintenanceWindowSOProperties['title']; - enabled?: MaintenanceWindowSOProperties['enabled']; - duration?: MaintenanceWindowSOProperties['duration']; - rRule?: MaintenanceWindowSOProperties['rRule']; -} - -export const rewriteQueryReq: RewriteRequestCase = ({ - r_rule: rRule, - ...rest -}) => ({ - ...rest, - ...(rRule ? { rRule } : {}), -}); - -export const updateMaintenanceWindowRoute = ( - router: IRouter, - licenseState: ILicenseState -) => { - router.post( - { - path: `${INTERNAL_ALERTING_API_MAINTENANCE_WINDOW_PATH}/{id}`, - validate: { - body: bodySchema, - params: paramSchema, - }, - options: { - tags: [`access:${MAINTENANCE_WINDOW_API_PRIVILEGES.WRITE_MAINTENANCE_WINDOW}`], - }, - }, - router.handleLegacyErrors( - verifyAccessAndContext(licenseState, async function (context, req, res) { - licenseState.ensureLicenseForMaintenanceWindow(); - - const maintenanceWindowClient = (await context.alerting).getMaintenanceWindowClient(); - const maintenanceWindow = await maintenanceWindowClient.update({ - id: req.params.id, - ...rewriteQueryReq(req.body), - }); - return res.ok({ - body: rewritePartialMaintenanceBodyRes(maintenanceWindow), - }); - }) - ) - ); -}; diff --git a/x-pack/plugins/alerting/server/task_runner/task_runner.test.ts b/x-pack/plugins/alerting/server/task_runner/task_runner.test.ts index c0d8a1434aa3da..382e0f3e608c76 100644 --- a/x-pack/plugins/alerting/server/task_runner/task_runner.test.ts +++ b/x-pack/plugins/alerting/server/task_runner/task_runner.test.ts @@ -16,7 +16,6 @@ import { RuleExecutionStatusWarningReasons, Rule, RuleAction, - MaintenanceWindow, RuleAlertData, } from '../types'; import { ConcreteTaskInstance, isUnrecoverableError } from '@kbn/task-manager-plugin/server'; @@ -80,8 +79,9 @@ import { DataViewsServerPluginStart } from '@kbn/data-views-plugin/server'; import { rulesSettingsClientMock } from '../rules_settings_client.mock'; import { maintenanceWindowClientMock } from '../maintenance_window_client.mock'; import { alertsServiceMock } from '../alerts_service/alerts_service.mock'; -import { getMockMaintenanceWindow } from '../maintenance_window_client/methods/test_helpers'; +import { getMockMaintenanceWindow } from '../data/maintenance_window/test_helpers'; import { alertsClientMock } from '../alerts_client/alerts_client.mock'; +import { MaintenanceWindow } from '../application/maintenance_window/types'; jest.mock('uuid', () => ({ v4: () => '5f6aa57d-3e22-484e-bae8-cbed868f4d28', diff --git a/x-pack/plugins/alerting/server/task_runner/task_runner.ts b/x-pack/plugins/alerting/server/task_runner/task_runner.ts index 6d3be52cf2e62e..cc019b46cec511 100644 --- a/x-pack/plugins/alerting/server/task_runner/task_runner.ts +++ b/x-pack/plugins/alerting/server/task_runner/task_runner.ts @@ -47,7 +47,6 @@ import { parseDuration, RawAlertInstance, RuleLastRunOutcomeOrderMap, - MaintenanceWindow, RuleAlertData, SanitizedRule, RuleNotifyWhen, @@ -80,6 +79,7 @@ import { RunningHandler } from './running_handler'; import { RuleResultService } from '../monitoring/rule_result_service'; import { LegacyAlertsClient } from '../alerts_client'; import { IAlertsClient } from '../alerts_client/types'; +import { MaintenanceWindow } from '../application/maintenance_window/types'; const FALLBACK_RETRY_INTERVAL = '5m'; const CONNECTIVITY_RETRY_INTERVAL = '5m'; From 30e2f2d45954ba1faa9b61f676cf117df98c02ca Mon Sep 17 00:00:00 2001 From: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> Date: Thu, 21 Sep 2023 15:05:27 -0400 Subject: [PATCH 24/72] skip failing test suite (#166900) --- x-pack/test/functional/apps/dashboard/group1/preserve_url.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/x-pack/test/functional/apps/dashboard/group1/preserve_url.ts b/x-pack/test/functional/apps/dashboard/group1/preserve_url.ts index baab3bbeb52f70..db9912be25625a 100644 --- a/x-pack/test/functional/apps/dashboard/group1/preserve_url.ts +++ b/x-pack/test/functional/apps/dashboard/group1/preserve_url.ts @@ -15,7 +15,8 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { const kibanaServer = getService('kibanaServer'); const spacesService = getService('spaces'); - describe('preserve url', function () { + // Failing: See https://github.com/elastic/kibana/issues/166900 + describe.skip('preserve url', function () { const anotherSpace = 'another-space'; before(async () => { From 840e1216b087246a808bec693d4f75a9f69f3b0f Mon Sep 17 00:00:00 2001 From: Melissa Alvarez Date: Thu, 21 Sep 2023 13:35:06 -0600 Subject: [PATCH 25/72] [ML] Trained model testing: only show indices with supported fields (#166490) ## Summary Related comment in issue: https://github.com/elastic/kibana/pull/159150#discussion_r1288694083 This PR adds a `supportedFields` property to the inferrer class and, when creating the index options, filters to those containing supported fields. For now, the supported fields default to 'text' as all inferrer types require that. ### Checklist Delete any items that are not applicable to this PR. - [ ] Any text added follows [EUI's writing guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses sentence case text and includes [i18n support](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/README.md) - [ ] [Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html) was added for features that require explanation or tutorials - [ ] [Unit or functional tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html) were updated or added to match the most common scenarios --- .../test_models/models/index_input.tsx | 27 ++++++++++++++++--- .../test_models/models/inference_base.ts | 6 +++++ 2 files changed, 29 insertions(+), 4 deletions(-) diff --git a/x-pack/plugins/ml/public/application/model_management/test_models/models/index_input.tsx b/x-pack/plugins/ml/public/application/model_management/test_models/models/index_input.tsx index c80a84c5e1f4a3..03466cd87a16b5 100644 --- a/x-pack/plugins/ml/public/application/model_management/test_models/models/index_input.tsx +++ b/x-pack/plugins/ml/public/application/model_management/test_models/models/index_input.tsx @@ -111,15 +111,34 @@ export function useIndexInput({ inferrer }: { inferrer: InferrerType }) { ); useEffect( function loadDataViewListItems() { - dataViews.getIdsWithTitle().then((items) => { + async function getFilteredDataViewListItems() { + const dataViewIds = await dataViews.getIdsWithTitle(); + const supportedFieldTypes = inferrer.getSupportedFieldTypes(); + + const hasTextField = async ({ id }: { id: string }) => { + const dataView = await dataViews.get(id); + + return dataView.fields + .getAll() + .some((dvField) => + supportedFieldTypes.some((esType) => dvField.esTypes?.includes(esType)) + ); + }; + + const allPromises = dataViewIds.map(hasTextField); + const resolvedPromises = await Promise.all(allPromises); + const filteredDataViews = dataViewIds.filter((value, index) => resolvedPromises[index]); + setDataViewListItems( - items + filteredDataViews .sort((a, b) => a.title.localeCompare(b.title)) .map(({ id, title }) => ({ text: title, value: id })) ); - }); + } + + getFilteredDataViewListItems(); }, - [dataViews] + [dataViews, inferrer] ); useEffect( diff --git a/x-pack/plugins/ml/public/application/model_management/test_models/models/inference_base.ts b/x-pack/plugins/ml/public/application/model_management/test_models/models/inference_base.ts index 5954ed710c5f2d..8dc0bf6b888152 100644 --- a/x-pack/plugins/ml/public/application/model_management/test_models/models/inference_base.ts +++ b/x-pack/plugins/ml/public/application/model_management/test_models/models/inference_base.ts @@ -11,6 +11,7 @@ import { i18n } from '@kbn/i18n'; import { map } from 'rxjs/operators'; import { SupportedPytorchTasksType } from '@kbn/ml-trained-models-utils'; +import { ES_FIELD_TYPES } from '@kbn/field-types'; import type { MLHttpFetchError } from '@kbn/ml-error-utils'; import { trainedModelsApiProvider } from '../../../services/ml_api_service/trained_models'; import { getInferenceInfoComponent } from './inference_info'; @@ -70,6 +71,7 @@ export abstract class InferenceBase { private runningState$ = new BehaviorSubject(RUNNING_STATE.STOPPED); private isValid$ = new BehaviorSubject(false); private pipeline$ = new BehaviorSubject({}); + private supportedFieldTypes: ES_FIELD_TYPES[] = [ES_FIELD_TYPES.TEXT]; protected readonly info: string[] = []; @@ -241,6 +243,10 @@ export abstract class InferenceBase { return this.pipeline$.getValue(); } + public getSupportedFieldTypes(): ES_FIELD_TYPES[] { + return this.supportedFieldTypes; + } + protected getBasicProcessors( inferenceConfigOverrides?: InferenceOptions ): estypes.IngestProcessorContainer[] { From 18a95deaeae092e710ed3e3d911708cd30f795d5 Mon Sep 17 00:00:00 2001 From: Alexi Doak <109488926+doakalexi@users.noreply.github.com> Date: Thu, 21 Sep 2023 13:21:36 -0700 Subject: [PATCH 26/72] [ResponseOps] [Alerting] race condition at startup accessing AaD documents (#166980) Resolves https://github.com/elastic/kibana/issues/166418 ## Summary Change from `warn` to `debug`. Was able to replicate this error when migrating an es query rule from 8.9 to 8.10 where es query uses AAD. --- x-pack/plugins/alerting/server/alerts_client/alerts_client.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/x-pack/plugins/alerting/server/alerts_client/alerts_client.ts b/x-pack/plugins/alerting/server/alerts_client/alerts_client.ts index 03500c8b94575d..ae28dc818957f6 100644 --- a/x-pack/plugins/alerting/server/alerts_client/alerts_client.ts +++ b/x-pack/plugins/alerting/server/alerts_client/alerts_client.ts @@ -369,7 +369,7 @@ export class AlertsClient< }) ); } else { - this.options.logger.warn( + this.options.logger.debug( `Could not find alert document to update for recovered alert with id ${id} and uuid ${recoveredAlerts[ id ].getUuid()}` From de712c4d64b48d9a05fde8a0a5ab734df0b4b065 Mon Sep 17 00:00:00 2001 From: Paul Tavares <56442535+paul-tavares@users.noreply.github.com> Date: Thu, 21 Sep 2023 17:01:55 -0400 Subject: [PATCH 27/72] [Security Solution][Endpoint] Update the `agents.queue` setting for Defend Workflow buildkite jobs (#166981) ## Summary - sets the `agents.queue` for Defend Workflows jobs to `n2-4-virt`, since these jobs need to create and run VMs using Vagrant - Should address failures seen in: https://buildkite.com/elastic/kibana-on-merge-unsupported-ftrs --- .buildkite/pipelines/on_merge_unsupported_ftrs.yml | 2 +- .buildkite/pipelines/pull_request/defend_workflows.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.buildkite/pipelines/on_merge_unsupported_ftrs.yml b/.buildkite/pipelines/on_merge_unsupported_ftrs.yml index 8d67cbf37d8a06..ceef6e06ef96ff 100644 --- a/.buildkite/pipelines/on_merge_unsupported_ftrs.yml +++ b/.buildkite/pipelines/on_merge_unsupported_ftrs.yml @@ -88,7 +88,7 @@ steps: - command: .buildkite/scripts/steps/functional/defend_workflows.sh label: 'Defend Workflows Cypress Tests' agents: - queue: n2-4-spot + queue: n2-4-virt depends_on: build timeout_in_minutes: 120 parallelism: 6 diff --git a/.buildkite/pipelines/pull_request/defend_workflows.yml b/.buildkite/pipelines/pull_request/defend_workflows.yml index c60030497b623c..da79114cbebfbe 100644 --- a/.buildkite/pipelines/pull_request/defend_workflows.yml +++ b/.buildkite/pipelines/pull_request/defend_workflows.yml @@ -14,7 +14,7 @@ steps: - command: .buildkite/scripts/steps/functional/defend_workflows_serverless.sh label: 'Defend Workflows Cypress Tests on Serverless' agents: - queue: n2-4-spot + queue: n2-4-virt depends_on: build timeout_in_minutes: 120 parallelism: 2 From a679ab5370e294657e58eeb45716533bc59024ec Mon Sep 17 00:00:00 2001 From: Steph Milovic Date: Thu, 21 Sep 2023 16:04:10 -0600 Subject: [PATCH 28/72] [Security solution] Skip flakey explore tests (#166992) ## Summary Skipping flakey tests as determined by the following runs of the flakey test runner: - https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/3135 - https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/3150 - https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/3162 Tracked in security-team repo --- .../cypress/e2e/explore/cases/creation.cy.ts | 3 ++- .../cypress/e2e/explore/hosts/host_risk_tab.cy.ts | 3 ++- .../cypress/e2e/explore/network/overflow_items.cy.ts | 3 ++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/explore/cases/creation.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/explore/cases/creation.cy.ts index 4de348c5bbb4ad..4fb7a624bf9279 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/explore/cases/creation.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/explore/cases/creation.cy.ts @@ -53,7 +53,8 @@ import { loginWithUser, visit, visitWithoutDateRange } from '../../../tasks/logi import { CASES_URL, OVERVIEW_URL } from '../../../urls/navigation'; -describe('Cases', { tags: ['@ess', '@serverless', '@brokenInServerless'] }, () => { +// Tracked by https://github.com/elastic/security-team/issues/7696 +describe.skip('Cases', { tags: ['@ess', '@serverless', '@brokenInServerless'] }, () => { before(() => { cleanKibana(); createTimeline(getCase1().timeline).then((response) => diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/explore/hosts/host_risk_tab.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/explore/hosts/host_risk_tab.cy.ts index 9f22ece6865e61..6770d051322e59 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/explore/hosts/host_risk_tab.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/explore/hosts/host_risk_tab.cy.ts @@ -21,7 +21,8 @@ import { login, visit } from '../../../tasks/login'; import { HOSTS_URL } from '../../../urls/navigation'; import { clearSearchBar, kqlSearch } from '../../../tasks/security_header'; -describe('risk tab', { tags: ['@ess', '@brokenInServerless'] }, () => { +// Tracked by https://github.com/elastic/security-team/issues/7696 +describe.skip('risk tab', { tags: ['@ess', '@brokenInServerless'] }, () => { before(() => { cleanKibana(); cy.task('esArchiverLoad', { archiveName: 'risk_hosts' }); diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/explore/network/overflow_items.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/explore/network/overflow_items.cy.ts index 0023054fb44a22..7f7b8921b44b16 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/explore/network/overflow_items.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/explore/network/overflow_items.cy.ts @@ -23,7 +23,8 @@ const testDomainOne = 'myTest'; const testDomainTwo = 'myTest2'; // FLAKY: https://github.com/elastic/kibana/issues/165692 -describe('Overflow items', { tags: ['@ess', '@serverless', '@brokenInServerless'] }, () => { +// Tracked by https://github.com/elastic/security-team/issues/7696 +describe.skip('Overflow items', { tags: ['@ess', '@serverless', '@brokenInServerless'] }, () => { context('Network stats and tables', () => { before(() => { cy.task('esArchiverLoad', { archiveName: 'network' }); From e0e0a26b4316ada09661ffc1ad925a633ca1dd39 Mon Sep 17 00:00:00 2001 From: Xavier Mouligneau Date: Thu, 21 Sep 2023 18:10:28 -0400 Subject: [PATCH 29/72] [RAM] .es-query and .observability.rules.threshold RBAC (#166032) ## Summary This PR is updating Discover's rule to be created under the `stackAlerts` consumer and we created an [breaking change issue](https://github.com/elastic/dev/issues/2344) to explain the consequences of this update. We also fix the rule's consumer for all rule types created under the observability rule management to use their producer instead of `alerts`. Also, we add the ability for the ES Query and new Generic Threshold rules type to pick the consumer associated to the rule. The `ensureAuthorized` and the `filter` functions have modified and simplified to support this use case please check the newest unit test added in `x-pack/plugins/alerting/server/authorization/alerting_authorization.test.ts`. There is now a dropdown in the rule form to prompt the user when creating ES Query/Generic threshold rules to select the consumer based on their authorized consumers (we can no longer use `alerts` for these). If there is only 1 option, then the dropdown will not be shown and the option will be chosen automatically. Generic threshold rules will have the following possible consumers: - infrastructure - logs ES query rules will have the following possible consumers: - infrastructure - logs - stackAlerts (only from the stack management rule page) ## To Test: ### Single Consumer: 1. Create a user with only `logs` feature enabled (ensuring `stackAlerts` is not enabled). 2. Navigate to the O11Y rule management page 3. Click the create rule button 4. Assert that both ES query and generic threshold rules are available 5. Click ES query and fill out the relevant information and create the rule 6. Assert that the rule created has `logs` set in the `consumer` field 7. Repeat 5-6 for the generic threshold rule 8. Repeat 2-7 but on the Stack Management rules page 9. Repeat 1-8 for the `infrastructure` feature. ### Multiple Consumers: 1. Create a user with `logs`, `infrastructure` and `apm` features enabled (ensuring `stackAlerts` is not enabled). 2. Navigate to the O11Y rule management page 3. Click the create rule button 4. Assert that both ES query and generic threshold rules are available 5. Click ES query and fill out the relevant information and create the rule 6. A dropdown should prompt the user to select between 1 of the 3 consumers, select 1 7. Assert that the rule was created with the selected consumer 8. Repeat 5-7 for the generic threshold rule 9. Repeat 2-8 but on the Stack Management rules page ![Screenshot from 2023-08-08 16-45-43](https://github.com/elastic/kibana/assets/74562234/8c5b644a-8bab-4c1b-93b0-acfa956af19c) ![consumer_dropdown_open](https://github.com/elastic/kibana/assets/74562234/a03b7e97-e90e-4bbc-bed0-94a6c677d31d) ### Checklist - [x] [Unit or functional tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html) were updated or added to match the most common scenarios --------- Co-authored-by: Jiawei Wu <74562234+JiaweiWu@users.noreply.github.com> Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> --- packages/kbn-rule-data-utils/index.ts | 1 + .../src/rule_types/index.ts | 10 + .../src/rule_types/o11y_rules.ts | 9 + .../src/rule_types/stack_rules.ts | 10 + .../top_nav/open_alerts_popover.tsx | 3 +- src/plugins/discover/tsconfig.json | 1 + .../routes/rule/apis/aggregate/schemas/v1.ts | 1 + .../public/alert_navigation_registry/types.ts | 2 +- x-pack/plugins/alerting/public/plugin.ts | 3 +- .../alerts_client/alerts_client.test.ts | 1 + .../legacy_alerts_client.test.ts | 1 + .../alerts_client/lib/format_rule.test.ts | 1 + .../alerts_service/alerts_service.test.ts | 1 + .../methods/aggregate/aggregate_rules.test.ts | 2 + .../rule/methods/aggregate/aggregate_rules.ts | 6 +- .../schemas/aggregate_options_schema.ts | 1 + .../rule/methods/aggregate/types/index.ts | 1 + .../methods/bulk_edit/bulk_edit_rules.test.ts | 4 + .../rule/methods/create/create_rule.test.ts | 12 + .../alerting_authorization.test.ts | 761 ++++++++++++++++-- .../authorization/alerting_authorization.ts | 174 ++-- .../alerting_authorization_kuery.test.ts | 16 + .../alerting_event_logger.test.ts | 1 + ...eate_alert_event_log_record_object.test.ts | 1 + .../alerting/server/routes/find_rules.test.ts | 1 + .../alerting/server/routes/find_rules.ts | 3 + .../alerting/server/routes/health.test.ts | 1 + .../server/routes/legacy/health.test.ts | 1 + .../routes/legacy/list_alert_types.test.ts | 4 + .../transform_aggregate_query_request/v1.ts | 2 + .../alerting/server/routes/rule_types.test.ts | 7 +- .../alerting/server/routes/rule_types.ts | 7 +- .../server/rule_type_registry.test.ts | 70 +- .../alerting/server/rule_type_registry.ts | 6 + ...type_registry_deprecated_consumers.test.ts | 103 +++ ...rule_type_registry_deprecated_consumers.ts | 88 ++ .../migrate_legacy_actions.test.ts | 1 + .../rules_client/lib/validate_actions.test.ts | 1 + .../server/rules_client/methods/find.ts | 10 +- .../rules_client/tests/bulk_delete.test.ts | 1 + .../server/rules_client/tests/find.test.ts | 8 + .../server/rules_client/tests/get.test.ts | 2 + .../rules_client/tests/get_tags.test.ts | 2 + .../alerting/server/rules_client/tests/lib.ts | 1 + .../tests/list_rule_types.test.ts | 5 + .../server/rules_client/tests/resolve.test.ts | 2 + .../server/rules_client/tests/update.test.ts | 4 + .../rules_client_conflict_retries.test.ts | 2 + .../task_runner/execution_handler.test.ts | 1 + .../alerting/server/task_runner/fixtures.ts | 1 + .../task_runner/task_runner_factory.test.ts | 1 + x-pack/plugins/apm/server/feature.ts | 7 +- .../__snapshots__/oss_features.test.ts.snap | 40 +- .../plugins/features/server/oss_features.ts | 17 - x-pack/plugins/infra/server/features.ts | 10 +- .../plugins/observability/common/constants.ts | 7 +- .../components/alert_flyout.tsx | 7 +- .../hooks/use_get_filtered_rule_types.ts | 5 +- .../public/pages/alerts/alerts.tsx | 3 +- .../pages/alerts/components/alert_actions.tsx | 4 +- .../pages/rule_details/rule_details.tsx | 2 +- .../public/pages/rules/rules.tsx | 3 + .../public/pages/rules/rules_tab.tsx | 2 + .../register_observability_rule_types.ts | 7 +- x-pack/plugins/observability/server/index.ts | 2 +- .../register_custom_threshold_rule_type.ts | 2 +- x-pack/plugins/observability/server/plugin.ts | 7 +- .../server/alert_data_client/alerts_client.ts | 62 +- .../alerts_client_factory.test.ts | 2 + .../alerts_client_factory.ts | 9 +- .../tests/bulk_update.test.ts | 17 +- .../tests/bulk_update_cases.test.ts | 1 + .../tests/find_alerts.test.ts | 13 +- .../alert_data_client/tests/get.test.ts | 13 +- .../tests/remove_cases_from_alerts.test.ts | 2 + .../alert_data_client/tests/update.test.ts | 13 +- .../server/lib/get_authz_filter.ts | 6 +- x-pack/plugins/rule_registry/server/plugin.ts | 1 + .../get_browser_fields_by_feature_id.ts | 8 +- .../server/search_strategy/search_strategy.ts | 12 +- .../server/routes/alerts_client_mock.test.ts | 16 + .../plugins/stack_alerts/common/constants.ts | 2 - x-pack/plugins/stack_alerts/common/index.ts | 1 - x-pack/plugins/stack_alerts/kibana.jsonc | 3 +- .../search_source_expression_form.tsx | 2 +- .../public/rule_types/es_query/index.ts | 36 +- .../geo_containment/rule_form/query_input.tsx | 2 +- x-pack/plugins/stack_alerts/server/feature.ts | 4 +- .../server/rule_types/es_query/constants.ts | 1 - .../rule_types/es_query/lib/fetch_es_query.ts | 2 +- .../server/rule_types/es_query/rule_type.ts | 4 +- .../rule_types/geo_containment/rule_type.ts | 2 +- .../rule_types/index_threshold/rule_type.ts | 13 +- x-pack/plugins/stack_alerts/tsconfig.json | 12 +- x-pack/plugins/synthetics/server/feature.ts | 7 +- .../public/application/constants/index.ts | 4 +- .../hooks/use_load_rule_aggregations_query.ts | 4 +- .../application/hooks/use_load_rules_query.ts | 5 +- .../public/application/lib/capabilities.ts | 12 + .../application/lib/rule_api/aggregate.ts | 2 + .../lib/rule_api/aggregate_helpers.ts | 1 + .../lib/rule_api/aggregate_kuery_filter.ts | 2 + .../application/lib/rule_api/rules_helpers.ts | 1 + .../lib/rule_api/rules_kuery_filter.ts | 2 + .../sections/rule_form/rule_add.test.tsx | 249 +++++- .../sections/rule_form/rule_add.tsx | 31 +- .../sections/rule_form/rule_errors.test.tsx | 34 + .../sections/rule_form/rule_errors.ts | 8 + .../sections/rule_form/rule_form.test.tsx | 237 +++++- .../sections/rule_form/rule_form.tsx | 152 +++- .../rule_form_consumer_selection.test.tsx | 83 ++ .../rule_form_consumer_selection.tsx | 157 ++++ .../rules_list/components/rules_list.tsx | 4 + .../triggers_actions_ui/public/index.ts | 1 + .../triggers_actions_ui/public/types.ts | 8 + .../common/lib/alert_utils.ts | 16 +- .../common/lib/index.ts | 6 +- .../custom_threshold_rule/avg_pct_fired.ts | 8 +- .../custom_threshold_rule/avg_pct_no_data.ts | 8 +- .../custom_threshold_rule/avg_us_fired.ts | 8 +- .../custom_eq_avg_bytes_fired.ts | 8 +- .../documents_count_fired.ts | 8 +- .../custom_threshold_rule/group_by_fired.ts | 8 +- .../custom_threshold_rule_data_view.ts | 4 +- .../group1/tests/alerting/create.ts | 52 +- .../group1/tests/alerting/delete.ts | 41 +- .../group1/tests/alerting/disable.ts | 38 +- .../group1/tests/alerting/enable.ts | 44 +- .../group1/tests/alerting/get.ts | 28 +- .../group1/tests/alerting/get_alert_state.ts | 18 +- .../tests/alerting/get_alert_summary.ts | 18 +- .../group2/tests/alerting/alerts.ts | 36 +- .../group2/tests/alerting/mute_all.ts | 32 +- .../group2/tests/alerting/mute_instance.ts | 38 +- .../group2/tests/alerting/rbac_legacy.ts | 2 +- .../group2/tests/alerting/snooze.ts | 38 +- .../group2/tests/alerting/unmute_all.ts | 32 +- .../group2/tests/alerting/unmute_instance.ts | 28 +- .../group2/tests/alerting/unsnooze.ts | 32 +- .../group2/tests/alerting/update.ts | 68 +- .../group2/tests/alerting/update_api_key.ts | 34 +- .../group3/tests/alerting/bulk_delete.ts | 24 +- .../group3/tests/alerting/bulk_disable.ts | 26 +- .../group3/tests/alerting/bulk_edit.ts | 24 +- .../group3/tests/alerting/bulk_enable.ts | 25 +- .../group3/tests/alerting/clone.ts | 8 +- .../group3/tests/alerting/run_soon.ts | 8 +- .../tests/alerting/group1/create.ts | 4 +- .../tests/alerting/group1/rule_types.ts | 1 + .../apis/maps/maps_telemetry.ts | 4 +- .../rule_registry/o11y_alerts/data.json | 104 +++ .../rule_registry/o11y_alerts/mappings.json | 66 ++ .../apps/observability/pages/rules_page.ts | 146 +++- .../check_registered_task_types.ts | 1 + .../tests/basic/get_alert_summary.ts | 4 +- .../tests/basic/get_alerts_index.ts | 6 +- .../basic/get_browser_fields_by_feature_id.ts | 3 +- .../custom_threshold_rule/avg_pct_fired.ts | 8 +- .../custom_threshold_rule/avg_pct_no_data.ts | 8 +- .../custom_eq_avg_bytes_fired.ts | 8 +- .../documents_count_fired.ts | 8 +- .../custom_threshold_rule/group_by_fired.ts | 8 +- x-pack/test_serverless/tsconfig.json | 1 + 163 files changed, 2818 insertions(+), 1076 deletions(-) create mode 100644 packages/kbn-rule-data-utils/src/rule_types/index.ts create mode 100644 packages/kbn-rule-data-utils/src/rule_types/o11y_rules.ts create mode 100644 packages/kbn-rule-data-utils/src/rule_types/stack_rules.ts create mode 100644 x-pack/plugins/alerting/server/rule_type_registry_deprecated_consumers.test.ts create mode 100644 x-pack/plugins/alerting/server/rule_type_registry_deprecated_consumers.ts create mode 100644 x-pack/plugins/triggers_actions_ui/public/application/sections/rule_form/rule_form_consumer_selection.test.tsx create mode 100644 x-pack/plugins/triggers_actions_ui/public/application/sections/rule_form/rule_form_consumer_selection.tsx create mode 100644 x-pack/test/functional/es_archives/rule_registry/o11y_alerts/data.json create mode 100644 x-pack/test/functional/es_archives/rule_registry/o11y_alerts/mappings.json diff --git a/packages/kbn-rule-data-utils/index.ts b/packages/kbn-rule-data-utils/index.ts index ea0028b972ed9e..3e9787891be055 100644 --- a/packages/kbn-rule-data-utils/index.ts +++ b/packages/kbn-rule-data-utils/index.ts @@ -14,3 +14,4 @@ export * from './src/alerts_as_data_severity'; export * from './src/alerts_as_data_status'; export * from './src/alerts_as_data_cases'; export * from './src/routes/stack_rule_paths'; +export * from './src/rule_types'; diff --git a/packages/kbn-rule-data-utils/src/rule_types/index.ts b/packages/kbn-rule-data-utils/src/rule_types/index.ts new file mode 100644 index 00000000000000..b2f860b063c9be --- /dev/null +++ b/packages/kbn-rule-data-utils/src/rule_types/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 * from './stack_rules'; +export * from './o11y_rules'; diff --git a/packages/kbn-rule-data-utils/src/rule_types/o11y_rules.ts b/packages/kbn-rule-data-utils/src/rule_types/o11y_rules.ts new file mode 100644 index 00000000000000..86c5ef3f2e646a --- /dev/null +++ b/packages/kbn-rule-data-utils/src/rule_types/o11y_rules.ts @@ -0,0 +1,9 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 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 OBSERVABILITY_THRESHOLD_RULE_TYPE_ID = 'observability.rules.custom_threshold'; diff --git a/packages/kbn-rule-data-utils/src/rule_types/stack_rules.ts b/packages/kbn-rule-data-utils/src/rule_types/stack_rules.ts new file mode 100644 index 00000000000000..ff426a9069537b --- /dev/null +++ b/packages/kbn-rule-data-utils/src/rule_types/stack_rules.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 const STACK_ALERTS_FEATURE_ID = 'stackAlerts'; +export const ES_QUERY_ID = '.es-query'; diff --git a/src/plugins/discover/public/application/main/components/top_nav/open_alerts_popover.tsx b/src/plugins/discover/public/application/main/components/top_nav/open_alerts_popover.tsx index 2993193ccc2bfd..618557d4388ebf 100644 --- a/src/plugins/discover/public/application/main/components/top_nav/open_alerts_popover.tsx +++ b/src/plugins/discover/public/application/main/components/top_nav/open_alerts_popover.tsx @@ -13,6 +13,7 @@ import { FormattedMessage } from '@kbn/i18n-react'; import type { DataView } from '@kbn/data-plugin/common'; import { KibanaRenderContextProvider } from '@kbn/react-kibana-context-render'; import { KibanaContextProvider } from '@kbn/kibana-react-plugin/public'; +import { STACK_ALERTS_FEATURE_ID } from '@kbn/rule-data-utils'; import { DiscoverStateContainer } from '../../services/discover_state'; import { DiscoverServices } from '../../../../build_services'; @@ -97,7 +98,7 @@ export function AlertsPopover({ return triggersActionsUi?.getAddRuleFlyout({ metadata: discoverMetadata, - consumer: 'discover', + consumer: STACK_ALERTS_FEATURE_ID, onClose: (_, metadata) => { onFinishFlyoutInteraction(metadata as EsQueryAlertMetaData); onClose(); diff --git a/src/plugins/discover/tsconfig.json b/src/plugins/discover/tsconfig.json index f7b1e45e9a6085..cb84d95d69f7cc 100644 --- a/src/plugins/discover/tsconfig.json +++ b/src/plugins/discover/tsconfig.json @@ -72,6 +72,7 @@ "@kbn/react-kibana-context-render", "@kbn/unified-data-table", "@kbn/no-data-page-plugin", + "@kbn/rule-data-utils", "@kbn/global-search-plugin" ], "exclude": [ diff --git a/x-pack/plugins/alerting/common/routes/rule/apis/aggregate/schemas/v1.ts b/x-pack/plugins/alerting/common/routes/rule/apis/aggregate/schemas/v1.ts index d49ccb090d53da..95f07bf3f7bda3 100644 --- a/x-pack/plugins/alerting/common/routes/rule/apis/aggregate/schemas/v1.ts +++ b/x-pack/plugins/alerting/common/routes/rule/apis/aggregate/schemas/v1.ts @@ -24,6 +24,7 @@ export const aggregateRulesRequestBodySchema = schema.object({ ) ), filter: schema.maybe(schema.string()), + filter_consumers: schema.maybe(schema.arrayOf(schema.string())), }); export const aggregateRulesResponseBodySchema = schema.object({ diff --git a/x-pack/plugins/alerting/public/alert_navigation_registry/types.ts b/x-pack/plugins/alerting/public/alert_navigation_registry/types.ts index 405f040d5b3ae2..136c44b2cd5136 100644 --- a/x-pack/plugins/alerting/public/alert_navigation_registry/types.ts +++ b/x-pack/plugins/alerting/public/alert_navigation_registry/types.ts @@ -16,4 +16,4 @@ import { SanitizedRule } from '../../common'; * originally registered to {@link PluginSetupContract.registerNavigation}. * */ -export type AlertNavigationHandler = (rule: SanitizedRule) => string; +export type AlertNavigationHandler = (rule: SanitizedRule) => string | undefined; diff --git a/x-pack/plugins/alerting/public/plugin.ts b/x-pack/plugins/alerting/public/plugin.ts index b4cfc68bc267fb..1e8f1721aa126a 100644 --- a/x-pack/plugins/alerting/public/plugin.ts +++ b/x-pack/plugins/alerting/public/plugin.ts @@ -138,7 +138,8 @@ export class AlertingPublicPlugin if (this.alertNavigationRegistry!.has(rule.consumer, ruleType)) { const navigationHandler = this.alertNavigationRegistry!.get(rule.consumer, ruleType); - return navigationHandler(rule); + const navUrl = navigationHandler(rule); + if (navUrl) return navUrl; } if (rule.viewInAppRelativeUrl) { diff --git a/x-pack/plugins/alerting/server/alerts_client/alerts_client.test.ts b/x-pack/plugins/alerting/server/alerts_client/alerts_client.test.ts index 16eaec0889ed46..b1df5609f811fe 100644 --- a/x-pack/plugins/alerting/server/alerts_client/alerts_client.test.ts +++ b/x-pack/plugins/alerting/server/alerts_client/alerts_client.test.ts @@ -61,6 +61,7 @@ const ruleType: jest.Mocked = { mappings: { fieldMap: { field: { type: 'keyword', required: false } } }, shouldWrite: true, }, + validLegacyConsumers: [], }; const mockLegacyAlertsClient = legacyAlertsClientMock.create(); diff --git a/x-pack/plugins/alerting/server/alerts_client/legacy_alerts_client.test.ts b/x-pack/plugins/alerting/server/alerts_client/legacy_alerts_client.test.ts index d723f0d0b64fc4..72d222edf55935 100644 --- a/x-pack/plugins/alerting/server/alerts_client/legacy_alerts_client.test.ts +++ b/x-pack/plugins/alerting/server/alerts_client/legacy_alerts_client.test.ts @@ -99,6 +99,7 @@ const ruleType: jest.Mocked = { validate: { params: schema.any(), }, + validLegacyConsumers: [], }; const testAlert1 = { diff --git a/x-pack/plugins/alerting/server/alerts_client/lib/format_rule.test.ts b/x-pack/plugins/alerting/server/alerts_client/lib/format_rule.test.ts index cb90b75d2c16d9..6e8d28de017535 100644 --- a/x-pack/plugins/alerting/server/alerts_client/lib/format_rule.test.ts +++ b/x-pack/plugins/alerting/server/alerts_client/lib/format_rule.test.ts @@ -29,6 +29,7 @@ const ruleType: jest.Mocked = { mappings: { fieldMap: { field: { type: 'keyword', required: false } } }, shouldWrite: true, }, + validLegacyConsumers: [], }; describe('formatRule', () => { diff --git a/x-pack/plugins/alerting/server/alerts_service/alerts_service.test.ts b/x-pack/plugins/alerting/server/alerts_service/alerts_service.test.ts index 18a80a0bae31d3..c8f8e671952f69 100644 --- a/x-pack/plugins/alerting/server/alerts_service/alerts_service.test.ts +++ b/x-pack/plugins/alerting/server/alerts_service/alerts_service.test.ts @@ -203,6 +203,7 @@ const ruleType: jest.Mocked = { validate: { params: { validate: (params) => params }, }, + validLegacyConsumers: [], }; const ruleTypeWithAlertDefinition: jest.Mocked = { diff --git a/x-pack/plugins/alerting/server/application/rule/methods/aggregate/aggregate_rules.test.ts b/x-pack/plugins/alerting/server/application/rule/methods/aggregate/aggregate_rules.test.ts index b8fbc0427b7f46..9bdac512cd28cf 100644 --- a/x-pack/plugins/alerting/server/application/rule/methods/aggregate/aggregate_rules.test.ts +++ b/x-pack/plugins/alerting/server/application/rule/methods/aggregate/aggregate_rules.test.ts @@ -82,6 +82,7 @@ describe('aggregate()', () => { enabledInLicense: true, hasAlertsMappings: false, hasFieldsForAAD: false, + validLegacyConsumers: [], }, ]); beforeEach(() => { @@ -166,6 +167,7 @@ describe('aggregate()', () => { enabledInLicense: true, hasAlertsMappings: false, hasFieldsForAAD: false, + validLegacyConsumers: [], }, ]) ); diff --git a/x-pack/plugins/alerting/server/application/rule/methods/aggregate/aggregate_rules.ts b/x-pack/plugins/alerting/server/application/rule/methods/aggregate/aggregate_rules.ts index f992f5cead705e..9011b971e629a5 100644 --- a/x-pack/plugins/alerting/server/application/rule/methods/aggregate/aggregate_rules.ts +++ b/x-pack/plugins/alerting/server/application/rule/methods/aggregate/aggregate_rules.ts @@ -6,6 +6,7 @@ */ import { KueryNode, nodeBuilder } from '@kbn/es-query'; +import { isEmpty } from 'lodash'; import { findRulesSo } from '../../../../data/rule'; import { AlertingAuthorizationEntity } from '../../../../authorization'; import { ruleAuditEvent, RuleAuditAction } from '../../../../rules_client/common/audit_events'; @@ -21,13 +22,14 @@ export async function aggregateRules>( params: AggregateParams ): Promise { const { options = {}, aggs } = params; - const { filter, page = 1, perPage = 0, ...restOptions } = options; + const { filter, page = 1, perPage = 0, filterConsumers, ...restOptions } = options; let authorizationTuple; try { authorizationTuple = await context.authorization.getFindAuthorizationFilter( AlertingAuthorizationEntity.Rule, - alertingAuthorizationFilterOpts + alertingAuthorizationFilterOpts, + isEmpty(filterConsumers) ? undefined : new Set(filterConsumers) ); validateRuleAggregationFields(aggs); aggregateOptionsSchema.validate(options); diff --git a/x-pack/plugins/alerting/server/application/rule/methods/aggregate/schemas/aggregate_options_schema.ts b/x-pack/plugins/alerting/server/application/rule/methods/aggregate/schemas/aggregate_options_schema.ts index 3ac244b8087520..7250094160a04f 100644 --- a/x-pack/plugins/alerting/server/application/rule/methods/aggregate/schemas/aggregate_options_schema.ts +++ b/x-pack/plugins/alerting/server/application/rule/methods/aggregate/schemas/aggregate_options_schema.ts @@ -16,6 +16,7 @@ export const aggregateOptionsSchema = schema.object({ id: schema.string(), }) ), + filterConsumers: schema.maybe(schema.arrayOf(schema.string())), // filter type is `string | KueryNode`, but `KueryNode` has no schema to import yet filter: schema.maybe( schema.oneOf([schema.string(), schema.recordOf(schema.string(), schema.any())]) diff --git a/x-pack/plugins/alerting/server/application/rule/methods/aggregate/types/index.ts b/x-pack/plugins/alerting/server/application/rule/methods/aggregate/types/index.ts index 3733a49003bba4..2156fb91e87786 100644 --- a/x-pack/plugins/alerting/server/application/rule/methods/aggregate/types/index.ts +++ b/x-pack/plugins/alerting/server/application/rule/methods/aggregate/types/index.ts @@ -19,6 +19,7 @@ export type AggregateOptions = TypeOf & { filter?: string | KueryNode; page?: AggregateOptionsSchemaTypes['page']; perPage?: AggregateOptionsSchemaTypes['perPage']; + filterConsumers?: string[]; }; export interface AggregateParams { diff --git a/x-pack/plugins/alerting/server/application/rule/methods/bulk_edit/bulk_edit_rules.test.ts b/x-pack/plugins/alerting/server/application/rule/methods/bulk_edit/bulk_edit_rules.test.ts index af51009d71da11..1a2faed2e0e661 100644 --- a/x-pack/plugins/alerting/server/application/rule/methods/bulk_edit/bulk_edit_rules.test.ts +++ b/x-pack/plugins/alerting/server/application/rule/methods/bulk_edit/bulk_edit_rules.test.ts @@ -243,6 +243,7 @@ describe('bulkEdit()', () => { validate: { params: { validate: (params) => params }, }, + validLegacyConsumers: [], }); (migrateLegacyActions as jest.Mock).mockResolvedValue(migrateLegacyActionsMock); @@ -745,6 +746,7 @@ describe('bulkEdit()', () => { mappings: { fieldMap: { field: { type: 'keyword', required: false } } }, shouldWrite: true, }, + validLegacyConsumers: [], }); const existingAction = { frequency: { @@ -2351,6 +2353,7 @@ describe('bulkEdit()', () => { return { state: {} }; }, producer: 'alerts', + validLegacyConsumers: [], }); const result = await rulesClient.bulkEdit({ @@ -2395,6 +2398,7 @@ describe('bulkEdit()', () => { return { state: {} }; }, producer: 'alerts', + validLegacyConsumers: [], }); const result = await rulesClient.bulkEdit({ diff --git a/x-pack/plugins/alerting/server/application/rule/methods/create/create_rule.test.ts b/x-pack/plugins/alerting/server/application/rule/methods/create/create_rule.test.ts index ef2d91ea484ffa..2d7746f715a05e 100644 --- a/x-pack/plugins/alerting/server/application/rule/methods/create/create_rule.test.ts +++ b/x-pack/plugins/alerting/server/application/rule/methods/create/create_rule.test.ts @@ -1551,6 +1551,7 @@ describe('create()', () => { validate: { params: { validate: (params) => params }, }, + validLegacyConsumers: [], })); const data = getMockData({ params: ruleParams, @@ -1738,6 +1739,7 @@ describe('create()', () => { validate: { params: { validate: (params) => params }, }, + validLegacyConsumers: [], })); const data = getMockData({ params: ruleParams, @@ -2557,6 +2559,7 @@ describe('create()', () => { return { state: {} }; }, producer: 'alerts', + validLegacyConsumers: [], }); await expect(rulesClient.create({ data })).rejects.toThrowErrorMatchingInlineSnapshot( `"params invalid: [param1]: expected value of type [string] but got [undefined]"` @@ -3031,6 +3034,7 @@ describe('create()', () => { validate: { params: { validate: (params) => params }, }, + validLegacyConsumers: [], })); const createdAttributes = { ...data, @@ -3103,6 +3107,7 @@ describe('create()', () => { validate: { params: { validate: (params) => params }, }, + validLegacyConsumers: [], })); const data = getMockData({ schedule: { interval: '1s' } }); @@ -3140,6 +3145,7 @@ describe('create()', () => { validate: { params: { validate: (params) => params }, }, + validLegacyConsumers: [], })); const data = getMockData({ @@ -3232,6 +3238,7 @@ describe('create()', () => { validate: { params: { validate: (params) => params }, }, + validLegacyConsumers: [], })); const data = getMockData({ @@ -3281,6 +3288,7 @@ describe('create()', () => { validate: { params: { validate: (params) => params }, }, + validLegacyConsumers: [], })); const data = getMockData({ @@ -3343,6 +3351,7 @@ describe('create()', () => { validate: { params: { validate: (params) => params }, }, + validLegacyConsumers: [], })); const data = getMockData({ @@ -3423,6 +3432,7 @@ describe('create()', () => { validate: { params: { validate: (params) => params }, }, + validLegacyConsumers: [], })); const data = getMockData({ @@ -3627,6 +3637,7 @@ describe('create()', () => { mappings: { fieldMap: { field: { type: 'keyword', required: false } } }, shouldWrite: true, }, + validLegacyConsumers: [], })); const data = getMockData({ @@ -3679,6 +3690,7 @@ describe('create()', () => { validate: { params: { validate: (params) => params }, }, + validLegacyConsumers: [], })); const data = getMockData({ diff --git a/x-pack/plugins/alerting/server/authorization/alerting_authorization.test.ts b/x-pack/plugins/alerting/server/authorization/alerting_authorization.test.ts index d6fb8d415e57f8..c68532082f18a5 100644 --- a/x-pack/plugins/alerting/server/authorization/alerting_authorization.test.ts +++ b/x-pack/plugins/alerting/server/authorization/alerting_authorization.test.ts @@ -22,7 +22,7 @@ import { } from './alerting_authorization'; import { v4 as uuidv4 } from 'uuid'; import { RecoveredActionGroup } from '../../common'; -import { RegistryRuleType } from '../rule_type_registry'; +import { NormalizedRuleType, RegistryRuleType } from '../rule_type_registry'; import { AlertingAuthorizationFilterType } from './alerting_authorization_kuery'; import { schema } from '@kbn/config-schema'; @@ -201,6 +201,7 @@ beforeEach(() => { validate: { params: schema.any(), }, + validLegacyConsumers: [], })); features.getKibanaFeatures.mockReturnValue([ myAppFeature, @@ -250,7 +251,7 @@ describe('AlertingAuthorization', () => { entity: AlertingAuthorizationEntity.Rule, }); - expect(ruleTypeRegistry.get).toHaveBeenCalledTimes(0); + expect(ruleTypeRegistry.get).toHaveBeenCalledTimes(1); }); test('is a no-op when the security license is disabled', async () => { @@ -272,7 +273,7 @@ describe('AlertingAuthorization', () => { entity: AlertingAuthorizationEntity.Rule, }); - expect(ruleTypeRegistry.get).toHaveBeenCalledTimes(0); + expect(ruleTypeRegistry.get).toHaveBeenCalledTimes(1); }); test('ensures the user has privileges to execute rules for the specified rule type and operation without consumer when producer and consumer are the same', async () => { @@ -305,7 +306,7 @@ describe('AlertingAuthorization', () => { expect(ruleTypeRegistry.get).toHaveBeenCalledWith('myType'); - expect(authorization.actions.alerting.get).toHaveBeenCalledTimes(2); + expect(authorization.actions.alerting.get).toHaveBeenCalledTimes(1); expect(authorization.actions.alerting.get).toHaveBeenCalledWith( 'myType', 'myApp', @@ -347,7 +348,7 @@ describe('AlertingAuthorization', () => { expect(ruleTypeRegistry.get).toHaveBeenCalledWith('myType'); - expect(authorization.actions.alerting.get).toHaveBeenCalledTimes(2); + expect(authorization.actions.alerting.get).toHaveBeenCalledTimes(1); expect(authorization.actions.alerting.get).toHaveBeenCalledWith( 'myType', 'myApp', @@ -389,13 +390,7 @@ describe('AlertingAuthorization', () => { expect(ruleTypeRegistry.get).toHaveBeenCalledWith('myType'); - expect(authorization.actions.alerting.get).toHaveBeenCalledTimes(2); - expect(authorization.actions.alerting.get).toHaveBeenCalledWith( - 'myType', - 'alerts', - 'rule', - 'create' - ); + expect(authorization.actions.alerting.get).toHaveBeenCalledTimes(1); expect(authorization.actions.alerting.get).toHaveBeenCalledWith( 'myType', 'myApp', @@ -437,13 +432,7 @@ describe('AlertingAuthorization', () => { expect(ruleTypeRegistry.get).toHaveBeenCalledWith('myType'); - expect(authorization.actions.alerting.get).toHaveBeenCalledTimes(2); - expect(authorization.actions.alerting.get).toHaveBeenCalledWith( - 'myType', - 'alerts', - 'alert', - 'update' - ); + expect(authorization.actions.alerting.get).toHaveBeenCalledTimes(1); expect(authorization.actions.alerting.get).toHaveBeenCalledWith( 'myType', 'myApp', @@ -485,13 +474,7 @@ describe('AlertingAuthorization', () => { expect(ruleTypeRegistry.get).toHaveBeenCalledWith('myType'); - expect(authorization.actions.alerting.get).toHaveBeenCalledTimes(2); - expect(authorization.actions.alerting.get).toHaveBeenCalledWith( - 'myType', - 'myApp', - 'rule', - 'create' - ); + expect(authorization.actions.alerting.get).toHaveBeenCalledTimes(1); expect(authorization.actions.alerting.get).toHaveBeenCalledWith( 'myType', 'myOtherApp', @@ -499,10 +482,7 @@ describe('AlertingAuthorization', () => { 'create' ); expect(checkPrivileges).toHaveBeenCalledWith({ - kibana: [ - mockAuthorizationAction('myType', 'myOtherApp', 'rule', 'create'), - mockAuthorizationAction('myType', 'myApp', 'rule', 'create'), - ], + kibana: [mockAuthorizationAction('myType', 'myOtherApp', 'rule', 'create')], }); }); @@ -536,24 +516,57 @@ describe('AlertingAuthorization', () => { expect(ruleTypeRegistry.get).toHaveBeenCalledWith('myType'); - expect(authorization.actions.alerting.get).toHaveBeenCalledTimes(2); + expect(authorization.actions.alerting.get).toHaveBeenCalledTimes(1); expect(authorization.actions.alerting.get).toHaveBeenCalledWith( 'myType', - 'myApp', + 'myOtherApp', 'alert', 'update' ); + expect(checkPrivileges).toHaveBeenCalledWith({ + kibana: [mockAuthorizationAction('myType', 'myOtherApp', 'alert', 'update')], + }); + }); + + test('ensures the producer is used for authorization if the consumer is `alerts`', async () => { + const { authorization } = mockSecurity(); + const checkPrivileges: jest.MockedFunction< + ReturnType + > = jest.fn(); + authorization.checkPrivilegesDynamicallyWithRequest.mockReturnValue(checkPrivileges); + checkPrivileges.mockResolvedValueOnce({ + username: 'some-user', + hasAllRequested: true, + privileges: { kibana: [] }, + }); + + const alertAuthorization = new AlertingAuthorization({ + request, + authorization, + ruleTypeRegistry, + features, + getSpace, + getSpaceId, + }); + + await alertAuthorization.ensureAuthorized({ + ruleTypeId: 'myType', + consumer: 'alerts', + operation: WriteOperations.Create, + entity: AlertingAuthorizationEntity.Rule, + }); + + expect(ruleTypeRegistry.get).toHaveBeenCalledWith('myType'); + + expect(authorization.actions.alerting.get).toHaveBeenCalledTimes(1); expect(authorization.actions.alerting.get).toHaveBeenCalledWith( 'myType', - 'myOtherApp', - 'alert', - 'update' + 'myApp', + 'rule', + 'create' ); expect(checkPrivileges).toHaveBeenCalledWith({ - kibana: [ - mockAuthorizationAction('myType', 'myOtherApp', 'alert', 'update'), - mockAuthorizationAction('myType', 'myApp', 'alert', 'update'), - ], + kibana: [mockAuthorizationAction('myType', 'myApp', 'rule', 'create')], }); }); @@ -597,7 +610,7 @@ describe('AlertingAuthorization', () => { entity: AlertingAuthorizationEntity.Rule, }) ).rejects.toThrowErrorMatchingInlineSnapshot( - `"Unauthorized to create a \\"myType\\" rule for \\"myOtherApp\\""` + `"Unauthorized by \\"myOtherApp\\" to create \\"myType\\" rule"` ); }); @@ -645,7 +658,7 @@ describe('AlertingAuthorization', () => { entity: AlertingAuthorizationEntity.Alert, }) ).rejects.toThrowErrorMatchingInlineSnapshot( - `"Unauthorized to update a \\"myType\\" alert for \\"myAppRulesOnly\\""` + `"Unauthorized by \\"myAppRulesOnly\\" to update \\"myType\\" alert"` ); }); @@ -689,7 +702,7 @@ describe('AlertingAuthorization', () => { entity: AlertingAuthorizationEntity.Alert, }) ).rejects.toThrowErrorMatchingInlineSnapshot( - `"Unauthorized to update a \\"myType\\" alert by \\"myApp\\""` + `"Unauthorized by \\"myOtherApp\\" to update \\"myType\\" alert"` ); }); @@ -733,7 +746,7 @@ describe('AlertingAuthorization', () => { entity: AlertingAuthorizationEntity.Alert, }) ).rejects.toThrowErrorMatchingInlineSnapshot( - `"Unauthorized to create a \\"myType\\" alert for \\"myOtherApp\\""` + `"Unauthorized by \\"myOtherApp\\" to create \\"myType\\" alert"` ); }); }); @@ -752,6 +765,7 @@ describe('AlertingAuthorization', () => { enabledInLicense: true, hasAlertsMappings: false, hasFieldsForAAD: false, + validLegacyConsumers: [], }; const myAppAlertType: RegistryRuleType = { actionGroups: [], @@ -766,6 +780,7 @@ describe('AlertingAuthorization', () => { enabledInLicense: true, hasAlertsMappings: false, hasFieldsForAAD: false, + validLegacyConsumers: [], }; const mySecondAppAlertType: RegistryRuleType = { actionGroups: [], @@ -780,6 +795,7 @@ describe('AlertingAuthorization', () => { enabledInLicense: true, hasAlertsMappings: false, hasFieldsForAAD: false, + validLegacyConsumers: [], }; const setOfAlertTypes = new Set([myAppAlertType, myOtherAppAlertType, mySecondAppAlertType]); test('omits filter when there is no authorization api', async () => { @@ -967,7 +983,7 @@ describe('AlertingAuthorization', () => { expect(() => { ensureRuleTypeIsAuthorized('myAppAlertType', 'myOtherApp', 'alert'); }).toThrowErrorMatchingInlineSnapshot( - `"Unauthorized to find a \\"myAppAlertType\\" alert for \\"myOtherApp\\""` + `"Unauthorized by \\"myOtherApp\\" to find \\"myAppAlertType\\" alert"` ); }); test('creates an `ensureRuleTypeIsAuthorized` function which is no-op if type is authorized', async () => { @@ -1153,6 +1169,7 @@ describe('AlertingAuthorization', () => { enabledInLicense: true, hasAlertsMappings: false, hasFieldsForAAD: false, + validLegacyConsumers: [], }; const myAppAlertType: RegistryRuleType = { actionGroups: [], @@ -1167,6 +1184,7 @@ describe('AlertingAuthorization', () => { enabledInLicense: true, hasAlertsMappings: false, hasFieldsForAAD: false, + validLegacyConsumers: [], }; const setOfAlertTypes = new Set([myAppAlertType, myOtherAppAlertType]); beforeEach(() => { @@ -1233,6 +1251,7 @@ describe('AlertingAuthorization', () => { "id": "recovered", "name": "Recovered", }, + "validLegacyConsumers": Array [], }, Object { "actionGroups": Array [], @@ -1268,6 +1287,7 @@ describe('AlertingAuthorization', () => { "id": "recovered", "name": "Recovered", }, + "validLegacyConsumers": Array [], }, } `); @@ -1349,15 +1369,12 @@ describe('AlertingAuthorization', () => { "id": "recovered", "name": "Recovered", }, + "validLegacyConsumers": Array [], }, Object { "actionGroups": Array [], "actionVariables": undefined, "authorizedConsumers": Object { - "alerts": Object { - "all": true, - "read": true, - }, "myApp": Object { "all": true, "read": true, @@ -1380,6 +1397,7 @@ describe('AlertingAuthorization', () => { "id": "recovered", "name": "Recovered", }, + "validLegacyConsumers": Array [], }, } `); @@ -1430,10 +1448,6 @@ describe('AlertingAuthorization', () => { "actionGroups": Array [], "actionVariables": undefined, "authorizedConsumers": Object { - "alerts": Object { - "all": true, - "read": true, - }, "myApp": Object { "all": true, "read": true, @@ -1452,6 +1466,7 @@ describe('AlertingAuthorization', () => { "id": "recovered", "name": "Recovered", }, + "validLegacyConsumers": Array [], }, } `); @@ -1536,10 +1551,6 @@ describe('AlertingAuthorization', () => { "actionGroups": Array [], "actionVariables": undefined, "authorizedConsumers": Object { - "alerts": Object { - "all": false, - "read": true, - }, "myApp": Object { "all": true, "read": true, @@ -1562,15 +1573,12 @@ describe('AlertingAuthorization', () => { "id": "recovered", "name": "Recovered", }, + "validLegacyConsumers": Array [], }, Object { "actionGroups": Array [], "actionVariables": undefined, "authorizedConsumers": Object { - "alerts": Object { - "all": false, - "read": true, - }, "myApp": Object { "all": false, "read": true, @@ -1593,6 +1601,7 @@ describe('AlertingAuthorization', () => { "id": "recovered", "name": "Recovered", }, + "validLegacyConsumers": Array [], }, } `); @@ -1656,10 +1665,6 @@ describe('AlertingAuthorization', () => { "actionGroups": Array [], "actionVariables": undefined, "authorizedConsumers": Object { - "alerts": Object { - "all": true, - "read": true, - }, "myApp": Object { "all": true, "read": true, @@ -1682,6 +1687,7 @@ describe('AlertingAuthorization', () => { "id": "recovered", "name": "Recovered", }, + "validLegacyConsumers": Array [], }, } `); @@ -1702,6 +1708,7 @@ describe('AlertingAuthorization', () => { isExportable: true, hasAlertsMappings: false, hasFieldsForAAD: false, + validLegacyConsumers: [], }; const myAppAlertType: RegistryRuleType = { actionGroups: [], @@ -1716,6 +1723,7 @@ describe('AlertingAuthorization', () => { isExportable: true, hasAlertsMappings: true, hasFieldsForAAD: true, + validLegacyConsumers: [], }; const mySecondAppAlertType: RegistryRuleType = { actionGroups: [], @@ -1730,6 +1738,7 @@ describe('AlertingAuthorization', () => { isExportable: true, hasAlertsMappings: false, hasFieldsForAAD: false, + validLegacyConsumers: [], }; const setOfAlertTypes = new Set([myAppAlertType, myOtherAppAlertType, mySecondAppAlertType]); beforeEach(() => { @@ -1794,6 +1803,7 @@ describe('AlertingAuthorization', () => { "id": "recovered", "name": "Recovered", }, + "validLegacyConsumers": Array [], }, }, "hasAllRequested": false, @@ -1869,6 +1879,7 @@ describe('AlertingAuthorization', () => { "id": "recovered", "name": "Recovered", }, + "validLegacyConsumers": Array [], }, }, "hasAllRequested": false, @@ -1877,4 +1888,626 @@ describe('AlertingAuthorization', () => { `); }); }); + + describe('8.11+', () => { + let alertAuthorization: AlertingAuthorization; + + const setOfRuleTypes: RegistryRuleType[] = [ + { + actionGroups: [], + actionVariables: undefined, + defaultActionGroupId: 'default', + minimumLicenseRequired: 'basic', + isExportable: true, + recoveryActionGroup: RecoveredActionGroup, + id: '.esQuery', + name: 'ES Query', + producer: 'stackAlerts', + enabledInLicense: true, + hasAlertsMappings: false, + hasFieldsForAAD: false, + validLegacyConsumers: ['discover', 'alerts'], + }, + { + actionGroups: [], + actionVariables: undefined, + defaultActionGroupId: 'default', + minimumLicenseRequired: 'basic', + isExportable: true, + recoveryActionGroup: RecoveredActionGroup, + id: '.threshold-rule-o11y', + name: 'New threshold 011y', + producer: 'observability', + enabledInLicense: true, + hasAlertsMappings: false, + hasFieldsForAAD: false, + validLegacyConsumers: [], + }, + { + actionGroups: [], + actionVariables: undefined, + defaultActionGroupId: 'default', + minimumLicenseRequired: 'basic', + isExportable: true, + recoveryActionGroup: RecoveredActionGroup, + id: '.infrastructure-threshold-o11y', + name: 'Metrics o11y', + producer: 'infrastructure', + enabledInLicense: true, + hasAlertsMappings: false, + hasFieldsForAAD: false, + validLegacyConsumers: ['alerts'], + }, + { + actionGroups: [], + actionVariables: undefined, + defaultActionGroupId: 'default', + minimumLicenseRequired: 'basic', + isExportable: true, + recoveryActionGroup: RecoveredActionGroup, + id: '.logs-threshold-o11y', + name: 'Logs o11y', + producer: 'logs', + enabledInLicense: true, + hasAlertsMappings: false, + hasFieldsForAAD: false, + validLegacyConsumers: ['alerts'], + }, + ]; + + const onlyStackAlertsKibanaPrivileges = [ + { + privilege: mockAuthorizationAction('.esQuery', 'stackAlerts', 'rule', 'create'), + authorized: true, + }, + { + privilege: mockAuthorizationAction('.esQuery', 'stackAlerts', 'rule', 'find'), + authorized: true, + }, + ]; + const only011yKibanaPrivileges = [ + { + privilege: mockAuthorizationAction( + '.infrastructure-threshold-o11y', + 'infrastructure', + 'rule', + 'create' + ), + authorized: true, + }, + { + privilege: mockAuthorizationAction( + '.infrastructure-threshold-o11y', + 'infrastructure', + 'rule', + 'find' + ), + authorized: true, + }, + { + privilege: mockAuthorizationAction( + '.threshold-rule-o11y', + 'infrastructure', + 'rule', + 'create' + ), + authorized: true, + }, + { + privilege: mockAuthorizationAction( + '.threshold-rule-o11y', + 'infrastructure', + 'rule', + 'find' + ), + authorized: true, + }, + { + privilege: mockAuthorizationAction('.logs-threshold-o11y', 'logs', 'rule', 'create'), + authorized: true, + }, + { + privilege: mockAuthorizationAction('.logs-threshold-o11y', 'logs', 'rule', 'find'), + authorized: true, + }, + { + privilege: mockAuthorizationAction('.threshold-rule-o11y', 'logs', 'rule', 'create'), + authorized: true, + }, + { + privilege: mockAuthorizationAction('.threshold-rule-o11y', 'logs', 'rule', 'find'), + authorized: true, + }, + ]; + const onlyLogsAndStackAlertsKibanaPrivileges = [ + { + privilege: mockAuthorizationAction('.esQuery', 'stackAlerts', 'rule', 'create'), + authorized: true, + }, + { + privilege: mockAuthorizationAction('.esQuery', 'stackAlerts', 'rule', 'find'), + authorized: true, + }, + { + privilege: mockAuthorizationAction('.logs-threshold-o11y', 'logs', 'rule', 'create'), + authorized: true, + }, + { + privilege: mockAuthorizationAction('.logs-threshold-o11y', 'logs', 'rule', 'find'), + authorized: true, + }, + { + privilege: mockAuthorizationAction('.threshold-rule-o11y', 'logs', 'rule', 'create'), + authorized: true, + }, + { + privilege: mockAuthorizationAction('.threshold-rule-o11y', 'logs', 'rule', 'find'), + authorized: true, + }, + ]; + + beforeEach(async () => { + ruleTypeRegistry.list.mockReturnValue(new Set(setOfRuleTypes)); + ruleTypeRegistry.get.mockImplementation((id: string) => { + if (setOfRuleTypes.some((rt) => rt.id === id)) { + const ruleType = setOfRuleTypes.find((rt) => rt.id === id); + return (ruleType ?? {}) as NormalizedRuleType<{}, {}, {}, {}, {}, '', '', {}>; + } + return {} as NormalizedRuleType<{}, {}, {}, {}, {}, '', '', {}>; + }); + }); + + describe('user only access to stack alerts + discover', () => { + beforeEach(() => { + const { authorization } = mockSecurity(); + const checkPrivileges: jest.MockedFunction< + ReturnType + > = jest.fn(); + authorization.mode.useRbacForRequest.mockReturnValue(true); + + features.getKibanaFeatures.mockReset(); + features.getKibanaFeatures.mockReturnValue([ + mockFeature('stackAlerts', ['.esQuery']), + mockFeature('discover', []), + ]); + checkPrivileges.mockReset(); + checkPrivileges.mockResolvedValue({ + username: 'onlyStack', + hasAllRequested: true, + privileges: { + kibana: onlyStackAlertsKibanaPrivileges, + }, + }); + authorization.checkPrivilegesDynamicallyWithRequest.mockReset(); + authorization.checkPrivilegesDynamicallyWithRequest.mockReturnValue(checkPrivileges); + alertAuthorization = new AlertingAuthorization({ + request, + authorization, + ruleTypeRegistry, + features, + getSpace, + getSpaceId, + }); + }); + + describe('ensureAuthorized', () => { + test('should allow to create .esquery rule type with stackAlerts consumer', async () => { + await expect( + alertAuthorization.ensureAuthorized({ + ruleTypeId: '.esQuery', + consumer: 'stackAlerts', + operation: WriteOperations.Create, + entity: AlertingAuthorizationEntity.Rule, + }) + ).resolves.toEqual(undefined); + + expect(ruleTypeRegistry.get).toHaveBeenCalledTimes(1); + }); + test('should allow to create .esquery rule type with discover consumer', async () => { + await expect( + alertAuthorization.ensureAuthorized({ + ruleTypeId: '.esQuery', + consumer: 'discover', + operation: WriteOperations.Create, + entity: AlertingAuthorizationEntity.Rule, + }) + ).resolves.toEqual(undefined); + + expect(ruleTypeRegistry.get).toHaveBeenCalledTimes(1); + }); + test('should allow to create .esquery rule type with alerts consumer', async () => { + await expect( + alertAuthorization.ensureAuthorized({ + ruleTypeId: '.esQuery', + consumer: 'alerts', + operation: WriteOperations.Create, + entity: AlertingAuthorizationEntity.Rule, + }) + ).resolves.toEqual(undefined); + + expect(ruleTypeRegistry.get).toHaveBeenCalledTimes(1); + }); + test('should throw an error to create .esquery rule type with logs consumer', async () => { + await expect( + alertAuthorization.ensureAuthorized({ + ruleTypeId: '.esQuery', + consumer: 'logs', + operation: WriteOperations.Create, + entity: AlertingAuthorizationEntity.Rule, + }) + ).rejects.toThrowErrorMatchingInlineSnapshot( + `"Unauthorized by \\"logs\\" to create \\".esQuery\\" rule"` + ); + + expect(ruleTypeRegistry.get).toHaveBeenCalledTimes(1); + }); + test('should throw an error to create .esquery rule type with infrastructure consumer', async () => { + await expect( + alertAuthorization.ensureAuthorized({ + ruleTypeId: '.esQuery', + consumer: 'infrastructure', + operation: WriteOperations.Create, + entity: AlertingAuthorizationEntity.Rule, + }) + ).rejects.toThrowErrorMatchingInlineSnapshot( + `"Unauthorized by \\"infrastructure\\" to create \\".esQuery\\" rule"` + ); + + expect(ruleTypeRegistry.get).toHaveBeenCalledTimes(1); + }); + test('should throw an error to create .threshold-rule-o11y rule type with alerts consumer', async () => { + await expect( + alertAuthorization.ensureAuthorized({ + ruleTypeId: '.threshold-rule-o11y', + consumer: 'alerts', + operation: WriteOperations.Create, + entity: AlertingAuthorizationEntity.Rule, + }) + ).rejects.toThrowErrorMatchingInlineSnapshot( + `"Unauthorized by \\"alerts\\" to create \\".threshold-rule-o11y\\" rule"` + ); + + expect(ruleTypeRegistry.get).toHaveBeenCalledTimes(1); + }); + test('should throw an error to create .logs-threshold-o11y rule type with alerts infrastructure', async () => { + await expect( + alertAuthorization.ensureAuthorized({ + ruleTypeId: '.logs-threshold-o11y', + consumer: 'alerts', + operation: WriteOperations.Create, + entity: AlertingAuthorizationEntity.Rule, + }) + ).rejects.toThrowErrorMatchingInlineSnapshot( + `"Unauthorized by \\"alerts\\" to create \\".logs-threshold-o11y\\" rule"` + ); + + expect(ruleTypeRegistry.get).toHaveBeenCalledTimes(1); + }); + }); + test('creates a filter based on the privileged types', async () => { + expect( + ( + await alertAuthorization.getFindAuthorizationFilter(AlertingAuthorizationEntity.Rule, { + type: AlertingAuthorizationFilterType.KQL, + fieldNames: { + ruleTypeId: 'path.to.rule_type_id', + consumer: 'consumer-field', + }, + }) + ).filter + ).toEqual( + fromKueryExpression( + `path.to.rule_type_id:.esQuery and consumer-field:(alerts or stackAlerts or discover)` + ) + ); + }); + }); + + describe('user only access to o11y', () => { + beforeEach(() => { + const { authorization } = mockSecurity(); + const checkPrivileges: jest.MockedFunction< + ReturnType + > = jest.fn(); + authorization.mode.useRbacForRequest.mockReturnValue(true); + + features.getKibanaFeatures.mockReset(); + features.getKibanaFeatures.mockReturnValue([ + mockFeature('infrastructure', [ + '.infrastructure-threshold-o11y', + '.threshold-rule-o11y', + '.esQuery', + ]), + mockFeature('logs', ['.threshold-rule-o11y', '.esQuery', '.logs-threshold-o11y']), + ]); + checkPrivileges.mockReset(); + checkPrivileges.mockResolvedValue({ + username: 'onlyO11y', + hasAllRequested: true, + privileges: { + kibana: only011yKibanaPrivileges, + }, + }); + authorization.checkPrivilegesDynamicallyWithRequest.mockReset(); + authorization.checkPrivilegesDynamicallyWithRequest.mockReturnValue(checkPrivileges); + alertAuthorization = new AlertingAuthorization({ + request, + authorization, + ruleTypeRegistry, + features, + getSpace, + getSpaceId, + }); + }); + + describe('ensureAuthorized', () => { + test('should throw an error to create .esquery rule type with stackAlerts consumer', async () => { + await expect( + alertAuthorization.ensureAuthorized({ + ruleTypeId: '.esQuery', + consumer: 'stackAlerts', + operation: WriteOperations.Create, + entity: AlertingAuthorizationEntity.Rule, + }) + ).rejects.toThrowErrorMatchingInlineSnapshot( + `"Unauthorized by \\"stackAlerts\\" to create \\".esQuery\\" rule"` + ); + + expect(ruleTypeRegistry.get).toHaveBeenCalledTimes(1); + }); + test('should throw an error to create .esquery rule type with discover consumer', async () => { + await expect( + alertAuthorization.ensureAuthorized({ + ruleTypeId: '.esQuery', + consumer: 'discover', + operation: WriteOperations.Create, + entity: AlertingAuthorizationEntity.Rule, + }) + ).rejects.toThrowErrorMatchingInlineSnapshot( + `"Unauthorized by \\"discover\\" to create \\".esQuery\\" rule"` + ); + + expect(ruleTypeRegistry.get).toHaveBeenCalledTimes(1); + }); + test('should throw an error to create .threshold-rule-o11y rule type with alerts consumer', async () => { + await expect( + alertAuthorization.ensureAuthorized({ + ruleTypeId: '.threshold-rule-o11y', + consumer: 'alerts', + operation: WriteOperations.Create, + entity: AlertingAuthorizationEntity.Rule, + }) + ).rejects.toThrowErrorMatchingInlineSnapshot( + `"Unauthorized by \\"alerts\\" to create \\".threshold-rule-o11y\\" rule"` + ); + + expect(ruleTypeRegistry.get).toHaveBeenCalledTimes(1); + }); + test('should allow to create .esquery rule type with logs consumer', async () => { + await expect( + alertAuthorization.ensureAuthorized({ + ruleTypeId: '.esQuery', + consumer: 'logs', + operation: WriteOperations.Create, + entity: AlertingAuthorizationEntity.Rule, + }) + ).resolves.toEqual(undefined); + + expect(ruleTypeRegistry.get).toHaveBeenCalledTimes(1); + }); + test('should allow to create .esquery rule type with logs infrastructure', async () => { + await expect( + alertAuthorization.ensureAuthorized({ + ruleTypeId: '.esQuery', + consumer: 'infrastructure', + operation: WriteOperations.Create, + entity: AlertingAuthorizationEntity.Rule, + }) + ).resolves.toEqual(undefined); + + expect(ruleTypeRegistry.get).toHaveBeenCalledTimes(1); + }); + test('should allow to create .logs-threshold-o11y rule type with alerts consumer', async () => { + await expect( + alertAuthorization.ensureAuthorized({ + ruleTypeId: '.logs-threshold-o11y', + consumer: 'alerts', + operation: WriteOperations.Create, + entity: AlertingAuthorizationEntity.Rule, + }) + ).resolves.toEqual(undefined); + + expect(ruleTypeRegistry.get).toHaveBeenCalledTimes(1); + }); + test('should throw an error to create .threshold-rule-o11y rule type with logs consumer', async () => { + await expect( + alertAuthorization.ensureAuthorized({ + ruleTypeId: '.threshold-rule-o11y', + consumer: 'logs', + operation: WriteOperations.Create, + entity: AlertingAuthorizationEntity.Rule, + }) + ).resolves.toEqual(undefined); + + expect(ruleTypeRegistry.get).toHaveBeenCalledTimes(1); + }); + }); + test('creates a filter based on the privileged types', async () => { + expect( + ( + await alertAuthorization.getFindAuthorizationFilter( + AlertingAuthorizationEntity.Rule, + { + type: AlertingAuthorizationFilterType.KQL, + fieldNames: { + ruleTypeId: 'path.to.rule_type_id', + consumer: 'consumer-field', + }, + }, + new Set(['infrastructure', 'logs']) + ) + ).filter + ).toEqual( + fromKueryExpression( + `(path.to.rule_type_id:.infrastructure-threshold-o11y and consumer-field:(infrastructure or alerts)) or (path.to.rule_type_id:.threshold-rule-o11y and consumer-field:(infrastructure or logs)) or (path.to.rule_type_id:.logs-threshold-o11y and consumer-field:(logs or alerts))` + ) + ); + }); + }); + + describe('user only access to logs and stackAlerts', () => { + beforeEach(() => { + const { authorization } = mockSecurity(); + const checkPrivileges: jest.MockedFunction< + ReturnType + > = jest.fn(); + authorization.mode.useRbacForRequest.mockReturnValue(true); + + features.getKibanaFeatures.mockClear(); + features.getKibanaFeatures.mockReturnValue([ + mockFeature('stackAlerts', ['.esQuery']), + mockFeature('logs', ['.logs-threshold-o11y', '.threshold-rule-o11y', '.esQuery']), + ]); + checkPrivileges.mockClear(); + checkPrivileges.mockResolvedValue({ + username: 'stackAndLogs', + hasAllRequested: true, + privileges: { + kibana: onlyLogsAndStackAlertsKibanaPrivileges, + }, + }); + authorization.checkPrivilegesDynamicallyWithRequest.mockReturnValue(checkPrivileges); + alertAuthorization = new AlertingAuthorization({ + request, + authorization, + ruleTypeRegistry, + features, + getSpace, + getSpaceId, + }); + }); + + describe('ensureAuthorized', () => { + test('should allow to create .esquery rule type with stackAlerts consumer', async () => { + await expect( + alertAuthorization.ensureAuthorized({ + ruleTypeId: '.esQuery', + consumer: 'stackAlerts', + operation: WriteOperations.Create, + entity: AlertingAuthorizationEntity.Rule, + }) + ).resolves.toEqual(undefined); + + expect(ruleTypeRegistry.get).toHaveBeenCalledTimes(1); + }); + test('should allow to create .esquery rule type with discover consumer', async () => { + await expect( + alertAuthorization.ensureAuthorized({ + ruleTypeId: '.esQuery', + consumer: 'discover', + operation: WriteOperations.Create, + entity: AlertingAuthorizationEntity.Rule, + }) + ).resolves.toEqual(undefined); + + expect(ruleTypeRegistry.get).toHaveBeenCalledTimes(1); + }); + test('should allow to create .esquery rule type with logs consumer', async () => { + await expect( + alertAuthorization.ensureAuthorized({ + ruleTypeId: '.esQuery', + consumer: 'logs', + operation: WriteOperations.Create, + entity: AlertingAuthorizationEntity.Rule, + }) + ).resolves.toEqual(undefined); + + expect(ruleTypeRegistry.get).toHaveBeenCalledTimes(1); + }); + test('should allow to create .logs-threshold-o11y rule type with alerts consumer', async () => { + await expect( + alertAuthorization.ensureAuthorized({ + ruleTypeId: '.logs-threshold-o11y', + consumer: 'alerts', + operation: WriteOperations.Create, + entity: AlertingAuthorizationEntity.Rule, + }) + ).resolves.toEqual(undefined); + + expect(ruleTypeRegistry.get).toHaveBeenCalledTimes(1); + }); + test('should throw an error to create .threshold-rule-o11y rule type with logs consumer', async () => { + await expect( + alertAuthorization.ensureAuthorized({ + ruleTypeId: '.threshold-rule-o11y', + consumer: 'logs', + operation: WriteOperations.Create, + entity: AlertingAuthorizationEntity.Rule, + }) + ).resolves.toEqual(undefined); + + expect(ruleTypeRegistry.get).toHaveBeenCalledTimes(1); + }); + test('should throw an error to create .esquery rule type with logs infrastructure', async () => { + await expect( + alertAuthorization.ensureAuthorized({ + ruleTypeId: '.esQuery', + consumer: 'infrastructure', + operation: WriteOperations.Create, + entity: AlertingAuthorizationEntity.Rule, + }) + ).rejects.toThrowErrorMatchingInlineSnapshot( + `"Unauthorized by \\"infrastructure\\" to create \\".esQuery\\" rule"` + ); + + expect(ruleTypeRegistry.get).toHaveBeenCalledTimes(1); + }); + test('should throw an error to create .threshold-rule-o11y rule type with alerts consumer', async () => { + await expect( + alertAuthorization.ensureAuthorized({ + ruleTypeId: '.threshold-rule-o11y', + consumer: 'alerts', + operation: WriteOperations.Create, + entity: AlertingAuthorizationEntity.Rule, + }) + ).rejects.toThrowErrorMatchingInlineSnapshot( + `"Unauthorized by \\"alerts\\" to create \\".threshold-rule-o11y\\" rule"` + ); + + expect(ruleTypeRegistry.get).toHaveBeenCalledTimes(1); + }); + test('should throw an error to create .esquery rule type with infrastructure consumer', async () => { + await expect( + alertAuthorization.ensureAuthorized({ + ruleTypeId: '.esQuery', + consumer: 'infrastructure', + operation: WriteOperations.Create, + entity: AlertingAuthorizationEntity.Rule, + }) + ).rejects.toThrowErrorMatchingInlineSnapshot( + `"Unauthorized by \\"infrastructure\\" to create \\".esQuery\\" rule"` + ); + + expect(ruleTypeRegistry.get).toHaveBeenCalledTimes(1); + }); + }); + test('creates a filter based on the privileged types', async () => { + expect( + ( + await alertAuthorization.getFindAuthorizationFilter(AlertingAuthorizationEntity.Rule, { + type: AlertingAuthorizationFilterType.KQL, + fieldNames: { + ruleTypeId: 'path.to.rule_type_id', + consumer: 'consumer-field', + }, + }) + ).filter + ).toEqual( + fromKueryExpression( + `(path.to.rule_type_id:.esQuery and consumer-field:(alerts or stackAlerts or logs or discover)) or (path.to.rule_type_id:.logs-threshold-o11y and consumer-field:(alerts or stackAlerts or logs or discover)) or (path.to.rule_type_id:.threshold-rule-o11y and consumer-field:(alerts or stackAlerts or logs or discover))` + ) + ); + }); + }); + }); }); diff --git a/x-pack/plugins/alerting/server/authorization/alerting_authorization.ts b/x-pack/plugins/alerting/server/authorization/alerting_authorization.ts index 051972b9442610..90f4b189b1197d 100644 --- a/x-pack/plugins/alerting/server/authorization/alerting_authorization.ts +++ b/x-pack/plugins/alerting/server/authorization/alerting_authorization.ts @@ -6,7 +6,7 @@ */ import Boom from '@hapi/boom'; -import { map, mapValues, fromPairs, has } from 'lodash'; +import { has, isEmpty } from 'lodash'; import { KibanaRequest } from '@kbn/core/server'; import { JsonObject } from '@kbn/utility-types'; import { KueryNode } from '@kbn/es-query'; @@ -167,42 +167,26 @@ export class AlertingAuthorization { ); } - public async ensureAuthorized({ ruleTypeId, consumer, operation, entity }: EnsureAuthorizedOpts) { + public async ensureAuthorized({ + ruleTypeId, + consumer: legacyConsumer, + operation, + entity, + }: EnsureAuthorizedOpts) { const { authorization } = this; + const ruleType = this.ruleTypeRegistry.get(ruleTypeId); + const consumer = getValidConsumer({ + validLegacyConsumers: ruleType.validLegacyConsumers, + legacyConsumer, + producer: ruleType.producer, + }); const isAvailableConsumer = has(await this.allPossibleConsumers, consumer); if (authorization && this.shouldCheckAuthorization()) { - const ruleType = this.ruleTypeRegistry.get(ruleTypeId); - const requiredPrivilegesByScope = { - consumer: authorization.actions.alerting.get(ruleTypeId, consumer, entity, operation), - producer: authorization.actions.alerting.get( - ruleTypeId, - ruleType.producer, - entity, - operation - ), - }; - - // Skip authorizing consumer if consumer is the Rules Management consumer (`alerts`) - // This means that rules and their derivative alerts created in the Rules Management UI - // will only be subject to checking if user has access to the rule producer. - const shouldAuthorizeConsumer = consumer !== ALERTS_FEATURE_ID; - const checkPrivileges = authorization.checkPrivilegesDynamicallyWithRequest(this.request); - const { hasAllRequested, privileges } = await checkPrivileges({ - kibana: - shouldAuthorizeConsumer && consumer !== ruleType.producer - ? [ - // check for access at consumer level - requiredPrivilegesByScope.consumer, - // check for access at producer level - requiredPrivilegesByScope.producer, - ] - : [ - // skip consumer privilege checks under `alerts` as all rule types can - // be created under `alerts` if you have producer level privileges - requiredPrivilegesByScope.producer, - ], + + const { hasAllRequested } = await checkPrivileges({ + kibana: [authorization.actions.alerting.get(ruleTypeId, consumer, entity, operation)], }); if (!isAvailableConsumer) { @@ -213,51 +197,31 @@ export class AlertingAuthorization { * as Privileged. * This check will ensure we don't accidentally let these through */ - throw Boom.forbidden( - getUnauthorizedMessage(ruleTypeId, ScopeType.Consumer, consumer, operation, entity) - ); + throw Boom.forbidden(getUnauthorizedMessage(ruleTypeId, legacyConsumer, operation, entity)); } if (!hasAllRequested) { - const authorizedPrivileges = map( - privileges.kibana.filter((privilege) => privilege.authorized), - 'privilege' - ); - const unauthorizedScopes = mapValues( - requiredPrivilegesByScope, - (privilege) => !authorizedPrivileges.includes(privilege) - ); - - const [unauthorizedScopeType, unauthorizedScope] = - shouldAuthorizeConsumer && unauthorizedScopes.consumer - ? [ScopeType.Consumer, consumer] - : [ScopeType.Producer, ruleType.producer]; - - throw Boom.forbidden( - getUnauthorizedMessage( - ruleTypeId, - unauthorizedScopeType, - unauthorizedScope, - operation, - entity - ) - ); + throw Boom.forbidden(getUnauthorizedMessage(ruleTypeId, consumer, operation, entity)); } } else if (!isAvailableConsumer) { - throw Boom.forbidden( - getUnauthorizedMessage(ruleTypeId, ScopeType.Consumer, consumer, operation, entity) - ); + throw Boom.forbidden(getUnauthorizedMessage(ruleTypeId, consumer, operation, entity)); } } public async getFindAuthorizationFilter( authorizationEntity: AlertingAuthorizationEntity, - filterOpts: AlertingAuthorizationFilterOpts + filterOpts: AlertingAuthorizationFilterOpts, + featuresIds?: Set ): Promise<{ filter?: KueryNode | JsonObject; ensureRuleTypeIsAuthorized: (ruleTypeId: string, consumer: string, auth: string) => void; }> { - return this.getAuthorizationFilter(authorizationEntity, filterOpts, ReadOperations.Find); + return this.getAuthorizationFilter( + authorizationEntity, + filterOpts, + ReadOperations.Find, + featuresIds + ); } public async getAuthorizedRuleTypes( @@ -276,7 +240,8 @@ export class AlertingAuthorization { public async getAuthorizationFilter( authorizationEntity: AlertingAuthorizationEntity, filterOpts: AlertingAuthorizationFilterOpts, - operation: WriteOperations | ReadOperations + operation: WriteOperations | ReadOperations, + featuresIds?: Set ): Promise<{ filter?: KueryNode | JsonObject; ensureRuleTypeIsAuthorized: (ruleTypeId: string, consumer: string, auth: string) => void; @@ -285,7 +250,8 @@ export class AlertingAuthorization { const { authorizedRuleTypes } = await this.augmentRuleTypesWithAuthorization( this.ruleTypeRegistry.list(), [operation], - authorizationEntity + authorizationEntity, + featuresIds ); if (!authorizedRuleTypes.size) { @@ -311,13 +277,7 @@ export class AlertingAuthorization { ensureRuleTypeIsAuthorized: (ruleTypeId: string, consumer: string, authType: string) => { if (!authorizedRuleTypeIdsToConsumers.has(`${ruleTypeId}/${consumer}/${authType}`)) { throw Boom.forbidden( - getUnauthorizedMessage( - ruleTypeId, - ScopeType.Consumer, - consumer, - 'find', - authorizationEntity - ) + getUnauthorizedMessage(ruleTypeId, consumer, 'find', authorizationEntity) ); } else { if (authorizedEntries.has(ruleTypeId)) { @@ -376,6 +336,9 @@ export class AlertingAuthorization { string, [RegistryAlertTypeWithAuth, string, HasPrivileges, IsAuthorizedAtProducerLevel] >(); + const allPossibleConsumers = await this.allPossibleConsumers; + const addLegacyConsumerPrivileges = (legacyConsumer: string) => + legacyConsumer === ALERTS_FEATURE_ID || isEmpty(featuresIds); for (const feature of fIds) { const featureDef = this.features .getKibanaFeatures() @@ -401,6 +364,31 @@ export class AlertingAuthorization { ruleTypeAuth.producer === feature, ] ); + // FUTURE ENGINEER + // We are just trying to add back the legacy consumers associated + // to the rule type to get back the privileges that was given at one point + if (!isEmpty(ruleTypeAuth.validLegacyConsumers)) { + ruleTypeAuth.validLegacyConsumers.forEach((legacyConsumer) => { + if (addLegacyConsumerPrivileges(legacyConsumer)) { + if (!allPossibleConsumers[legacyConsumer]) { + allPossibleConsumers[legacyConsumer] = { + read: true, + all: true, + }; + } + + privilegeToRuleType.set( + this.authorization!.actions.alerting.get( + ruleTypeId, + legacyConsumer, + authorizationEntity, + operation + ), + [ruleTypeAuth, legacyConsumer, hasPrivilegeByOperation(operation), false] + ); + } + }); + } } } } @@ -418,7 +406,7 @@ export class AlertingAuthorization { ? // has access to all features this.augmentWithAuthorizedConsumers( new Set(ruleTypesAuthorized.values()), - await this.allPossibleConsumers + allPossibleConsumers ) : // only has some of the required privileges privileges.kibana.reduce((authorizedRuleTypes, { authorized, privilege }) => { @@ -433,10 +421,14 @@ export class AlertingAuthorization { if (isAuthorizedAtProducerLevel) { // granting privileges under the producer automatically authorized the Rules Management UI as well - ruleType.authorizedConsumers[ALERTS_FEATURE_ID] = mergeHasPrivileges( - hasPrivileges, - ruleType.authorizedConsumers[ALERTS_FEATURE_ID] - ); + ruleType.validLegacyConsumers.forEach((legacyConsumer) => { + if (addLegacyConsumerPrivileges(legacyConsumer)) { + ruleType.authorizedConsumers[legacyConsumer] = mergeHasPrivileges( + hasPrivileges, + ruleType.authorizedConsumers[legacyConsumer] + ); + } + }); } authorizedRuleTypes.add(ruleType); } @@ -488,22 +480,30 @@ function asAuthorizedConsumers( consumers: string[], hasPrivileges: HasPrivileges ): AuthorizedConsumers { - return fromPairs(consumers.map((feature) => [feature, hasPrivileges])); -} - -enum ScopeType { - Consumer, - Producer, + return consumers.reduce((acc, feature) => { + acc[feature] = hasPrivileges; + return acc; + }, {}); } function getUnauthorizedMessage( alertTypeId: string, - scopeType: ScopeType, scope: string, operation: string, entity: string ): string { - return `Unauthorized to ${operation} a "${alertTypeId}" ${entity} ${ - scopeType === ScopeType.Consumer ? `for "${scope}"` : `by "${scope}"` - }`; + return `Unauthorized by "${scope}" to ${operation} "${alertTypeId}" ${entity}`; } + +export const getValidConsumer = ({ + validLegacyConsumers, + legacyConsumer, + producer, +}: { + validLegacyConsumers: string[]; + legacyConsumer: string; + producer: string; +}): string => + legacyConsumer === ALERTS_FEATURE_ID || validLegacyConsumers.includes(legacyConsumer) + ? producer + : legacyConsumer; diff --git a/x-pack/plugins/alerting/server/authorization/alerting_authorization_kuery.test.ts b/x-pack/plugins/alerting/server/authorization/alerting_authorization_kuery.test.ts index c9e129085c3c08..bfa36ccfd46c53 100644 --- a/x-pack/plugins/alerting/server/authorization/alerting_authorization_kuery.test.ts +++ b/x-pack/plugins/alerting/server/authorization/alerting_authorization_kuery.test.ts @@ -34,6 +34,7 @@ describe('asKqlFiltersByRuleTypeAndConsumer', () => { enabledInLicense: true, hasAlertsMappings: false, hasFieldsForAAD: false, + validLegacyConsumers: [], }, ]), { @@ -71,6 +72,7 @@ describe('asKqlFiltersByRuleTypeAndConsumer', () => { enabledInLicense: true, hasAlertsMappings: false, hasFieldsForAAD: false, + validLegacyConsumers: [], }, ]), { @@ -111,6 +113,7 @@ describe('asKqlFiltersByRuleTypeAndConsumer', () => { enabledInLicense: true, hasAlertsMappings: false, hasFieldsForAAD: false, + validLegacyConsumers: [], }, { actionGroups: [], @@ -130,6 +133,7 @@ describe('asKqlFiltersByRuleTypeAndConsumer', () => { enabledInLicense: true, hasAlertsMappings: false, hasFieldsForAAD: false, + validLegacyConsumers: [], }, { actionGroups: [], @@ -149,6 +153,7 @@ describe('asKqlFiltersByRuleTypeAndConsumer', () => { enabledInLicense: true, hasAlertsMappings: false, hasFieldsForAAD: false, + validLegacyConsumers: [], }, ]), { @@ -189,6 +194,7 @@ describe('asKqlFiltersByRuleTypeAndConsumer', () => { enabledInLicense: true, hasAlertsMappings: false, hasFieldsForAAD: false, + validLegacyConsumers: [], }, { actionGroups: [], @@ -208,6 +214,7 @@ describe('asKqlFiltersByRuleTypeAndConsumer', () => { enabledInLicense: true, hasAlertsMappings: false, hasFieldsForAAD: false, + validLegacyConsumers: [], }, ]), { @@ -249,6 +256,7 @@ describe('asKqlFiltersByRuleTypeAndConsumer', () => { enabledInLicense: true, hasAlertsMappings: false, hasFieldsForAAD: false, + validLegacyConsumers: [], }, { actionGroups: [], @@ -268,6 +276,7 @@ describe('asKqlFiltersByRuleTypeAndConsumer', () => { enabledInLicense: true, hasAlertsMappings: false, hasFieldsForAAD: false, + validLegacyConsumers: [], }, ]), { @@ -303,6 +312,7 @@ describe('asKqlFiltersByRuleTypeAndConsumer', () => { enabledInLicense: true, hasAlertsMappings: false, hasFieldsForAAD: false, + validLegacyConsumers: [], }, ]), { @@ -339,6 +349,7 @@ describe('asEsDslFiltersByRuleTypeAndConsumer', () => { enabledInLicense: true, hasAlertsMappings: false, hasFieldsForAAD: false, + validLegacyConsumers: [], }, ]), { @@ -403,6 +414,7 @@ describe('asEsDslFiltersByRuleTypeAndConsumer', () => { enabledInLicense: true, hasAlertsMappings: false, hasFieldsForAAD: false, + validLegacyConsumers: [], }, ]), { @@ -475,6 +487,7 @@ describe('asEsDslFiltersByRuleTypeAndConsumer', () => { enabledInLicense: true, hasAlertsMappings: false, hasFieldsForAAD: false, + validLegacyConsumers: [], }, { actionGroups: [], @@ -494,6 +507,7 @@ describe('asEsDslFiltersByRuleTypeAndConsumer', () => { enabledInLicense: true, hasAlertsMappings: false, hasFieldsForAAD: false, + validLegacyConsumers: [], }, { actionGroups: [], @@ -513,6 +527,7 @@ describe('asEsDslFiltersByRuleTypeAndConsumer', () => { enabledInLicense: true, hasAlertsMappings: false, hasFieldsForAAD: false, + validLegacyConsumers: [], }, ]), { @@ -678,6 +693,7 @@ describe('asEsDslFiltersByRuleTypeAndConsumer', () => { enabledInLicense: true, hasAlertsMappings: false, hasFieldsForAAD: false, + validLegacyConsumers: [], }, ]), { diff --git a/x-pack/plugins/alerting/server/lib/alerting_event_logger/alerting_event_logger.test.ts b/x-pack/plugins/alerting/server/lib/alerting_event_logger/alerting_event_logger.test.ts index c8c2e5f1943ec0..609c860e4f7e90 100644 --- a/x-pack/plugins/alerting/server/lib/alerting_event_logger/alerting_event_logger.test.ts +++ b/x-pack/plugins/alerting/server/lib/alerting_event_logger/alerting_event_logger.test.ts @@ -46,6 +46,7 @@ const ruleType: jest.Mocked = { validate: { params: schema.any(), }, + validLegacyConsumers: [], }; const context: RuleContextOpts = { diff --git a/x-pack/plugins/alerting/server/lib/create_alert_event_log_record_object.test.ts b/x-pack/plugins/alerting/server/lib/create_alert_event_log_record_object.test.ts index 6b18d1aac93ddf..5aec760a1eadf6 100644 --- a/x-pack/plugins/alerting/server/lib/create_alert_event_log_record_object.test.ts +++ b/x-pack/plugins/alerting/server/lib/create_alert_event_log_record_object.test.ts @@ -26,6 +26,7 @@ describe('createAlertEventLogRecordObject', () => { validate: { params: schema.any(), }, + validLegacyConsumers: [], }; test('created alert event "execute-start"', async () => { diff --git a/x-pack/plugins/alerting/server/routes/find_rules.test.ts b/x-pack/plugins/alerting/server/routes/find_rules.test.ts index 6e8f4e5474dbf1..afd621c6e7abd3 100644 --- a/x-pack/plugins/alerting/server/routes/find_rules.test.ts +++ b/x-pack/plugins/alerting/server/routes/find_rules.test.ts @@ -79,6 +79,7 @@ describe('findRulesRoute', () => { "includeSnoozeData": true, "options": Object { "defaultSearchOperator": "OR", + "filterConsumers": undefined, "page": 1, "perPage": 1, }, diff --git a/x-pack/plugins/alerting/server/routes/find_rules.ts b/x-pack/plugins/alerting/server/routes/find_rules.ts index 04b18da1a1b0cd..1eab92db823830 100644 --- a/x-pack/plugins/alerting/server/routes/find_rules.ts +++ b/x-pack/plugins/alerting/server/routes/find_rules.ts @@ -47,6 +47,7 @@ const querySchema = schema.object({ ), fields: schema.maybe(schema.arrayOf(schema.string())), filter: schema.maybe(schema.string()), + filter_consumers: schema.maybe(schema.arrayOf(schema.string())), }); const rewriteQueryReq: RewriteRequestCase = ({ @@ -56,11 +57,13 @@ const rewriteQueryReq: RewriteRequestCase = ({ per_page: perPage, sort_field: sortField, sort_order: sortOrder, + filter_consumers: filterConsumers, ...rest }) => ({ ...rest, defaultSearchOperator, perPage, + filterConsumers, ...(sortField ? { sortField } : {}), ...(sortOrder ? { sortOrder } : {}), ...(hasReference ? { hasReference } : {}), diff --git a/x-pack/plugins/alerting/server/routes/health.test.ts b/x-pack/plugins/alerting/server/routes/health.test.ts index b1c562ada8717a..bb42109ef8502d 100644 --- a/x-pack/plugins/alerting/server/routes/health.test.ts +++ b/x-pack/plugins/alerting/server/routes/health.test.ts @@ -51,6 +51,7 @@ const ruleTypes = [ defaultScheduleInterval: '10m', hasAlertsMappings: false, hasFieldsForAAD: false, + validLegacyConsumers: [], } as RegistryAlertTypeWithAuth, ]; diff --git a/x-pack/plugins/alerting/server/routes/legacy/health.test.ts b/x-pack/plugins/alerting/server/routes/legacy/health.test.ts index 9946f659a0744d..e25485229dc0c1 100644 --- a/x-pack/plugins/alerting/server/routes/legacy/health.test.ts +++ b/x-pack/plugins/alerting/server/routes/legacy/health.test.ts @@ -55,6 +55,7 @@ const ruleTypes = [ defaultScheduleInterval: '10m', hasAlertsMappings: false, hasFieldsForAAD: false, + validLegacyConsumers: [], } as RegistryAlertTypeWithAuth, ]; diff --git a/x-pack/plugins/alerting/server/routes/legacy/list_alert_types.test.ts b/x-pack/plugins/alerting/server/routes/legacy/list_alert_types.test.ts index 7262f42319c1f4..ae094df73d0935 100644 --- a/x-pack/plugins/alerting/server/routes/legacy/list_alert_types.test.ts +++ b/x-pack/plugins/alerting/server/routes/legacy/list_alert_types.test.ts @@ -64,6 +64,7 @@ describe('listAlertTypesRoute', () => { enabledInLicense: true, hasAlertsMappings: false, hasFieldsForAAD: false, + validLegacyConsumers: [], } as RegistryAlertTypeWithAuth, ]; rulesClient.listRuleTypes.mockResolvedValueOnce(new Set(listTypes)); @@ -98,6 +99,7 @@ describe('listAlertTypesRoute', () => { "id": "recovered", "name": "Recovered", }, + "validLegacyConsumers": Array [], }, ], } @@ -143,6 +145,7 @@ describe('listAlertTypesRoute', () => { enabledInLicense: true, hasAlertsMappings: false, hasFieldsForAAD: false, + validLegacyConsumers: [], } as RegistryAlertTypeWithAuth, ]; @@ -198,6 +201,7 @@ describe('listAlertTypesRoute', () => { enabledInLicense: true, hasAlertsMappings: false, hasFieldsForAAD: false, + validLegacyConsumers: [], } as RegistryAlertTypeWithAuth, ]; diff --git a/x-pack/plugins/alerting/server/routes/rule/apis/aggregate/transforms/transform_aggregate_query_request/v1.ts b/x-pack/plugins/alerting/server/routes/rule/apis/aggregate/transforms/transform_aggregate_query_request/v1.ts index 7b5879227ce978..baa6b9bb46f9c0 100644 --- a/x-pack/plugins/alerting/server/routes/rule/apis/aggregate/transforms/transform_aggregate_query_request/v1.ts +++ b/x-pack/plugins/alerting/server/routes/rule/apis/aggregate/transforms/transform_aggregate_query_request/v1.ts @@ -13,11 +13,13 @@ export const transformAggregateQueryRequest: RewriteRequestCase ({ defaultSearchOperator, ...(hasReference ? { hasReference } : {}), ...(searchFields ? { searchFields } : {}), ...(search ? { search } : {}), + ...(filterConsumers ? { filterConsumers } : {}), ...(filter ? { filter } : {}), }); diff --git a/x-pack/plugins/alerting/server/routes/rule_types.test.ts b/x-pack/plugins/alerting/server/routes/rule_types.test.ts index 2dab9284bb5acf..c52ce30e41dcd8 100644 --- a/x-pack/plugins/alerting/server/routes/rule_types.test.ts +++ b/x-pack/plugins/alerting/server/routes/rule_types.test.ts @@ -62,9 +62,12 @@ describe('ruleTypesRoute', () => { doesSetRecoveryContext: false, hasAlertsMappings: true, hasFieldsForAAD: false, + validLegacyConsumers: [], } as RegistryAlertTypeWithAuth, ]; - const expectedResult: Array> = [ + const expectedResult: Array< + AsApiContract> + > = [ { id: '1', name: 'name', @@ -172,6 +175,7 @@ describe('ruleTypesRoute', () => { enabledInLicense: true, hasAlertsMappings: false, hasFieldsForAAD: false, + validLegacyConsumers: [], } as RegistryAlertTypeWithAuth, ]; @@ -227,6 +231,7 @@ describe('ruleTypesRoute', () => { enabledInLicense: true, hasAlertsMappings: false, hasFieldsForAAD: false, + validLegacyConsumers: [], } as RegistryAlertTypeWithAuth, ]; diff --git a/x-pack/plugins/alerting/server/routes/rule_types.ts b/x-pack/plugins/alerting/server/routes/rule_types.ts index 4c4a812d756845..4521bdfd167a25 100644 --- a/x-pack/plugins/alerting/server/routes/rule_types.ts +++ b/x-pack/plugins/alerting/server/routes/rule_types.ts @@ -8,10 +8,10 @@ import { IRouter } from '@kbn/core/server'; import { ILicenseState } from '../lib'; import { RegistryAlertTypeWithAuth } from '../authorization'; -import { RewriteResponseCase, verifyAccessAndContext } from './lib'; +import { verifyAccessAndContext } from './lib'; import { AlertingRequestHandlerContext, BASE_ALERTING_API_PATH } from '../types'; -const rewriteBodyRes: RewriteResponseCase = (results) => { +const rewriteBodyRes = (results: RegistryAlertTypeWithAuth[]) => { return results.map( ({ enabledInLicense, @@ -27,8 +27,9 @@ const rewriteBodyRes: RewriteResponseCase = (result doesSetRecoveryContext, hasAlertsMappings, hasFieldsForAAD, + validLegacyConsumers, ...rest - }) => ({ + }: RegistryAlertTypeWithAuth) => ({ ...rest, enabled_in_license: enabledInLicense, recovery_action_group: recoveryActionGroup, diff --git a/x-pack/plugins/alerting/server/rule_type_registry.test.ts b/x-pack/plugins/alerting/server/rule_type_registry.test.ts index 689741c7479ac4..05aa84292ed8d2 100644 --- a/x-pack/plugins/alerting/server/rule_type_registry.test.ts +++ b/x-pack/plugins/alerting/server/rule_type_registry.test.ts @@ -590,40 +590,41 @@ describe('Create Lifecycle', () => { }); const ruleType = registry.get('test'); expect(ruleType).toMatchInlineSnapshot(` - Object { - "actionGroups": Array [ - Object { - "id": "default", - "name": "Default", - }, - Object { - "id": "recovered", - "name": "Recovered", - }, - ], - "actionVariables": Object { - "context": Array [], - "params": Array [], - "state": Array [], - }, - "defaultActionGroupId": "default", - "executor": [MockFunction], - "id": "test", - "isExportable": true, - "minimumLicenseRequired": "basic", - "name": "Test", - "producer": "alerts", - "recoveryActionGroup": Object { - "id": "recovered", - "name": "Recovered", - }, - "validate": Object { - "params": Object { - "validate": [Function], - }, - }, - } - `); + Object { + "actionGroups": Array [ + Object { + "id": "default", + "name": "Default", + }, + Object { + "id": "recovered", + "name": "Recovered", + }, + ], + "actionVariables": Object { + "context": Array [], + "params": Array [], + "state": Array [], + }, + "defaultActionGroupId": "default", + "executor": [MockFunction], + "id": "test", + "isExportable": true, + "minimumLicenseRequired": "basic", + "name": "Test", + "producer": "alerts", + "recoveryActionGroup": Object { + "id": "recovered", + "name": "Recovered", + }, + "validLegacyConsumers": Array [], + "validate": Object { + "params": Object { + "validate": [Function], + }, + }, + } + `); }); test(`should throw an error if type isn't registered`, () => { @@ -713,6 +714,7 @@ describe('Create Lifecycle', () => { "name": "Recovered", }, "ruleTaskTimeout": "20m", + "validLegacyConsumers": Array [], }, } `); diff --git a/x-pack/plugins/alerting/server/rule_type_registry.ts b/x-pack/plugins/alerting/server/rule_type_registry.ts index c0339275bcf358..68e3e1d3d590b3 100644 --- a/x-pack/plugins/alerting/server/rule_type_registry.ts +++ b/x-pack/plugins/alerting/server/rule_type_registry.ts @@ -38,6 +38,7 @@ import { getRuleTypeFeatureUsageName } from './lib/get_rule_type_feature_usage_n import { InMemoryMetrics } from './monitoring'; import { AlertingRulesConfig } from '.'; import { AlertsService } from './alerts_service/alerts_service'; +import { getRuleTypeIdValidLegacyConsumers } from './rule_type_registry_deprecated_consumers'; export interface ConstructorOptions { logger: Logger; @@ -70,6 +71,7 @@ export interface RegistryRuleType enabledInLicense: boolean; hasFieldsForAAD: boolean; hasAlertsMappings: boolean; + validLegacyConsumers: string[]; } /** @@ -102,6 +104,7 @@ export type NormalizedRuleType< RecoveryActionGroupId extends string, AlertData extends RuleAlertData > = { + validLegacyConsumers: string[]; actionGroups: Array>; } & Omit< RuleType< @@ -386,6 +389,7 @@ export class RuleTypeRegistry { doesSetRecoveryContext, alerts, fieldsForAAD, + validLegacyConsumers, }, ]) => { // KEEP the type here to be safe if not the map is ignoring it for some reason @@ -409,6 +413,7 @@ export class RuleTypeRegistry { ).isValid, hasFieldsForAAD: Boolean(fieldsForAAD), hasAlertsMappings: !!alerts, + validLegacyConsumers, ...(alerts ? { alerts } : {}), }; return ruleType; @@ -499,5 +504,6 @@ function augmentActionGroupsWithReserved< ...ruleType, actionGroups: [...actionGroups, ...reservedActionGroups], recoveryActionGroup: recoveryActionGroup ?? RecoveredActionGroup, + validLegacyConsumers: getRuleTypeIdValidLegacyConsumers(id), }; } diff --git a/x-pack/plugins/alerting/server/rule_type_registry_deprecated_consumers.test.ts b/x-pack/plugins/alerting/server/rule_type_registry_deprecated_consumers.test.ts new file mode 100644 index 00000000000000..e1a7828d850421 --- /dev/null +++ b/x-pack/plugins/alerting/server/rule_type_registry_deprecated_consumers.test.ts @@ -0,0 +1,103 @@ +/* + * Copyright 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 { + getRuleTypeIdValidLegacyConsumers, + ruleTypeIdWithValidLegacyConsumers, +} from './rule_type_registry_deprecated_consumers'; + +describe('rule_type_registry_deprecated_consumers', () => { + describe('ruleTypeIdWithValidLegacyConsumers', () => { + test('Only these rule type ids should be in the list', () => { + expect(Object.keys(ruleTypeIdWithValidLegacyConsumers)).toMatchInlineSnapshot(` + Array [ + "example.always-firing", + "transform_health", + ".index-threshold", + ".geo-containment", + ".es-query", + "xpack.ml.anomaly_detection_alert", + "xpack.ml.anomaly_detection_jobs_health", + "xpack.synthetics.alerts.monitorStatus", + "xpack.synthetics.alerts.tls", + "xpack.uptime.alerts.monitorStatus", + "xpack.uptime.alerts.tlsCertificate", + "xpack.uptime.alerts.durationAnomaly", + "xpack.uptime.alerts.tls", + "siem.eqlRule", + "siem.savedQueryRule", + "siem.indicatorRule", + "siem.mlRule", + "siem.queryRule", + "siem.thresholdRule", + "siem.newTermsRule", + "siem.notifications", + "slo.rules.burnRate", + "metrics.alert.anomaly", + "logs.alert.document.count", + "metrics.alert.inventory.threshold", + "metrics.alert.threshold", + "monitoring_alert_cluster_health", + "monitoring_alert_license_expiration", + "monitoring_alert_cpu_usage", + "monitoring_alert_missing_monitoring_data", + "monitoring_alert_disk_usage", + "monitoring_alert_thread_pool_search_rejections", + "monitoring_alert_thread_pool_write_rejections", + "monitoring_alert_jvm_memory_usage", + "monitoring_alert_nodes_changed", + "monitoring_alert_logstash_version_mismatch", + "monitoring_alert_kibana_version_mismatch", + "monitoring_alert_elasticsearch_version_mismatch", + "monitoring_ccr_read_exceptions", + "monitoring_shard_size", + "apm.transaction_duration", + "apm.anomaly", + "apm.error_rate", + "apm.transaction_error_rate", + "test.always-firing", + "test.always-firing-alert-as-data", + "test.authorization", + "test.cancellableRule", + "test.cumulative-firing", + "test.exceedsAlertLimit", + "test.failing", + "test.gold.noop", + "test.longRunning", + "test.multipleSearches", + "test.never-firing", + "test.noop", + "test.onlyContextVariables", + "test.onlyStateVariables", + "test.patternFiring", + "test.patternFiringAad", + "test.patternFiringAutoRecoverFalse", + "test.patternLongRunning", + "test.patternLongRunning.cancelAlertsOnRuleTimeout", + "test.patternSuccessOrFailure", + "test.restricted-noop", + "test.throw", + "test.unrestricted-noop", + "test.validation", + ] + `); + }); + }); + describe('getRuleTypeIdValidLegacyConsumers', () => { + test('".es-query" should have "alerts" & "discover" as legacy consumers', () => { + expect(getRuleTypeIdValidLegacyConsumers('.es-query')).toEqual(['alerts', 'discover']); + }); + + test('All other rule types except ".es-query" should have "alerts" as legacy consumer', () => { + for (const ruleTypeId of Object.keys(ruleTypeIdWithValidLegacyConsumers).filter( + (rt) => rt !== '.es-query' + )) { + expect(getRuleTypeIdValidLegacyConsumers(ruleTypeId)).toEqual(['alerts']); + } + }); + }); +}); diff --git a/x-pack/plugins/alerting/server/rule_type_registry_deprecated_consumers.ts b/x-pack/plugins/alerting/server/rule_type_registry_deprecated_consumers.ts new file mode 100644 index 00000000000000..d6a238c414243a --- /dev/null +++ b/x-pack/plugins/alerting/server/rule_type_registry_deprecated_consumers.ts @@ -0,0 +1,88 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { ALERTS_FEATURE_ID } from './types'; + +export const ruleTypeIdWithValidLegacyConsumers: Record = { + 'example.always-firing': [ALERTS_FEATURE_ID], + transform_health: [ALERTS_FEATURE_ID], + '.index-threshold': [ALERTS_FEATURE_ID], + '.geo-containment': [ALERTS_FEATURE_ID], + '.es-query': [ALERTS_FEATURE_ID, 'discover'], + 'xpack.ml.anomaly_detection_alert': [ALERTS_FEATURE_ID], + 'xpack.ml.anomaly_detection_jobs_health': [ALERTS_FEATURE_ID], + 'xpack.synthetics.alerts.monitorStatus': [ALERTS_FEATURE_ID], + 'xpack.synthetics.alerts.tls': [ALERTS_FEATURE_ID], + 'xpack.uptime.alerts.monitorStatus': [ALERTS_FEATURE_ID], + 'xpack.uptime.alerts.tlsCertificate': [ALERTS_FEATURE_ID], + 'xpack.uptime.alerts.durationAnomaly': [ALERTS_FEATURE_ID], + 'xpack.uptime.alerts.tls': [ALERTS_FEATURE_ID], + 'siem.eqlRule': [ALERTS_FEATURE_ID], + 'siem.savedQueryRule': [ALERTS_FEATURE_ID], + 'siem.indicatorRule': [ALERTS_FEATURE_ID], + 'siem.mlRule': [ALERTS_FEATURE_ID], + 'siem.queryRule': [ALERTS_FEATURE_ID], + 'siem.thresholdRule': [ALERTS_FEATURE_ID], + 'siem.newTermsRule': [ALERTS_FEATURE_ID], + 'siem.notifications': [ALERTS_FEATURE_ID], + 'slo.rules.burnRate': [ALERTS_FEATURE_ID], + 'metrics.alert.anomaly': [ALERTS_FEATURE_ID], + 'logs.alert.document.count': [ALERTS_FEATURE_ID], + 'metrics.alert.inventory.threshold': [ALERTS_FEATURE_ID], + 'metrics.alert.threshold': [ALERTS_FEATURE_ID], + monitoring_alert_cluster_health: [ALERTS_FEATURE_ID], + monitoring_alert_license_expiration: [ALERTS_FEATURE_ID], + monitoring_alert_cpu_usage: [ALERTS_FEATURE_ID], + monitoring_alert_missing_monitoring_data: [ALERTS_FEATURE_ID], + monitoring_alert_disk_usage: [ALERTS_FEATURE_ID], + monitoring_alert_thread_pool_search_rejections: [ALERTS_FEATURE_ID], + monitoring_alert_thread_pool_write_rejections: [ALERTS_FEATURE_ID], + monitoring_alert_jvm_memory_usage: [ALERTS_FEATURE_ID], + monitoring_alert_nodes_changed: [ALERTS_FEATURE_ID], + monitoring_alert_logstash_version_mismatch: [ALERTS_FEATURE_ID], + monitoring_alert_kibana_version_mismatch: [ALERTS_FEATURE_ID], + monitoring_alert_elasticsearch_version_mismatch: [ALERTS_FEATURE_ID], + monitoring_ccr_read_exceptions: [ALERTS_FEATURE_ID], + monitoring_shard_size: [ALERTS_FEATURE_ID], + 'apm.transaction_duration': [ALERTS_FEATURE_ID], + 'apm.anomaly': [ALERTS_FEATURE_ID], + 'apm.error_rate': [ALERTS_FEATURE_ID], + 'apm.transaction_error_rate': [ALERTS_FEATURE_ID], + 'test.always-firing': [ALERTS_FEATURE_ID], + 'test.always-firing-alert-as-data': [ALERTS_FEATURE_ID], + 'test.authorization': [ALERTS_FEATURE_ID], + 'test.cancellableRule': [ALERTS_FEATURE_ID], + 'test.cumulative-firing': [ALERTS_FEATURE_ID], + 'test.exceedsAlertLimit': [ALERTS_FEATURE_ID], + 'test.failing': [ALERTS_FEATURE_ID], + 'test.gold.noop': [ALERTS_FEATURE_ID], + 'test.longRunning': [ALERTS_FEATURE_ID], + 'test.multipleSearches': [ALERTS_FEATURE_ID], + 'test.never-firing': [ALERTS_FEATURE_ID], + 'test.noop': [ALERTS_FEATURE_ID], + 'test.onlyContextVariables': [ALERTS_FEATURE_ID], + 'test.onlyStateVariables': [ALERTS_FEATURE_ID], + 'test.patternFiring': [ALERTS_FEATURE_ID], + 'test.patternFiringAad': [ALERTS_FEATURE_ID], + 'test.patternFiringAutoRecoverFalse': [ALERTS_FEATURE_ID], + 'test.patternLongRunning': [ALERTS_FEATURE_ID], + 'test.patternLongRunning.cancelAlertsOnRuleTimeout': [ALERTS_FEATURE_ID], + 'test.patternSuccessOrFailure': [ALERTS_FEATURE_ID], + 'test.restricted-noop': [ALERTS_FEATURE_ID], + 'test.throw': [ALERTS_FEATURE_ID], + 'test.unrestricted-noop': [ALERTS_FEATURE_ID], + 'test.validation': [ALERTS_FEATURE_ID], +}; + +const getRuleTypeIdValidLegacyConsumers = (ruleTypeId: string): string[] => { + if (ruleTypeIdWithValidLegacyConsumers[ruleTypeId]) { + return ruleTypeIdWithValidLegacyConsumers[ruleTypeId]; + } + return []; +}; + +export { getRuleTypeIdValidLegacyConsumers }; diff --git a/x-pack/plugins/alerting/server/rules_client/lib/siem_legacy_actions/migrate_legacy_actions.test.ts b/x-pack/plugins/alerting/server/rules_client/lib/siem_legacy_actions/migrate_legacy_actions.test.ts index e0bbdb0d770eca..5e6e958f3bbc0e 100644 --- a/x-pack/plugins/alerting/server/rules_client/lib/siem_legacy_actions/migrate_legacy_actions.test.ts +++ b/x-pack/plugins/alerting/server/rules_client/lib/siem_legacy_actions/migrate_legacy_actions.test.ts @@ -46,6 +46,7 @@ const ruleType: jest.Mocked = { validate: { params: { validate: (params) => params }, }, + validLegacyConsumers: [], }; const context = { diff --git a/x-pack/plugins/alerting/server/rules_client/lib/validate_actions.test.ts b/x-pack/plugins/alerting/server/rules_client/lib/validate_actions.test.ts index 84f0a89e72c014..d01d45abc97597 100644 --- a/x-pack/plugins/alerting/server/rules_client/lib/validate_actions.test.ts +++ b/x-pack/plugins/alerting/server/rules_client/lib/validate_actions.test.ts @@ -32,6 +32,7 @@ describe('validateActions', () => { context: 'context', mappings: { fieldMap: { field: { type: 'fieldType', required: false } } }, }, + validLegacyConsumers: [], }; const data = { diff --git a/x-pack/plugins/alerting/server/rules_client/methods/find.ts b/x-pack/plugins/alerting/server/rules_client/methods/find.ts index 6493174a61b6ab..537dfef55aff0d 100644 --- a/x-pack/plugins/alerting/server/rules_client/methods/find.ts +++ b/x-pack/plugins/alerting/server/rules_client/methods/find.ts @@ -7,7 +7,7 @@ import Boom from '@hapi/boom'; import type * as estypes from '@elastic/elasticsearch/lib/api/typesWithBodyKey'; -import { pick } from 'lodash'; +import { isEmpty, pick } from 'lodash'; import { KueryNode, nodeBuilder } from '@kbn/es-query'; import { AlertConsumers } from '@kbn/rule-data-utils'; import { RawRule, RuleTypeParams, SanitizedRule, Rule } from '../../types'; @@ -34,6 +34,7 @@ export interface FindParams { options?: FindOptions; excludeFromPublicApi?: boolean; includeSnoozeData?: boolean; + featuresIds?: string[]; } export interface FindOptions extends IndexType { @@ -50,6 +51,7 @@ export interface FindOptions extends IndexType { }; fields?: string[]; filter?: string | KueryNode; + filterConsumers?: string[]; } export interface FindResult { @@ -62,7 +64,7 @@ export interface FindResult { export async function find( context: RulesClientContext, { - options: { fields, ...options } = {}, + options: { fields, filterConsumers, ...options } = {}, excludeFromPublicApi = false, includeSnoozeData = false, }: FindParams = {} @@ -71,7 +73,8 @@ export async function find( try { authorizationTuple = await context.authorization.getFindAuthorizationFilter( AlertingAuthorizationEntity.Rule, - alertingAuthorizationFilterOpts + alertingAuthorizationFilterOpts, + isEmpty(filterConsumers) ? undefined : new Set(filterConsumers) ); } catch (error) { context.auditLogger?.log( @@ -84,7 +87,6 @@ export async function find( } const { filter: authorizationFilter, ensureRuleTypeIsAuthorized } = authorizationTuple; - const filterKueryNode = buildKueryNodeFilter(options.filter); let sortField = mapSortField(options.sortField); if (excludeFromPublicApi) { diff --git a/x-pack/plugins/alerting/server/rules_client/tests/bulk_delete.test.ts b/x-pack/plugins/alerting/server/rules_client/tests/bulk_delete.test.ts index febf66a1d2f608..8d478b12d65a9e 100644 --- a/x-pack/plugins/alerting/server/rules_client/tests/bulk_delete.test.ts +++ b/x-pack/plugins/alerting/server/rules_client/tests/bulk_delete.test.ts @@ -181,6 +181,7 @@ describe('bulkDelete', () => { validate: { params: schema.any(), }, + validLegacyConsumers: [], }); }); diff --git a/x-pack/plugins/alerting/server/rules_client/tests/find.test.ts b/x-pack/plugins/alerting/server/rules_client/tests/find.test.ts index 227988aaa6da0f..3d697b08dc2f19 100644 --- a/x-pack/plugins/alerting/server/rules_client/tests/find.test.ts +++ b/x-pack/plugins/alerting/server/rules_client/tests/find.test.ts @@ -91,6 +91,7 @@ describe('find()', () => { enabledInLicense: true, hasAlertsMappings: false, hasFieldsForAAD: false, + validLegacyConsumers: [], }, ]); beforeEach(() => { @@ -153,6 +154,7 @@ describe('find()', () => { enabledInLicense: true, hasAlertsMappings: false, hasFieldsForAAD: false, + validLegacyConsumers: [], }, ]) ); @@ -466,6 +468,7 @@ describe('find()', () => { enabledInLicense: true, hasAlertsMappings: false, hasFieldsForAAD: false, + validLegacyConsumers: [], }, ]) ); @@ -484,6 +487,7 @@ describe('find()', () => { validate: { params: schema.any(), }, + validLegacyConsumers: [], })); ruleTypeRegistry.get.mockImplementationOnce(() => ({ id: '123', @@ -504,6 +508,7 @@ describe('find()', () => { validate: { params: schema.any(), }, + validLegacyConsumers: [], })); unsecuredSavedObjectsClient.find.mockResolvedValue({ total: 2, @@ -674,6 +679,7 @@ describe('find()', () => { enabledInLicense: true, hasAlertsMappings: false, hasFieldsForAAD: false, + validLegacyConsumers: [], }, ]) ); @@ -692,6 +698,7 @@ describe('find()', () => { validate: { params: schema.any(), }, + validLegacyConsumers: [], })); ruleTypeRegistry.get.mockImplementationOnce(() => ({ id: '123', @@ -712,6 +719,7 @@ describe('find()', () => { validate: { params: schema.any(), }, + validLegacyConsumers: [], })); unsecuredSavedObjectsClient.find.mockResolvedValue({ total: 2, diff --git a/x-pack/plugins/alerting/server/rules_client/tests/get.test.ts b/x-pack/plugins/alerting/server/rules_client/tests/get.test.ts index a5259a2ddd1e07..36a5510a03a3b4 100644 --- a/x-pack/plugins/alerting/server/rules_client/tests/get.test.ts +++ b/x-pack/plugins/alerting/server/rules_client/tests/get.test.ts @@ -319,6 +319,7 @@ describe('get()', () => { validate: { params: { validate: (params) => params }, }, + validLegacyConsumers: [], })); const rulesClient = new RulesClient(rulesClientParams); unsecuredSavedObjectsClient.get.mockResolvedValueOnce({ @@ -445,6 +446,7 @@ describe('get()', () => { validate: { params: { validate: (params) => params }, }, + validLegacyConsumers: [], })); const rulesClient = new RulesClient(rulesClientParams); unsecuredSavedObjectsClient.get.mockResolvedValueOnce({ diff --git a/x-pack/plugins/alerting/server/rules_client/tests/get_tags.test.ts b/x-pack/plugins/alerting/server/rules_client/tests/get_tags.test.ts index ca1ef9c2757790..6d55fe7f407255 100644 --- a/x-pack/plugins/alerting/server/rules_client/tests/get_tags.test.ts +++ b/x-pack/plugins/alerting/server/rules_client/tests/get_tags.test.ts @@ -70,6 +70,7 @@ const listedTypes = new Set([ enabledInLicense: true, hasAlertsMappings: false, hasFieldsForAAD: false, + validLegacyConsumers: [], }, ]); @@ -123,6 +124,7 @@ describe('getTags()', () => { enabledInLicense: true, hasAlertsMappings: false, hasFieldsForAAD: false, + validLegacyConsumers: [], }, ]) ); diff --git a/x-pack/plugins/alerting/server/rules_client/tests/lib.ts b/x-pack/plugins/alerting/server/rules_client/tests/lib.ts index 25afdedf54d3c5..ee84a789454ef6 100644 --- a/x-pack/plugins/alerting/server/rules_client/tests/lib.ts +++ b/x-pack/plugins/alerting/server/rules_client/tests/lib.ts @@ -122,6 +122,7 @@ export function getBeforeSetup( validate: { params: { validate: (params) => params }, }, + validLegacyConsumers: [], })); rulesClientParams.getEventLogClient.mockResolvedValue( eventLogClient ?? eventLogClientMock.create() diff --git a/x-pack/plugins/alerting/server/rules_client/tests/list_rule_types.test.ts b/x-pack/plugins/alerting/server/rules_client/tests/list_rule_types.test.ts index 8aa56152694048..09aed8b28bfb45 100644 --- a/x-pack/plugins/alerting/server/rules_client/tests/list_rule_types.test.ts +++ b/x-pack/plugins/alerting/server/rules_client/tests/list_rule_types.test.ts @@ -76,6 +76,7 @@ describe('listRuleTypes', () => { enabledInLicense: true, hasAlertsMappings: false, hasFieldsForAAD: false, + validLegacyConsumers: [], }; const myAppAlertType: RegistryRuleType = { actionGroups: [], @@ -90,6 +91,7 @@ describe('listRuleTypes', () => { enabledInLicense: true, hasAlertsMappings: false, hasFieldsForAAD: false, + validLegacyConsumers: [], }; const setOfAlertTypes = new Set([myAppAlertType, alertingAlertType]); @@ -134,6 +136,7 @@ describe('listRuleTypes', () => { enabledInLicense: true, hasAlertsMappings: false, hasFieldsForAAD: false, + validLegacyConsumers: [], }, { id: 'myOtherType', @@ -147,6 +150,7 @@ describe('listRuleTypes', () => { enabledInLicense: true, hasAlertsMappings: false, hasFieldsForAAD: false, + validLegacyConsumers: [], }, ]); beforeEach(() => { @@ -170,6 +174,7 @@ describe('listRuleTypes', () => { enabledInLicense: true, hasAlertsMappings: false, hasFieldsForAAD: false, + validLegacyConsumers: [], }, ]); authorization.filterByRuleTypeAuthorization.mockResolvedValue(authorizedTypes); diff --git a/x-pack/plugins/alerting/server/rules_client/tests/resolve.test.ts b/x-pack/plugins/alerting/server/rules_client/tests/resolve.test.ts index 4733fd81786e9d..5dc753f5d4ade8 100644 --- a/x-pack/plugins/alerting/server/rules_client/tests/resolve.test.ts +++ b/x-pack/plugins/alerting/server/rules_client/tests/resolve.test.ts @@ -294,6 +294,7 @@ describe('resolve()', () => { validate: { params: { validate: (params) => params }, }, + validLegacyConsumers: [], })); const rulesClient = new RulesClient(rulesClientParams); unsecuredSavedObjectsClient.resolve.mockResolvedValueOnce({ @@ -430,6 +431,7 @@ describe('resolve()', () => { validate: { params: { validate: (params) => params }, }, + validLegacyConsumers: [], })); const rulesClient = new RulesClient(rulesClientParams); unsecuredSavedObjectsClient.resolve.mockResolvedValueOnce({ diff --git a/x-pack/plugins/alerting/server/rules_client/tests/update.test.ts b/x-pack/plugins/alerting/server/rules_client/tests/update.test.ts index 76b62cdad887eb..cd97ea0ac1bbd7 100644 --- a/x-pack/plugins/alerting/server/rules_client/tests/update.test.ts +++ b/x-pack/plugins/alerting/server/rules_client/tests/update.test.ts @@ -186,6 +186,7 @@ describe('update()', () => { validate: { params: { validate: (params) => params }, }, + validLegacyConsumers: [], }); (migrateLegacyActions as jest.Mock).mockResolvedValue({ hasLegacyActions: false, @@ -1008,6 +1009,7 @@ describe('update()', () => { validate: { params: { validate: (params) => params }, }, + validLegacyConsumers: [], })); unsecuredSavedObjectsClient.create.mockResolvedValueOnce({ id: '1', @@ -1523,6 +1525,7 @@ describe('update()', () => { return { state: {} }; }, producer: 'alerts', + validLegacyConsumers: [], }); await expect( rulesClient.update({ @@ -1907,6 +1910,7 @@ describe('update()', () => { validate: { params: { validate: (params) => params }, }, + validLegacyConsumers: [], }); encryptedSavedObjects.getDecryptedAsInternalUser.mockResolvedValueOnce({ id: alertId, diff --git a/x-pack/plugins/alerting/server/rules_client_conflict_retries.test.ts b/x-pack/plugins/alerting/server/rules_client_conflict_retries.test.ts index 6b4ce4c16fe8b9..c2c1f73bbe5fb6 100644 --- a/x-pack/plugins/alerting/server/rules_client_conflict_retries.test.ts +++ b/x-pack/plugins/alerting/server/rules_client_conflict_retries.test.ts @@ -373,6 +373,7 @@ beforeEach(() => { validate: { params: { validate: (params) => params }, }, + validLegacyConsumers: [], })); ruleTypeRegistry.get.mockReturnValue({ @@ -390,6 +391,7 @@ beforeEach(() => { validate: { params: { validate: (params) => params }, }, + validLegacyConsumers: [], }); rulesClient = new RulesClient(rulesClientParams); diff --git a/x-pack/plugins/alerting/server/task_runner/execution_handler.test.ts b/x-pack/plugins/alerting/server/task_runner/execution_handler.test.ts index 22d056f4891046..2c1810b0d219e4 100644 --- a/x-pack/plugins/alerting/server/task_runner/execution_handler.test.ts +++ b/x-pack/plugins/alerting/server/task_runner/execution_handler.test.ts @@ -81,6 +81,7 @@ const ruleType: NormalizedRuleType< mappings: { fieldMap: { field: { type: 'fieldType', required: false } } }, }, autoRecoverAlerts: false, + validLegacyConsumers: [], }; const rule = { id: '1', diff --git a/x-pack/plugins/alerting/server/task_runner/fixtures.ts b/x-pack/plugins/alerting/server/task_runner/fixtures.ts index 64c798b868db1d..50f26248499e15 100644 --- a/x-pack/plugins/alerting/server/task_runner/fixtures.ts +++ b/x-pack/plugins/alerting/server/task_runner/fixtures.ts @@ -152,6 +152,7 @@ export const ruleType: jest.Mocked = { context: 'test', mappings: { fieldMap: { field: { type: 'keyword', required: false } } }, }, + validLegacyConsumers: [], }; export const mockRunNowResponse = { diff --git a/x-pack/plugins/alerting/server/task_runner/task_runner_factory.test.ts b/x-pack/plugins/alerting/server/task_runner/task_runner_factory.test.ts index 3cfa7dde783410..786a0fe4a338f6 100644 --- a/x-pack/plugins/alerting/server/task_runner/task_runner_factory.test.ts +++ b/x-pack/plugins/alerting/server/task_runner/task_runner_factory.test.ts @@ -63,6 +63,7 @@ const ruleType: UntypedNormalizedRuleType = { validate: { params: schema.any(), }, + validLegacyConsumers: [], }; let fakeTimer: sinon.SinonFakeTimers; diff --git a/x-pack/plugins/apm/server/feature.ts b/x-pack/plugins/apm/server/feature.ts index b34a202376b2a8..79136af2f88562 100644 --- a/x-pack/plugins/apm/server/feature.ts +++ b/x-pack/plugins/apm/server/feature.ts @@ -12,17 +12,14 @@ import { LicensingPluginSetup, LicensingApiRequestHandlerContext, } from '@kbn/licensing-plugin/server'; + import { APM_INDEX_SETTINGS_SAVED_OBJECT_TYPE } from '@kbn/apm-data-access-plugin/server/saved_objects/apm_indices'; -import { OBSERVABILITY_THRESHOLD_RULE_TYPE_ID } from '@kbn/observability-plugin/common/constants'; import { ApmRuleType, APM_SERVER_FEATURE_ID, } from '../common/rules/apm_rule_types'; -const ruleTypes = [ - ...Object.values(ApmRuleType), - OBSERVABILITY_THRESHOLD_RULE_TYPE_ID, -]; +const ruleTypes = Object.values(ApmRuleType); export const APM_FEATURE = { id: APM_SERVER_FEATURE_ID, diff --git a/x-pack/plugins/features/server/__snapshots__/oss_features.test.ts.snap b/x-pack/plugins/features/server/__snapshots__/oss_features.test.ts.snap index 5ab73d95c15de4..3edffdda86868c 100644 --- a/x-pack/plugins/features/server/__snapshots__/oss_features.test.ts.snap +++ b/x-pack/plugins/features/server/__snapshots__/oss_features.test.ts.snap @@ -680,15 +680,11 @@ Array [ "privilege": Object { "alerting": Object { "alert": Object { - "all": Array [ - ".es-query", - ], + "all": Array [], "read": Array [], }, "rule": Object { - "all": Array [ - ".es-query", - ], + "all": Array [], "read": Array [], }, }, @@ -739,18 +735,6 @@ Array [ }, Object { "privilege": Object { - "alerting": Object { - "alert": Object { - "all": Array [ - ".es-query", - ], - }, - "rule": Object { - "all": Array [ - ".es-query", - ], - }, - }, "app": Array [ "discover", "kibana", @@ -1284,15 +1268,11 @@ Array [ "privilege": Object { "alerting": Object { "alert": Object { - "all": Array [ - ".es-query", - ], + "all": Array [], "read": Array [], }, "rule": Object { - "all": Array [ - ".es-query", - ], + "all": Array [], "read": Array [], }, }, @@ -1343,18 +1323,6 @@ Array [ }, Object { "privilege": Object { - "alerting": Object { - "alert": Object { - "all": Array [ - ".es-query", - ], - }, - "rule": Object { - "all": Array [ - ".es-query", - ], - }, - }, "app": Array [ "discover", "kibana", diff --git a/x-pack/plugins/features/server/oss_features.ts b/x-pack/plugins/features/server/oss_features.ts index 076ef4941c5302..4097780cdfe104 100644 --- a/x-pack/plugins/features/server/oss_features.ts +++ b/x-pack/plugins/features/server/oss_features.ts @@ -32,7 +32,6 @@ export const buildOSSFeatures = ({ category: DEFAULT_APP_CATEGORIES.kibana, app: ['discover', 'kibana'], catalogue: ['discover'], - alerting: ['.es-query'], privileges: { all: { app: ['discover', 'kibana'], @@ -43,14 +42,6 @@ export const buildOSSFeatures = ({ read: ['index-pattern'], }, ui: ['show', 'save', 'saveQuery'], - alerting: { - rule: { - all: ['.es-query'], - }, - alert: { - all: ['.es-query'], - }, - }, }, read: { app: ['discover', 'kibana'], @@ -60,14 +51,6 @@ export const buildOSSFeatures = ({ read: ['index-pattern', 'search', 'query'], }, ui: ['show'], - alerting: { - rule: { - all: ['.es-query'], - }, - alert: { - all: ['.es-query'], - }, - }, }, }, subFeatures: [ diff --git a/x-pack/plugins/infra/server/features.ts b/x-pack/plugins/infra/server/features.ts index 57a9653816e80d..5e6f809645ac1b 100644 --- a/x-pack/plugins/infra/server/features.ts +++ b/x-pack/plugins/infra/server/features.ts @@ -8,8 +8,9 @@ import { i18n } from '@kbn/i18n'; import { DEFAULT_APP_CATEGORIES } from '@kbn/core/server'; import { logViewSavedObjectName } from '@kbn/logs-shared-plugin/server'; +import { OBSERVABILITY_THRESHOLD_RULE_TYPE_ID } from '@kbn/rule-data-utils'; +import { ES_QUERY_ID } from '@kbn/rule-data-utils'; import { metricsDataSourceSavedObjectName } from '@kbn/metrics-data-access-plugin/server'; -import { OBSERVABILITY_THRESHOLD_RULE_TYPE_ID } from '@kbn/observability-plugin/common/constants'; import { LOG_DOCUMENT_COUNT_RULE_TYPE_ID } from '../common/alerting/logs/log_threshold/types'; import { METRIC_INVENTORY_THRESHOLD_ALERT_TYPE_ID, @@ -21,6 +22,7 @@ import { infraSourceConfigurationSavedObjectName } from './lib/sources/saved_obj const metricRuleTypes = [ METRIC_THRESHOLD_ALERT_TYPE_ID, METRIC_INVENTORY_THRESHOLD_ALERT_TYPE_ID, + ES_QUERY_ID, OBSERVABILITY_THRESHOLD_RULE_TYPE_ID, ]; @@ -83,7 +85,11 @@ export const METRICS_FEATURE = { }, }; -const logsRuleTypes = [LOG_DOCUMENT_COUNT_RULE_TYPE_ID, OBSERVABILITY_THRESHOLD_RULE_TYPE_ID]; +const logsRuleTypes = [ + LOG_DOCUMENT_COUNT_RULE_TYPE_ID, + ES_QUERY_ID, + OBSERVABILITY_THRESHOLD_RULE_TYPE_ID, +]; export const LOGS_FEATURE = { id: LOGS_FEATURE_ID, diff --git a/x-pack/plugins/observability/common/constants.ts b/x-pack/plugins/observability/common/constants.ts index 97f4341168fd9f..11f23808d8fa31 100644 --- a/x-pack/plugins/observability/common/constants.ts +++ b/x-pack/plugins/observability/common/constants.ts @@ -8,9 +8,9 @@ import { i18n } from '@kbn/i18n'; import { AlertConsumers } from '@kbn/rule-data-utils'; import type { ValidFeatureId } from '@kbn/rule-data-utils'; +import type { RuleCreationValidConsumer } from '@kbn/triggers-actions-ui-plugin/public'; export const SLO_BURN_RATE_RULE_TYPE_ID = 'slo.rules.burnRate'; -export const OBSERVABILITY_THRESHOLD_RULE_TYPE_ID = 'observability.rules.custom_threshold'; export const INVALID_EQUATION_REGEX = /[^A-Z|+|\-|\s|\d+|\.|\(|\)|\/|\*|>|<|=|\?|\:|&|\!|\|]+/g; export const ALERT_STATUS_ALL = 'all'; @@ -56,3 +56,8 @@ export const observabilityAlertFeatureIds: ValidFeatureId[] = [ AlertConsumers.SLO, AlertConsumers.OBSERVABILITY, ]; + +export const observabilityRuleCreationValidConsumers: RuleCreationValidConsumer[] = [ + AlertConsumers.INFRASTRUCTURE, + AlertConsumers.LOGS, +]; diff --git a/x-pack/plugins/observability/public/components/custom_threshold/components/alert_flyout.tsx b/x-pack/plugins/observability/public/components/custom_threshold/components/alert_flyout.tsx index 824d5b41d14cab..ba39bcd7c48610 100644 --- a/x-pack/plugins/observability/public/components/custom_threshold/components/alert_flyout.tsx +++ b/x-pack/plugins/observability/public/components/custom_threshold/components/alert_flyout.tsx @@ -6,12 +6,14 @@ */ import React, { useCallback, useContext, useMemo } from 'react'; -import { OBSERVABILITY_THRESHOLD_RULE_TYPE_ID } from '../../../../common/constants'; + +import { OBSERVABILITY_THRESHOLD_RULE_TYPE_ID } from '@kbn/rule-data-utils'; import { MetricsExplorerSeries } from '../../../../common/custom_threshold_rule/metrics_explorer'; import { TriggerActionsContext } from './triggers_actions_context'; import { useAlertPrefillContext } from '../helpers/use_alert_prefill'; import { MetricsExplorerOptions } from '../hooks/use_metrics_explorer_options'; +import { observabilityRuleCreationValidConsumers } from '../../../../common/constants'; interface Props { visible?: boolean; @@ -28,7 +30,7 @@ export function AlertFlyout(props: Props) { () => triggersActionsUI && triggersActionsUI.getAddRuleFlyout({ - consumer: 'alerts', + consumer: 'logs', onClose: onCloseFlyout, canChangeTrigger: false, ruleTypeId: OBSERVABILITY_THRESHOLD_RULE_TYPE_ID, @@ -36,6 +38,7 @@ export function AlertFlyout(props: Props) { currentOptions: props.options, series: props.series, }, + validConsumers: observabilityRuleCreationValidConsumers, }), // eslint-disable-next-line react-hooks/exhaustive-deps [triggersActionsUI, onCloseFlyout] diff --git a/x-pack/plugins/observability/public/hooks/use_get_filtered_rule_types.ts b/x-pack/plugins/observability/public/hooks/use_get_filtered_rule_types.ts index d72118182ed652..834cc31f39d2ef 100644 --- a/x-pack/plugins/observability/public/hooks/use_get_filtered_rule_types.ts +++ b/x-pack/plugins/observability/public/hooks/use_get_filtered_rule_types.ts @@ -6,10 +6,13 @@ */ import { useMemo } from 'react'; +import { ES_QUERY_ID } from '@kbn/rule-data-utils'; import { usePluginContext } from './use_plugin_context'; export function useGetFilteredRuleTypes() { const { observabilityRuleTypeRegistry } = usePluginContext(); - return useMemo(() => observabilityRuleTypeRegistry.list(), [observabilityRuleTypeRegistry]); + return useMemo(() => { + return [...observabilityRuleTypeRegistry.list(), ES_QUERY_ID]; + }, [observabilityRuleTypeRegistry]); } diff --git a/x-pack/plugins/observability/public/pages/alerts/alerts.tsx b/x-pack/plugins/observability/public/pages/alerts/alerts.tsx index afd71d888143e0..27ae07cbf768d9 100644 --- a/x-pack/plugins/observability/public/pages/alerts/alerts.tsx +++ b/x-pack/plugins/observability/public/pages/alerts/alerts.tsx @@ -19,6 +19,7 @@ import { useKibana } from '../../utils/kibana_react'; import { useHasData } from '../../hooks/use_has_data'; import { usePluginContext } from '../../hooks/use_plugin_context'; import { useTimeBuckets } from '../../hooks/use_time_buckets'; +import { useGetFilteredRuleTypes } from '../../hooks/use_get_filtered_rule_types'; import { useToasts } from '../../hooks/use_toast'; import { LoadingObservability } from '../../components/loading_observability'; import { renderRuleStats, RuleStatsState } from './components/rule_stats'; @@ -33,7 +34,6 @@ import { getAlertSummaryTimeRange } from '../../utils/alert_summary_widget'; import { observabilityAlertFeatureIds } from '../../../common/constants'; import { ALERTS_URL_STORAGE_KEY } from '../../../common/constants'; import { HeaderMenu } from '../overview/components/header_menu/header_menu'; -import { useGetFilteredRuleTypes } from '../../hooks/use_get_filtered_rule_types'; const ALERTS_SEARCH_BAR_ID = 'alerts-search-bar-o11y'; const ALERTS_PER_PAGE = 50; @@ -130,6 +130,7 @@ function InternalAlertsPage() { const response = await loadRuleAggregations({ http, typesFilter: filteredRuleTypes, + filterConsumers: observabilityAlertFeatureIds, }); const { ruleExecutionStatus, ruleMutedStatus, ruleEnabledStatus, ruleSnoozedStatus } = response; diff --git a/x-pack/plugins/observability/public/pages/alerts/components/alert_actions.tsx b/x-pack/plugins/observability/public/pages/alerts/components/alert_actions.tsx index 1ba58e56aa77e5..567bb32b07f8cb 100644 --- a/x-pack/plugins/observability/public/pages/alerts/components/alert_actions.tsx +++ b/x-pack/plugins/observability/public/pages/alerts/components/alert_actions.tsx @@ -20,8 +20,7 @@ import { CaseAttachmentsWithoutOwner } from '@kbn/cases-plugin/public'; import { AttachmentType } from '@kbn/cases-plugin/common'; import { EcsSecurityExtension as Ecs } from '@kbn/securitysolution-ecs'; import { TimelineNonEcsData } from '@kbn/timelines-plugin/common'; - -import { ALERT_RULE_TYPE_ID } from '@kbn/rule-data-utils'; +import { ALERT_RULE_TYPE_ID, OBSERVABILITY_THRESHOLD_RULE_TYPE_ID } from '@kbn/rule-data-utils'; import { useKibana } from '../../../utils/kibana_react'; import { useGetUserCasesPermissions } from '../../../hooks/use_get_user_cases_permissions'; @@ -32,7 +31,6 @@ import { RULE_DETAILS_PAGE_ID } from '../../rule_details/constants'; import type { ObservabilityRuleTypeRegistry } from '../../..'; import type { ConfigSchema } from '../../../plugin'; import type { TopAlert } from '../../../typings/alerts'; -import { OBSERVABILITY_THRESHOLD_RULE_TYPE_ID } from '../../../../common/constants'; const ALERT_DETAILS_PAGE_ID = 'alert-details-o11y'; diff --git a/x-pack/plugins/observability/public/pages/rule_details/rule_details.tsx b/x-pack/plugins/observability/public/pages/rule_details/rule_details.tsx index 6e14506604a61e..5585ccdeb70999 100644 --- a/x-pack/plugins/observability/public/pages/rule_details/rule_details.tsx +++ b/x-pack/plugins/observability/public/pages/rule_details/rule_details.tsx @@ -17,6 +17,7 @@ import { useKibana } from '../../utils/kibana_react'; import { usePluginContext } from '../../hooks/use_plugin_context'; import { useFetchRule } from '../../hooks/use_fetch_rule'; import { useFetchRuleTypes } from '../../hooks/use_fetch_rule_types'; +import { useGetFilteredRuleTypes } from '../../hooks/use_get_filtered_rule_types'; import { PageTitle } from './components/page_title'; import { DeleteConfirmationModal } from './components/delete_confirmation_modal'; import { CenterJustifiedSpinner } from '../../components/center_justified_spinner'; @@ -39,7 +40,6 @@ import { } from '../../utils/alert_summary_widget'; import type { AlertStatus } from '../../../common/typings'; import { HeaderMenu } from '../overview/components/header_menu/header_menu'; -import { useGetFilteredRuleTypes } from '../../hooks/use_get_filtered_rule_types'; export type TabId = typeof RULE_DETAILS_ALERTS_TAB | typeof RULE_DETAILS_EXECUTION_TAB; diff --git a/x-pack/plugins/observability/public/pages/rules/rules.tsx b/x-pack/plugins/observability/public/pages/rules/rules.tsx index af3eba0b676360..700f3488427575 100644 --- a/x-pack/plugins/observability/public/pages/rules/rules.tsx +++ b/x-pack/plugins/observability/public/pages/rules/rules.tsx @@ -18,6 +18,7 @@ import { RULES_LOGS_PATH, RULES_PATH } from '../../../common/locators/paths'; import { useKibana } from '../../utils/kibana_react'; import { usePluginContext } from '../../hooks/use_plugin_context'; import { useGetFilteredRuleTypes } from '../../hooks/use_get_filtered_rule_types'; +import { observabilityRuleCreationValidConsumers } from '../../../common/constants'; import { HeaderMenu } from '../overview/components/header_menu/header_menu'; import { RulesTab } from './rules_tab'; @@ -141,6 +142,7 @@ export function RulesPage({ activeTab = RULES_TAB_NAME }: RulesPageProps) { { setAddRuleFlyoutVisibility(false); }} @@ -148,6 +150,7 @@ export function RulesPage({ activeTab = RULES_TAB_NAME }: RulesPageProps) { setRefresh(new Date()); return Promise.resolve(); }} + useRuleProducer={true} /> )} diff --git a/x-pack/plugins/observability/public/pages/rules/rules_tab.tsx b/x-pack/plugins/observability/public/pages/rules/rules_tab.tsx index 317091e81fb295..a2939bb4876e9e 100644 --- a/x-pack/plugins/observability/public/pages/rules/rules_tab.tsx +++ b/x-pack/plugins/observability/public/pages/rules/rules_tab.tsx @@ -11,6 +11,7 @@ import { createKbnUrlStateStorage } from '@kbn/kibana-utils-plugin/public'; import { RuleStatus } from '@kbn/triggers-actions-ui-plugin/public'; import { useKibana } from '../../utils/kibana_react'; import { useGetFilteredRuleTypes } from '../../hooks/use_get_filtered_rule_types'; +import { observabilityAlertFeatureIds } from '../../../common/constants'; interface RulesTabProps { setRefresh: React.Dispatch>; @@ -73,6 +74,7 @@ export function RulesTab({ setRefresh, stateRefresh }: RulesTabProps) { return ( { private logger: Logger; diff --git a/x-pack/plugins/rule_registry/server/alert_data_client/alerts_client.ts b/x-pack/plugins/rule_registry/server/alert_data_client/alerts_client.ts index 16781a17962c95..47eeb6e46c4062 100644 --- a/x-pack/plugins/rule_registry/server/alert_data_client/alerts_client.ts +++ b/x-pack/plugins/rule_registry/server/alert_data_client/alerts_client.ts @@ -10,7 +10,6 @@ import { PublicMethodsOf } from '@kbn/utility-types'; import { Filter, buildEsQuery, EsQueryConfig } from '@kbn/es-query'; import { decodeVersion, encodeHitVersion } from '@kbn/securitysolution-es-utils'; import { - AlertConsumers, ALERT_TIME_RANGE, ALERT_STATUS, getEsQueryConfig, @@ -29,7 +28,7 @@ import { InlineScript, QueryDslQueryContainer, } from '@elastic/elasticsearch/lib/api/typesWithBodyKey'; -import { RuleTypeParams } from '@kbn/alerting-plugin/server'; +import { RuleTypeParams, PluginStartContract as AlertingStart } from '@kbn/alerting-plugin/server'; import { ReadOperations, AlertingAuthorization, @@ -50,7 +49,7 @@ import { SPACE_IDS, } from '../../common/technical_rule_data_field_names'; import { ParsedTechnicalFields } from '../../common/parse_technical_fields'; -import { Dataset, IRuleDataService } from '../rule_data_plugin_service'; +import { IRuleDataService } from '../rule_data_plugin_service'; import { getAuthzFilter, getSpacesFilter } from '../lib'; import { fieldDescriptorToBrowserFieldMapper } from './browser_fields'; @@ -81,6 +80,7 @@ export interface ConstructorOptions { esClient: ElasticsearchClient; ruleDataService: IRuleDataService; getRuleType: RuleTypeRegistry['get']; + getAlertIndicesAlias: AlertingStart['getAlertIndicesAlias']; } export interface UpdateOptions { @@ -137,6 +137,7 @@ interface SingleSearchAfterAndAudit { operation: WriteOperations.Update | ReadOperations.Find | ReadOperations.Get; sort?: estypes.SortOptions[] | undefined; lastSortIds?: Array | undefined; + featureIds?: string[]; } /** @@ -152,6 +153,7 @@ export class AlertsClient { private readonly spaceId: string | undefined; private readonly ruleDataService: IRuleDataService; private readonly getRuleType: RuleTypeRegistry['get']; + private getAlertIndicesAlias!: AlertingStart['getAlertIndicesAlias']; constructor(options: ConstructorOptions) { this.logger = options.logger; @@ -163,6 +165,7 @@ export class AlertsClient { this.spaceId = this.authorization.getSpaceId(); this.ruleDataService = options.ruleDataService; this.getRuleType = options.getRuleType; + this.getAlertIndicesAlias = options.getAlertIndicesAlias; } private getOutcome( @@ -281,6 +284,7 @@ export class AlertsClient { operation, sort, lastSortIds = [], + featureIds, }: SingleSearchAfterAndAudit) { try { const alertSpaceId = this.spaceId; @@ -294,7 +298,14 @@ export class AlertsClient { let queryBody: estypes.SearchRequest['body'] = { fields: [ALERT_RULE_TYPE_ID, ALERT_RULE_CONSUMER, ALERT_WORKFLOW_STATUS, SPACE_IDS], - query: await this.buildEsQueryWithAuthz(query, id, alertSpaceId, operation, config), + query: await this.buildEsQueryWithAuthz( + query, + id, + alertSpaceId, + operation, + config, + featureIds ? new Set(featureIds) : undefined + ), aggs, _source, track_total_hits: trackTotalHits, @@ -433,10 +444,15 @@ export class AlertsClient { id: string | null | undefined, alertSpaceId: string, operation: WriteOperations.Update | ReadOperations.Get | ReadOperations.Find, - config: EsQueryConfig + config: EsQueryConfig, + featuresIds?: Set ) { try { - const authzFilter = (await getAuthzFilter(this.authorization, operation)) as Filter; + const authzFilter = (await getAuthzFilter( + this.authorization, + operation, + featuresIds + )) as Filter; const spacesFilter = getSpacesFilter(alertSpaceId) as unknown as Filter; let esQuery; if (id != null) { @@ -681,6 +697,7 @@ export class AlertsClient { }, }, size: 0, + featureIds, }); let activeAlertCount = 0; @@ -1006,35 +1023,16 @@ export class AlertsClient { public async getAuthorizedAlertsIndices(featureIds: string[]): Promise { try { - // ATTENTION FUTURE DEVELOPER when you are a super user the augmentedRuleTypes.authorizedRuleTypes will - // return all of the features that you can access and does not care about your featureIds - const augmentedRuleTypes = await this.authorization.getAugmentedRuleTypesWithAuthorization( - featureIds, - [ReadOperations.Find, ReadOperations.Get, WriteOperations.Update], - AlertingAuthorizationEntity.Alert + const authorizedRuleTypes = await this.authorization.getAuthorizedRuleTypes( + AlertingAuthorizationEntity.Alert, + new Set(featureIds) ); - // As long as the user can read a minimum of one type of rule type produced by the provided feature, - // the user should be provided that features' alerts index. - // Limiting which alerts that user can read on that index will be done via the findAuthorizationFilter - const authorizedFeatures = new Set(); - for (const ruleType of augmentedRuleTypes.authorizedRuleTypes) { - authorizedFeatures.add(ruleType.producer); - } - const validAuthorizedFeatures = Array.from(authorizedFeatures).filter( - (feature): feature is ValidFeatureId => - featureIds.includes(feature) && isValidFeatureId(feature) + const indices = this.getAlertIndicesAlias( + authorizedRuleTypes.map((art: { id: any }) => art.id), + this.spaceId ); - const toReturn = validAuthorizedFeatures.map((feature) => { - const index = this.ruleDataService.findIndexByFeature(feature, Dataset.alerts); - if (index == null) { - throw new Error(`This feature id ${feature} should be associated to an alert index`); - } - return ( - index?.getPrimaryAlias(feature === AlertConsumers.SIEM ? this.spaceId ?? '*' : '*') ?? '' - ); - }); - return toReturn; + return indices; } catch (exc) { const errMessage = `getAuthorizedAlertsIndices failed to get authorized rule types: ${exc}`; this.logger.error(errMessage); diff --git a/x-pack/plugins/rule_registry/server/alert_data_client/alerts_client_factory.test.ts b/x-pack/plugins/rule_registry/server/alert_data_client/alerts_client_factory.test.ts index bbb33244e29755..43966d12070042 100644 --- a/x-pack/plugins/rule_registry/server/alert_data_client/alerts_client_factory.test.ts +++ b/x-pack/plugins/rule_registry/server/alert_data_client/alerts_client_factory.test.ts @@ -26,6 +26,7 @@ const alertsClientFactoryParams: AlertsClientFactoryProps = { esClient: {} as ElasticsearchClient, ruleDataService: ruleDataServiceMock.create(), getRuleType: jest.fn(), + getAlertIndicesAlias: jest.fn(), }; const auditLogger = auditLoggerMock.create(); @@ -53,6 +54,7 @@ describe('AlertsClientFactory', () => { esClient: {}, ruleDataService: alertsClientFactoryParams.ruleDataService, getRuleType: alertsClientFactoryParams.getRuleType, + getAlertIndicesAlias: alertsClientFactoryParams.getAlertIndicesAlias, }); }); diff --git a/x-pack/plugins/rule_registry/server/alert_data_client/alerts_client_factory.ts b/x-pack/plugins/rule_registry/server/alert_data_client/alerts_client_factory.ts index 9a171514b588a5..de0afb5a0b2267 100644 --- a/x-pack/plugins/rule_registry/server/alert_data_client/alerts_client_factory.ts +++ b/x-pack/plugins/rule_registry/server/alert_data_client/alerts_client_factory.ts @@ -8,7 +8,10 @@ import { PublicMethodsOf } from '@kbn/utility-types'; import { ElasticsearchClient, KibanaRequest, Logger } from '@kbn/core/server'; import type { RuleTypeRegistry } from '@kbn/alerting-plugin/server/types'; -import { AlertingAuthorization } from '@kbn/alerting-plugin/server'; +import { + AlertingAuthorization, + PluginStartContract as AlertingStart, +} from '@kbn/alerting-plugin/server'; import { SecurityPluginSetup } from '@kbn/security-plugin/server'; import { IRuleDataService } from '../rule_data_plugin_service'; import { AlertsClient } from './alerts_client'; @@ -20,6 +23,7 @@ export interface AlertsClientFactoryProps { securityPluginSetup: SecurityPluginSetup | undefined; ruleDataService: IRuleDataService | null; getRuleType: RuleTypeRegistry['get']; + getAlertIndicesAlias: AlertingStart['getAlertIndicesAlias']; } export class AlertsClientFactory { @@ -32,6 +36,7 @@ export class AlertsClientFactory { private securityPluginSetup!: SecurityPluginSetup | undefined; private ruleDataService!: IRuleDataService | null; private getRuleType!: RuleTypeRegistry['get']; + private getAlertIndicesAlias!: AlertingStart['getAlertIndicesAlias']; public initialize(options: AlertsClientFactoryProps) { /** @@ -48,6 +53,7 @@ export class AlertsClientFactory { this.securityPluginSetup = options.securityPluginSetup; this.ruleDataService = options.ruleDataService; this.getRuleType = options.getRuleType; + this.getAlertIndicesAlias = options.getAlertIndicesAlias; } public async create(request: KibanaRequest): Promise { @@ -60,6 +66,7 @@ export class AlertsClientFactory { esClient: this.esClient, ruleDataService: this.ruleDataService!, getRuleType: this.getRuleType, + getAlertIndicesAlias: this.getAlertIndicesAlias, }); } } diff --git a/x-pack/plugins/rule_registry/server/alert_data_client/tests/bulk_update.test.ts b/x-pack/plugins/rule_registry/server/alert_data_client/tests/bulk_update.test.ts index fb3acbd5e26fdd..4229ae23793fcb 100644 --- a/x-pack/plugins/rule_registry/server/alert_data_client/tests/bulk_update.test.ts +++ b/x-pack/plugins/rule_registry/server/alert_data_client/tests/bulk_update.test.ts @@ -31,6 +31,7 @@ const alertsClientParams: jest.Mocked = { auditLogger, ruleDataService: ruleDataServiceMock.create(), getRuleType: jest.fn(), + getAlertIndicesAlias: jest.fn(), }; const DEFAULT_SPACE = 'test_default_space_id'; @@ -334,10 +335,10 @@ describe('bulkUpdate()', () => { status: 'closed', }) ).rejects.toThrowErrorMatchingInlineSnapshot(` - "queryAndAuditAllAlerts threw an error: Unable to retrieve alerts with query \\"kibana.alert.status: active\\" and operation update - Error: Unable to retrieve alert details for alert with id of \\"null\\" or with query \\"kibana.alert.status: active\\" and operation update - Error: Error: Unauthorized for fake.rule and apm" - `); + "queryAndAuditAllAlerts threw an error: Unable to retrieve alerts with query \\"kibana.alert.status: active\\" and operation update + Error: Unable to retrieve alert details for alert with id of \\"null\\" or with query \\"kibana.alert.status: active\\" and operation update + Error: Error: Unauthorized for fake.rule and apm" + `); expect(auditLogger.log).toHaveBeenNthCalledWith(1, { message: `Failed attempt to update alert [id=${fakeAlertId}]`, @@ -401,10 +402,10 @@ describe('bulkUpdate()', () => { status: 'closed', }) ).rejects.toThrowErrorMatchingInlineSnapshot(` - "queryAndAuditAllAlerts threw an error: Unable to retrieve alerts with query \\"kibana.alert.status: active\\" and operation update - Error: Unable to retrieve alert details for alert with id of \\"null\\" or with query \\"kibana.alert.status: active\\" and operation update - Error: Error: Unauthorized for fake.rule and apm" - `); + "queryAndAuditAllAlerts threw an error: Unable to retrieve alerts with query \\"kibana.alert.status: active\\" and operation update + Error: Unable to retrieve alert details for alert with id of \\"null\\" or with query \\"kibana.alert.status: active\\" and operation update + Error: Error: Unauthorized for fake.rule and apm" + `); expect(auditLogger.log).toHaveBeenCalledTimes(2); expect(auditLogger.log).toHaveBeenNthCalledWith(1, { diff --git a/x-pack/plugins/rule_registry/server/alert_data_client/tests/bulk_update_cases.test.ts b/x-pack/plugins/rule_registry/server/alert_data_client/tests/bulk_update_cases.test.ts index 20db7747fc898b..4047a3ecadd270 100644 --- a/x-pack/plugins/rule_registry/server/alert_data_client/tests/bulk_update_cases.test.ts +++ b/x-pack/plugins/rule_registry/server/alert_data_client/tests/bulk_update_cases.test.ts @@ -37,6 +37,7 @@ describe('bulkUpdateCases', () => { auditLogger, ruleDataService: ruleDataServiceMock.create(), getRuleType: jest.fn(), + getAlertIndicesAlias: jest.fn(), }; beforeEach(() => { diff --git a/x-pack/plugins/rule_registry/server/alert_data_client/tests/find_alerts.test.ts b/x-pack/plugins/rule_registry/server/alert_data_client/tests/find_alerts.test.ts index b287ba863e5fa8..37ad46a523a700 100644 --- a/x-pack/plugins/rule_registry/server/alert_data_client/tests/find_alerts.test.ts +++ b/x-pack/plugins/rule_registry/server/alert_data_client/tests/find_alerts.test.ts @@ -30,6 +30,7 @@ const alertsClientParams: jest.Mocked = { auditLogger, ruleDataService: ruleDataServiceMock.create(), getRuleType: jest.fn(), + getAlertIndicesAlias: jest.fn(), }; const DEFAULT_SPACE = 'test_default_space_id'; @@ -420,9 +421,9 @@ describe('find()', () => { index: '.alerts-observability.apm.alerts', }) ).rejects.toThrowErrorMatchingInlineSnapshot(` - "Unable to retrieve alert details for alert with id of \\"undefined\\" or with query \\"[object Object]\\" and operation find - Error: Error: Unauthorized for fake.rule and apm" - `); + "Unable to retrieve alert details for alert with id of \\"undefined\\" or with query \\"[object Object]\\" and operation find + Error: Error: Unauthorized for fake.rule and apm" + `); expect(auditLogger.log).toHaveBeenNthCalledWith(1, { message: `Failed attempt to access alert [id=${fakeAlertId}]`, @@ -450,9 +451,9 @@ describe('find()', () => { index: '.alerts-observability.apm.alerts', }) ).rejects.toThrowErrorMatchingInlineSnapshot(` - "Unable to retrieve alert details for alert with id of \\"undefined\\" or with query \\"[object Object]\\" and operation find - Error: Error: something went wrong" - `); + "Unable to retrieve alert details for alert with id of \\"undefined\\" or with query \\"[object Object]\\" and operation find + Error: Error: something went wrong" + `); }); describe('authorization', () => { diff --git a/x-pack/plugins/rule_registry/server/alert_data_client/tests/get.test.ts b/x-pack/plugins/rule_registry/server/alert_data_client/tests/get.test.ts index c7b342f0fa548c..fb1e0eef432ef6 100644 --- a/x-pack/plugins/rule_registry/server/alert_data_client/tests/get.test.ts +++ b/x-pack/plugins/rule_registry/server/alert_data_client/tests/get.test.ts @@ -31,6 +31,7 @@ const alertsClientParams: jest.Mocked = { auditLogger, ruleDataService: ruleDataServiceMock.create(), getRuleType: jest.fn(), + getAlertIndicesAlias: jest.fn(), }; const DEFAULT_SPACE = 'test_default_space_id'; @@ -266,9 +267,9 @@ describe('get()', () => { await expect(alertsClient.get({ id: fakeAlertId, index: '.alerts-observability.apm.alerts' })) .rejects.toThrowErrorMatchingInlineSnapshot(` - "Unable to retrieve alert details for alert with id of \\"myfakeid1\\" or with query \\"undefined\\" and operation get - Error: Error: Unauthorized for fake.rule and apm" - `); + "Unable to retrieve alert details for alert with id of \\"myfakeid1\\" or with query \\"undefined\\" and operation get + Error: Error: Unauthorized for fake.rule and apm" + `); expect(auditLogger.log).toHaveBeenNthCalledWith(1, { message: `Failed attempt to access alert [id=${fakeAlertId}]`, @@ -293,9 +294,9 @@ describe('get()', () => { await expect( alertsClient.get({ id: 'NoxgpHkBqbdrfX07MqXV', index: '.alerts-observability.apm.alerts' }) ).rejects.toThrowErrorMatchingInlineSnapshot(` - "Unable to retrieve alert details for alert with id of \\"NoxgpHkBqbdrfX07MqXV\\" or with query \\"undefined\\" and operation get - Error: Error: something went wrong" - `); + "Unable to retrieve alert details for alert with id of \\"NoxgpHkBqbdrfX07MqXV\\" or with query \\"undefined\\" and operation get + Error: Error: something went wrong" + `); }); describe('authorization', () => { diff --git a/x-pack/plugins/rule_registry/server/alert_data_client/tests/remove_cases_from_alerts.test.ts b/x-pack/plugins/rule_registry/server/alert_data_client/tests/remove_cases_from_alerts.test.ts index 08f0c3c21ea374..2611200afd85f9 100644 --- a/x-pack/plugins/rule_registry/server/alert_data_client/tests/remove_cases_from_alerts.test.ts +++ b/x-pack/plugins/rule_registry/server/alert_data_client/tests/remove_cases_from_alerts.test.ts @@ -32,6 +32,7 @@ describe('remove cases from alerts', () => { auditLogger, ruleDataService: ruleDataServiceMock.create(), getRuleType: jest.fn(), + getAlertIndicesAlias: jest.fn(), }; beforeEach(() => { @@ -89,6 +90,7 @@ describe('remove cases from alerts', () => { auditLogger, ruleDataService: ruleDataServiceMock.create(), getRuleType: jest.fn(), + getAlertIndicesAlias: jest.fn(), }; beforeEach(() => { diff --git a/x-pack/plugins/rule_registry/server/alert_data_client/tests/update.test.ts b/x-pack/plugins/rule_registry/server/alert_data_client/tests/update.test.ts index 4db890d93b3268..bca5e7d967f3a3 100644 --- a/x-pack/plugins/rule_registry/server/alert_data_client/tests/update.test.ts +++ b/x-pack/plugins/rule_registry/server/alert_data_client/tests/update.test.ts @@ -30,6 +30,7 @@ const alertsClientParams: jest.Mocked = { auditLogger, ruleDataService: ruleDataServiceMock.create(), getRuleType: jest.fn(), + getAlertIndicesAlias: jest.fn(), }; const DEFAULT_SPACE = 'test_default_space_id'; @@ -257,9 +258,9 @@ describe('update()', () => { index: '.alerts-observability.apm.alerts', }) ).rejects.toThrowErrorMatchingInlineSnapshot(` - "Unable to retrieve alert details for alert with id of \\"myfakeid1\\" or with query \\"undefined\\" and operation update - Error: Error: Unauthorized for fake.rule and apm" - `); + "Unable to retrieve alert details for alert with id of \\"myfakeid1\\" or with query \\"undefined\\" and operation update + Error: Error: Unauthorized for fake.rule and apm" + `); expect(auditLogger.log).toHaveBeenNthCalledWith(1, { message: `Failed attempt to update alert [id=${fakeAlertId}]`, @@ -289,9 +290,9 @@ describe('update()', () => { index: '.alerts-observability.apm.alerts', }) ).rejects.toThrowErrorMatchingInlineSnapshot(` - "Unable to retrieve alert details for alert with id of \\"NoxgpHkBqbdrfX07MqXV\\" or with query \\"undefined\\" and operation update - Error: Error: something went wrong on update" - `); + "Unable to retrieve alert details for alert with id of \\"NoxgpHkBqbdrfX07MqXV\\" or with query \\"undefined\\" and operation update + Error: Error: something went wrong on update" + `); }); test(`throws an error if ES client update fails`, async () => { diff --git a/x-pack/plugins/rule_registry/server/lib/get_authz_filter.ts b/x-pack/plugins/rule_registry/server/lib/get_authz_filter.ts index 35bab55c7c4e39..e1524b99f88d98 100644 --- a/x-pack/plugins/rule_registry/server/lib/get_authz_filter.ts +++ b/x-pack/plugins/rule_registry/server/lib/get_authz_filter.ts @@ -19,7 +19,8 @@ import { export async function getAuthzFilter( authorization: PublicMethodsOf, - operation: WriteOperations.Update | ReadOperations.Get | ReadOperations.Find + operation: WriteOperations.Update | ReadOperations.Get | ReadOperations.Find, + featuresIds?: Set ) { const { filter } = await authorization.getAuthorizationFilter( AlertingAuthorizationEntity.Alert, @@ -27,7 +28,8 @@ export async function getAuthzFilter( type: AlertingAuthorizationFilterType.ESDSL, fieldNames: { consumer: ALERT_RULE_CONSUMER, ruleTypeId: ALERT_RULE_TYPE_ID }, }, - operation + operation, + featuresIds ); return filter; } diff --git a/x-pack/plugins/rule_registry/server/plugin.ts b/x-pack/plugins/rule_registry/server/plugin.ts index 0b17e237057e61..6fba837a10c1af 100644 --- a/x-pack/plugins/rule_registry/server/plugin.ts +++ b/x-pack/plugins/rule_registry/server/plugin.ts @@ -166,6 +166,7 @@ export class RuleRegistryPlugin securityPluginSetup: security, ruleDataService, getRuleType: plugins.alerting.getType, + getAlertIndicesAlias: plugins.alerting.getAlertIndicesAlias, }); const getRacClientWithRequest = (request: KibanaRequest) => { diff --git a/x-pack/plugins/rule_registry/server/routes/get_browser_fields_by_feature_id.ts b/x-pack/plugins/rule_registry/server/routes/get_browser_fields_by_feature_id.ts index 3441a8571e81f1..259ca034787450 100644 --- a/x-pack/plugins/rule_registry/server/routes/get_browser_fields_by_feature_id.ts +++ b/x-pack/plugins/rule_registry/server/routes/get_browser_fields_by_feature_id.ts @@ -35,11 +35,13 @@ export const getBrowserFieldsByFeatureId = (router: IRouter fId !== 'siem' ); const o11yIndices = - indices?.filter((index) => index.startsWith('.alerts-observability')) ?? []; + (onlyO11yFeatureIds + ? await alertsClient.getAuthorizedAlertsIndices(onlyO11yFeatureIds) + : []) ?? []; if (o11yIndices.length === 0) { return response.notFound({ body: { diff --git a/x-pack/plugins/rule_registry/server/search_strategy/search_strategy.ts b/x-pack/plugins/rule_registry/server/search_strategy/search_strategy.ts index 76c1168d50d0b6..f8da02ad0666de 100644 --- a/x-pack/plugins/rule_registry/server/search_strategy/search_strategy.ts +++ b/x-pack/plugins/rule_registry/server/search_strategy/search_strategy.ts @@ -72,20 +72,18 @@ export const ruleRegistrySearchStrategyProvider = ( alerting.getAlertingAuthorizationWithRequest(deps.request), ]); let authzFilter; - - if (!siemRequest) { + const fIds = new Set(featureIds); + if (!siemRequest && featureIds.length > 0) { authzFilter = (await getAuthzFilter( authorization, - ReadOperations.Find + ReadOperations.Find, + fIds )) as estypes.QueryDslQueryContainer; } const authorizedRuleTypes = featureIds.length > 0 - ? await authorization.getAuthorizedRuleTypes( - AlertingAuthorizationEntity.Alert, - new Set(featureIds) - ) + ? await authorization.getAuthorizedRuleTypes(AlertingAuthorizationEntity.Alert, fIds) : []; return { space, authzFilter, authorizedRuleTypes }; }; diff --git a/x-pack/plugins/session_view/server/routes/alerts_client_mock.test.ts b/x-pack/plugins/session_view/server/routes/alerts_client_mock.test.ts index 282d4297d36707..10f1c48977c34f 100644 --- a/x-pack/plugins/session_view/server/routes/alerts_client_mock.test.ts +++ b/x-pack/plugins/session_view/server/routes/alerts_client_mock.test.ts @@ -57,6 +57,7 @@ const getResponse = async () => { }; const esClientMock = elasticsearchServiceMock.createElasticsearchClient(getResponse()); +const getAlertIndicesAliasMock = jest.fn(); const alertsClientParams: jest.Mocked = { logger: loggingSystemMock.create().get(), authorization: alertingAuthMock, @@ -64,6 +65,7 @@ const alertsClientParams: jest.Mocked = { ruleDataService: ruleDataServiceMock.create(), esClient: esClientMock, getRuleType: jest.fn(), + getAlertIndicesAlias: getAlertIndicesAliasMock, }; export function getAlertsClientMockInstance(esClient?: ElasticsearchClient) { @@ -86,6 +88,20 @@ export function resetAlertingAuthMock() { authorizedRuleTypes.add({ producer: 'apm' }); return Promise.resolve({ authorizedRuleTypes }); }); + // @ts-expect-error + alertingAuthMock.getAuthorizedRuleTypes.mockImplementation(async () => { + const authorizedRuleTypes = [ + { + producer: 'apm', + id: 'apm.error_rate', + alerts: { + context: 'observability.apm', + }, + }, + ]; + return Promise.resolve(authorizedRuleTypes); + }); + getAlertIndicesAliasMock.mockReturnValue(['.alerts-observability.apm-default']); alertingAuthMock.ensureAuthorized.mockImplementation( // @ts-expect-error diff --git a/x-pack/plugins/stack_alerts/common/constants.ts b/x-pack/plugins/stack_alerts/common/constants.ts index e846b249081e01..a2be12ee63867c 100644 --- a/x-pack/plugins/stack_alerts/common/constants.ts +++ b/x-pack/plugins/stack_alerts/common/constants.ts @@ -5,6 +5,4 @@ * 2.0. */ -export const STACK_ALERTS_FEATURE_ID = 'stackAlerts'; - export const MAX_SELECTABLE_GROUP_BY_TERMS = 4; diff --git a/x-pack/plugins/stack_alerts/common/index.ts b/x-pack/plugins/stack_alerts/common/index.ts index afafef61eb76b6..60537366f26cb5 100644 --- a/x-pack/plugins/stack_alerts/common/index.ts +++ b/x-pack/plugins/stack_alerts/common/index.ts @@ -11,7 +11,6 @@ export { ComparatorFnNames, getHumanReadableComparator, } from './comparator'; -export { STACK_ALERTS_FEATURE_ID } from './constants'; export type { EsqlTable } from './esql_query_utils'; export { rowToDocument, transformDatatableToEsqlTable, toEsQueryHits } from './esql_query_utils'; diff --git a/x-pack/plugins/stack_alerts/kibana.jsonc b/x-pack/plugins/stack_alerts/kibana.jsonc index 73b81c6dfd352a..5c7bec1a37a0a5 100644 --- a/x-pack/plugins/stack_alerts/kibana.jsonc +++ b/x-pack/plugins/stack_alerts/kibana.jsonc @@ -24,6 +24,7 @@ "requiredBundles": [ "esUiShared", "textBasedLanguages" - ] + ], + "extraPublicDirs": ["common"] } } diff --git a/x-pack/plugins/stack_alerts/public/rule_types/es_query/expression/search_source_expression_form.tsx b/x-pack/plugins/stack_alerts/public/rule_types/es_query/expression/search_source_expression_form.tsx index b6c4cdd72bf624..7117455d30cc12 100644 --- a/x-pack/plugins/stack_alerts/public/rule_types/es_query/expression/search_source_expression_form.tsx +++ b/x-pack/plugins/stack_alerts/public/rule_types/es_query/expression/search_source_expression_form.tsx @@ -24,9 +24,9 @@ import { isGroupAggregation, parseAggregationResults, } from '@kbn/triggers-actions-ui-plugin/public/common'; +import { STACK_ALERTS_FEATURE_ID } from '@kbn/rule-data-utils'; import { getComparatorScript } from '../../../../common'; import { Comparator } from '../../../../common/comparator_types'; -import { STACK_ALERTS_FEATURE_ID } from '../../../../common'; import { CommonRuleParams, EsQueryRuleMetaData, EsQueryRuleParams, SearchType } from '../types'; import { DEFAULT_VALUES } from '../constants'; import { DataViewSelectPopover } from '../../components/data_view_select_popover'; diff --git a/x-pack/plugins/stack_alerts/public/rule_types/es_query/index.ts b/x-pack/plugins/stack_alerts/public/rule_types/es_query/index.ts index 6ee6079e6683cd..7ffd10adce528c 100644 --- a/x-pack/plugins/stack_alerts/public/rule_types/es_query/index.ts +++ b/x-pack/plugins/stack_alerts/public/rule_types/es_query/index.ts @@ -10,17 +10,17 @@ import { i18n } from '@kbn/i18n'; import { RuleTypeModel } from '@kbn/triggers-actions-ui-plugin/public'; import { PluginSetupContract as AlertingSetup } from '@kbn/alerting-plugin/public'; import { SanitizedRule } from '@kbn/alerting-plugin/common'; +import { ES_QUERY_ID, STACK_ALERTS_FEATURE_ID } from '@kbn/rule-data-utils'; import { EsQueryRuleParams, SearchType } from './types'; import { validateExpression } from './validation'; +import { isSearchSourceRule } from './util'; const PLUGIN_ID = 'discover'; -const ES_QUERY_ALERT_TYPE = '.es-query'; export function getRuleType(alerting: AlertingSetup): RuleTypeModel { registerNavigation(alerting); - return { - id: ES_QUERY_ALERT_TYPE, + id: ES_QUERY_ID, description: i18n.translate('xpack.stackAlerts.esQuery.ui.alertType.descriptionText', { defaultMessage: 'Alert when matches are found during the latest query run.', }), @@ -46,9 +46,33 @@ export function getRuleType(alerting: AlertingSetup): RuleTypeModel>) => { - return `/app/discover#/viewAlert/${alert.id}`; + ES_QUERY_ID, + (rule: SanitizedRule>) => { + return `/app/discover#/viewAlert/${rule.id}`; + } + ); + alerting.registerNavigation( + STACK_ALERTS_FEATURE_ID, + ES_QUERY_ID, + (rule: SanitizedRule>) => { + if (isSearchSourceRule(rule.params)) return `/app/discover#/viewAlert/${rule.id}`; + return; + } + ); + alerting.registerNavigation( + 'logs', + ES_QUERY_ID, + (rule: SanitizedRule>) => { + if (isSearchSourceRule(rule.params)) return `/app/discover#/viewAlert/${rule.id}`; + return; + } + ); + alerting.registerNavigation( + 'infrastructure', + ES_QUERY_ID, + (rule: SanitizedRule>) => { + if (isSearchSourceRule(rule.params)) return `/app/discover#/viewAlert/${rule.id}`; + return; } ); } diff --git a/x-pack/plugins/stack_alerts/public/rule_types/geo_containment/rule_form/query_input.tsx b/x-pack/plugins/stack_alerts/public/rule_types/geo_containment/rule_form/query_input.tsx index c07ce2ec8e0900..5a578276dbdd02 100644 --- a/x-pack/plugins/stack_alerts/public/rule_types/geo_containment/rule_form/query_input.tsx +++ b/x-pack/plugins/stack_alerts/public/rule_types/geo_containment/rule_form/query_input.tsx @@ -19,7 +19,7 @@ import type { IStorageWrapper } from '@kbn/kibana-utils-plugin/public'; import type { UsageCollectionStart } from '@kbn/usage-collection-plugin/public'; import type { UnifiedSearchPublicPluginStart } from '@kbn/unified-search-plugin/public'; import type { DataPublicPluginStart } from '@kbn/data-plugin/public'; -import { STACK_ALERTS_FEATURE_ID } from '../../../../common/constants'; +import { STACK_ALERTS_FEATURE_ID } from '@kbn/rule-data-utils'; function validateQuery(query: Query) { try { diff --git a/x-pack/plugins/stack_alerts/server/feature.ts b/x-pack/plugins/stack_alerts/server/feature.ts index 7392ee2e5eb9ec..1a54134d2cdc13 100644 --- a/x-pack/plugins/stack_alerts/server/feature.ts +++ b/x-pack/plugins/stack_alerts/server/feature.ts @@ -9,10 +9,10 @@ import { i18n } from '@kbn/i18n'; import { KibanaFeatureConfig } from '@kbn/features-plugin/common'; import { DEFAULT_APP_CATEGORIES } from '@kbn/core/server'; import { TRANSFORM_RULE_TYPE } from '@kbn/transform-plugin/common'; +import { STACK_ALERTS_FEATURE_ID } from '@kbn/rule-data-utils'; +import { ES_QUERY_ID as ElasticsearchQuery } from '@kbn/rule-data-utils'; import { ID as IndexThreshold } from './rule_types/index_threshold/rule_type'; import { GEO_CONTAINMENT_ID as GeoContainment } from './rule_types/geo_containment'; -import { ES_QUERY_ID as ElasticsearchQuery } from './rule_types/es_query/constants'; -import { STACK_ALERTS_FEATURE_ID } from '../common'; const TransformHealth = TRANSFORM_RULE_TYPE.TRANSFORM_HEALTH; diff --git a/x-pack/plugins/stack_alerts/server/rule_types/es_query/constants.ts b/x-pack/plugins/stack_alerts/server/rule_types/es_query/constants.ts index 700cba4680bff2..598fe60f58c846 100644 --- a/x-pack/plugins/stack_alerts/server/rule_types/es_query/constants.ts +++ b/x-pack/plugins/stack_alerts/server/rule_types/es_query/constants.ts @@ -5,6 +5,5 @@ * 2.0. */ -export const ES_QUERY_ID = '.es-query'; export const ActionGroupId = 'query matched'; export const ConditionMetAlertInstanceId = 'query matched'; diff --git a/x-pack/plugins/stack_alerts/server/rule_types/es_query/lib/fetch_es_query.ts b/x-pack/plugins/stack_alerts/server/rule_types/es_query/lib/fetch_es_query.ts index 8c44c6e673ad27..f44ad3f4701065 100644 --- a/x-pack/plugins/stack_alerts/server/rule_types/es_query/lib/fetch_es_query.ts +++ b/x-pack/plugins/stack_alerts/server/rule_types/es_query/lib/fetch_es_query.ts @@ -12,10 +12,10 @@ import { parseAggregationResults, } from '@kbn/triggers-actions-ui-plugin/common'; import { isGroupAggregation } from '@kbn/triggers-actions-ui-plugin/common'; +import { ES_QUERY_ID } from '@kbn/rule-data-utils'; import { getComparatorScript } from '../../../../common'; import { OnlyEsQueryRuleParams } from '../types'; import { buildSortedEventsQuery } from '../../../../common/build_sorted_events_query'; -import { ES_QUERY_ID } from '../constants'; import { getSearchParams } from './get_search_params'; export interface FetchEsQueryOpts { diff --git a/x-pack/plugins/stack_alerts/server/rule_types/es_query/rule_type.ts b/x-pack/plugins/stack_alerts/server/rule_types/es_query/rule_type.ts index fc70403b174d37..f4657e28e644ad 100644 --- a/x-pack/plugins/stack_alerts/server/rule_types/es_query/rule_type.ts +++ b/x-pack/plugins/stack_alerts/server/rule_types/es_query/rule_type.ts @@ -8,6 +8,7 @@ import { i18n } from '@kbn/i18n'; import { CoreSetup } from '@kbn/core/server'; import { extractReferences, injectReferences } from '@kbn/data-plugin/common'; +import { ES_QUERY_ID, STACK_ALERTS_FEATURE_ID } from '@kbn/rule-data-utils'; import { StackAlert } from '@kbn/alerts-as-data-utils'; import { STACK_ALERTS_AAD_CONFIG } from '..'; import { RuleType } from '../../types'; @@ -18,9 +19,8 @@ import { EsQueryRuleParamsSchema, EsQueryRuleState, } from './rule_type_params'; -import { STACK_ALERTS_FEATURE_ID } from '../../../common'; import { ExecutorOptions } from './types'; -import { ActionGroupId, ES_QUERY_ID } from './constants'; +import { ActionGroupId } from './constants'; import { executor } from './executor'; import { isSearchSourceRule } from './util'; diff --git a/x-pack/plugins/stack_alerts/server/rule_types/geo_containment/rule_type.ts b/x-pack/plugins/stack_alerts/server/rule_types/geo_containment/rule_type.ts index 938edad8cb3949..f6d1668151843d 100644 --- a/x-pack/plugins/stack_alerts/server/rule_types/geo_containment/rule_type.ts +++ b/x-pack/plugins/stack_alerts/server/rule_types/geo_containment/rule_type.ts @@ -9,7 +9,7 @@ import { i18n } from '@kbn/i18n'; import { schema } from '@kbn/config-schema'; import { SavedObjectReference } from '@kbn/core/server'; import { RuleParamsAndRefs } from '@kbn/alerting-plugin/server'; -import { STACK_ALERTS_FEATURE_ID } from '../../../common'; +import { STACK_ALERTS_FEATURE_ID } from '@kbn/rule-data-utils'; import type { GeoContainmentRuleType, GeoContainmentExtractedRuleParams, diff --git a/x-pack/plugins/stack_alerts/server/rule_types/index_threshold/rule_type.ts b/x-pack/plugins/stack_alerts/server/rule_types/index_threshold/rule_type.ts index caec66b632b5d9..a2e27231c76f97 100644 --- a/x-pack/plugins/stack_alerts/server/rule_types/index_threshold/rule_type.ts +++ b/x-pack/plugins/stack_alerts/server/rule_types/index_threshold/rule_type.ts @@ -12,15 +12,14 @@ import { } from '@kbn/triggers-actions-ui-plugin/server'; import { isGroupAggregation } from '@kbn/triggers-actions-ui-plugin/common'; import { StackAlert } from '@kbn/alerts-as-data-utils'; -import { ALERT_EVALUATION_VALUE, ALERT_REASON } from '@kbn/rule-data-utils'; -import { expandFlattenedAlert } from '@kbn/alerting-plugin/server/alerts_client/lib'; -import { ALERT_EVALUATION_CONDITIONS, ALERT_TITLE, STACK_ALERTS_AAD_CONFIG } from '..'; import { - ComparatorFns, - getComparatorScript, - getHumanReadableComparator, + ALERT_EVALUATION_VALUE, + ALERT_REASON, STACK_ALERTS_FEATURE_ID, -} from '../../../common'; +} from '@kbn/rule-data-utils'; +import { expandFlattenedAlert } from '@kbn/alerting-plugin/server/alerts_client/lib'; +import { ALERT_EVALUATION_CONDITIONS, ALERT_TITLE, STACK_ALERTS_AAD_CONFIG } from '..'; +import { ComparatorFns, getComparatorScript, getHumanReadableComparator } from '../../../common'; import { ActionContext, BaseActionContext, addMessages } from './action_context'; import { Params, ParamsSchema } from './rule_type_params'; import { RuleType, RuleExecutorOptions, StackAlertsStartDeps } from '../../types'; diff --git a/x-pack/plugins/stack_alerts/tsconfig.json b/x-pack/plugins/stack_alerts/tsconfig.json index 08a4f0ca99e9cb..8eb5d48f390489 100644 --- a/x-pack/plugins/stack_alerts/tsconfig.json +++ b/x-pack/plugins/stack_alerts/tsconfig.json @@ -32,12 +32,6 @@ "@kbn/i18n-react", "@kbn/charts-plugin", "@kbn/es-ui-shared-plugin", - "@kbn/core-http-browser", - "@kbn/core-doc-links-browser", - "@kbn/core-ui-settings-server", - "@kbn/kibana-utils-plugin", - "@kbn/usage-collection-plugin", - "@kbn/react-field", "@kbn/core-elasticsearch-server-mocks", "@kbn/logging-mocks", "@kbn/share-plugin", @@ -47,6 +41,12 @@ "@kbn/text-based-languages", "@kbn/text-based-editor", "@kbn/expressions-plugin", + "@kbn/core-http-browser", + "@kbn/core-doc-links-browser", + "@kbn/core-ui-settings-server", + "@kbn/kibana-utils-plugin", + "@kbn/usage-collection-plugin", + "@kbn/react-field", ], "exclude": [ "target/**/*", diff --git a/x-pack/plugins/synthetics/server/feature.ts b/x-pack/plugins/synthetics/server/feature.ts index 1a19baa01dcbed..951fdaf33c5363 100644 --- a/x-pack/plugins/synthetics/server/feature.ts +++ b/x-pack/plugins/synthetics/server/feature.ts @@ -6,7 +6,6 @@ */ import { DEFAULT_APP_CATEGORIES } from '@kbn/core/server'; -import { OBSERVABILITY_THRESHOLD_RULE_TYPE_ID } from '@kbn/observability-plugin/common/constants'; import { i18n } from '@kbn/i18n'; import { SubFeaturePrivilegeGroupConfig, @@ -26,11 +25,7 @@ const UPTIME_RULE_TYPES = [ 'xpack.uptime.alerts.durationAnomaly', ]; -const ruleTypes = [ - ...UPTIME_RULE_TYPES, - ...SYNTHETICS_RULE_TYPES, - OBSERVABILITY_THRESHOLD_RULE_TYPE_ID, -]; +const ruleTypes = [...UPTIME_RULE_TYPES, ...SYNTHETICS_RULE_TYPES]; const elasticManagedLocationsEnabledPrivilege: SubFeaturePrivilegeGroupConfig = { groupType: 'independent' as SubFeaturePrivilegeGroupType, diff --git a/x-pack/plugins/triggers_actions_ui/public/application/constants/index.ts b/x-pack/plugins/triggers_actions_ui/public/application/constants/index.ts index 11e93713cbbc16..bf4cafcf63da96 100644 --- a/x-pack/plugins/triggers_actions_ui/public/application/constants/index.ts +++ b/x-pack/plugins/triggers_actions_ui/public/application/constants/index.ts @@ -6,7 +6,7 @@ */ import { i18n } from '@kbn/i18n'; - +import { ES_QUERY_ID, OBSERVABILITY_THRESHOLD_RULE_TYPE_ID } from '@kbn/rule-data-utils'; export { BASE_ALERTING_API_PATH, INTERNAL_BASE_ALERTING_API_PATH, @@ -119,3 +119,5 @@ export const CONNECTOR_LOCKED_COLUMNS = ['timestamp', 'status', 'connector_name' export const GLOBAL_CONNECTOR_EXECUTION_DEFAULT_INITIAL_VISIBLE_COLUMNS = [ ...CONNECTOR_LOCKED_COLUMNS, ]; + +export const MULTI_CONSUMER_RULE_TYPE_IDS = [OBSERVABILITY_THRESHOLD_RULE_TYPE_ID, ES_QUERY_ID]; diff --git a/x-pack/plugins/triggers_actions_ui/public/application/hooks/use_load_rule_aggregations_query.ts b/x-pack/plugins/triggers_actions_ui/public/application/hooks/use_load_rule_aggregations_query.ts index a581fea1832b76..b7f5be03257297 100644 --- a/x-pack/plugins/triggers_actions_ui/public/application/hooks/use_load_rule_aggregations_query.ts +++ b/x-pack/plugins/triggers_actions_ui/public/application/hooks/use_load_rule_aggregations_query.ts @@ -25,11 +25,12 @@ const initializeAggregationResult = (values: readonly string[]) => { interface UseLoadRuleAggregationsQueryProps { filters: RulesListFilters; enabled: boolean; + filterConsumers?: string[]; refresh?: Date; } export const useLoadRuleAggregationsQuery = (props: UseLoadRuleAggregationsQueryProps) => { - const { filters, enabled, refresh } = props; + const { filters, enabled, refresh, filterConsumers } = props; const { http, @@ -46,6 +47,7 @@ export const useLoadRuleAggregationsQuery = (props: UseLoadRuleAggregationsQuery ruleLastRunOutcomesFilter: filters.ruleLastRunOutcomes, ruleStatusesFilter: filters.ruleStatuses, tagsFilter: filters.tags, + filterConsumers, }); }; diff --git a/x-pack/plugins/triggers_actions_ui/public/application/hooks/use_load_rules_query.ts b/x-pack/plugins/triggers_actions_ui/public/application/hooks/use_load_rules_query.ts index d4e045ae038af5..90bfea7719b07b 100644 --- a/x-pack/plugins/triggers_actions_ui/public/application/hooks/use_load_rules_query.ts +++ b/x-pack/plugins/triggers_actions_ui/public/application/hooks/use_load_rules_query.ts @@ -20,10 +20,11 @@ type UseLoadRulesQueryProps = Omit & { sort: LoadRulesProps['sort']; enabled: boolean; refresh?: Date; + filterConsumers?: string[]; }; export const useLoadRulesQuery = (props: UseLoadRulesQueryProps) => { - const { filters, page, sort, onPage, enabled, refresh } = props; + const { filterConsumers, filters, page, sort, onPage, enabled, refresh } = props; const { http, notifications: { toasts }, @@ -51,6 +52,7 @@ export const useLoadRulesQuery = (props: UseLoadRulesQueryProps) => { { refresh: refresh?.toISOString(), }, + filterConsumers, ], queryFn: () => { return loadRulesWithKueryFilter({ @@ -66,6 +68,7 @@ export const useLoadRulesQuery = (props: UseLoadRulesQueryProps) => { tagsFilter: filters.tags, kueryNode: filters.kueryNode, sort, + filterConsumers, }); }, onSuccess: (response) => { diff --git a/x-pack/plugins/triggers_actions_ui/public/application/lib/capabilities.ts b/x-pack/plugins/triggers_actions_ui/public/application/lib/capabilities.ts index a995d697e8c54e..c74b4b3fd6b901 100644 --- a/x-pack/plugins/triggers_actions_ui/public/application/lib/capabilities.ts +++ b/x-pack/plugins/triggers_actions_ui/public/application/lib/capabilities.ts @@ -29,8 +29,20 @@ export function hasAllPrivilege( ): boolean { return ruleType?.authorizedConsumers[ruleConsumer]?.all ?? false; } + +export function hasAllPrivilegeWithProducerCheck( + ruleConsumer: InitialRule['consumer'], + ruleType?: RuleType +): boolean { + if (ruleConsumer === ruleType?.producer) { + return true; + } + return hasAllPrivilege(ruleConsumer, ruleType); +} + export function hasReadPrivilege(rule: InitialRule, ruleType?: RuleType): boolean { return ruleType?.authorizedConsumers[rule.consumer]?.read ?? false; } + export const hasManageApiKeysCapability = (capabilities: Capabilities) => capabilities?.management?.security?.api_keys; diff --git a/x-pack/plugins/triggers_actions_ui/public/application/lib/rule_api/aggregate.ts b/x-pack/plugins/triggers_actions_ui/public/application/lib/rule_api/aggregate.ts index a2f3e1eb80392d..8edb10811bd8e3 100644 --- a/x-pack/plugins/triggers_actions_ui/public/application/lib/rule_api/aggregate.ts +++ b/x-pack/plugins/triggers_actions_ui/public/application/lib/rule_api/aggregate.ts @@ -44,6 +44,7 @@ export async function loadRuleAggregations({ ruleExecutionStatusesFilter, ruleStatusesFilter, tagsFilter, + filterConsumers, }: LoadRuleAggregationsProps): Promise { const filters = mapFiltersToKql({ typesFilter, @@ -60,6 +61,7 @@ export async function loadRuleAggregations({ search: searchText, filter: filters.length ? filters.join(' and ') : undefined, default_search_operator: 'AND', + filter_consumers: filterConsumers, }), } ); diff --git a/x-pack/plugins/triggers_actions_ui/public/application/lib/rule_api/aggregate_helpers.ts b/x-pack/plugins/triggers_actions_ui/public/application/lib/rule_api/aggregate_helpers.ts index d093649f737403..29462f07d5eec2 100644 --- a/x-pack/plugins/triggers_actions_ui/public/application/lib/rule_api/aggregate_helpers.ts +++ b/x-pack/plugins/triggers_actions_ui/public/application/lib/rule_api/aggregate_helpers.ts @@ -67,6 +67,7 @@ export interface LoadRuleAggregationsProps { ruleLastRunOutcomesFilter?: string[]; ruleStatusesFilter?: RuleStatus[]; tagsFilter?: string[]; + filterConsumers?: string[]; } export interface LoadRuleTagsProps { diff --git a/x-pack/plugins/triggers_actions_ui/public/application/lib/rule_api/aggregate_kuery_filter.ts b/x-pack/plugins/triggers_actions_ui/public/application/lib/rule_api/aggregate_kuery_filter.ts index 23941ae36ccc57..a0e270ddf2f67c 100644 --- a/x-pack/plugins/triggers_actions_ui/public/application/lib/rule_api/aggregate_kuery_filter.ts +++ b/x-pack/plugins/triggers_actions_ui/public/application/lib/rule_api/aggregate_kuery_filter.ts @@ -21,6 +21,7 @@ export async function loadRuleAggregationsWithKueryFilter({ ruleExecutionStatusesFilter, ruleStatusesFilter, tagsFilter, + filterConsumers, }: LoadRuleAggregationsProps): Promise { const filtersKueryNode = mapFiltersToKueryNode({ typesFilter, @@ -36,6 +37,7 @@ export async function loadRuleAggregationsWithKueryFilter({ { body: JSON.stringify({ ...(filtersKueryNode ? { filter: JSON.stringify(filtersKueryNode) } : {}), + filter_consumers: filterConsumers, default_search_operator: 'AND', }), } diff --git a/x-pack/plugins/triggers_actions_ui/public/application/lib/rule_api/rules_helpers.ts b/x-pack/plugins/triggers_actions_ui/public/application/lib/rule_api/rules_helpers.ts index ebab20adfb4a15..5effb3cd3c3058 100644 --- a/x-pack/plugins/triggers_actions_ui/public/application/lib/rule_api/rules_helpers.ts +++ b/x-pack/plugins/triggers_actions_ui/public/application/lib/rule_api/rules_helpers.ts @@ -24,6 +24,7 @@ export interface LoadRulesProps { ruleStatusesFilter?: RuleStatus[]; sort?: Sorting; kueryNode?: KueryNode; + filterConsumers?: string[]; } export const rewriteRulesResponseRes = (results: Array>): Rule[] => { diff --git a/x-pack/plugins/triggers_actions_ui/public/application/lib/rule_api/rules_kuery_filter.ts b/x-pack/plugins/triggers_actions_ui/public/application/lib/rule_api/rules_kuery_filter.ts index ee3a798e50738e..9d38716d350284 100644 --- a/x-pack/plugins/triggers_actions_ui/public/application/lib/rule_api/rules_kuery_filter.ts +++ b/x-pack/plugins/triggers_actions_ui/public/application/lib/rule_api/rules_kuery_filter.ts @@ -24,6 +24,7 @@ export async function loadRulesWithKueryFilter({ tagsFilter, sort = { field: 'name', direction: 'asc' }, kueryNode, + filterConsumers, }: LoadRulesProps): Promise<{ page: number; perPage: number; @@ -56,6 +57,7 @@ export async function loadRulesWithKueryFilter({ ...(filtersKueryNode ? { filter: JSON.stringify(filtersKueryNode) } : {}), sort_field: sort.field, sort_order: sort.direction, + filter_consumers: filterConsumers, }), }); diff --git a/x-pack/plugins/triggers_actions_ui/public/application/sections/rule_form/rule_add.test.tsx b/x-pack/plugins/triggers_actions_ui/public/application/sections/rule_form/rule_add.test.tsx index 92a1329b0e67ad..4409be029092c3 100644 --- a/x-pack/plugins/triggers_actions_ui/public/application/sections/rule_form/rule_add.test.tsx +++ b/x-pack/plugins/triggers_actions_ui/public/application/sections/rule_form/rule_add.test.tsx @@ -16,12 +16,16 @@ import RuleAdd from './rule_add'; import { createRule } from '../../lib/rule_api/create'; import { alertingFrameworkHealth } from '../../lib/rule_api/health'; import { actionTypeRegistryMock } from '../../action_type_registry.mock'; +import { AlertConsumers, OBSERVABILITY_THRESHOLD_RULE_TYPE_ID } from '@kbn/rule-data-utils'; import { Rule, RuleAddProps, RuleFlyoutCloseReason, GenericValidationResult, ValidationResult, + RuleCreationValidConsumer, + RuleType, + RuleTypeModel, } from '../../../types'; import { ruleTypeRegistryMock } from '../../rule_type_registry.mock'; import { ReactWrapper } from 'enzyme'; @@ -84,17 +88,30 @@ describe('rule_add', () => { }); let wrapper: ReactWrapper; - async function setup( - initialValues?: Partial, - onClose: RuleAddProps['onClose'] = jest.fn(), - defaultScheduleInterval?: string, - ruleTypeId?: string, - actionsShow: boolean = false - ) { + async function setup({ + initialValues, + onClose = jest.fn(), + defaultScheduleInterval, + ruleTypeId, + actionsShow = false, + validConsumers, + ruleTypesOverwrite, + ruleTypeModelOverwrite, + }: { + initialValues?: Partial; + onClose?: RuleAddProps['onClose']; + defaultScheduleInterval?: string; + ruleTypeId?: string; + actionsShow?: boolean; + validConsumers?: RuleCreationValidConsumer[]; + ruleTypesOverwrite?: RuleType[]; + ruleTypeModelOverwrite?: RuleTypeModel; + }) { const useKibanaMock = useKibana as jest.Mocked; const mocks = coreMock.createSetup(); const { loadRuleTypes } = jest.requireMock('../../lib/rule_api/rule_types'); - const ruleTypes = [ + + const ruleTypes = ruleTypesOverwrite || [ { id: 'my-rule-type', name: 'Test', @@ -144,7 +161,7 @@ describe('rule_add', () => { hasPermanentEncryptionKey: true, }); - const ruleType = { + const ruleType = ruleTypeModelOverwrite || { id: 'my-rule-type', iconClass: 'test', description: 'test', @@ -186,6 +203,7 @@ describe('rule_add', () => { ruleTypeRegistry={ruleTypeRegistry} metadata={{ test: 'some value', fields: ['test'] }} ruleTypeId={ruleTypeId} + validConsumers={validConsumers} /> ); @@ -201,7 +219,10 @@ describe('rule_add', () => { minimumScheduleInterval: { value: '1m', enforce: false }, }); const onClose = jest.fn(); - await setup({}, onClose); + await setup({ + initialValues: {}, + onClose, + }); await act(async () => { await nextTick(); @@ -223,7 +244,10 @@ describe('rule_add', () => { minimumScheduleInterval: { value: '1m', enforce: false }, }); const onClose = jest.fn(); - await setup({}, onClose); + await setup({ + initialValues: {}, + onClose, + }); await act(async () => { await nextTick(); @@ -245,8 +269,8 @@ describe('rule_add', () => { minimumScheduleInterval: { value: '1m', enforce: false }, }); const onClose = jest.fn(); - await setup( - { + await setup({ + initialValues: { name: 'Simple status rule', tags: ['uptime', 'logs'], schedule: { @@ -254,9 +278,8 @@ describe('rule_add', () => { }, }, onClose, - undefined, - 'my-rule-type' - ); + ruleTypeId: 'my-rule-type', + }); expect(wrapper.find('input#ruleName').props().value).toBe('Simple status rule'); expect(wrapper.find('[data-test-subj="tagsComboBox"]').first().text()).toBe('uptimelogs'); @@ -266,7 +289,7 @@ describe('rule_add', () => { it('renders rule add flyout with DEFAULT_RULE_INTERVAL if no initialValues specified and no minimumScheduleInterval', async () => { (triggersActionsUiConfig as jest.Mock).mockResolvedValue({}); - await setup(undefined, undefined, undefined, 'my-rule-type'); + await setup({ ruleTypeId: 'my-rule-type' }); expect(wrapper.find('[data-test-subj="intervalInput"]').first().props().value).toEqual(1); expect(wrapper.find('[data-test-subj="intervalInputUnit"]').first().props().value).toBe('m'); @@ -276,7 +299,7 @@ describe('rule_add', () => { (triggersActionsUiConfig as jest.Mock).mockResolvedValue({ minimumScheduleInterval: { value: '5m', enforce: false }, }); - await setup(undefined, undefined, undefined, 'my-rule-type'); + await setup({ ruleTypeId: 'my-rule-type' }); expect(wrapper.find('[data-test-subj="intervalInput"]').first().props().value).toEqual(5); expect(wrapper.find('[data-test-subj="intervalInputUnit"]').first().props().value).toBe('m'); @@ -291,8 +314,8 @@ describe('rule_add', () => { (createRule as jest.MockedFunction).mockResolvedValue(rule); - await setup( - { + await setup({ + initialValues: { name: 'Simple status rule', ruleTypeId: 'my-rule-type', tags: ['uptime', 'logs'], @@ -300,8 +323,8 @@ describe('rule_add', () => { interval: '1h', }, }, - onClose - ); + onClose, + }); wrapper.find('[data-test-subj="saveRuleButton"]').last().simulate('click'); @@ -317,11 +340,177 @@ describe('rule_add', () => { }); }); + it('should NOT allow to save the rule if the consumer is not set', async () => { + (triggersActionsUiConfig as jest.Mock).mockResolvedValue({ + minimumScheduleInterval: { value: '1m', enforce: false }, + }); + const onClose = jest.fn(); + await setup({ + initialValues: { + name: 'Simple rule', + consumer: 'alerts', + ruleTypeId: OBSERVABILITY_THRESHOLD_RULE_TYPE_ID, + tags: ['uptime', 'logs'], + schedule: { + interval: '1h', + }, + }, + onClose, + ruleTypesOverwrite: [ + { + id: OBSERVABILITY_THRESHOLD_RULE_TYPE_ID, + name: 'Threshold Rule', + actionGroups: [ + { + id: 'testActionGroup', + name: 'Test Action Group', + }, + ], + enabledInLicense: true, + defaultActionGroupId: 'threshold.fired', + minimumLicenseRequired: 'basic', + recoveryActionGroup: { id: 'recovered', name: 'Recovered' }, + producer: ALERTS_FEATURE_ID, + authorizedConsumers: { + alerts: { read: true, all: true }, + apm: { read: true, all: true }, + discover: { read: true, all: true }, + infrastructure: { read: true, all: true }, + logs: { read: true, all: true }, + ml: { read: true, all: true }, + monitoring: { read: true, all: true }, + siem: { read: true, all: true }, + // Setting SLO all to false, this shouldn't show up + slo: { read: true, all: false }, + stackAlerts: { read: true, all: true }, + uptime: { read: true, all: true }, + }, + actionVariables: { + context: [], + state: [], + params: [], + }, + }, + ], + ruleTypeModelOverwrite: { + id: OBSERVABILITY_THRESHOLD_RULE_TYPE_ID, + iconClass: 'test', + description: 'test', + documentationUrl: null, + validate: (): ValidationResult => { + return { errors: {} }; + }, + ruleParamsExpression: TestExpression, + requiresAppContext: false, + }, + validConsumers: [AlertConsumers.INFRASTRUCTURE, AlertConsumers.LOGS], + }); + + await act(async () => { + await nextTick(); + wrapper.update(); + }); + + wrapper.find('[data-test-subj="saveRuleButton"]').last().simulate('click'); + + await act(async () => { + await nextTick(); + wrapper.update(); + }); + + expect(createRule).toBeCalledTimes(0); + }); + + it('should set consumer automatically if only 1 authorized consumer exists', async () => { + (triggersActionsUiConfig as jest.Mock).mockResolvedValue({ + minimumScheduleInterval: { value: '1m', enforce: false }, + }); + const onClose = jest.fn(); + await setup({ + initialValues: { + name: 'Simple rule', + consumer: 'alerts', + ruleTypeId: OBSERVABILITY_THRESHOLD_RULE_TYPE_ID, + tags: ['uptime', 'logs'], + schedule: { + interval: '1h', + }, + }, + onClose, + ruleTypesOverwrite: [ + { + id: OBSERVABILITY_THRESHOLD_RULE_TYPE_ID, + name: 'Threshold Rule', + actionGroups: [ + { + id: 'testActionGroup', + name: 'Test Action Group', + }, + ], + enabledInLicense: true, + defaultActionGroupId: 'threshold.fired', + minimumLicenseRequired: 'basic', + recoveryActionGroup: { id: 'recovered', name: 'Recovered' }, + producer: ALERTS_FEATURE_ID, + authorizedConsumers: { + logs: { read: true, all: true }, + }, + actionVariables: { + context: [], + state: [], + params: [], + }, + }, + ], + ruleTypeModelOverwrite: { + id: OBSERVABILITY_THRESHOLD_RULE_TYPE_ID, + iconClass: 'test', + description: 'test', + documentationUrl: null, + validate: (): ValidationResult => { + return { errors: {} }; + }, + ruleParamsExpression: TestExpression, + requiresAppContext: false, + }, + validConsumers: [AlertConsumers.INFRASTRUCTURE, AlertConsumers.LOGS], + }); + + await act(async () => { + await nextTick(); + wrapper.update(); + }); + + expect(wrapper.find('[data-test-subj="addRuleFlyoutTitle"]').exists()).toBeTruthy(); + expect(wrapper.find('[data-test-subj="saveRuleButton"]').exists()).toBeTruthy(); + + wrapper.find('[data-test-subj="saveRuleButton"]').last().simulate('click'); + + await act(async () => { + await nextTick(); + wrapper.update(); + }); + + expect(createRule).toHaveBeenLastCalledWith( + expect.objectContaining({ + rule: expect.objectContaining({ + consumer: 'logs', + }), + }) + ); + }); + it('should enforce any default interval', async () => { (triggersActionsUiConfig as jest.Mock).mockResolvedValue({ minimumScheduleInterval: { value: '1m', enforce: false }, }); - await setup({ ruleTypeId: 'my-rule-type' }, jest.fn(), '3h', 'my-rule-type', true); + await setup({ + initialValues: { ruleTypeId: 'my-rule-type' }, + onClose: jest.fn(), + defaultScheduleInterval: '3h', + ruleTypeId: 'my-rule-type', + actionsShow: true, + }); // Wait for handlers to fire await act(async () => { @@ -344,7 +533,12 @@ describe('rule_add', () => { minimumScheduleInterval: { value: '1m', enforce: false }, }); - await setup({}, jest.fn(), undefined, 'my-rule-type', true); + await setup({ + initialValues: {}, + onClose: jest.fn(), + ruleTypeId: 'my-rule-type', + actionsShow: true, + }); expect(triggersActionsUiHealth).toHaveBeenCalledTimes(1); expect(alertingFrameworkHealth).toHaveBeenCalledTimes(1); @@ -361,7 +555,12 @@ describe('rule_add', () => { hasPermanentEncryptionKey: false, }); - await setup({}, jest.fn(), undefined, 'my-rule-type', true); + await setup({ + initialValues: {}, + onClose: jest.fn(), + ruleTypeId: 'my-rule-type', + actionsShow: true, + }); expect(triggersActionsUiHealth).toHaveBeenCalledTimes(1); expect(alertingFrameworkHealth).toHaveBeenCalledTimes(1); diff --git a/x-pack/plugins/triggers_actions_ui/public/application/sections/rule_form/rule_add.tsx b/x-pack/plugins/triggers_actions_ui/public/application/sections/rule_form/rule_add.tsx index d27abe08314417..777639d9623078 100644 --- a/x-pack/plugins/triggers_actions_ui/public/application/sections/rule_form/rule_add.tsx +++ b/x-pack/plugins/triggers_actions_ui/public/application/sections/rule_form/rule_add.tsx @@ -19,6 +19,7 @@ import { RuleAddProps, RuleTypeIndex, TriggersActionsUiConfig, + RuleCreationValidConsumer, } from '../../../types'; import { RuleForm } from './rule_form'; import { getRuleActionErrors, getRuleErrors, isValidRule } from './rule_errors'; @@ -51,6 +52,8 @@ const RuleAdd = ({ hideInterval, metadata: initialMetadata, filteredRuleTypes, + validConsumers, + useRuleProducer, ...props }: RuleAddProps) => { const onSaveHandler = onSave ?? reloadRules; @@ -83,6 +86,9 @@ const RuleAdd = ({ props.ruleTypeIndex ); const [changedFromDefaultInterval, setChangedFromDefaultInterval] = useState(false); + const [selectedConsumer, setSelectedConsumer] = useState< + RuleCreationValidConsumer | null | undefined + >(); const setRule = (value: InitialRule) => { dispatch({ command: { type: 'setRule' }, payload: { key: 'rule', value } }); @@ -196,10 +202,17 @@ const RuleAdd = ({ }; const ruleType = rule.ruleTypeId ? ruleTypeRegistry.get(rule.ruleTypeId) : null; - const { ruleBaseErrors, ruleErrors, ruleParamsErrors } = useMemo( - () => getRuleErrors(rule as Rule, ruleType, config), - [rule, ruleType, config] + () => + getRuleErrors( + { + ...rule, + ...(selectedConsumer !== undefined ? { consumer: selectedConsumer } : {}), + } as Rule, + ruleType, + config + ), + [rule, selectedConsumer, ruleType, config] ); // Confirm before saving if user is able to add actions but hasn't added any to this rule @@ -207,7 +220,13 @@ const RuleAdd = ({ async function onSaveRule(): Promise { try { - const newRule = await createRule({ http, rule: rule as RuleUpdates }); + const newRule = await createRule({ + http, + rule: { + ...rule, + ...(selectedConsumer ? { consumer: selectedConsumer } : {}), + } as RuleUpdates, + }); toasts.addSuccess( i18n.translate('xpack.triggersActionsUI.sections.ruleAdd.saveSuccessNotificationText', { defaultMessage: 'Created rule "{ruleName}"', @@ -250,6 +269,7 @@ const RuleAdd = ({ { 'schedule.interval': [], ruleTypeId: [], actionConnectors: [], + consumer: [], }); }); @@ -41,6 +42,7 @@ describe('rule_errors', () => { 'schedule.interval': ['Check interval is required.'], ruleTypeId: [], actionConnectors: [], + consumer: [], }); }); @@ -53,6 +55,7 @@ describe('rule_errors', () => { 'schedule.interval': [], ruleTypeId: [], actionConnectors: [], + consumer: [], }); }); @@ -68,6 +71,7 @@ describe('rule_errors', () => { 'schedule.interval': ['Interval must be at least 1 minute.'], ruleTypeId: [], actionConnectors: [], + consumer: [], }); }); @@ -80,6 +84,33 @@ describe('rule_errors', () => { 'schedule.interval': [], ruleTypeId: ['Rule type is required.'], actionConnectors: [], + consumer: [], + }); + }); + + it('should get an error when consumer is null', () => { + const rule = mockRule(); + rule.consumer = null as unknown as string; + const result = validateBaseProperties(rule, config); + expect(result.errors).toStrictEqual({ + name: [], + 'schedule.interval': [], + ruleTypeId: [], + actionConnectors: [], + consumer: ['Scope is required.'], + }); + }); + + it('should not get an error when consumer is undefined', () => { + const rule = mockRule(); + rule.consumer = undefined as unknown as string; + const result = validateBaseProperties(rule, config); + expect(result.errors).toStrictEqual({ + name: [], + 'schedule.interval': [], + ruleTypeId: [], + actionConnectors: [], + consumer: [], }); }); @@ -101,6 +132,7 @@ describe('rule_errors', () => { 'schedule.interval': [], ruleTypeId: [], actionConnectors: ['Action for myActionType connector is required.'], + consumer: [], }); }); }); @@ -127,6 +159,7 @@ describe('rule_errors', () => { 'schedule.interval': [], ruleTypeId: [], actionConnectors: [], + consumer: [], }, ruleErrors: { name: ['Name is required.'], @@ -134,6 +167,7 @@ describe('rule_errors', () => { 'schedule.interval': [], ruleTypeId: [], actionConnectors: [], + consumer: [], }, }); }); diff --git a/x-pack/plugins/triggers_actions_ui/public/application/sections/rule_form/rule_errors.ts b/x-pack/plugins/triggers_actions_ui/public/application/sections/rule_form/rule_errors.ts index 02e2e7c084009f..0b5c511843472b 100644 --- a/x-pack/plugins/triggers_actions_ui/public/application/sections/rule_form/rule_errors.ts +++ b/x-pack/plugins/triggers_actions_ui/public/application/sections/rule_form/rule_errors.ts @@ -27,6 +27,7 @@ export function validateBaseProperties( const errors = { name: new Array(), 'schedule.interval': new Array(), + consumer: new Array(), ruleTypeId: new Array(), actionConnectors: new Array(), }; @@ -38,6 +39,13 @@ export function validateBaseProperties( }) ); } + if (ruleObject.consumer === null) { + errors.consumer.push( + i18n.translate('xpack.triggersActionsUI.sections.ruleForm.error.requiredConsumerText', { + defaultMessage: 'Scope is required.', + }) + ); + } if (ruleObject.schedule.interval.length < 2) { errors['schedule.interval'].push( i18n.translate('xpack.triggersActionsUI.sections.ruleForm.error.requiredIntervalText', { diff --git a/x-pack/plugins/triggers_actions_ui/public/application/sections/rule_form/rule_form.test.tsx b/x-pack/plugins/triggers_actions_ui/public/application/sections/rule_form/rule_form.test.tsx index f0de7e6e4ed603..59d3c4f1f8c3bd 100644 --- a/x-pack/plugins/triggers_actions_ui/public/application/sections/rule_form/rule_form.test.tsx +++ b/x-pack/plugins/triggers_actions_ui/public/application/sections/rule_form/rule_form.test.tsx @@ -5,19 +5,24 @@ * 2.0. */ -import React from 'react'; +import React, { FunctionComponent } from 'react'; +import { EuiFormLabel } from '@elastic/eui'; +import { FormattedMessage } from '@kbn/i18n-react'; import { mountWithIntl, nextTick } from '@kbn/test-jest-helpers'; import { ReactWrapper } from 'enzyme'; import { act } from 'react-dom/test-utils'; import { actionTypeRegistryMock } from '../../action_type_registry.mock'; import { ruleTypeRegistryMock } from '../../rule_type_registry.mock'; import { ActionForm } from '../action_connector_form'; +import { AlertConsumers, OBSERVABILITY_THRESHOLD_RULE_TYPE_ID } from '@kbn/rule-data-utils'; +import { RuleFormConsumerSelection } from './rule_form_consumer_selection'; import { ValidationResult, Rule, RuleType, RuleTypeModel, GenericValidationResult, + RuleCreationValidConsumer, } from '../../../types'; import { RuleForm } from './rule_form'; import { coreMock } from '@kbn/core/public/mocks'; @@ -27,6 +32,20 @@ import { useKibana } from '../../../common/lib/kibana'; const actionTypeRegistry = actionTypeRegistryMock.create(); const ruleTypeRegistry = ruleTypeRegistryMock.create(); +const mockSetConsumer = jest.fn(); + +export const TestExpression: FunctionComponent = () => { + return ( + + + + ); +}; + jest.mock('../../hooks/use_load_rule_types', () => ({ useLoadRuleTypes: jest.fn(), })); @@ -233,15 +252,32 @@ describe('rule_form', () => { describe('rule_form create rule', () => { let wrapper: ReactWrapper; - async function setup( - showRulesList = false, - enforceMinimum = false, - schedule = '1m', - featureId = 'alerting' - ) { + async function setup(options?: { + showRulesList?: boolean; + enforceMinimum?: boolean; + schedule?: string; + featureId?: string; + initialRuleOverwrite?: Partial; + validConsumers?: RuleCreationValidConsumer[]; + ruleTypesOverwrite?: RuleType[]; + ruleTypeModelOverwrite?: RuleTypeModel; + useRuleProducer?: boolean; + }) { + const { + showRulesList = false, + enforceMinimum = false, + schedule = '1m', + featureId = 'alerting', + initialRuleOverwrite, + validConsumers, + ruleTypesOverwrite, + ruleTypeModelOverwrite, + useRuleProducer = false, + } = options || {}; + const mocks = coreMock.createSetup(); const { useLoadRuleTypes } = jest.requireMock('../../hooks/use_load_rule_types'); - const ruleTypes: RuleType[] = [ + const ruleTypes: RuleType[] = ruleTypesOverwrite || [ { id: 'my-rule-type', name: 'Test', @@ -305,10 +341,11 @@ describe('rule_form', () => { }, }; ruleTypeRegistry.list.mockReturnValue([ - ruleType, + ruleTypeModelOverwrite || ruleType, ruleTypeNonEditable, disabledByLicenseRuleType, ]); + ruleTypeRegistry.get.mockReturnValue(ruleTypeModelOverwrite || ruleType); ruleTypeRegistry.has.mockReturnValue(true); actionTypeRegistry.list.mockReturnValue([actionType]); actionTypeRegistry.has.mockReturnValue(true); @@ -330,7 +367,11 @@ describe('rule_form', () => { wrapper = mountWithIntl( { ruleTypeRegistry={ruleTypeRegistry} connectorFeatureId={featureId} onChangeMetaData={jest.fn()} + validConsumers={validConsumers} + setConsumer={mockSetConsumer} + useRuleProducer={useRuleProducer} /> ); @@ -359,20 +403,20 @@ describe('rule_form', () => { }); it('renders registered selected rule type', async () => { - await setup(true); + await setup({ showRulesList: true }); const ruleTypeSelectOptions = wrapper.find('[data-test-subj="my-rule-type-SelectOption"]'); expect(ruleTypeSelectOptions.exists()).toBeTruthy(); }); it('renders minimum schedule interval helper text when enforce = true', async () => { - await setup(false, true); + await setup({ enforceMinimum: true }); expect(wrapper.find('[data-test-subj="intervalFormRow"]').first().prop('helpText')).toEqual( `Interval must be at least 1 minute.` ); }); it('renders minimum schedule interval helper suggestion when enforce = false and schedule is less than configuration', async () => { - await setup(false, false, '10s'); + await setup({ schedule: '10s' }); expect(wrapper.find('[data-test-subj="intervalFormRow"]').first().prop('helpText')).toEqual( `Intervals less than 1 minute are not recommended due to performance considerations.` ); @@ -440,7 +484,7 @@ describe('rule_form', () => { }); it('renders uses feature id to load action types', async () => { - await setup(false, false, '1m', 'anotherFeature'); + await setup({ schedule: '1m', featureId: 'anotherFeature' }); const ruleTypeSelectOptions = wrapper.find( '[data-test-subj=".server-log-anotherFeature-ActionTypeSelectOption"]' ); @@ -448,7 +492,7 @@ describe('rule_form', () => { }); it('renders rule type description', async () => { - await setup(true); + await setup({ showRulesList: true }); wrapper.find('button[data-test-subj="my-rule-type-SelectOption"]').first().simulate('click'); const ruleDescription = wrapper.find('[data-test-subj="ruleDescription"]'); expect(ruleDescription.exists()).toBeTruthy(); @@ -456,7 +500,7 @@ describe('rule_form', () => { }); it('renders rule type documentation link', async () => { - await setup(true); + await setup({ showRulesList: true }); wrapper.find('button[data-test-subj="my-rule-type-SelectOption"]').first().simulate('click'); const ruleDocumentationLink = wrapper.find('[data-test-subj="ruleDocumentationLink"]'); expect(ruleDocumentationLink.exists()).toBeTruthy(); @@ -464,13 +508,164 @@ describe('rule_form', () => { }); it('renders rule types disabled by license', async () => { - await setup(true); + await setup({ showRulesList: true }); const actionOption = wrapper.find(`[data-test-subj="disabled-by-license-SelectOption"]`); expect(actionOption.exists()).toBeTruthy(); expect( wrapper.find('[data-test-subj="disabled-by-license-disabledTooltip"]').exists() ).toBeTruthy(); }); + + it('should select the only one available consumer', async () => { + await setup({ + initialRuleOverwrite: { + name: 'Simple rule', + consumer: 'alerts', + ruleTypeId: OBSERVABILITY_THRESHOLD_RULE_TYPE_ID, + schedule: { + interval: '1h', + }, + }, + ruleTypesOverwrite: [ + { + id: OBSERVABILITY_THRESHOLD_RULE_TYPE_ID, + name: 'Threshold Rule 1', + actionGroups: [ + { + id: 'testActionGroup', + name: 'Test Action Group', + }, + ], + enabledInLicense: true, + defaultActionGroupId: 'threshold.fired', + minimumLicenseRequired: 'basic', + recoveryActionGroup: { id: 'recovered', name: 'Recovered' }, + producer: ALERTS_FEATURE_ID, + authorizedConsumers: { + alerts: { read: true, all: true }, + apm: { read: true, all: true }, + discover: { read: true, all: true }, + infrastructure: { read: true, all: true }, + // Setting logs all to false, this shouldn't show up + logs: { read: true, all: false }, + ml: { read: true, all: true }, + monitoring: { read: true, all: true }, + siem: { read: true, all: true }, + slo: { read: true, all: false }, + stackAlerts: { read: true, all: true }, + uptime: { read: true, all: true }, + }, + actionVariables: { + context: [], + state: [], + params: [], + }, + }, + ], + ruleTypeModelOverwrite: { + id: OBSERVABILITY_THRESHOLD_RULE_TYPE_ID, + iconClass: 'test', + description: 'test', + documentationUrl: null, + validate: (): ValidationResult => { + return { errors: {} }; + }, + ruleParamsExpression: TestExpression, + requiresAppContext: false, + }, + validConsumers: [AlertConsumers.INFRASTRUCTURE, AlertConsumers.LOGS], + }); + + await act(async () => { + await nextTick(); + wrapper.update(); + }); + expect(wrapper.find('[data-test-subj="ruleFormConsumerSelect"]').exists()).toBeFalsy(); + + await act(async () => { + await nextTick(); + wrapper.update(); + }); + expect(mockSetConsumer).toHaveBeenLastCalledWith('infrastructure'); + }); + + it('should be able to select multiple consumer', async () => { + await setup({ + initialRuleOverwrite: { + name: 'Simple rule', + consumer: 'alerts', + ruleTypeId: OBSERVABILITY_THRESHOLD_RULE_TYPE_ID, + schedule: { + interval: '1h', + }, + }, + ruleTypesOverwrite: [ + { + id: OBSERVABILITY_THRESHOLD_RULE_TYPE_ID, + name: 'Threshold Rule', + actionGroups: [ + { + id: 'testActionGroup', + name: 'Test Action Group', + }, + ], + enabledInLicense: true, + defaultActionGroupId: 'threshold.fired', + minimumLicenseRequired: 'basic', + recoveryActionGroup: { id: 'recovered', name: 'Recovered' }, + producer: ALERTS_FEATURE_ID, + authorizedConsumers: { + infrastructure: { read: true, all: true }, + logs: { read: true, all: true }, + }, + actionVariables: { + context: [], + state: [], + params: [], + }, + }, + ], + ruleTypeModelOverwrite: { + id: OBSERVABILITY_THRESHOLD_RULE_TYPE_ID, + iconClass: 'test', + description: 'test', + documentationUrl: null, + validate: (): ValidationResult => { + return { errors: {} }; + }, + ruleParamsExpression: TestExpression, + requiresAppContext: false, + }, + }); + + await act(async () => { + await nextTick(); + wrapper.update(); + }); + + expect(wrapper.find('[data-test-subj="ruleFormConsumerSelect"]').exists()).toBeTruthy(); + expect(wrapper.find(RuleFormConsumerSelection).props().consumers).toEqual([ + 'infrastructure', + 'logs', + ]); + await act(async () => { + await nextTick(); + wrapper.update(); + }); + + expect(mockSetConsumer).toHaveBeenLastCalledWith(null); + }); + + it('should not display the consumer select for invalid rule types', async () => { + await setup(); + + await act(async () => { + await nextTick(); + wrapper.update(); + }); + + expect(wrapper.find('[data-test-subj="ruleFormConsumerSelect"]').exists()).toBeFalsy(); + }); }); describe('rule_form create rule non ruleing consumer and producer', () => { @@ -605,14 +800,6 @@ describe('rule_form', () => { ); expect(ruleTypeSelectOptions.exists()).toBeTruthy(); }); - - it('does not render rule type options which producer does not correspond to the rule consumer', async () => { - await setup(); - const ruleTypeSelectOptions = wrapper.find( - '[data-test-subj="other-consumer-producer-rule-type-SelectOption"]' - ); - expect(ruleTypeSelectOptions.exists()).toBeFalsy(); - }); }); describe('rule_form edit rule', () => { diff --git a/x-pack/plugins/triggers_actions_ui/public/application/sections/rule_form/rule_form.tsx b/x-pack/plugins/triggers_actions_ui/public/application/sections/rule_form/rule_form.tsx index c72dced42a2d90..88e3639c2dbcf8 100644 --- a/x-pack/plugins/triggers_actions_ui/public/application/sections/rule_form/rule_form.tsx +++ b/x-pack/plugins/triggers_actions_ui/public/application/sections/rule_form/rule_form.tsx @@ -5,7 +5,7 @@ * 2.0. */ -import React, { Fragment, useState, useEffect, useCallback, Suspense } from 'react'; +import React, { Fragment, useState, useEffect, useCallback, Suspense, useMemo } from 'react'; import { i18n } from '@kbn/i18n'; import { FormattedMessage } from '@kbn/i18n-react'; import { @@ -61,6 +61,7 @@ import { RuleTypeRegistryContract, ActionTypeRegistryContract, TriggersActionsUiConfig, + RuleCreationValidConsumer, } from '../../../types'; import { getTimeOptions } from '../../../common/lib/get_time_options'; import { ActionForm } from '../action_connector_form'; @@ -73,7 +74,9 @@ import { IsEnabledResult, IsDisabledResult } from '../../lib/check_rule_type_ena import { checkRuleTypeEnabled } from '../../lib/check_rule_type_enabled'; import { ruleTypeCompare, ruleTypeGroupCompare } from '../../lib/rule_type_compare'; import { VIEW_LICENSE_OPTIONS_LINK } from '../../../common/constants'; +import { MULTI_CONSUMER_RULE_TYPE_IDS } from '../../constants'; import { SectionLoading } from '../../components/section_loading'; +import { RuleFormConsumerSelection, VALID_CONSUMERS } from './rule_form_consumer_selection'; import { useLoadRuleTypes } from '../../hooks/use_load_rule_types'; import { getInitialInterval } from './get_initial_interval'; @@ -81,10 +84,44 @@ const ENTER_KEY = 13; const INTEGER_REGEX = /^[1-9][0-9]*$/; +const NOOP = () => {}; + function getProducerFeatureName(producer: string, kibanaFeatures: KibanaFeature[]) { return kibanaFeatures.find((featureItem) => featureItem.id === producer)?.name; } +const authorizedToDisplayRuleType = ({ + rule, + ruleType, + validConsumers, +}: { + rule: InitialRule; + ruleType: RuleType; + validConsumers?: RuleCreationValidConsumer[]; +}) => { + if (!ruleType) { + return false; + } + // If we have a generic threshold/ES query rule... + if (MULTI_CONSUMER_RULE_TYPE_IDS.includes(ruleType.id)) { + // And an array of valid consumers are passed in, we will show it + // if the rule type has at least one of the consumers as authorized + if (Array.isArray(validConsumers)) { + return validConsumers.some((consumer) => hasAllPrivilege(consumer, ruleType)); + } + // If no array was passed in, then we will show it if at least one of its + // authorized consumers allows it to be shown. + return Object.entries(ruleType.authorizedConsumers).some(([_, privilege]) => { + return privilege.all; + }); + } + // For non-generic threshold/ES query rules, we will still do the check + // against `alerts` since we are still setting rule consumers to `alerts` + return hasAllPrivilege(rule.consumer, ruleType); +}; + +export type RuleTypeItems = Array<{ ruleTypeModel: RuleTypeModel; ruleType: RuleType }>; + interface RuleFormProps> { rule: InitialRule; config: TriggersActionsUiConfig; @@ -94,23 +131,29 @@ interface RuleFormProps> { actionTypeRegistry: ActionTypeRegistryContract; operation: string; canChangeTrigger?: boolean; // to hide Change trigger button + canShowConsumerSelection?: boolean; setHasActionsDisabled?: (value: boolean) => void; setHasActionsWithBrokenConnector?: (value: boolean) => void; + setConsumer?: (consumer: RuleCreationValidConsumer | null) => void; metadata?: MetaData; filteredRuleTypes?: string[]; hideInterval?: boolean; connectorFeatureId?: string; + validConsumers?: RuleCreationValidConsumer[]; onChangeMetaData: (metadata: MetaData) => void; + useRuleProducer?: boolean; } export const RuleForm = ({ rule, config, canChangeTrigger = true, + canShowConsumerSelection = false, dispatch, errors, setHasActionsDisabled, setHasActionsWithBrokenConnector, + setConsumer = NOOP, operation, ruleTypeRegistry, actionTypeRegistry, @@ -118,7 +161,9 @@ export const RuleForm = ({ filteredRuleTypes: ruleTypeToFilter, hideInterval, connectorFeatureId = AlertingConnectorFeatureId, + validConsumers, onChangeMetaData, + useRuleProducer, }: RuleFormProps) => { const { notifications: { toasts }, @@ -150,12 +195,8 @@ export const RuleForm = ({ ); const [defaultActionGroupId, setDefaultActionGroupId] = useState(undefined); - const [availableRuleTypes, setAvailableRuleTypes] = useState< - Array<{ ruleTypeModel: RuleTypeModel; ruleType: RuleType }> - >([]); - const [filteredRuleTypes, setFilteredRuleTypes] = useState< - Array<{ ruleTypeModel: RuleTypeModel; ruleType: RuleType }> - >([]); + const [availableRuleTypes, setAvailableRuleTypes] = useState([]); + const [filteredRuleTypes, setFilteredRuleTypes] = useState([]); const [searchText, setSearchText] = useState(); const [inputText, setInputText] = useState(); const [solutions, setSolutions] = useState | undefined>(undefined); @@ -177,23 +218,23 @@ export const RuleForm = ({ const getAvailableRuleTypes = (ruleTypesResult: RuleType[]) => ruleTypeRegistry .list() - .reduce( - ( - arr: Array<{ ruleType: RuleType; ruleTypeModel: RuleTypeModel }>, - ruleTypeRegistryItem: RuleTypeModel - ) => { - const ruleType = ruleTypesResult.find((item) => ruleTypeRegistryItem.id === item.id); - if (ruleType) { - arr.push({ - ruleType, - ruleTypeModel: ruleTypeRegistryItem, - }); - } - return arr; - }, - [] + .reduce((arr: RuleTypeItems, ruleTypeRegistryItem: RuleTypeModel) => { + const ruleType = ruleTypesResult.find((item) => ruleTypeRegistryItem.id === item.id); + if (ruleType) { + arr.push({ + ruleType, + ruleTypeModel: ruleTypeRegistryItem, + }); + } + return arr; + }, []) + .filter(({ ruleType }) => + authorizedToDisplayRuleType({ + rule, + ruleType, + validConsumers, + }) ) - .filter((item) => item.ruleType && hasAllPrivilege(rule.consumer, item.ruleType)) .filter((item) => rule.consumer === ALERTS_FEATURE_ID ? !item.ruleTypeModel.requiresAppContext @@ -221,7 +262,16 @@ export const RuleForm = ({ setSolutions( new Map([...solutionsResult.entries()].sort(([, a], [, b]) => a.localeCompare(b))) ); - }, [ruleTypes, ruleTypeIndex, rule.ruleTypeId, kibanaFeatures, rule.consumer, ruleTypeRegistry]); + // eslint-disable-next-line react-hooks/exhaustive-deps + }, [ + ruleTypes, + ruleTypeIndex, + rule.ruleTypeId, + kibanaFeatures, + rule.consumer, + ruleTypeRegistry, + validConsumers, + ]); useEffect(() => { if (loadRuleTypesError) { @@ -319,6 +369,44 @@ export const RuleForm = ({ // eslint-disable-next-line react-hooks/exhaustive-deps }, [ruleTypeRegistry, availableRuleTypes, searchText, JSON.stringify(solutionsFilter)]); + const authorizedConsumers = useMemo(() => { + // If the app context provides a consumer, we assume that consumer is + // is what we set for all rules that is created in that context + if (rule.consumer !== ALERTS_FEATURE_ID) { + return []; + } + + const selectedRuleType = availableRuleTypes.find( + ({ ruleType: availableRuleType }) => availableRuleType.id === rule.ruleTypeId + ); + if (!selectedRuleType?.ruleType?.authorizedConsumers) { + return []; + } + return Object.entries(selectedRuleType.ruleType.authorizedConsumers).reduce< + RuleCreationValidConsumer[] + >((result, [authorizedConsumer, privilege]) => { + if ( + privilege.all && + (validConsumers || VALID_CONSUMERS).includes( + authorizedConsumer as RuleCreationValidConsumer + ) + ) { + result.push(authorizedConsumer as RuleCreationValidConsumer); + } + return result; + }, []); + }, [availableRuleTypes, rule, validConsumers]); + + const shouldShowConsumerSelect = useMemo(() => { + if (!canShowConsumerSelection) { + return false; + } + if (!authorizedConsumers.length) { + return false; + } + return !!rule.ruleTypeId && MULTI_CONSUMER_RULE_TYPE_IDS.includes(rule.ruleTypeId); + }, [authorizedConsumers, rule, canShowConsumerSelection]); + const selectedRuleType = rule?.ruleTypeId ? ruleTypeIndex?.get(rule?.ruleTypeId) : undefined; const recoveryActionGroup = selectedRuleType?.recoveryActionGroup?.id; @@ -436,6 +524,10 @@ export const RuleForm = ({ if (ruleTypeIndex && ruleTypeIndex.has(item.id)) { setDefaultActionGroupId(ruleTypeIndex.get(item.id)!.defaultActionGroupId); } + + if (useRuleProducer && !MULTI_CONSUMER_RULE_TYPE_IDS.includes(item.id)) { + setConsumer(solution as RuleCreationValidConsumer); + } }} /> ); @@ -639,6 +731,18 @@ export const RuleForm = ({ )} + {shouldShowConsumerSelect && ( + <> + + + + + + )} {canShowActions && defaultActionGroupId && diff --git a/x-pack/plugins/triggers_actions_ui/public/application/sections/rule_form/rule_form_consumer_selection.test.tsx b/x-pack/plugins/triggers_actions_ui/public/application/sections/rule_form/rule_form_consumer_selection.test.tsx new file mode 100644 index 00000000000000..ee7af0446c9ec8 --- /dev/null +++ b/x-pack/plugins/triggers_actions_ui/public/application/sections/rule_form/rule_form_consumer_selection.test.tsx @@ -0,0 +1,83 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import React from 'react'; +import { fireEvent, render, screen } from '@testing-library/react'; +import { RuleFormConsumerSelection } from './rule_form_consumer_selection'; +import { RuleCreationValidConsumer } from '../../../types'; + +const mockConsumers: RuleCreationValidConsumer[] = ['logs', 'infrastructure', 'stackAlerts']; + +const mockOnChange = jest.fn(); + +describe('RuleFormConsumerSelectionModal', () => { + beforeEach(() => { + jest.clearAllMocks(); + }); + + it('renders correctly', async () => { + render( + + ); + + expect(screen.getByTestId('ruleFormConsumerSelect')).toBeInTheDocument(); + fireEvent.click(screen.getByTestId('comboBoxToggleListButton')); + expect(screen.getByText('Logs')).toBeInTheDocument(); + expect(screen.getByText('Metrics')).toBeInTheDocument(); + expect(screen.getByText('Stack Rules')).toBeInTheDocument(); + }); + + it('should initialize dropdown to null', () => { + render( + + ); + + // Selects first option if no initial value is provided + expect(mockOnChange).toHaveBeenLastCalledWith(null); + mockOnChange.mockClear(); + }); + + it('should be able to select infrastructure and call onChange', () => { + render( + + ); + + fireEvent.click(screen.getByTestId('comboBoxToggleListButton')); + fireEvent.click(screen.getByTestId('infrastructure')); + expect(mockOnChange).toHaveBeenLastCalledWith('infrastructure'); + }); + + it('should be able to select logs and call onChange', () => { + render( + + ); + + fireEvent.click(screen.getByTestId('comboBoxToggleListButton')); + fireEvent.click(screen.getByTestId('logs')); + expect(mockOnChange).toHaveBeenLastCalledWith('logs'); + }); + + it('should be able to show errors when there is one', () => { + render( + + ); + expect(screen.queryAllByText('Scope is required')).toHaveLength(1); + }); + + it('should display nothing if there is only 1 consumer to select', () => { + render( + + ); + + expect(mockOnChange).toHaveBeenLastCalledWith('stackAlerts'); + expect(screen.queryByTestId('ruleFormConsumerSelect')).not.toBeInTheDocument(); + }); +}); diff --git a/x-pack/plugins/triggers_actions_ui/public/application/sections/rule_form/rule_form_consumer_selection.tsx b/x-pack/plugins/triggers_actions_ui/public/application/sections/rule_form/rule_form_consumer_selection.tsx new file mode 100644 index 00000000000000..f5f92c72fa5216 --- /dev/null +++ b/x-pack/plugins/triggers_actions_ui/public/application/sections/rule_form/rule_form_consumer_selection.tsx @@ -0,0 +1,157 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import React, { useMemo, useState, useCallback, useEffect } from 'react'; +import { EuiComboBox, EuiFormRow, EuiComboBoxOptionOption } from '@elastic/eui'; +import { i18n } from '@kbn/i18n'; +import { AlertConsumers } from '@kbn/rule-data-utils'; +import { IErrorObject, RuleCreationValidConsumer } from '../../../types'; + +const SELECT_LABEL: string = i18n.translate( + 'xpack.triggersActionsUI.sections.ruleFormConsumerSelectionModal.selectLabel', + { + defaultMessage: 'Select role visibility', + } +); + +const featureNameMap: Record = { + [AlertConsumers.LOGS]: i18n.translate( + 'xpack.triggersActionsUI.sections.ruleFormConsumerSelectionModal.logs', + { + defaultMessage: 'Logs', + } + ), + [AlertConsumers.INFRASTRUCTURE]: i18n.translate( + 'xpack.triggersActionsUI.sections.ruleFormConsumerSelectionModal.infrastructure', + { + defaultMessage: 'Metrics', + } + ), + [AlertConsumers.APM]: i18n.translate( + 'xpack.triggersActionsUI.sections.ruleFormConsumerSelectionModal.apm', + { + defaultMessage: 'APM and User Experience', + } + ), + [AlertConsumers.UPTIME]: i18n.translate( + 'xpack.triggersActionsUI.sections.ruleFormConsumerSelectionModal.uptime', + { + defaultMessage: 'Synthetics and Uptime', + } + ), + [AlertConsumers.SLO]: i18n.translate( + 'xpack.triggersActionsUI.sections.ruleFormConsumerSelectionModal.slo', + { + defaultMessage: 'SLOs', + } + ), + stackAlerts: i18n.translate( + 'xpack.triggersActionsUI.sections.ruleFormConsumerSelectionModal.stackAlerts', + { + defaultMessage: 'Stack Rules', + } + ), +}; + +export const VALID_CONSUMERS: RuleCreationValidConsumer[] = [ + AlertConsumers.LOGS, + AlertConsumers.INFRASTRUCTURE, + 'stackAlerts', +]; + +export interface RuleFormConsumerSelectionProps { + consumers: RuleCreationValidConsumer[]; + onChange: (consumer: RuleCreationValidConsumer | null) => void; + errors: IErrorObject; +} + +const SINGLE_SELECTION = { asPlainText: true }; + +export const RuleFormConsumerSelection = (props: RuleFormConsumerSelectionProps) => { + const { consumers, errors, onChange } = props; + const [selectedConsumer, setSelectedConsumer] = useState(); + const isInvalid = errors?.consumer?.length > 0; + const handleOnChange = useCallback( + (selected: Array>) => { + if (selected.length > 0) { + const newSelectedConsumer = selected[0]; + setSelectedConsumer(newSelectedConsumer.value); + onChange(newSelectedConsumer.value!); + } else { + setSelectedConsumer(undefined); + onChange(null); + } + }, + [onChange] + ); + const selectedOptions = useMemo( + () => + selectedConsumer + ? [{ value: selectedConsumer, label: featureNameMap[selectedConsumer] }] + : [], + [selectedConsumer] + ); + + const formattedSelectOptions: Array> = + useMemo(() => { + return consumers + .reduce>>((result, consumer) => { + if (featureNameMap[consumer]) { + result.push({ + value: consumer, + 'data-test-subj': consumer, + label: featureNameMap[consumer], + }); + } + return result; + }, []) + .sort((a, b) => { + return a.value!.localeCompare(b.value!); + }); + }, [consumers]); + + useEffect(() => { + // At initialization we set to NULL to know that nobody selected anything + onChange(null); + // eslint-disable-next-line react-hooks/exhaustive-deps + }, []); + + useEffect(() => { + if (formattedSelectOptions.length === 1) { + onChange(formattedSelectOptions[0].value as RuleCreationValidConsumer); + } + // eslint-disable-next-line react-hooks/exhaustive-deps + }, [formattedSelectOptions]); + + if (formattedSelectOptions.length <= 1) { + return null; + } + return ( + + + + ); +}; diff --git a/x-pack/plugins/triggers_actions_ui/public/application/sections/rules_list/components/rules_list.tsx b/x-pack/plugins/triggers_actions_ui/public/application/sections/rules_list/components/rules_list.tsx index 197077daceaf3a..83285163aeee3c 100644 --- a/x-pack/plugins/triggers_actions_ui/public/application/sections/rules_list/components/rules_list.tsx +++ b/x-pack/plugins/triggers_actions_ui/public/application/sections/rules_list/components/rules_list.tsx @@ -107,6 +107,7 @@ const RuleAdd = lazy(() => import('../../rule_form/rule_add')); const RuleEdit = lazy(() => import('../../rule_form/rule_edit')); export interface RulesListProps { + filterConsumers?: string[]; filteredRuleTypes?: string[]; lastResponseFilter?: string[]; lastRunOutcomeFilter?: string[]; @@ -146,6 +147,7 @@ const initialPercentileOptions = Object.values(Percentiles).map((percentile) => const EMPTY_ARRAY: string[] = []; export const RulesList = ({ + filterConsumers, filteredRuleTypes = EMPTY_ARRAY, lastResponseFilter, lastRunOutcomeFilter, @@ -263,6 +265,7 @@ export const RulesList = ({ // Fetch rules const { rulesState, loadRules, hasData, lastUpdate } = useLoadRulesQuery({ + filterConsumers, filters: computedFilter, hasDefaultRuleTypesFiltersOn, page, @@ -275,6 +278,7 @@ export const RulesList = ({ // Fetch status aggregation const { loadRuleAggregations, rulesStatusesTotal, rulesLastRunOutcomesTotal } = useLoadRuleAggregationsQuery({ + filterConsumers, filters: computedFilter, enabled: canLoadRules, refresh, diff --git a/x-pack/plugins/triggers_actions_ui/public/index.ts b/x-pack/plugins/triggers_actions_ui/public/index.ts index a13df899ec3cf0..6d3c3bbee0d5f6 100644 --- a/x-pack/plugins/triggers_actions_ui/public/index.ts +++ b/x-pack/plugins/triggers_actions_ui/public/index.ts @@ -43,6 +43,7 @@ export type { RulesListVisibleColumns, AlertSummaryTimeRange, NotifyWhenSelectOptions, + RuleCreationValidConsumer, } from './types'; export type { diff --git a/x-pack/plugins/triggers_actions_ui/public/types.ts b/x-pack/plugins/triggers_actions_ui/public/types.ts index 7c6454c8cc3e4f..7716aef3404069 100644 --- a/x-pack/plugins/triggers_actions_ui/public/types.ts +++ b/x-pack/plugins/triggers_actions_ui/public/types.ts @@ -26,6 +26,7 @@ import type { EuiSuperSelectOption, EuiDataGridOnColumnResizeHandler, } from '@elastic/eui'; +import type { AlertConsumers, STACK_ALERTS_FEATURE_ID } from '@kbn/rule-data-utils'; import { EuiDataGridColumn, EuiDataGridControlColumn, EuiDataGridSorting } from '@elastic/eui'; import { HttpSetup } from '@kbn/core/public'; import { KueryNode } from '@kbn/es-query'; @@ -457,6 +458,8 @@ export interface RuleAddProps> { metadata?: MetaData; ruleTypeIndex?: RuleTypeIndex; filteredRuleTypes?: string[]; + validConsumers?: RuleCreationValidConsumer[]; + useRuleProducer?: boolean; } export interface RuleDefinitionProps { rule: Rule; @@ -819,3 +822,8 @@ export interface NotifyWhenSelectOptions { isForEachAlertOption?: boolean; value: EuiSuperSelectOption; } + +export type RuleCreationValidConsumer = + | typeof AlertConsumers.LOGS + | typeof AlertConsumers.INFRASTRUCTURE + | typeof STACK_ALERTS_FEATURE_ID; diff --git a/x-pack/test/alerting_api_integration/common/lib/alert_utils.ts b/x-pack/test/alerting_api_integration/common/lib/alert_utils.ts index 5b4aeb496b125c..3307211694cc06 100644 --- a/x-pack/test/alerting_api_integration/common/lib/alert_utils.ts +++ b/x-pack/test/alerting_api_integration/common/lib/alert_utils.ts @@ -469,20 +469,8 @@ export class AlertUtils { } } -export function getConsumerUnauthorizedErrorMessage( - operation: string, - alertType: string, - consumer: string -) { - return `Unauthorized to ${operation} a "${alertType}" rule for "${consumer}"`; -} - -export function getProducerUnauthorizedErrorMessage( - operation: string, - alertType: string, - producer: string -) { - return `Unauthorized to ${operation} a "${alertType}" rule by "${producer}"`; +export function getUnauthorizedErrorMessage(operation: string, alertType: string, scope: string) { + return `Unauthorized by "${scope}" to ${operation} "${alertType}" rule`; } function getDefaultAlwaysFiringAlertData( diff --git a/x-pack/test/alerting_api_integration/common/lib/index.ts b/x-pack/test/alerting_api_integration/common/lib/index.ts index 2c0651f3f962af..cc7ba4fcb083fa 100644 --- a/x-pack/test/alerting_api_integration/common/lib/index.ts +++ b/x-pack/test/alerting_api_integration/common/lib/index.ts @@ -8,11 +8,7 @@ export { ObjectRemover } from './object_remover'; export { getUrlPrefix } from './space_test_utils'; export { getTestRuleData } from './get_test_rule_data'; -export { - AlertUtils, - getConsumerUnauthorizedErrorMessage, - getProducerUnauthorizedErrorMessage, -} from './alert_utils'; +export { AlertUtils, getUnauthorizedErrorMessage } from './alert_utils'; export type { TaskManagerDoc } from './task_manager_utils'; export { TaskManagerUtils } from './task_manager_utils'; export * from './test_assertions'; diff --git a/x-pack/test/alerting_api_integration/observability/custom_threshold_rule/avg_pct_fired.ts b/x-pack/test/alerting_api_integration/observability/custom_threshold_rule/avg_pct_fired.ts index 8df0f20e88de7c..fd5a4054f08955 100644 --- a/x-pack/test/alerting_api_integration/observability/custom_threshold_rule/avg_pct_fired.ts +++ b/x-pack/test/alerting_api_integration/observability/custom_threshold_rule/avg_pct_fired.ts @@ -12,7 +12,7 @@ import { } from '@kbn/observability-plugin/common/custom_threshold_rule/types'; import { FIRED_ACTIONS_ID } from '@kbn/observability-plugin/server/lib/rules/custom_threshold/custom_threshold_executor'; import expect from '@kbn/expect'; -import { OBSERVABILITY_THRESHOLD_RULE_TYPE_ID } from '@kbn/observability-plugin/common/constants'; +import { OBSERVABILITY_THRESHOLD_RULE_TYPE_ID } from '@kbn/rule-data-utils'; import { createIndexConnector, createRule } from '../helpers/alerting_api_helper'; import { createDataView, deleteDataView } from '../helpers/data_view'; import { waitForAlertInIndex, waitForRuleStatus } from '../helpers/alerting_wait_for_helpers'; @@ -52,7 +52,7 @@ export default function ({ getService }: FtrProviderContext) { }); await esClient.deleteByQuery({ index: '.kibana-event-log-*', - query: { term: { 'kibana.alert.rule.consumer': 'alerts' } }, + query: { term: { 'kibana.alert.rule.consumer': 'logs' } }, }); await deleteDataView({ supertest, @@ -73,7 +73,7 @@ export default function ({ getService }: FtrProviderContext) { const createdRule = await createRule({ supertest, tags: ['observability'], - consumer: 'alerts', + consumer: 'logs', name: 'Threshold rule', ruleTypeId: OBSERVABILITY_THRESHOLD_RULE_TYPE_ID, params: { @@ -142,7 +142,7 @@ export default function ({ getService }: FtrProviderContext) { 'kibana.alert.rule.category', 'Custom threshold (BETA)' ); - expect(resp.hits.hits[0]._source).property('kibana.alert.rule.consumer', 'alerts'); + expect(resp.hits.hits[0]._source).property('kibana.alert.rule.consumer', 'logs'); expect(resp.hits.hits[0]._source).property('kibana.alert.rule.name', 'Threshold rule'); expect(resp.hits.hits[0]._source).property('kibana.alert.rule.producer', 'observability'); expect(resp.hits.hits[0]._source).property('kibana.alert.rule.revision', 0); diff --git a/x-pack/test/alerting_api_integration/observability/custom_threshold_rule/avg_pct_no_data.ts b/x-pack/test/alerting_api_integration/observability/custom_threshold_rule/avg_pct_no_data.ts index d57398def63812..4d2475d6b0457d 100644 --- a/x-pack/test/alerting_api_integration/observability/custom_threshold_rule/avg_pct_no_data.ts +++ b/x-pack/test/alerting_api_integration/observability/custom_threshold_rule/avg_pct_no_data.ts @@ -11,7 +11,7 @@ import { } from '@kbn/observability-plugin/common/custom_threshold_rule/types'; import { FIRED_ACTIONS_ID } from '@kbn/observability-plugin/server/lib/rules/custom_threshold/custom_threshold_executor'; import expect from '@kbn/expect'; -import { OBSERVABILITY_THRESHOLD_RULE_TYPE_ID } from '@kbn/observability-plugin/common/constants'; +import { OBSERVABILITY_THRESHOLD_RULE_TYPE_ID } from '@kbn/rule-data-utils'; import { createIndexConnector, createRule } from '../helpers/alerting_api_helper'; import { createDataView, deleteDataView } from '../helpers/data_view'; @@ -48,7 +48,7 @@ export default function ({ getService }: FtrProviderContext) { }); await esClient.deleteByQuery({ index: '.kibana-event-log-*', - query: { term: { 'kibana.alert.rule.consumer': 'alerts' } }, + query: { term: { 'kibana.alert.rule.consumer': 'logs' } }, }); await deleteDataView({ supertest, @@ -67,7 +67,7 @@ export default function ({ getService }: FtrProviderContext) { const createdRule = await createRule({ supertest, tags: ['observability'], - consumer: 'alerts', + consumer: 'logs', name: 'Threshold rule', ruleTypeId: OBSERVABILITY_THRESHOLD_RULE_TYPE_ID, params: { @@ -136,7 +136,7 @@ export default function ({ getService }: FtrProviderContext) { 'kibana.alert.rule.category', 'Custom threshold (BETA)' ); - expect(resp.hits.hits[0]._source).property('kibana.alert.rule.consumer', 'alerts'); + expect(resp.hits.hits[0]._source).property('kibana.alert.rule.consumer', 'logs'); expect(resp.hits.hits[0]._source).property('kibana.alert.rule.name', 'Threshold rule'); expect(resp.hits.hits[0]._source).property('kibana.alert.rule.producer', 'observability'); expect(resp.hits.hits[0]._source).property('kibana.alert.rule.revision', 0); diff --git a/x-pack/test/alerting_api_integration/observability/custom_threshold_rule/avg_us_fired.ts b/x-pack/test/alerting_api_integration/observability/custom_threshold_rule/avg_us_fired.ts index b4570771b9f2fc..4359385e79534c 100644 --- a/x-pack/test/alerting_api_integration/observability/custom_threshold_rule/avg_us_fired.ts +++ b/x-pack/test/alerting_api_integration/observability/custom_threshold_rule/avg_us_fired.ts @@ -14,7 +14,7 @@ import { } from '@kbn/observability-plugin/common/custom_threshold_rule/types'; import { FIRED_ACTIONS_ID } from '@kbn/observability-plugin/server/lib/rules/custom_threshold/custom_threshold_executor'; import expect from '@kbn/expect'; -import { OBSERVABILITY_THRESHOLD_RULE_TYPE_ID } from '@kbn/observability-plugin/common/constants'; +import { OBSERVABILITY_THRESHOLD_RULE_TYPE_ID } from '@kbn/rule-data-utils'; import { FtrProviderContext } from '../../common/ftr_provider_context'; import { createIndexConnector, createRule } from '../helpers/alerting_api_helper'; import { createDataView, deleteDataView } from '../helpers/data_view'; @@ -68,7 +68,7 @@ export default function ({ getService }: FtrProviderContext) { }); await esClient.deleteByQuery({ index: '.kibana-event-log-*', - query: { term: { 'kibana.alert.rule.consumer': 'alerts' } }, + query: { term: { 'kibana.alert.rule.consumer': 'logs' } }, }); await synthtraceEsClient.clean(); await deleteDataView({ @@ -88,7 +88,7 @@ export default function ({ getService }: FtrProviderContext) { const createdRule = await createRule({ supertest, tags: ['observability'], - consumer: 'alerts', + consumer: 'logs', name: 'Threshold rule', ruleTypeId: OBSERVABILITY_THRESHOLD_RULE_TYPE_ID, params: { @@ -162,7 +162,7 @@ export default function ({ getService }: FtrProviderContext) { 'kibana.alert.rule.category', 'Custom threshold (BETA)' ); - expect(resp.hits.hits[0]._source).property('kibana.alert.rule.consumer', 'alerts'); + expect(resp.hits.hits[0]._source).property('kibana.alert.rule.consumer', 'logs'); expect(resp.hits.hits[0]._source).property('kibana.alert.rule.name', 'Threshold rule'); expect(resp.hits.hits[0]._source).property('kibana.alert.rule.producer', 'observability'); expect(resp.hits.hits[0]._source).property('kibana.alert.rule.revision', 0); diff --git a/x-pack/test/alerting_api_integration/observability/custom_threshold_rule/custom_eq_avg_bytes_fired.ts b/x-pack/test/alerting_api_integration/observability/custom_threshold_rule/custom_eq_avg_bytes_fired.ts index 7602c9454a55e5..7f7e66d0505931 100644 --- a/x-pack/test/alerting_api_integration/observability/custom_threshold_rule/custom_eq_avg_bytes_fired.ts +++ b/x-pack/test/alerting_api_integration/observability/custom_threshold_rule/custom_eq_avg_bytes_fired.ts @@ -18,7 +18,7 @@ import { } from '@kbn/observability-plugin/common/custom_threshold_rule/types'; import { FIRED_ACTIONS_ID } from '@kbn/observability-plugin/server/lib/rules/custom_threshold/custom_threshold_executor'; import expect from '@kbn/expect'; -import { OBSERVABILITY_THRESHOLD_RULE_TYPE_ID } from '@kbn/observability-plugin/common/constants'; +import { OBSERVABILITY_THRESHOLD_RULE_TYPE_ID } from '@kbn/rule-data-utils'; import { createIndexConnector, createRule } from '../helpers/alerting_api_helper'; import { createDataView, deleteDataView } from '../helpers/data_view'; import { waitForAlertInIndex, waitForRuleStatus } from '../helpers/alerting_wait_for_helpers'; @@ -58,7 +58,7 @@ export default function ({ getService }: FtrProviderContext) { }); await esClient.deleteByQuery({ index: '.kibana-event-log-*', - query: { term: { 'kibana.alert.rule.consumer': 'alerts' } }, + query: { term: { 'kibana.alert.rule.consumer': 'logs' } }, }); await deleteDataView({ supertest, @@ -79,7 +79,7 @@ export default function ({ getService }: FtrProviderContext) { const createdRule = await createRule({ supertest, tags: ['observability'], - consumer: 'alerts', + consumer: 'logs', name: 'Threshold rule', ruleTypeId: OBSERVABILITY_THRESHOLD_RULE_TYPE_ID, params: { @@ -150,7 +150,7 @@ export default function ({ getService }: FtrProviderContext) { 'kibana.alert.rule.category', 'Custom threshold (BETA)' ); - expect(resp.hits.hits[0]._source).property('kibana.alert.rule.consumer', 'alerts'); + expect(resp.hits.hits[0]._source).property('kibana.alert.rule.consumer', 'logs'); expect(resp.hits.hits[0]._source).property('kibana.alert.rule.name', 'Threshold rule'); expect(resp.hits.hits[0]._source).property('kibana.alert.rule.producer', 'observability'); expect(resp.hits.hits[0]._source).property('kibana.alert.rule.revision', 0); diff --git a/x-pack/test/alerting_api_integration/observability/custom_threshold_rule/documents_count_fired.ts b/x-pack/test/alerting_api_integration/observability/custom_threshold_rule/documents_count_fired.ts index 99f313960fa6b5..6a17340094e80c 100644 --- a/x-pack/test/alerting_api_integration/observability/custom_threshold_rule/documents_count_fired.ts +++ b/x-pack/test/alerting_api_integration/observability/custom_threshold_rule/documents_count_fired.ts @@ -12,7 +12,7 @@ import { } from '@kbn/observability-plugin/common/custom_threshold_rule/types'; import { FIRED_ACTIONS_ID } from '@kbn/observability-plugin/server/lib/rules/custom_threshold/custom_threshold_executor'; import expect from '@kbn/expect'; -import { OBSERVABILITY_THRESHOLD_RULE_TYPE_ID } from '@kbn/observability-plugin/common/constants'; +import { OBSERVABILITY_THRESHOLD_RULE_TYPE_ID } from '@kbn/rule-data-utils'; import { createIndexConnector, createRule } from '../helpers/alerting_api_helper'; import { createDataView, deleteDataView } from '../helpers/data_view'; import { waitForAlertInIndex, waitForRuleStatus } from '../helpers/alerting_wait_for_helpers'; @@ -52,7 +52,7 @@ export default function ({ getService }: FtrProviderContext) { }); await esClient.deleteByQuery({ index: '.kibana-event-log-*', - query: { term: { 'kibana.alert.rule.consumer': 'alerts' } }, + query: { term: { 'kibana.alert.rule.consumer': 'logs' } }, }); await deleteDataView({ supertest, @@ -73,7 +73,7 @@ export default function ({ getService }: FtrProviderContext) { const createdRule = await createRule({ supertest, tags: ['observability'], - consumer: 'alerts', + consumer: 'logs', name: 'Threshold rule', ruleTypeId: OBSERVABILITY_THRESHOLD_RULE_TYPE_ID, params: { @@ -140,7 +140,7 @@ export default function ({ getService }: FtrProviderContext) { 'kibana.alert.rule.category', 'Custom threshold (BETA)' ); - expect(resp.hits.hits[0]._source).property('kibana.alert.rule.consumer', 'alerts'); + expect(resp.hits.hits[0]._source).property('kibana.alert.rule.consumer', 'logs'); expect(resp.hits.hits[0]._source).property('kibana.alert.rule.name', 'Threshold rule'); expect(resp.hits.hits[0]._source).property('kibana.alert.rule.producer', 'observability'); expect(resp.hits.hits[0]._source).property('kibana.alert.rule.revision', 0); diff --git a/x-pack/test/alerting_api_integration/observability/custom_threshold_rule/group_by_fired.ts b/x-pack/test/alerting_api_integration/observability/custom_threshold_rule/group_by_fired.ts index 5925907b471b6e..da18b429c45c02 100644 --- a/x-pack/test/alerting_api_integration/observability/custom_threshold_rule/group_by_fired.ts +++ b/x-pack/test/alerting_api_integration/observability/custom_threshold_rule/group_by_fired.ts @@ -19,7 +19,7 @@ import { } from '@kbn/observability-plugin/common/custom_threshold_rule/types'; import { FIRED_ACTIONS_ID } from '@kbn/observability-plugin/server/lib/rules/custom_threshold/custom_threshold_executor'; import expect from '@kbn/expect'; -import { OBSERVABILITY_THRESHOLD_RULE_TYPE_ID } from '@kbn/observability-plugin/common/constants'; +import { OBSERVABILITY_THRESHOLD_RULE_TYPE_ID } from '@kbn/rule-data-utils'; import { createIndexConnector, createRule } from '../helpers/alerting_api_helper'; import { createDataView, deleteDataView } from '../helpers/data_view'; import { @@ -65,7 +65,7 @@ export default function ({ getService }: FtrProviderContext) { }); await esClient.deleteByQuery({ index: '.kibana-event-log-*', - query: { term: { 'kibana.alert.rule.consumer': 'alerts' } }, + query: { term: { 'kibana.alert.rule.consumer': 'logs' } }, }); await deleteDataView({ supertest, @@ -86,7 +86,7 @@ export default function ({ getService }: FtrProviderContext) { const createdRule = await createRule({ supertest, tags: ['observability'], - consumer: 'alerts', + consumer: 'logs', name: 'Threshold rule', ruleTypeId: OBSERVABILITY_THRESHOLD_RULE_TYPE_ID, params: { @@ -162,7 +162,7 @@ export default function ({ getService }: FtrProviderContext) { 'kibana.alert.rule.category', 'Custom threshold (BETA)' ); - expect(resp.hits.hits[0]._source).property('kibana.alert.rule.consumer', 'alerts'); + expect(resp.hits.hits[0]._source).property('kibana.alert.rule.consumer', 'logs'); expect(resp.hits.hits[0]._source).property('kibana.alert.rule.name', 'Threshold rule'); expect(resp.hits.hits[0]._source).property('kibana.alert.rule.producer', 'observability'); expect(resp.hits.hits[0]._source).property('kibana.alert.rule.revision', 0); diff --git a/x-pack/test/alerting_api_integration/observability/custom_threshold_rule_data_view.ts b/x-pack/test/alerting_api_integration/observability/custom_threshold_rule_data_view.ts index 3119a0ae46e63d..ada064c133ffcb 100644 --- a/x-pack/test/alerting_api_integration/observability/custom_threshold_rule_data_view.ts +++ b/x-pack/test/alerting_api_integration/observability/custom_threshold_rule_data_view.ts @@ -10,7 +10,7 @@ import { Aggregators, Comparator, } from '@kbn/observability-plugin/common/custom_threshold_rule/types'; -import { OBSERVABILITY_THRESHOLD_RULE_TYPE_ID } from '@kbn/observability-plugin/common/constants'; +import { OBSERVABILITY_THRESHOLD_RULE_TYPE_ID } from '@kbn/rule-data-utils'; import { FtrProviderContext } from '../common/ftr_provider_context'; import { getUrlPrefix, ObjectRemover } from '../common/lib'; @@ -67,7 +67,7 @@ export default function ({ getService }: FtrProviderContext) { const createdRule = await createRule({ supertest, tags: ['observability'], - consumer: 'alerts', + consumer: 'logs', name: 'Threshold rule', ruleTypeId: OBSERVABILITY_THRESHOLD_RULE_TYPE_ID, params: { diff --git a/x-pack/test/alerting_api_integration/security_and_spaces/group1/tests/alerting/create.ts b/x-pack/test/alerting_api_integration/security_and_spaces/group1/tests/alerting/create.ts index 5f2b892a416a3d..b7cf41d07e8236 100644 --- a/x-pack/test/alerting_api_integration/security_and_spaces/group1/tests/alerting/create.ts +++ b/x-pack/test/alerting_api_integration/security_and_spaces/group1/tests/alerting/create.ts @@ -10,10 +10,9 @@ import { UserAtSpaceScenarios } from '../../../scenarios'; import { checkAAD, getTestRuleData, - getConsumerUnauthorizedErrorMessage, + getUnauthorizedErrorMessage, getUrlPrefix, ObjectRemover, - getProducerUnauthorizedErrorMessage, TaskManagerDoc, } from '../../../../common/lib'; import { FtrProviderContext } from '../../../../common/ftr_provider_context'; @@ -75,11 +74,7 @@ export default function createAlertTests({ getService }: FtrProviderContext) { expect(response.statusCode).to.eql(403); expect(response.body).to.eql({ error: 'Forbidden', - message: getConsumerUnauthorizedErrorMessage( - 'create', - 'test.noop', - 'alertsFixture' - ), + message: getUnauthorizedErrorMessage('create', 'test.noop', 'alertsFixture'), statusCode: 403, }); break; @@ -181,7 +176,7 @@ export default function createAlertTests({ getService }: FtrProviderContext) { expect(response.statusCode).to.eql(403); expect(response.body).to.eql({ error: 'Forbidden', - message: getConsumerUnauthorizedErrorMessage( + message: getUnauthorizedErrorMessage( 'create', 'test.restricted-noop', 'alertsRestrictedFixture' @@ -218,7 +213,7 @@ export default function createAlertTests({ getService }: FtrProviderContext) { expect(response.statusCode).to.eql(403); expect(response.body).to.eql({ error: 'Forbidden', - message: getConsumerUnauthorizedErrorMessage( + message: getUnauthorizedErrorMessage( 'create', 'test.unrestricted-noop', 'alertsFixture' @@ -228,17 +223,6 @@ export default function createAlertTests({ getService }: FtrProviderContext) { break; case 'space_1_all at space1': case 'space_1_all_alerts_none_actions at space1': - expect(response.statusCode).to.eql(403); - expect(response.body).to.eql({ - error: 'Forbidden', - message: getProducerUnauthorizedErrorMessage( - 'create', - 'test.unrestricted-noop', - 'alertsRestrictedFixture' - ), - statusCode: 403, - }); - break; case 'superuser at space1': case 'space_1_all_with_restricted_fixture at space1': expect(response.statusCode).to.eql(200); @@ -267,7 +251,7 @@ export default function createAlertTests({ getService }: FtrProviderContext) { expect(response.statusCode).to.eql(403); expect(response.body).to.eql({ error: 'Forbidden', - message: getConsumerUnauthorizedErrorMessage('create', 'test.noop', 'alerts'), + message: getUnauthorizedErrorMessage('create', 'test.noop', 'alerts'), statusCode: 403, }); break; @@ -275,11 +259,7 @@ export default function createAlertTests({ getService }: FtrProviderContext) { expect(response.statusCode).to.eql(403); expect(response.body).to.eql({ error: 'Forbidden', - message: getProducerUnauthorizedErrorMessage( - 'create', - 'test.noop', - 'alertsFixture' - ), + message: getUnauthorizedErrorMessage('create', 'test.noop', 'alertsFixture'), statusCode: 403, }); break; @@ -318,7 +298,7 @@ export default function createAlertTests({ getService }: FtrProviderContext) { expect(response.statusCode).to.eql(403); expect(response.body).to.eql({ error: 'Forbidden', - message: getConsumerUnauthorizedErrorMessage( + message: getUnauthorizedErrorMessage( 'create', 'test.noop', 'some consumer patrick invented' @@ -345,11 +325,7 @@ export default function createAlertTests({ getService }: FtrProviderContext) { expect(response.statusCode).to.eql(403); expect(response.body).to.eql({ error: 'Forbidden', - message: getConsumerUnauthorizedErrorMessage( - 'create', - 'test.noop', - 'alertsFixture' - ), + message: getUnauthorizedErrorMessage('create', 'test.noop', 'alertsFixture'), statusCode: 403, }); break; @@ -384,11 +360,7 @@ export default function createAlertTests({ getService }: FtrProviderContext) { expect(response.statusCode).to.eql(403); expect(response.body).to.eql({ error: 'Forbidden', - message: getConsumerUnauthorizedErrorMessage( - 'create', - 'test.noop', - 'alertsFixture' - ), + message: getUnauthorizedErrorMessage('create', 'test.noop', 'alertsFixture'), statusCode: 403, }); break; @@ -481,11 +453,7 @@ export default function createAlertTests({ getService }: FtrProviderContext) { expect(response.statusCode).to.eql(403); expect(response.body).to.eql({ error: 'Forbidden', - message: getConsumerUnauthorizedErrorMessage( - 'create', - 'test.validation', - 'alertsFixture' - ), + message: getUnauthorizedErrorMessage('create', 'test.validation', 'alertsFixture'), statusCode: 403, }); break; diff --git a/x-pack/test/alerting_api_integration/security_and_spaces/group1/tests/alerting/delete.ts b/x-pack/test/alerting_api_integration/security_and_spaces/group1/tests/alerting/delete.ts index 2b6086cf38d926..d6cb57261a5580 100644 --- a/x-pack/test/alerting_api_integration/security_and_spaces/group1/tests/alerting/delete.ts +++ b/x-pack/test/alerting_api_integration/security_and_spaces/group1/tests/alerting/delete.ts @@ -10,8 +10,7 @@ import { UserAtSpaceScenarios } from '../../../scenarios'; import { getUrlPrefix, getTestRuleData, - getConsumerUnauthorizedErrorMessage, - getProducerUnauthorizedErrorMessage, + getUnauthorizedErrorMessage, ObjectRemover, } from '../../../../common/lib'; import { FtrProviderContext } from '../../../../common/ftr_provider_context'; @@ -57,11 +56,7 @@ export default function createDeleteTests({ getService }: FtrProviderContext) { expect(response.statusCode).to.eql(403); expect(response.body).to.eql({ error: 'Forbidden', - message: getConsumerUnauthorizedErrorMessage( - 'delete', - 'test.noop', - 'alertsFixture' - ), + message: getUnauthorizedErrorMessage('delete', 'test.noop', 'alertsFixture'), statusCode: 403, }); objectRemover.add(space.id, createdAlert.id, 'rule', 'alerting'); @@ -112,7 +107,7 @@ export default function createDeleteTests({ getService }: FtrProviderContext) { expect(response.statusCode).to.eql(403); expect(response.body).to.eql({ error: 'Forbidden', - message: getConsumerUnauthorizedErrorMessage( + message: getUnauthorizedErrorMessage( 'delete', 'test.restricted-noop', 'alertsRestrictedFixture' @@ -163,7 +158,7 @@ export default function createDeleteTests({ getService }: FtrProviderContext) { expect(response.statusCode).to.eql(403); expect(response.body).to.eql({ error: 'Forbidden', - message: getConsumerUnauthorizedErrorMessage( + message: getUnauthorizedErrorMessage( 'delete', 'test.unrestricted-noop', 'alertsFixture' @@ -176,20 +171,6 @@ export default function createDeleteTests({ getService }: FtrProviderContext) { break; case 'space_1_all at space1': case 'space_1_all_alerts_none_actions at space1': - expect(response.statusCode).to.eql(403); - expect(response.body).to.eql({ - error: 'Forbidden', - message: getProducerUnauthorizedErrorMessage( - 'delete', - 'test.unrestricted-noop', - 'alertsRestrictedFixture' - ), - statusCode: 403, - }); - objectRemover.add(space.id, createdAlert.id, 'rule', 'alerting'); - // Ensure task still exists - await getScheduledTask(createdAlert.scheduled_task_id); - break; case 'superuser at space1': case 'space_1_all_with_restricted_fixture at space1': expect(response.statusCode).to.eql(204); @@ -229,7 +210,7 @@ export default function createDeleteTests({ getService }: FtrProviderContext) { expect(response.statusCode).to.eql(403); expect(response.body).to.eql({ error: 'Forbidden', - message: getConsumerUnauthorizedErrorMessage('delete', 'test.noop', 'alerts'), + message: getUnauthorizedErrorMessage('delete', 'test.noop', 'alerts'), statusCode: 403, }); objectRemover.add(space.id, createdAlert.id, 'rule', 'alerting'); @@ -238,11 +219,7 @@ export default function createDeleteTests({ getService }: FtrProviderContext) { expect(response.statusCode).to.eql(403); expect(response.body).to.eql({ error: 'Forbidden', - message: getProducerUnauthorizedErrorMessage( - 'delete', - 'test.noop', - 'alertsFixture' - ), + message: getUnauthorizedErrorMessage('delete', 'test.noop', 'alertsFixture'), statusCode: 403, }); objectRemover.add(space.id, createdAlert.id, 'rule', 'alerting'); @@ -333,11 +310,7 @@ export default function createDeleteTests({ getService }: FtrProviderContext) { expect(response.statusCode).to.eql(403); expect(response.body).to.eql({ error: 'Forbidden', - message: getConsumerUnauthorizedErrorMessage( - 'delete', - 'test.noop', - 'alertsFixture' - ), + message: getUnauthorizedErrorMessage('delete', 'test.noop', 'alertsFixture'), statusCode: 403, }); objectRemover.add(space.id, createdAlert.id, 'rule', 'alerting'); diff --git a/x-pack/test/alerting_api_integration/security_and_spaces/group1/tests/alerting/disable.ts b/x-pack/test/alerting_api_integration/security_and_spaces/group1/tests/alerting/disable.ts index df9fc34e170145..8539b1a7b87c3a 100644 --- a/x-pack/test/alerting_api_integration/security_and_spaces/group1/tests/alerting/disable.ts +++ b/x-pack/test/alerting_api_integration/security_and_spaces/group1/tests/alerting/disable.ts @@ -14,8 +14,7 @@ import { getUrlPrefix, getTestRuleData, ObjectRemover, - getConsumerUnauthorizedErrorMessage, - getProducerUnauthorizedErrorMessage, + getUnauthorizedErrorMessage, TaskManagerDoc, } from '../../../../common/lib'; @@ -83,11 +82,7 @@ export default function createDisableAlertTests({ getService }: FtrProviderConte expect(response.statusCode).to.eql(403); expect(response.body).to.eql({ error: 'Forbidden', - message: getConsumerUnauthorizedErrorMessage( - 'disable', - 'test.noop', - 'alertsFixture' - ), + message: getUnauthorizedErrorMessage('disable', 'test.noop', 'alertsFixture'), statusCode: 403, }); // Ensure task still exists and is still enabled @@ -158,7 +153,7 @@ export default function createDisableAlertTests({ getService }: FtrProviderConte expect(response.statusCode).to.eql(403); expect(response.body).to.eql({ error: 'Forbidden', - message: getConsumerUnauthorizedErrorMessage( + message: getUnauthorizedErrorMessage( 'disable', 'test.restricted-noop', 'alertsRestrictedFixture' @@ -210,7 +205,7 @@ export default function createDisableAlertTests({ getService }: FtrProviderConte expect(response.statusCode).to.eql(403); expect(response.body).to.eql({ error: 'Forbidden', - message: getConsumerUnauthorizedErrorMessage( + message: getUnauthorizedErrorMessage( 'disable', 'test.unrestricted-noop', 'alertsFixture' @@ -220,17 +215,6 @@ export default function createDisableAlertTests({ getService }: FtrProviderConte break; case 'space_1_all at space1': case 'space_1_all_alerts_none_actions at space1': - expect(response.statusCode).to.eql(403); - expect(response.body).to.eql({ - error: 'Forbidden', - message: getProducerUnauthorizedErrorMessage( - 'disable', - 'test.unrestricted-noop', - 'alertsRestrictedFixture' - ), - statusCode: 403, - }); - break; case 'superuser at space1': case 'space_1_all_with_restricted_fixture at space1': expect(response.statusCode).to.eql(204); @@ -273,7 +257,7 @@ export default function createDisableAlertTests({ getService }: FtrProviderConte expect(response.statusCode).to.eql(403); expect(response.body).to.eql({ error: 'Forbidden', - message: getConsumerUnauthorizedErrorMessage('disable', 'test.noop', 'alerts'), + message: getUnauthorizedErrorMessage('disable', 'test.noop', 'alerts'), statusCode: 403, }); break; @@ -281,11 +265,7 @@ export default function createDisableAlertTests({ getService }: FtrProviderConte expect(response.statusCode).to.eql(403); expect(response.body).to.eql({ error: 'Forbidden', - message: getProducerUnauthorizedErrorMessage( - 'disable', - 'test.noop', - 'alertsFixture' - ), + message: getUnauthorizedErrorMessage('disable', 'test.noop', 'alertsFixture'), statusCode: 403, }); break; @@ -344,11 +324,7 @@ export default function createDisableAlertTests({ getService }: FtrProviderConte expect(response.statusCode).to.eql(403); expect(response.body).to.eql({ error: 'Forbidden', - message: getConsumerUnauthorizedErrorMessage( - 'disable', - 'test.noop', - 'alertsFixture' - ), + message: getUnauthorizedErrorMessage('disable', 'test.noop', 'alertsFixture'), statusCode: 403, }); // Ensure task still exists and is still enabled diff --git a/x-pack/test/alerting_api_integration/security_and_spaces/group1/tests/alerting/enable.ts b/x-pack/test/alerting_api_integration/security_and_spaces/group1/tests/alerting/enable.ts index 73842073a542b5..8c6e3ecd5ea5a8 100644 --- a/x-pack/test/alerting_api_integration/security_and_spaces/group1/tests/alerting/enable.ts +++ b/x-pack/test/alerting_api_integration/security_and_spaces/group1/tests/alerting/enable.ts @@ -14,8 +14,7 @@ import { getUrlPrefix, getTestRuleData, ObjectRemover, - getConsumerUnauthorizedErrorMessage, - getProducerUnauthorizedErrorMessage, + getUnauthorizedErrorMessage, TaskManagerDoc, } from '../../../../common/lib'; @@ -82,11 +81,7 @@ export default function createEnableAlertTests({ getService }: FtrProviderContex expect(response.statusCode).to.eql(403); expect(response.body).to.eql({ error: 'Forbidden', - message: getConsumerUnauthorizedErrorMessage( - 'enable', - 'test.noop', - 'alertsFixture' - ), + message: getUnauthorizedErrorMessage('enable', 'test.noop', 'alertsFixture'), statusCode: 403, }); break; @@ -94,11 +89,7 @@ export default function createEnableAlertTests({ getService }: FtrProviderContex expect(response.statusCode).to.eql(403); expect(response.body).to.eql({ error: 'Forbidden', - message: getConsumerUnauthorizedErrorMessage( - 'enable', - 'test.noop', - 'alertsFixture' - ), + message: getUnauthorizedErrorMessage('enable', 'test.noop', 'alertsFixture'), statusCode: 403, }); break; @@ -168,7 +159,7 @@ export default function createEnableAlertTests({ getService }: FtrProviderContex expect(response.statusCode).to.eql(403); expect(response.body).to.eql({ error: 'Forbidden', - message: getConsumerUnauthorizedErrorMessage( + message: getUnauthorizedErrorMessage( 'enable', 'test.restricted-noop', 'alertsRestrictedFixture' @@ -215,7 +206,7 @@ export default function createEnableAlertTests({ getService }: FtrProviderContex expect(response.statusCode).to.eql(403); expect(response.body).to.eql({ error: 'Forbidden', - message: getConsumerUnauthorizedErrorMessage( + message: getUnauthorizedErrorMessage( 'enable', 'test.unrestricted-noop', 'alertsFixture' @@ -225,17 +216,6 @@ export default function createEnableAlertTests({ getService }: FtrProviderContex break; case 'space_1_all at space1': case 'space_1_all_alerts_none_actions at space1': - expect(response.statusCode).to.eql(403); - expect(response.body).to.eql({ - error: 'Forbidden', - message: getProducerUnauthorizedErrorMessage( - 'enable', - 'test.unrestricted-noop', - 'alertsRestrictedFixture' - ), - statusCode: 403, - }); - break; case 'superuser at space1': case 'space_1_all_with_restricted_fixture at space1': expect(response.statusCode).to.eql(204); @@ -268,7 +248,7 @@ export default function createEnableAlertTests({ getService }: FtrProviderContex expect(response.statusCode).to.eql(403); expect(response.body).to.eql({ error: 'Forbidden', - message: getConsumerUnauthorizedErrorMessage('enable', 'test.noop', 'alerts'), + message: getUnauthorizedErrorMessage('enable', 'test.noop', 'alerts'), statusCode: 403, }); break; @@ -276,11 +256,7 @@ export default function createEnableAlertTests({ getService }: FtrProviderContex expect(response.statusCode).to.eql(403); expect(response.body).to.eql({ error: 'Forbidden', - message: getProducerUnauthorizedErrorMessage( - 'enable', - 'test.noop', - 'alertsFixture' - ), + message: getUnauthorizedErrorMessage('enable', 'test.noop', 'alertsFixture'), statusCode: 403, }); break; @@ -333,11 +309,7 @@ export default function createEnableAlertTests({ getService }: FtrProviderContex expect(response.statusCode).to.eql(403); expect(response.body).to.eql({ error: 'Forbidden', - message: getConsumerUnauthorizedErrorMessage( - 'enable', - 'test.noop', - 'alertsFixture' - ), + message: getUnauthorizedErrorMessage('enable', 'test.noop', 'alertsFixture'), statusCode: 403, }); break; diff --git a/x-pack/test/alerting_api_integration/security_and_spaces/group1/tests/alerting/get.ts b/x-pack/test/alerting_api_integration/security_and_spaces/group1/tests/alerting/get.ts index d3117ed4ce209c..edacff0fbfd133 100644 --- a/x-pack/test/alerting_api_integration/security_and_spaces/group1/tests/alerting/get.ts +++ b/x-pack/test/alerting_api_integration/security_and_spaces/group1/tests/alerting/get.ts @@ -12,8 +12,7 @@ import { getUrlPrefix, getTestRuleData, ObjectRemover, - getConsumerUnauthorizedErrorMessage, - getProducerUnauthorizedErrorMessage, + getUnauthorizedErrorMessage, } from '../../../../common/lib'; import { FtrProviderContext } from '../../../../common/ftr_provider_context'; @@ -50,7 +49,7 @@ const getTestUtils = ( expect(response.statusCode).to.eql(403); expect(response.body).to.eql({ error: 'Forbidden', - message: getConsumerUnauthorizedErrorMessage('get', 'test.noop', 'alertsFixture'), + message: getUnauthorizedErrorMessage('get', 'test.noop', 'alertsFixture'), statusCode: 403, }); break; @@ -134,7 +133,7 @@ const getTestUtils = ( expect(response.statusCode).to.eql(403); expect(response.body).to.eql({ error: 'Forbidden', - message: getConsumerUnauthorizedErrorMessage( + message: getUnauthorizedErrorMessage( 'get', 'test.restricted-noop', 'alertsRestrictedFixture' @@ -179,7 +178,7 @@ const getTestUtils = ( expect(response.statusCode).to.eql(403); expect(response.body).to.eql({ error: 'Forbidden', - message: getConsumerUnauthorizedErrorMessage( + message: getUnauthorizedErrorMessage( 'get', 'test.unrestricted-noop', 'alertsFixture' @@ -189,17 +188,6 @@ const getTestUtils = ( break; case 'space_1_all at space1': case 'space_1_all_alerts_none_actions at space1': - expect(response.statusCode).to.eql(403); - expect(response.body).to.eql({ - error: 'Forbidden', - message: getProducerUnauthorizedErrorMessage( - 'get', - 'test.unrestricted-noop', - 'alertsRestrictedFixture' - ), - statusCode: 403, - }); - break; case 'superuser at space1': case 'global_read at space1': case 'space_1_all_with_restricted_fixture at space1': @@ -237,11 +225,7 @@ const getTestUtils = ( expect(response.statusCode).to.eql(403); expect(response.body).to.eql({ error: 'Forbidden', - message: getConsumerUnauthorizedErrorMessage( - 'get', - 'test.restricted-noop', - 'alerts' - ), + message: getUnauthorizedErrorMessage('get', 'test.restricted-noop', 'alerts'), statusCode: 403, }); break; @@ -250,7 +234,7 @@ const getTestUtils = ( expect(response.statusCode).to.eql(403); expect(response.body).to.eql({ error: 'Forbidden', - message: getProducerUnauthorizedErrorMessage( + message: getUnauthorizedErrorMessage( 'get', 'test.restricted-noop', 'alertsRestrictedFixture' diff --git a/x-pack/test/alerting_api_integration/security_and_spaces/group1/tests/alerting/get_alert_state.ts b/x-pack/test/alerting_api_integration/security_and_spaces/group1/tests/alerting/get_alert_state.ts index e3da329c1cbafa..65fe412e177d3e 100644 --- a/x-pack/test/alerting_api_integration/security_and_spaces/group1/tests/alerting/get_alert_state.ts +++ b/x-pack/test/alerting_api_integration/security_and_spaces/group1/tests/alerting/get_alert_state.ts @@ -10,8 +10,7 @@ import { getUrlPrefix, ObjectRemover, getTestRuleData, - getConsumerUnauthorizedErrorMessage, - getProducerUnauthorizedErrorMessage, + getUnauthorizedErrorMessage, } from '../../../../common/lib'; import { FtrProviderContext } from '../../../../common/ftr_provider_context'; import { UserAtSpaceScenarios } from '../../../scenarios'; @@ -47,7 +46,7 @@ export default function createGetAlertStateTests({ getService }: FtrProviderCont expect(response.statusCode).to.eql(403); expect(response.body).to.eql({ error: 'Forbidden', - message: getConsumerUnauthorizedErrorMessage('get', 'test.noop', 'alertsFixture'), + message: getUnauthorizedErrorMessage('get', 'test.noop', 'alertsFixture'), statusCode: 403, }); break; @@ -87,7 +86,7 @@ export default function createGetAlertStateTests({ getService }: FtrProviderCont expect(response.statusCode).to.eql(403); expect(response.body).to.eql({ error: 'Forbidden', - message: getConsumerUnauthorizedErrorMessage( + message: getUnauthorizedErrorMessage( 'get', 'test.unrestricted-noop', 'alertsFixture' @@ -97,17 +96,6 @@ export default function createGetAlertStateTests({ getService }: FtrProviderCont break; case 'space_1_all at space1': case 'space_1_all_alerts_none_actions at space1': - expect(response.statusCode).to.eql(403); - expect(response.body).to.eql({ - error: 'Forbidden', - message: getProducerUnauthorizedErrorMessage( - 'get', - 'test.unrestricted-noop', - 'alertsRestrictedFixture' - ), - statusCode: 403, - }); - break; case 'global_read at space1': case 'superuser at space1': case 'space_1_all_with_restricted_fixture at space1': diff --git a/x-pack/test/alerting_api_integration/security_and_spaces/group1/tests/alerting/get_alert_summary.ts b/x-pack/test/alerting_api_integration/security_and_spaces/group1/tests/alerting/get_alert_summary.ts index 7ad1a54de24856..9ba49b93e0b39d 100644 --- a/x-pack/test/alerting_api_integration/security_and_spaces/group1/tests/alerting/get_alert_summary.ts +++ b/x-pack/test/alerting_api_integration/security_and_spaces/group1/tests/alerting/get_alert_summary.ts @@ -11,8 +11,7 @@ import { getUrlPrefix, ObjectRemover, getTestRuleData, - getConsumerUnauthorizedErrorMessage, - getProducerUnauthorizedErrorMessage, + getUnauthorizedErrorMessage, } from '../../../../common/lib'; import { FtrProviderContext } from '../../../../common/ftr_provider_context'; import { UserAtSpaceScenarios } from '../../../scenarios'; @@ -50,7 +49,7 @@ export default function createGetAlertSummaryTests({ getService }: FtrProviderCo expect(response.statusCode).to.eql(403); expect(response.body).to.eql({ error: 'Forbidden', - message: getConsumerUnauthorizedErrorMessage('get', 'test.noop', 'alertsFixture'), + message: getUnauthorizedErrorMessage('get', 'test.noop', 'alertsFixture'), statusCode: 403, }); break; @@ -119,7 +118,7 @@ export default function createGetAlertSummaryTests({ getService }: FtrProviderCo expect(response.statusCode).to.eql(403); expect(response.body).to.eql({ error: 'Forbidden', - message: getConsumerUnauthorizedErrorMessage( + message: getUnauthorizedErrorMessage( 'get', 'test.unrestricted-noop', 'alertsFixture' @@ -129,17 +128,6 @@ export default function createGetAlertSummaryTests({ getService }: FtrProviderCo break; case 'space_1_all at space1': case 'space_1_all_alerts_none_actions at space1': - expect(response.statusCode).to.eql(403); - expect(response.body).to.eql({ - error: 'Forbidden', - message: getProducerUnauthorizedErrorMessage( - 'get', - 'test.unrestricted-noop', - 'alertsRestrictedFixture' - ), - statusCode: 403, - }); - break; case 'global_read at space1': case 'superuser at space1': case 'space_1_all_with_restricted_fixture at space1': diff --git a/x-pack/test/alerting_api_integration/security_and_spaces/group2/tests/alerting/alerts.ts b/x-pack/test/alerting_api_integration/security_and_spaces/group2/tests/alerting/alerts.ts index de1bb08f62772b..90ddf77f888c3b 100644 --- a/x-pack/test/alerting_api_integration/security_and_spaces/group2/tests/alerting/alerts.ts +++ b/x-pack/test/alerting_api_integration/security_and_spaces/group2/tests/alerting/alerts.ts @@ -20,7 +20,7 @@ import { getTestRuleData, ObjectRemover, AlertUtils, - getConsumerUnauthorizedErrorMessage, + getUnauthorizedErrorMessage, TaskManagerUtils, getEventLog, } from '../../../../common/lib'; @@ -130,7 +130,7 @@ export default function alertTests({ getService }: FtrProviderContext) { expect(response.statusCode).to.eql(403); expect(response.body).to.eql({ error: 'Forbidden', - message: getConsumerUnauthorizedErrorMessage( + message: getUnauthorizedErrorMessage( 'create', 'test.always-firing', 'alertsFixture' @@ -254,7 +254,7 @@ instanceStateValue: true expect(response.statusCode).to.eql(403); expect(response.body).to.eql({ error: 'Forbidden', - message: getConsumerUnauthorizedErrorMessage( + message: getUnauthorizedErrorMessage( 'create', 'test.always-firing', 'alertsFixture' @@ -500,7 +500,7 @@ instanceStateValue: true expect(response.statusCode).to.eql(403); expect(response.body).to.eql({ error: 'Forbidden', - message: getConsumerUnauthorizedErrorMessage( + message: getUnauthorizedErrorMessage( 'create', 'test.always-firing', 'alertsFixture' @@ -601,7 +601,7 @@ instanceStateValue: true expect(response.statusCode).to.eql(403); expect(response.body).to.eql({ error: 'Forbidden', - message: getConsumerUnauthorizedErrorMessage( + message: getUnauthorizedErrorMessage( 'create', 'test.authorization', 'alertsFixture' @@ -719,7 +719,7 @@ instanceStateValue: true expect(response.statusCode).to.eql(403); expect(response.body).to.eql({ error: 'Forbidden', - message: getConsumerUnauthorizedErrorMessage( + message: getUnauthorizedErrorMessage( 'create', 'test.always-firing', 'alertsFixture' @@ -815,7 +815,7 @@ instanceStateValue: true expect(response.statusCode).to.eql(403); expect(response.body).to.eql({ error: 'Forbidden', - message: getConsumerUnauthorizedErrorMessage( + message: getUnauthorizedErrorMessage( 'create', 'test.always-firing', 'alertsFixture' @@ -873,7 +873,7 @@ instanceStateValue: true expect(response.statusCode).to.eql(403); expect(response.body).to.eql({ error: 'Forbidden', - message: getConsumerUnauthorizedErrorMessage( + message: getUnauthorizedErrorMessage( 'create', 'test.always-firing', 'alertsFixture' @@ -953,7 +953,7 @@ instanceStateValue: true expect(response.statusCode).to.eql(403); expect(response.body).to.eql({ error: 'Forbidden', - message: getConsumerUnauthorizedErrorMessage( + message: getUnauthorizedErrorMessage( 'create', 'test.always-firing', 'alertsFixture' @@ -1018,7 +1018,7 @@ instanceStateValue: true expect(response.statusCode).to.eql(403); expect(response.body).to.eql({ error: 'Forbidden', - message: getConsumerUnauthorizedErrorMessage( + message: getUnauthorizedErrorMessage( 'create', 'test.always-firing', 'alertsFixture' @@ -1074,7 +1074,7 @@ instanceStateValue: true expect(response.statusCode).to.eql(403); expect(response.body).to.eql({ error: 'Forbidden', - message: getConsumerUnauthorizedErrorMessage( + message: getUnauthorizedErrorMessage( 'create', 'test.always-firing', 'alertsFixture' @@ -1133,7 +1133,7 @@ instanceStateValue: true expect(response.statusCode).to.eql(403); expect(response.body).to.eql({ error: 'Forbidden', - message: getConsumerUnauthorizedErrorMessage( + message: getUnauthorizedErrorMessage( 'create', 'test.always-firing', 'alertsFixture' @@ -1192,7 +1192,7 @@ instanceStateValue: true expect(response.statusCode).to.eql(403); expect(response.body).to.eql({ error: 'Forbidden', - message: getConsumerUnauthorizedErrorMessage( + message: getUnauthorizedErrorMessage( 'create', 'test.always-firing', 'alertsFixture' @@ -1256,7 +1256,7 @@ instanceStateValue: true expect(response.statusCode).to.eql(403); expect(response.body).to.eql({ error: 'Forbidden', - message: getConsumerUnauthorizedErrorMessage( + message: getUnauthorizedErrorMessage( 'create', 'test.always-firing-alert-as-data', 'alertsFixture' @@ -1318,7 +1318,7 @@ instanceStateValue: true expect(response.statusCode).to.eql(403); expect(response.body).to.eql({ error: 'Forbidden', - message: getConsumerUnauthorizedErrorMessage( + message: getUnauthorizedErrorMessage( 'create', 'test.always-firing-alert-as-data', 'alertsFixture' @@ -1392,7 +1392,7 @@ instanceStateValue: true expect(response.statusCode).to.eql(403); expect(response.body).to.eql({ error: 'Forbidden', - message: getConsumerUnauthorizedErrorMessage( + message: getUnauthorizedErrorMessage( 'create', 'test.always-firing-alert-as-data', 'alertsFixture' @@ -1447,7 +1447,7 @@ instanceStateValue: true expect(response.statusCode).to.eql(403); expect(response.body).to.eql({ error: 'Forbidden', - message: getConsumerUnauthorizedErrorMessage( + message: getUnauthorizedErrorMessage( 'create', 'test.always-firing-alert-as-data', 'alertsFixture' @@ -1676,7 +1676,7 @@ instanceStateValue: true expect(response.statusCode).to.eql(403); expect(response.body).to.eql({ error: 'Forbidden', - message: getConsumerUnauthorizedErrorMessage( + message: getUnauthorizedErrorMessage( 'create', 'test.always-firing-alert-as-data', 'alertsFixture' diff --git a/x-pack/test/alerting_api_integration/security_and_spaces/group2/tests/alerting/mute_all.ts b/x-pack/test/alerting_api_integration/security_and_spaces/group2/tests/alerting/mute_all.ts index ca3570a511d17c..bba117642e3c37 100644 --- a/x-pack/test/alerting_api_integration/security_and_spaces/group2/tests/alerting/mute_all.ts +++ b/x-pack/test/alerting_api_integration/security_and_spaces/group2/tests/alerting/mute_all.ts @@ -14,8 +14,7 @@ import { getUrlPrefix, getTestRuleData, ObjectRemover, - getConsumerUnauthorizedErrorMessage, - getProducerUnauthorizedErrorMessage, + getUnauthorizedErrorMessage, } from '../../../../common/lib'; // eslint-disable-next-line import/no-default-export @@ -72,11 +71,7 @@ export default function createMuteAlertTests({ getService }: FtrProviderContext) expect(response.statusCode).to.eql(403); expect(response.body).to.eql({ error: 'Forbidden', - message: getConsumerUnauthorizedErrorMessage( - 'muteAll', - 'test.noop', - 'alertsFixture' - ), + message: getUnauthorizedErrorMessage('muteAll', 'test.noop', 'alertsFixture'), statusCode: 403, }); break; @@ -137,7 +132,7 @@ export default function createMuteAlertTests({ getService }: FtrProviderContext) expect(response.statusCode).to.eql(403); expect(response.body).to.eql({ error: 'Forbidden', - message: getConsumerUnauthorizedErrorMessage( + message: getUnauthorizedErrorMessage( 'muteAll', 'test.restricted-noop', 'alertsRestrictedFixture' @@ -191,7 +186,7 @@ export default function createMuteAlertTests({ getService }: FtrProviderContext) expect(response.statusCode).to.eql(403); expect(response.body).to.eql({ error: 'Forbidden', - message: getConsumerUnauthorizedErrorMessage( + message: getUnauthorizedErrorMessage( 'muteAll', 'test.unrestricted-noop', 'alertsFixture' @@ -201,17 +196,6 @@ export default function createMuteAlertTests({ getService }: FtrProviderContext) break; case 'space_1_all at space1': case 'space_1_all_alerts_none_actions at space1': - expect(response.statusCode).to.eql(403); - expect(response.body).to.eql({ - error: 'Forbidden', - message: getProducerUnauthorizedErrorMessage( - 'muteAll', - 'test.unrestricted-noop', - 'alertsRestrictedFixture' - ), - statusCode: 403, - }); - break; case 'superuser at space1': case 'space_1_all_with_restricted_fixture at space1': expect(response.statusCode).to.eql(204); @@ -257,11 +241,7 @@ export default function createMuteAlertTests({ getService }: FtrProviderContext) expect(response.statusCode).to.eql(403); expect(response.body).to.eql({ error: 'Forbidden', - message: getConsumerUnauthorizedErrorMessage( - 'muteAll', - 'test.restricted-noop', - 'alerts' - ), + message: getUnauthorizedErrorMessage('muteAll', 'test.restricted-noop', 'alerts'), statusCode: 403, }); break; @@ -271,7 +251,7 @@ export default function createMuteAlertTests({ getService }: FtrProviderContext) expect(response.statusCode).to.eql(403); expect(response.body).to.eql({ error: 'Forbidden', - message: getProducerUnauthorizedErrorMessage( + message: getUnauthorizedErrorMessage( 'muteAll', 'test.restricted-noop', 'alertsRestrictedFixture' diff --git a/x-pack/test/alerting_api_integration/security_and_spaces/group2/tests/alerting/mute_instance.ts b/x-pack/test/alerting_api_integration/security_and_spaces/group2/tests/alerting/mute_instance.ts index 63a285e0f4cb85..3a308f47b4812f 100644 --- a/x-pack/test/alerting_api_integration/security_and_spaces/group2/tests/alerting/mute_instance.ts +++ b/x-pack/test/alerting_api_integration/security_and_spaces/group2/tests/alerting/mute_instance.ts @@ -14,8 +14,7 @@ import { getUrlPrefix, getTestRuleData, ObjectRemover, - getConsumerUnauthorizedErrorMessage, - getProducerUnauthorizedErrorMessage, + getUnauthorizedErrorMessage, } from '../../../../common/lib'; // eslint-disable-next-line import/no-default-export @@ -72,11 +71,7 @@ export default function createMuteAlertInstanceTests({ getService }: FtrProvider expect(response.statusCode).to.eql(403); expect(response.body).to.eql({ error: 'Forbidden', - message: getConsumerUnauthorizedErrorMessage( - 'muteAlert', - 'test.noop', - 'alertsFixture' - ), + message: getUnauthorizedErrorMessage('muteAlert', 'test.noop', 'alertsFixture'), statusCode: 403, }); break; @@ -137,7 +132,7 @@ export default function createMuteAlertInstanceTests({ getService }: FtrProvider expect(response.statusCode).to.eql(403); expect(response.body).to.eql({ error: 'Forbidden', - message: getConsumerUnauthorizedErrorMessage( + message: getUnauthorizedErrorMessage( 'muteAlert', 'test.restricted-noop', 'alertsRestrictedFixture' @@ -191,7 +186,7 @@ export default function createMuteAlertInstanceTests({ getService }: FtrProvider expect(response.statusCode).to.eql(403); expect(response.body).to.eql({ error: 'Forbidden', - message: getConsumerUnauthorizedErrorMessage( + message: getUnauthorizedErrorMessage( 'muteAlert', 'test.unrestricted-noop', 'alertsFixture' @@ -201,17 +196,6 @@ export default function createMuteAlertInstanceTests({ getService }: FtrProvider break; case 'space_1_all at space1': case 'space_1_all_alerts_none_actions at space1': - expect(response.statusCode).to.eql(403); - expect(response.body).to.eql({ - error: 'Forbidden', - message: getProducerUnauthorizedErrorMessage( - 'muteAlert', - 'test.unrestricted-noop', - 'alertsRestrictedFixture' - ), - statusCode: 403, - }); - break; case 'superuser at space1': case 'space_1_all_with_restricted_fixture at space1': expect(response.statusCode).to.eql(204); @@ -257,11 +241,7 @@ export default function createMuteAlertInstanceTests({ getService }: FtrProvider expect(response.statusCode).to.eql(403); expect(response.body).to.eql({ error: 'Forbidden', - message: getConsumerUnauthorizedErrorMessage( - 'muteAlert', - 'test.restricted-noop', - 'alerts' - ), + message: getUnauthorizedErrorMessage('muteAlert', 'test.restricted-noop', 'alerts'), statusCode: 403, }); break; @@ -271,7 +251,7 @@ export default function createMuteAlertInstanceTests({ getService }: FtrProvider expect(response.statusCode).to.eql(403); expect(response.body).to.eql({ error: 'Forbidden', - message: getProducerUnauthorizedErrorMessage( + message: getUnauthorizedErrorMessage( 'muteAlert', 'test.restricted-noop', 'alertsRestrictedFixture' @@ -324,11 +304,7 @@ export default function createMuteAlertInstanceTests({ getService }: FtrProvider expect(response.statusCode).to.eql(403); expect(response.body).to.eql({ error: 'Forbidden', - message: getConsumerUnauthorizedErrorMessage( - 'muteAlert', - 'test.noop', - 'alertsFixture' - ), + message: getUnauthorizedErrorMessage('muteAlert', 'test.noop', 'alertsFixture'), statusCode: 403, }); break; diff --git a/x-pack/test/alerting_api_integration/security_and_spaces/group2/tests/alerting/rbac_legacy.ts b/x-pack/test/alerting_api_integration/security_and_spaces/group2/tests/alerting/rbac_legacy.ts index ce30fbc283034e..8cca92320cfa7b 100644 --- a/x-pack/test/alerting_api_integration/security_and_spaces/group2/tests/alerting/rbac_legacy.ts +++ b/x-pack/test/alerting_api_integration/security_and_spaces/group2/tests/alerting/rbac_legacy.ts @@ -150,7 +150,7 @@ export default function alertTests({ getService }: FtrProviderContext) { expect(failedUpdateKeyDueToAlertsPrivilegesResponse.body).to.eql({ error: 'Forbidden', message: - 'Unauthorized to updateApiKey a "test.always-firing" rule for "alertsFixture"', + 'Unauthorized by "alertsFixture" to updateApiKey "test.always-firing" rule', statusCode: 403, }); break; diff --git a/x-pack/test/alerting_api_integration/security_and_spaces/group2/tests/alerting/snooze.ts b/x-pack/test/alerting_api_integration/security_and_spaces/group2/tests/alerting/snooze.ts index 2376e05635e9ca..8073ef48fbefe6 100644 --- a/x-pack/test/alerting_api_integration/security_and_spaces/group2/tests/alerting/snooze.ts +++ b/x-pack/test/alerting_api_integration/security_and_spaces/group2/tests/alerting/snooze.ts @@ -14,8 +14,7 @@ import { getUrlPrefix, getTestRuleData, ObjectRemover, - getConsumerUnauthorizedErrorMessage, - getProducerUnauthorizedErrorMessage, + getUnauthorizedErrorMessage, } from '../../../../common/lib'; const NOW = new Date().toISOString(); @@ -84,11 +83,7 @@ export default function createSnoozeRuleTests({ getService }: FtrProviderContext expect(response.statusCode).to.eql(403); expect(response.body).to.eql({ error: 'Forbidden', - message: getConsumerUnauthorizedErrorMessage( - 'snooze', - 'test.noop', - 'alertsFixture' - ), + message: getUnauthorizedErrorMessage('snooze', 'test.noop', 'alertsFixture'), statusCode: 403, }); break; @@ -155,7 +150,7 @@ export default function createSnoozeRuleTests({ getService }: FtrProviderContext expect(response.statusCode).to.eql(403); expect(response.body).to.eql({ error: 'Forbidden', - message: getConsumerUnauthorizedErrorMessage( + message: getUnauthorizedErrorMessage( 'snooze', 'test.restricted-noop', 'alertsRestrictedFixture' @@ -215,7 +210,7 @@ export default function createSnoozeRuleTests({ getService }: FtrProviderContext expect(response.statusCode).to.eql(403); expect(response.body).to.eql({ error: 'Forbidden', - message: getConsumerUnauthorizedErrorMessage( + message: getUnauthorizedErrorMessage( 'snooze', 'test.unrestricted-noop', 'alertsFixture' @@ -225,17 +220,6 @@ export default function createSnoozeRuleTests({ getService }: FtrProviderContext break; case 'space_1_all at space1': case 'space_1_all_alerts_none_actions at space1': - expect(response.statusCode).to.eql(403); - expect(response.body).to.eql({ - error: 'Forbidden', - message: getProducerUnauthorizedErrorMessage( - 'snooze', - 'test.unrestricted-noop', - 'alertsRestrictedFixture' - ), - statusCode: 403, - }); - break; case 'superuser at space1': case 'space_1_all_with_restricted_fixture at space1': expect(response.statusCode).to.eql(204); @@ -287,11 +271,7 @@ export default function createSnoozeRuleTests({ getService }: FtrProviderContext expect(response.statusCode).to.eql(403); expect(response.body).to.eql({ error: 'Forbidden', - message: getConsumerUnauthorizedErrorMessage( - 'snooze', - 'test.restricted-noop', - 'alerts' - ), + message: getUnauthorizedErrorMessage('snooze', 'test.restricted-noop', 'alerts'), statusCode: 403, }); break; @@ -301,7 +281,7 @@ export default function createSnoozeRuleTests({ getService }: FtrProviderContext expect(response.statusCode).to.eql(403); expect(response.body).to.eql({ error: 'Forbidden', - message: getProducerUnauthorizedErrorMessage( + message: getUnauthorizedErrorMessage( 'snooze', 'test.restricted-noop', 'alertsRestrictedFixture' @@ -380,11 +360,7 @@ export default function createSnoozeRuleTests({ getService }: FtrProviderContext expect(response.statusCode).to.eql(403); expect(response.body).to.eql({ error: 'Forbidden', - message: getConsumerUnauthorizedErrorMessage( - 'snooze', - 'test.noop', - 'alertsFixture' - ), + message: getUnauthorizedErrorMessage('snooze', 'test.noop', 'alertsFixture'), statusCode: 403, }); break; diff --git a/x-pack/test/alerting_api_integration/security_and_spaces/group2/tests/alerting/unmute_all.ts b/x-pack/test/alerting_api_integration/security_and_spaces/group2/tests/alerting/unmute_all.ts index b4576650c58c84..9623462b8ae45d 100644 --- a/x-pack/test/alerting_api_integration/security_and_spaces/group2/tests/alerting/unmute_all.ts +++ b/x-pack/test/alerting_api_integration/security_and_spaces/group2/tests/alerting/unmute_all.ts @@ -14,8 +14,7 @@ import { getUrlPrefix, getTestRuleData, ObjectRemover, - getConsumerUnauthorizedErrorMessage, - getProducerUnauthorizedErrorMessage, + getUnauthorizedErrorMessage, } from '../../../../common/lib'; // eslint-disable-next-line import/no-default-export @@ -77,11 +76,7 @@ export default function createUnmuteAlertTests({ getService }: FtrProviderContex expect(response.statusCode).to.eql(403); expect(response.body).to.eql({ error: 'Forbidden', - message: getConsumerUnauthorizedErrorMessage( - 'unmuteAll', - 'test.noop', - 'alertsFixture' - ), + message: getUnauthorizedErrorMessage('unmuteAll', 'test.noop', 'alertsFixture'), statusCode: 403, }); break; @@ -147,7 +142,7 @@ export default function createUnmuteAlertTests({ getService }: FtrProviderContex expect(response.statusCode).to.eql(403); expect(response.body).to.eql({ error: 'Forbidden', - message: getConsumerUnauthorizedErrorMessage( + message: getUnauthorizedErrorMessage( 'unmuteAll', 'test.restricted-noop', 'alertsRestrictedFixture' @@ -206,7 +201,7 @@ export default function createUnmuteAlertTests({ getService }: FtrProviderContex expect(response.statusCode).to.eql(403); expect(response.body).to.eql({ error: 'Forbidden', - message: getConsumerUnauthorizedErrorMessage( + message: getUnauthorizedErrorMessage( 'unmuteAll', 'test.unrestricted-noop', 'alertsFixture' @@ -216,17 +211,6 @@ export default function createUnmuteAlertTests({ getService }: FtrProviderContex break; case 'space_1_all at space1': case 'space_1_all_alerts_none_actions at space1': - expect(response.statusCode).to.eql(403); - expect(response.body).to.eql({ - error: 'Forbidden', - message: getProducerUnauthorizedErrorMessage( - 'unmuteAll', - 'test.unrestricted-noop', - 'alertsRestrictedFixture' - ), - statusCode: 403, - }); - break; case 'superuser at space1': case 'space_1_all_with_restricted_fixture at space1': expect(response.statusCode).to.eql(204); @@ -277,11 +261,7 @@ export default function createUnmuteAlertTests({ getService }: FtrProviderContex expect(response.statusCode).to.eql(403); expect(response.body).to.eql({ error: 'Forbidden', - message: getConsumerUnauthorizedErrorMessage( - 'unmuteAll', - 'test.restricted-noop', - 'alerts' - ), + message: getUnauthorizedErrorMessage('unmuteAll', 'test.restricted-noop', 'alerts'), statusCode: 403, }); break; @@ -291,7 +271,7 @@ export default function createUnmuteAlertTests({ getService }: FtrProviderContex expect(response.statusCode).to.eql(403); expect(response.body).to.eql({ error: 'Forbidden', - message: getProducerUnauthorizedErrorMessage( + message: getUnauthorizedErrorMessage( 'unmuteAll', 'test.restricted-noop', 'alertsRestrictedFixture' diff --git a/x-pack/test/alerting_api_integration/security_and_spaces/group2/tests/alerting/unmute_instance.ts b/x-pack/test/alerting_api_integration/security_and_spaces/group2/tests/alerting/unmute_instance.ts index 1aa84f64a7e795..3d9f49eb3cffb8 100644 --- a/x-pack/test/alerting_api_integration/security_and_spaces/group2/tests/alerting/unmute_instance.ts +++ b/x-pack/test/alerting_api_integration/security_and_spaces/group2/tests/alerting/unmute_instance.ts @@ -14,8 +14,7 @@ import { getUrlPrefix, getTestRuleData, ObjectRemover, - getConsumerUnauthorizedErrorMessage, - getProducerUnauthorizedErrorMessage, + getUnauthorizedErrorMessage, } from '../../../../common/lib'; // eslint-disable-next-line import/no-default-export @@ -77,11 +76,7 @@ export default function createMuteAlertInstanceTests({ getService }: FtrProvider expect(response.statusCode).to.eql(403); expect(response.body).to.eql({ error: 'Forbidden', - message: getConsumerUnauthorizedErrorMessage( - 'unmuteAlert', - 'test.noop', - 'alertsFixture' - ), + message: getUnauthorizedErrorMessage('unmuteAlert', 'test.noop', 'alertsFixture'), statusCode: 403, }); break; @@ -147,7 +142,7 @@ export default function createMuteAlertInstanceTests({ getService }: FtrProvider expect(response.statusCode).to.eql(403); expect(response.body).to.eql({ error: 'Forbidden', - message: getConsumerUnauthorizedErrorMessage( + message: getUnauthorizedErrorMessage( 'unmuteAlert', 'test.restricted-noop', 'alertsRestrictedFixture' @@ -206,7 +201,7 @@ export default function createMuteAlertInstanceTests({ getService }: FtrProvider expect(response.statusCode).to.eql(403); expect(response.body).to.eql({ error: 'Forbidden', - message: getConsumerUnauthorizedErrorMessage( + message: getUnauthorizedErrorMessage( 'unmuteAlert', 'test.unrestricted-noop', 'alertsFixture' @@ -216,17 +211,6 @@ export default function createMuteAlertInstanceTests({ getService }: FtrProvider break; case 'space_1_all at space1': case 'space_1_all_alerts_none_actions at space1': - expect(response.statusCode).to.eql(403); - expect(response.body).to.eql({ - error: 'Forbidden', - message: getProducerUnauthorizedErrorMessage( - 'unmuteAlert', - 'test.unrestricted-noop', - 'alertsRestrictedFixture' - ), - statusCode: 403, - }); - break; case 'superuser at space1': case 'space_1_all_with_restricted_fixture at space1': expect(response.statusCode).to.eql(204); @@ -277,7 +261,7 @@ export default function createMuteAlertInstanceTests({ getService }: FtrProvider expect(response.statusCode).to.eql(403); expect(response.body).to.eql({ error: 'Forbidden', - message: getConsumerUnauthorizedErrorMessage( + message: getUnauthorizedErrorMessage( 'unmuteAlert', 'test.restricted-noop', 'alerts' @@ -291,7 +275,7 @@ export default function createMuteAlertInstanceTests({ getService }: FtrProvider expect(response.statusCode).to.eql(403); expect(response.body).to.eql({ error: 'Forbidden', - message: getProducerUnauthorizedErrorMessage( + message: getUnauthorizedErrorMessage( 'unmuteAlert', 'test.restricted-noop', 'alertsRestrictedFixture' diff --git a/x-pack/test/alerting_api_integration/security_and_spaces/group2/tests/alerting/unsnooze.ts b/x-pack/test/alerting_api_integration/security_and_spaces/group2/tests/alerting/unsnooze.ts index 39b5b720ccda32..2f697b0ee3aff7 100644 --- a/x-pack/test/alerting_api_integration/security_and_spaces/group2/tests/alerting/unsnooze.ts +++ b/x-pack/test/alerting_api_integration/security_and_spaces/group2/tests/alerting/unsnooze.ts @@ -14,8 +14,7 @@ import { getUrlPrefix, getTestRuleData, ObjectRemover, - getConsumerUnauthorizedErrorMessage, - getProducerUnauthorizedErrorMessage, + getUnauthorizedErrorMessage, } from '../../../../common/lib'; // eslint-disable-next-line import/no-default-export @@ -71,11 +70,7 @@ export default function createUnsnoozeRuleTests({ getService }: FtrProviderConte expect(response.statusCode).to.eql(403); expect(response.body).to.eql({ error: 'Forbidden', - message: getConsumerUnauthorizedErrorMessage( - 'unsnooze', - 'test.noop', - 'alertsFixture' - ), + message: getUnauthorizedErrorMessage('unsnooze', 'test.noop', 'alertsFixture'), statusCode: 403, }); break; @@ -137,7 +132,7 @@ export default function createUnsnoozeRuleTests({ getService }: FtrProviderConte expect(response.statusCode).to.eql(403); expect(response.body).to.eql({ error: 'Forbidden', - message: getConsumerUnauthorizedErrorMessage( + message: getUnauthorizedErrorMessage( 'unsnooze', 'test.restricted-noop', 'alertsRestrictedFixture' @@ -192,7 +187,7 @@ export default function createUnsnoozeRuleTests({ getService }: FtrProviderConte expect(response.statusCode).to.eql(403); expect(response.body).to.eql({ error: 'Forbidden', - message: getConsumerUnauthorizedErrorMessage( + message: getUnauthorizedErrorMessage( 'unsnooze', 'test.unrestricted-noop', 'alertsFixture' @@ -202,17 +197,6 @@ export default function createUnsnoozeRuleTests({ getService }: FtrProviderConte break; case 'space_1_all at space1': case 'space_1_all_alerts_none_actions at space1': - expect(response.statusCode).to.eql(403); - expect(response.body).to.eql({ - error: 'Forbidden', - message: getProducerUnauthorizedErrorMessage( - 'unsnooze', - 'test.unrestricted-noop', - 'alertsRestrictedFixture' - ), - statusCode: 403, - }); - break; case 'superuser at space1': case 'space_1_all_with_restricted_fixture at space1': expect(response.statusCode).to.eql(204); @@ -259,11 +243,7 @@ export default function createUnsnoozeRuleTests({ getService }: FtrProviderConte expect(response.statusCode).to.eql(403); expect(response.body).to.eql({ error: 'Forbidden', - message: getConsumerUnauthorizedErrorMessage( - 'unsnooze', - 'test.restricted-noop', - 'alerts' - ), + message: getUnauthorizedErrorMessage('unsnooze', 'test.restricted-noop', 'alerts'), statusCode: 403, }); break; @@ -273,7 +253,7 @@ export default function createUnsnoozeRuleTests({ getService }: FtrProviderConte expect(response.statusCode).to.eql(403); expect(response.body).to.eql({ error: 'Forbidden', - message: getProducerUnauthorizedErrorMessage( + message: getUnauthorizedErrorMessage( 'unsnooze', 'test.restricted-noop', 'alertsRestrictedFixture' diff --git a/x-pack/test/alerting_api_integration/security_and_spaces/group2/tests/alerting/update.ts b/x-pack/test/alerting_api_integration/security_and_spaces/group2/tests/alerting/update.ts index b6972730cc7809..31250862265ea5 100644 --- a/x-pack/test/alerting_api_integration/security_and_spaces/group2/tests/alerting/update.ts +++ b/x-pack/test/alerting_api_integration/security_and_spaces/group2/tests/alerting/update.ts @@ -14,8 +14,7 @@ import { getTestRuleData, ObjectRemover, ensureDatetimeIsWithinRange, - getConsumerUnauthorizedErrorMessage, - getProducerUnauthorizedErrorMessage, + getUnauthorizedErrorMessage, } from '../../../../common/lib'; import { FtrProviderContext } from '../../../../common/ftr_provider_context'; @@ -89,11 +88,7 @@ export default function createUpdateTests({ getService }: FtrProviderContext) { expect(response.statusCode).to.eql(403); expect(response.body).to.eql({ error: 'Forbidden', - message: getConsumerUnauthorizedErrorMessage( - 'update', - 'test.noop', - 'alertsFixture' - ), + message: getUnauthorizedErrorMessage('update', 'test.noop', 'alertsFixture'), statusCode: 403, }); break; @@ -199,7 +194,7 @@ export default function createUpdateTests({ getService }: FtrProviderContext) { expect(response.statusCode).to.eql(403); expect(response.body).to.eql({ error: 'Forbidden', - message: getConsumerUnauthorizedErrorMessage( + message: getUnauthorizedErrorMessage( 'update', 'test.restricted-noop', 'alertsRestrictedFixture' @@ -289,7 +284,7 @@ export default function createUpdateTests({ getService }: FtrProviderContext) { expect(response.statusCode).to.eql(403); expect(response.body).to.eql({ error: 'Forbidden', - message: getConsumerUnauthorizedErrorMessage( + message: getUnauthorizedErrorMessage( 'update', 'test.unrestricted-noop', 'alertsFixture' @@ -299,17 +294,6 @@ export default function createUpdateTests({ getService }: FtrProviderContext) { break; case 'space_1_all at space1': case 'space_1_all_alerts_none_actions at space1': - expect(response.statusCode).to.eql(403); - expect(response.body).to.eql({ - error: 'Forbidden', - message: getProducerUnauthorizedErrorMessage( - 'update', - 'test.unrestricted-noop', - 'alertsRestrictedFixture' - ), - statusCode: 403, - }); - break; case 'superuser at space1': case 'space_1_all_with_restricted_fixture at space1': expect(response.statusCode).to.eql(200); @@ -391,11 +375,7 @@ export default function createUpdateTests({ getService }: FtrProviderContext) { expect(response.statusCode).to.eql(403); expect(response.body).to.eql({ error: 'Forbidden', - message: getConsumerUnauthorizedErrorMessage( - 'update', - 'test.restricted-noop', - 'alerts' - ), + message: getUnauthorizedErrorMessage('update', 'test.restricted-noop', 'alerts'), statusCode: 403, }); break; @@ -405,7 +385,7 @@ export default function createUpdateTests({ getService }: FtrProviderContext) { expect(response.statusCode).to.eql(403); expect(response.body).to.eql({ error: 'Forbidden', - message: getProducerUnauthorizedErrorMessage( + message: getUnauthorizedErrorMessage( 'update', 'test.restricted-noop', 'alertsRestrictedFixture' @@ -504,11 +484,7 @@ export default function createUpdateTests({ getService }: FtrProviderContext) { expect(response.statusCode).to.eql(403); expect(response.body).to.eql({ error: 'Forbidden', - message: getConsumerUnauthorizedErrorMessage( - 'update', - 'test.noop', - 'alertsFixture' - ), + message: getUnauthorizedErrorMessage('update', 'test.noop', 'alertsFixture'), statusCode: 403, }); break; @@ -591,11 +567,7 @@ export default function createUpdateTests({ getService }: FtrProviderContext) { expect(response.statusCode).to.eql(403); expect(response.body).to.eql({ error: 'Forbidden', - message: getConsumerUnauthorizedErrorMessage( - 'update', - 'test.noop', - 'alertsFixture' - ), + message: getUnauthorizedErrorMessage('update', 'test.noop', 'alertsFixture'), statusCode: 403, }); break; @@ -763,11 +735,7 @@ export default function createUpdateTests({ getService }: FtrProviderContext) { expect(response.statusCode).to.eql(403); expect(response.body).to.eql({ error: 'Forbidden', - message: getConsumerUnauthorizedErrorMessage( - 'update', - 'test.validation', - 'alertsFixture' - ), + message: getUnauthorizedErrorMessage('update', 'test.validation', 'alertsFixture'), statusCode: 403, }); break; @@ -864,11 +832,7 @@ export default function createUpdateTests({ getService }: FtrProviderContext) { expect(response.statusCode).to.eql(403); expect(response.body).to.eql({ error: 'Forbidden', - message: getConsumerUnauthorizedErrorMessage( - 'update', - 'test.noop', - 'alertsFixture' - ), + message: getUnauthorizedErrorMessage('update', 'test.noop', 'alertsFixture'), statusCode: 403, }); break; @@ -941,11 +905,7 @@ export default function createUpdateTests({ getService }: FtrProviderContext) { expect(response.statusCode).to.eql(403); expect(response.body).to.eql({ error: 'Forbidden', - message: getConsumerUnauthorizedErrorMessage( - 'update', - 'test.longRunning', - 'alertsFixture' - ), + message: getUnauthorizedErrorMessage('update', 'test.longRunning', 'alertsFixture'), statusCode: 403, }); break; @@ -1009,11 +969,7 @@ export default function createUpdateTests({ getService }: FtrProviderContext) { expect(response.statusCode).to.eql(403); expect(response.body).to.eql({ error: 'Forbidden', - message: getConsumerUnauthorizedErrorMessage( - 'update', - 'test.noop', - 'alertsFixture' - ), + message: getUnauthorizedErrorMessage('update', 'test.noop', 'alertsFixture'), statusCode: 403, }); break; diff --git a/x-pack/test/alerting_api_integration/security_and_spaces/group2/tests/alerting/update_api_key.ts b/x-pack/test/alerting_api_integration/security_and_spaces/group2/tests/alerting/update_api_key.ts index 6a594316796d47..7e2f4e74aa0235 100644 --- a/x-pack/test/alerting_api_integration/security_and_spaces/group2/tests/alerting/update_api_key.ts +++ b/x-pack/test/alerting_api_integration/security_and_spaces/group2/tests/alerting/update_api_key.ts @@ -14,8 +14,7 @@ import { getUrlPrefix, getTestRuleData, ObjectRemover, - getConsumerUnauthorizedErrorMessage, - getProducerUnauthorizedErrorMessage, + getUnauthorizedErrorMessage, } from '../../../../common/lib'; // eslint-disable-next-line import/no-default-export @@ -71,11 +70,7 @@ export default function createUpdateApiKeyTests({ getService }: FtrProviderConte expect(response.statusCode).to.eql(403); expect(response.body).to.eql({ error: 'Forbidden', - message: getConsumerUnauthorizedErrorMessage( - 'updateApiKey', - 'test.noop', - 'alertsFixture' - ), + message: getUnauthorizedErrorMessage('updateApiKey', 'test.noop', 'alertsFixture'), statusCode: 403, }); break; @@ -136,7 +131,7 @@ export default function createUpdateApiKeyTests({ getService }: FtrProviderConte expect(response.statusCode).to.eql(403); expect(response.body).to.eql({ error: 'Forbidden', - message: getConsumerUnauthorizedErrorMessage( + message: getUnauthorizedErrorMessage( 'updateApiKey', 'test.restricted-noop', 'alertsRestrictedFixture' @@ -190,7 +185,7 @@ export default function createUpdateApiKeyTests({ getService }: FtrProviderConte expect(response.statusCode).to.eql(403); expect(response.body).to.eql({ error: 'Forbidden', - message: getConsumerUnauthorizedErrorMessage( + message: getUnauthorizedErrorMessage( 'updateApiKey', 'test.unrestricted-noop', 'alertsFixture' @@ -200,17 +195,6 @@ export default function createUpdateApiKeyTests({ getService }: FtrProviderConte break; case 'space_1_all at space1': case 'space_1_all_alerts_none_actions at space1': - expect(response.statusCode).to.eql(403); - expect(response.body).to.eql({ - error: 'Forbidden', - message: getProducerUnauthorizedErrorMessage( - 'updateApiKey', - 'test.unrestricted-noop', - 'alertsRestrictedFixture' - ), - statusCode: 403, - }); - break; case 'superuser at space1': case 'space_1_all_with_restricted_fixture at space1': expect(response.statusCode).to.eql(204); @@ -256,7 +240,7 @@ export default function createUpdateApiKeyTests({ getService }: FtrProviderConte expect(response.statusCode).to.eql(403); expect(response.body).to.eql({ error: 'Forbidden', - message: getConsumerUnauthorizedErrorMessage( + message: getUnauthorizedErrorMessage( 'updateApiKey', 'test.restricted-noop', 'alerts' @@ -270,7 +254,7 @@ export default function createUpdateApiKeyTests({ getService }: FtrProviderConte expect(response.statusCode).to.eql(403); expect(response.body).to.eql({ error: 'Forbidden', - message: getProducerUnauthorizedErrorMessage( + message: getUnauthorizedErrorMessage( 'updateApiKey', 'test.restricted-noop', 'alertsRestrictedFixture' @@ -334,11 +318,7 @@ export default function createUpdateApiKeyTests({ getService }: FtrProviderConte expect(response.statusCode).to.eql(403); expect(response.body).to.eql({ error: 'Forbidden', - message: getConsumerUnauthorizedErrorMessage( - 'updateApiKey', - 'test.noop', - 'alertsFixture' - ), + message: getUnauthorizedErrorMessage('updateApiKey', 'test.noop', 'alertsFixture'), statusCode: 403, }); break; diff --git a/x-pack/test/alerting_api_integration/security_and_spaces/group3/tests/alerting/bulk_delete.ts b/x-pack/test/alerting_api_integration/security_and_spaces/group3/tests/alerting/bulk_delete.ts index 4febd9b866f155..ef50420bb65612 100644 --- a/x-pack/test/alerting_api_integration/security_and_spaces/group3/tests/alerting/bulk_delete.ts +++ b/x-pack/test/alerting_api_integration/security_and_spaces/group3/tests/alerting/bulk_delete.ts @@ -8,7 +8,12 @@ import expect from '@kbn/expect'; import { UserAtSpaceScenarios, SuperuserAtSpace1 } from '../../../scenarios'; import { FtrProviderContext } from '../../../../common/ftr_provider_context'; -import { getUrlPrefix, getTestRuleData, ObjectRemover } from '../../../../common/lib'; +import { + getUrlPrefix, + getTestRuleData, + ObjectRemover, + getUnauthorizedErrorMessage, +} from '../../../../common/lib'; const getDefaultRules = (response: any) => ({ id: response.body.rules[0].id, @@ -130,7 +135,7 @@ export default ({ getService }: FtrProviderContext) => { case 'global_read at space1': expect(response.body).to.eql({ error: 'Forbidden', - message: 'Unauthorized to bulkDelete a "test.noop" rule for "alertsFixture"', + message: getUnauthorizedErrorMessage('bulkDelete', 'test.noop', 'alertsFixture'), statusCode: 403, }); expect(response.statusCode).to.eql(403); @@ -195,8 +200,11 @@ export default ({ getService }: FtrProviderContext) => { case 'global_read at space1': expect(response.body).to.eql({ error: 'Forbidden', - message: - 'Unauthorized to bulkDelete a "test.restricted-noop" rule for "alertsRestrictedFixture"', + message: getUnauthorizedErrorMessage( + 'bulkDelete', + 'test.restricted-noop', + 'alertsRestrictedFixture' + ), statusCode: 403, }); expect(response.statusCode).to.eql(403); @@ -342,7 +350,7 @@ export default ({ getService }: FtrProviderContext) => { case 'global_read at space1': expect(response.body).to.eql({ error: 'Forbidden', - message: 'Unauthorized to bulkDelete a "test.noop" rule by "alertsFixture"', + message: getUnauthorizedErrorMessage('bulkDelete', 'test.noop', 'alertsFixture'), statusCode: 403, }); expect(response.statusCode).to.eql(403); @@ -409,7 +417,7 @@ export default ({ getService }: FtrProviderContext) => { case 'global_read at space1': expect(response.body).to.eql({ error: 'Forbidden', - message: 'Unauthorized to bulkDelete a "test.noop" rule for "alertsFixture"', + message: getUnauthorizedErrorMessage('bulkDelete', 'test.noop', 'alertsFixture'), statusCode: 403, }); expect(response.statusCode).to.eql(403); @@ -481,7 +489,7 @@ export default ({ getService }: FtrProviderContext) => { case 'global_read at space1': expect(response.body).to.eql({ error: 'Forbidden', - message: 'Unauthorized to bulkDelete a "test.noop" rule for "alertsFixture"', + message: getUnauthorizedErrorMessage('bulkDelete', 'test.noop', 'alertsFixture'), statusCode: 403, }); expect(response.statusCode).to.eql(403); @@ -550,7 +558,7 @@ export default ({ getService }: FtrProviderContext) => { case 'global_read at space1': expect(response.body).to.eql({ error: 'Forbidden', - message: 'Unauthorized to bulkDelete a "test.noop" rule for "alertsFixture"', + message: getUnauthorizedErrorMessage('bulkDelete', 'test.noop', 'alertsFixture'), statusCode: 403, }); expect(response.statusCode).to.eql(403); diff --git a/x-pack/test/alerting_api_integration/security_and_spaces/group3/tests/alerting/bulk_disable.ts b/x-pack/test/alerting_api_integration/security_and_spaces/group3/tests/alerting/bulk_disable.ts index 13a89de8381caf..8ea0b913620aa5 100644 --- a/x-pack/test/alerting_api_integration/security_and_spaces/group3/tests/alerting/bulk_disable.ts +++ b/x-pack/test/alerting_api_integration/security_and_spaces/group3/tests/alerting/bulk_disable.ts @@ -8,7 +8,12 @@ import expect from '@kbn/expect'; import { UserAtSpaceScenarios, SuperuserAtSpace1 } from '../../../scenarios'; import { FtrProviderContext } from '../../../../common/ftr_provider_context'; -import { getUrlPrefix, getTestRuleData, ObjectRemover } from '../../../../common/lib'; +import { + getUrlPrefix, + getTestRuleData, + ObjectRemover, + getUnauthorizedErrorMessage, +} from '../../../../common/lib'; const getDefaultRules = (response: any) => ({ id: response.body.rules[0].id, @@ -95,7 +100,7 @@ export default ({ getService }: FtrProviderContext) => { case 'global_read at space1': expect(response.body).to.eql({ error: 'Forbidden', - message: 'Unauthorized to bulkDisable a "test.noop" rule for "alertsFixture"', + message: getUnauthorizedErrorMessage('bulkDisable', 'test.noop', 'alertsFixture'), statusCode: 403, }); expect(response.statusCode).to.eql(403); @@ -112,7 +117,7 @@ export default ({ getService }: FtrProviderContext) => { } }); - it('should handle bulk disable of one rule appropriately based on id when consumer is the same as producer', async () => { + it('should handle bulk disable of one rule appropriately based on id when consumer is the same as producer', async () => { const { body: createdRule } = await supertest .post(`${getUrlPrefix(space.id)}/api/alerting/rule`) .set('kbn-xsrf', 'foo') @@ -144,8 +149,11 @@ export default ({ getService }: FtrProviderContext) => { case 'global_read at space1': expect(response.body).to.eql({ error: 'Forbidden', - message: - 'Unauthorized to bulkDisable a "test.restricted-noop" rule for "alertsRestrictedFixture"', + message: getUnauthorizedErrorMessage( + 'bulkDisable', + 'test.restricted-noop', + 'alertsRestrictedFixture' + ), statusCode: 403, }); expect(response.statusCode).to.eql(403); @@ -269,7 +277,7 @@ export default ({ getService }: FtrProviderContext) => { case 'global_read at space1': expect(response.body).to.eql({ error: 'Forbidden', - message: 'Unauthorized to bulkDisable a "test.noop" rule by "alertsFixture"', + message: getUnauthorizedErrorMessage('bulkDisable', 'test.noop', 'alertsFixture'), statusCode: 403, }); expect(response.statusCode).to.eql(403); @@ -328,7 +336,7 @@ export default ({ getService }: FtrProviderContext) => { case 'global_read at space1': expect(response.body).to.eql({ error: 'Forbidden', - message: 'Unauthorized to bulkDisable a "test.noop" rule for "alertsFixture"', + message: getUnauthorizedErrorMessage('bulkDisable', 'test.noop', 'alertsFixture'), statusCode: 403, }); expect(response.statusCode).to.eql(403); @@ -378,7 +386,7 @@ export default ({ getService }: FtrProviderContext) => { case 'global_read at space1': expect(response.body).to.eql({ error: 'Forbidden', - message: 'Unauthorized to bulkDisable a "test.noop" rule for "alertsFixture"', + message: getUnauthorizedErrorMessage('bulkDisable', 'test.noop', 'alertsFixture'), statusCode: 403, }); expect(response.statusCode).to.eql(403); @@ -414,7 +422,7 @@ export default ({ getService }: FtrProviderContext) => { case 'global_read at space1': expect(response.body).to.eql({ error: 'Forbidden', - message: 'Unauthorized to bulkDisable a "test.noop" rule for "alertsFixture"', + message: getUnauthorizedErrorMessage('bulkDisable', 'test.noop', 'alertsFixture'), statusCode: 403, }); expect(response.statusCode).to.eql(403); diff --git a/x-pack/test/alerting_api_integration/security_and_spaces/group3/tests/alerting/bulk_edit.ts b/x-pack/test/alerting_api_integration/security_and_spaces/group3/tests/alerting/bulk_edit.ts index 2f3f36b9dc34b2..c948791e5ea49d 100644 --- a/x-pack/test/alerting_api_integration/security_and_spaces/group3/tests/alerting/bulk_edit.ts +++ b/x-pack/test/alerting_api_integration/security_and_spaces/group3/tests/alerting/bulk_edit.ts @@ -13,8 +13,7 @@ import { getUrlPrefix, getTestRuleData, ObjectRemover, - getConsumerUnauthorizedErrorMessage, - getProducerUnauthorizedErrorMessage, + getUnauthorizedErrorMessage, } from '../../../../common/lib'; import { FtrProviderContext } from '../../../../common/ftr_provider_context'; @@ -85,7 +84,7 @@ export default function createUpdateTests({ getService }: FtrProviderContext) { case 'global_read at space1': expect(response.body).to.eql({ error: 'Forbidden', - message: 'Unauthorized to bulkEdit a "test.noop" rule for "alertsFixture"', + message: getUnauthorizedErrorMessage('bulkEdit', 'test.noop', 'alertsFixture'), statusCode: 403, }); expect(response.statusCode).to.eql(403); @@ -178,7 +177,7 @@ export default function createUpdateTests({ getService }: FtrProviderContext) { case 'global_read at space1': expect(response.body).to.eql({ error: 'Forbidden', - message: 'Unauthorized to bulkEdit a "test.noop" rule for "alertsFixture"', + message: getUnauthorizedErrorMessage('bulkEdit', 'test.noop', 'alertsFixture'), statusCode: 403, }); expect(response.statusCode).to.eql(403); @@ -249,7 +248,7 @@ export default function createUpdateTests({ getService }: FtrProviderContext) { case 'global_read at space1': expect(response.body).to.eql({ error: 'Forbidden', - message: getConsumerUnauthorizedErrorMessage( + message: getUnauthorizedErrorMessage( 'bulkEdit', 'test.restricted-noop', 'alertsRestrictedFixture' @@ -310,7 +309,7 @@ export default function createUpdateTests({ getService }: FtrProviderContext) { case 'global_read at space1': expect(response.body).to.eql({ error: 'Forbidden', - message: getConsumerUnauthorizedErrorMessage( + message: getUnauthorizedErrorMessage( 'bulkEdit', 'test.unrestricted-noop', 'alertsFixture' @@ -321,17 +320,6 @@ export default function createUpdateTests({ getService }: FtrProviderContext) { break; case 'space_1_all at space1': case 'space_1_all_alerts_none_actions at space1': - expect(response.body).to.eql({ - error: 'Forbidden', - message: getProducerUnauthorizedErrorMessage( - 'bulkEdit', - 'test.unrestricted-noop', - 'alertsRestrictedFixture' - ), - statusCode: 403, - }); - expect(response.statusCode).to.eql(403); - break; case 'superuser at space1': case 'space_1_all_with_restricted_fixture at space1': expect(response.body.rules[0].tags).to.eql(['foo', 'tag-A', 'tag-B']); @@ -390,7 +378,7 @@ export default function createUpdateTests({ getService }: FtrProviderContext) { case 'global_read at space1': expect(response.body).to.eql({ error: 'Forbidden', - message: getProducerUnauthorizedErrorMessage( + message: getUnauthorizedErrorMessage( 'bulkEdit', 'test.restricted-noop', 'alertsRestrictedFixture' diff --git a/x-pack/test/alerting_api_integration/security_and_spaces/group3/tests/alerting/bulk_enable.ts b/x-pack/test/alerting_api_integration/security_and_spaces/group3/tests/alerting/bulk_enable.ts index 3f1239558c5eb3..0366eca2ad24d2 100644 --- a/x-pack/test/alerting_api_integration/security_and_spaces/group3/tests/alerting/bulk_enable.ts +++ b/x-pack/test/alerting_api_integration/security_and_spaces/group3/tests/alerting/bulk_enable.ts @@ -8,7 +8,12 @@ import expect from '@kbn/expect'; import { UserAtSpaceScenarios, SuperuserAtSpace1 } from '../../../scenarios'; import { FtrProviderContext } from '../../../../common/ftr_provider_context'; -import { getUrlPrefix, getTestRuleData, ObjectRemover } from '../../../../common/lib'; +import { + getUrlPrefix, + getTestRuleData, + ObjectRemover, + getUnauthorizedErrorMessage, +} from '../../../../common/lib'; const defaultSuccessfulResponse = { total: 1, rules: [], errors: [], taskIdsFailedToBeEnabled: [] }; @@ -61,7 +66,7 @@ export default ({ getService }: FtrProviderContext) => { case 'global_read at space1': expect(response.body).to.eql({ error: 'Forbidden', - message: 'Unauthorized to bulkEnable a "test.noop" rule for "alertsFixture"', + message: getUnauthorizedErrorMessage('bulkEnable', 'test.noop', 'alertsFixture'), statusCode: 403, }); expect(response.statusCode).to.eql(403); @@ -147,8 +152,11 @@ export default ({ getService }: FtrProviderContext) => { case 'global_read at space1': expect(response.body).to.eql({ error: 'Forbidden', - message: - 'Unauthorized to bulkEnable a "test.restricted-noop" rule for "alertsRestrictedFixture"', + message: getUnauthorizedErrorMessage( + 'bulkEnable', + 'test.restricted-noop', + 'alertsRestrictedFixture' + ), statusCode: 403, }); expect(response.statusCode).to.eql(403); @@ -213,7 +221,6 @@ export default ({ getService }: FtrProviderContext) => { expect(response.statusCode).to.eql(400); break; case 'superuser at space1': - expect(response.body).to.eql(defaultSuccessfulResponse); expect(response.statusCode).to.eql(200); break; default: @@ -253,7 +260,7 @@ export default ({ getService }: FtrProviderContext) => { case 'global_read at space1': expect(response.body).to.eql({ error: 'Forbidden', - message: 'Unauthorized to bulkEnable a "test.noop" rule by "alertsFixture"', + message: getUnauthorizedErrorMessage('bulkEnable', 'test.noop', 'alertsFixture'), statusCode: 403, }); expect(response.statusCode).to.eql(403); @@ -303,7 +310,7 @@ export default ({ getService }: FtrProviderContext) => { case 'global_read at space1': expect(response.body).to.eql({ error: 'Forbidden', - message: 'Unauthorized to bulkEnable a "test.noop" rule for "alertsFixture"', + message: getUnauthorizedErrorMessage('bulkEnable', 'test.noop', 'alertsFixture'), statusCode: 403, }); expect(response.statusCode).to.eql(403); @@ -353,7 +360,7 @@ export default ({ getService }: FtrProviderContext) => { case 'global_read at space1': expect(response.body).to.eql({ error: 'Forbidden', - message: 'Unauthorized to bulkEnable a "test.noop" rule for "alertsFixture"', + message: getUnauthorizedErrorMessage('bulkEnable', 'test.noop', 'alertsFixture'), statusCode: 403, }); expect(response.statusCode).to.eql(403); @@ -393,7 +400,7 @@ export default ({ getService }: FtrProviderContext) => { case 'global_read at space1': expect(response.body).to.eql({ error: 'Forbidden', - message: 'Unauthorized to bulkEnable a "test.noop" rule for "alertsFixture"', + message: getUnauthorizedErrorMessage('bulkEnable', 'test.noop', 'alertsFixture'), statusCode: 403, }); expect(response.statusCode).to.eql(403); diff --git a/x-pack/test/alerting_api_integration/security_and_spaces/group3/tests/alerting/clone.ts b/x-pack/test/alerting_api_integration/security_and_spaces/group3/tests/alerting/clone.ts index 46aef808c0877d..2cbec3853f02e7 100644 --- a/x-pack/test/alerting_api_integration/security_and_spaces/group3/tests/alerting/clone.ts +++ b/x-pack/test/alerting_api_integration/security_and_spaces/group3/tests/alerting/clone.ts @@ -10,7 +10,7 @@ import { Spaces, UserAtSpaceScenarios } from '../../../scenarios'; import { checkAAD, getTestRuleData, - getConsumerUnauthorizedErrorMessage, + getUnauthorizedErrorMessage, getUrlPrefix, ObjectRemover, TaskManagerDoc, @@ -121,11 +121,7 @@ export default function createAlertTests({ getService }: FtrProviderContext) { expect(response.statusCode).to.eql(403); expect(response.body).to.eql({ error: 'Forbidden', - message: getConsumerUnauthorizedErrorMessage( - 'create', - 'test.noop', - 'alertsFixture' - ), + message: getUnauthorizedErrorMessage('create', 'test.noop', 'alertsFixture'), statusCode: 403, }); break; diff --git a/x-pack/test/alerting_api_integration/security_and_spaces/group3/tests/alerting/run_soon.ts b/x-pack/test/alerting_api_integration/security_and_spaces/group3/tests/alerting/run_soon.ts index 831edffbae51ab..461d603734d109 100644 --- a/x-pack/test/alerting_api_integration/security_and_spaces/group3/tests/alerting/run_soon.ts +++ b/x-pack/test/alerting_api_integration/security_and_spaces/group3/tests/alerting/run_soon.ts @@ -9,7 +9,7 @@ import expect from '@kbn/expect'; import { UserAtSpaceScenarios } from '../../../scenarios'; import { getTestRuleData, - getConsumerUnauthorizedErrorMessage, + getUnauthorizedErrorMessage, getUrlPrefix, ObjectRemover, } from '../../../../common/lib'; @@ -50,11 +50,7 @@ export default function createAlertTests({ getService }: FtrProviderContext) { expect(response.statusCode).to.eql(403); expect(response.body).to.eql({ error: 'Forbidden', - message: getConsumerUnauthorizedErrorMessage( - 'runSoon', - 'test.noop', - 'alertsFixture' - ), + message: getUnauthorizedErrorMessage('runSoon', 'test.noop', 'alertsFixture'), statusCode: 403, }); break; diff --git a/x-pack/test/alerting_api_integration/spaces_only/tests/alerting/group1/create.ts b/x-pack/test/alerting_api_integration/spaces_only/tests/alerting/group1/create.ts index f3e7d8891cde39..eb9f90cb41f2a9 100644 --- a/x-pack/test/alerting_api_integration/spaces_only/tests/alerting/group1/create.ts +++ b/x-pack/test/alerting_api_integration/spaces_only/tests/alerting/group1/create.ts @@ -15,7 +15,7 @@ import { getUrlPrefix, getTestRuleData, ObjectRemover, - getConsumerUnauthorizedErrorMessage, + getUnauthorizedErrorMessage, TaskManagerDoc, } from '../../../../common/lib'; import { FtrProviderContext } from '../../../../common/ftr_provider_context'; @@ -444,7 +444,7 @@ export default function createAlertTests({ getService }: FtrProviderContext) { expect(response.status).to.eql(403); expect(response.body).to.eql({ error: 'Forbidden', - message: getConsumerUnauthorizedErrorMessage( + message: getUnauthorizedErrorMessage( 'create', 'test.noop', 'some consumer patrick invented' diff --git a/x-pack/test/alerting_api_integration/spaces_only/tests/alerting/group1/rule_types.ts b/x-pack/test/alerting_api_integration/spaces_only/tests/alerting/group1/rule_types.ts index ae2e2d61267c45..8f9b7566b7640c 100644 --- a/x-pack/test/alerting_api_integration/spaces_only/tests/alerting/group1/rule_types.ts +++ b/x-pack/test/alerting_api_integration/spaces_only/tests/alerting/group1/rule_types.ts @@ -137,6 +137,7 @@ export default function listRuleTypes({ getService }: FtrProviderContext) { hasFieldsForAAD: false, hasAlertsMappings: false, ruleTaskTimeout: '5m', + validLegacyConsumers: ['alerts'], }); expect(Object.keys(authorizedConsumers)).to.contain('alertsFixture'); }); diff --git a/x-pack/test/api_integration/apis/maps/maps_telemetry.ts b/x-pack/test/api_integration/apis/maps/maps_telemetry.ts index 4883f01b5ac6ed..d67cd7051860c7 100644 --- a/x-pack/test/api_integration/apis/maps/maps_telemetry.ts +++ b/x-pack/test/api_integration/apis/maps/maps_telemetry.ts @@ -36,8 +36,8 @@ export default function ({ getService }: FtrProviderContext) { return fieldStat.name === 'geo_point'; } ); - expect(geoPointFieldStats.count).to.be(31); - expect(geoPointFieldStats.index_count).to.be(9); + expect(geoPointFieldStats.count).to.be(39); + expect(geoPointFieldStats.index_count).to.be(10); const geoShapeFieldStats = apiResponse.cluster_stats.indices.mappings.field_types.find( (fieldStat: estypes.ClusterStatsFieldTypes) => { diff --git a/x-pack/test/functional/es_archives/rule_registry/o11y_alerts/data.json b/x-pack/test/functional/es_archives/rule_registry/o11y_alerts/data.json new file mode 100644 index 00000000000000..c3a19cfbcf81a2 --- /dev/null +++ b/x-pack/test/functional/es_archives/rule_registry/o11y_alerts/data.json @@ -0,0 +1,104 @@ +{ + "type": "doc", + "value": { + "index": ".alerts-observability.apm.alerts-default-000001", + "id": "NoxgpHkBqbdrfX07MqXV", + "source": { + "event.kind" : "signal", + "@timestamp": "2020-12-16T15:16:18.570Z", + "kibana.alert.rule.rule_type_id": "apm.error_rate", + "message": "hello world 1", + "kibana.alert.rule.consumer": "apm", + "kibana.alert.workflow_status": "open", + "kibana.alert.time_range": { + "gte": "2020-12-16T15:16:18.570Z" + }, + "kibana.alert.status": "active", + "kibana.space_ids": ["space1", "space2"] + } + } +} + +{ + "type": "doc", + "value": { + "index": ".alerts-observability.apm.alerts-default-000001", + "id": "space1alert", + "source": { + "event.kind" : "signal", + "@timestamp": "2020-12-16T15:16:18.570Z", + "kibana.alert.rule.rule_type_id": "apm.error_rate", + "message": "hello world 1", + "kibana.alert.rule.consumer": "apm", + "kibana.alert.workflow_status": "recovered", + "kibana.alert.time_range": { + "gte": "2020-12-16T15:16:18.570Z", + "lte": "2020-12-16T15:16:19.570Z" + }, + "kibana.alert.status": "recovered", + "kibana.space_ids": ["space1"] + } + } +} + +{ + "type": "doc", + "value": { + "index": ".alerts-observability.apm.alerts-default-000001", + "id": "space2alert", + "source": { + "event.kind" : "signal", + "@timestamp": "2020-12-16T15:16:19.570Z", + "kibana.alert.rule.rule_type_id": "apm.error_rate", + "message": "hello world 1", + "kibana.alert.rule.consumer": "apm", + "kibana.alert.workflow_status": "open", + "kibana.alert.status": "active", + "kibana.space_ids": ["space2"] + } + } +} + +{ + "type": "doc", + "value": { + "index": ".alerts-observability.logs.alerts-default-000001", + "id": "123456789XYZ", + "source": { + "event.kind": "signal", + "@timestamp": "2020-12-16T15:16:18.570Z", + "kibana.alert.rule.rule_type_id": "logs.alert.document.count", + "message": "hello world 1", + "kibana.alert.rule.consumer": "logs", + "kibana.alert.workflow_status": "open", + "kibana.alert.time_range": { + "gte": "2020-12-16T15:16:18.570Z" + }, + "kibana.alert.status": "active", + "kibana.space_ids": ["space1", "space2"] + } + } +} + +{ + "type": "doc", + "value": { + "index": ".alerts-observability.logs.alerts-default-000001", + "id": "space1alertLogs", + "source": { + "event.kind": "signal", + "@timestamp": "2020-12-16T15:16:18.570Z", + "kibana.alert.rule.rule_type_id": "logs.alert.document.count", + "message": "hello world 1", + "kibana.alert.rule.consumer": "logs", + "kibana.alert.workflow_status": "recovered", + "kibana.alert.time_range": { + "gte": "2020-12-16T15:16:18.570Z", + "lte": "2020-12-16T15:27:19.570Z" + }, + "kibana.alert.end": "2020-12-16T15:27:19.570Z", + "kibana.alert.status": "recovered", + "kibana.space_ids": ["space1"] + } + } +} diff --git a/x-pack/test/functional/es_archives/rule_registry/o11y_alerts/mappings.json b/x-pack/test/functional/es_archives/rule_registry/o11y_alerts/mappings.json new file mode 100644 index 00000000000000..0faf5daf3df76e --- /dev/null +++ b/x-pack/test/functional/es_archives/rule_registry/o11y_alerts/mappings.json @@ -0,0 +1,66 @@ +{ + "type": "index", + "value": { + "index": ".alerts-observability.apm.alerts-default-000001", + "mappings": { + "properties": { + "message": { + "type": "text", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 256 + } + } + }, + "kibana.alert.rule.consumer": { + "type": "keyword", + "ignore_above": 256 + }, + "kibana.alert.time_range": { + "type": "date_range", + "format": "epoch_millis||strict_date_optional_time" + } + } + } + } +} + + +{ + "type": "index", + "value": { + "index": ".alerts-observability.logs.alerts-default-000001", + "aliases": { + ".alerts-observability.logs.alerts-default": {} + }, + "mappings": { + "properties": { + "message": { + "type": "text", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 256 + } + } + }, + "kibana.alert.rule.consumer": { + "type": "keyword", + "ignore_above": 256 + }, + "kibana.alert.status": { + "type": "keyword", + "ignore_above": 256 + }, + "kibana.alert.time_range": { + "type": "date_range", + "format": "epoch_millis||strict_date_optional_time" + }, + "kibana.alert.end": { + "type": "date" + } + } + } + } +} diff --git a/x-pack/test/observability_functional/apps/observability/pages/rules_page.ts b/x-pack/test/observability_functional/apps/observability/pages/rules_page.ts index 7f8711fba0ab16..e912a52d36a180 100644 --- a/x-pack/test/observability_functional/apps/observability/pages/rules_page.ts +++ b/x-pack/test/observability_functional/apps/observability/pages/rules_page.ts @@ -8,13 +8,16 @@ import expect from '@kbn/expect'; import { FtrProviderContext } from '../../../ftr_provider_context'; -export default ({ getService }: FtrProviderContext) => { +export default ({ getService, getPageObjects }: FtrProviderContext) => { const esArchiver = getService('esArchiver'); const testSubjects = getService('testSubjects'); const supertest = getService('supertest'); const find = getService('find'); const retry = getService('retry'); const RULE_ENDPOINT = '/api/alerting/rule'; + const INTERNAL_RULE_ENDPOINT = '/internal/alerting/rules'; + + const PageObjects = getPageObjects(['header']); async function createRule(rule: any): Promise { const ruleResponse = await supertest.post(RULE_ENDPOINT).set('kbn-xsrf', 'foo').send(rule); @@ -22,11 +25,21 @@ export default ({ getService }: FtrProviderContext) => { return ruleResponse.body.id; } + async function getRuleByName(name: string) { + const { + body: { data: rules }, + } = await supertest + .get(`${INTERNAL_RULE_ENDPOINT}/_find?search=${name}&search_fields=name`) + .expect(200); + return rules.find((rule: any) => rule.name === name); + } + async function deleteRuleById(ruleId: string) { - const ruleResponse = await supertest - .delete(`${RULE_ENDPOINT}/${ruleId}`) - .set('kbn-xsrf', 'foo'); - expect(ruleResponse.status).to.eql(204); + await supertest + .patch(`${INTERNAL_RULE_ENDPOINT}/_bulk_delete`) + .set('kbn-xsrf', 'foo') + .send({ ids: [ruleId] }) + .expect(200); return true; } @@ -42,11 +55,47 @@ export default ({ getService }: FtrProviderContext) => { return rows; }; + const selectAndFillInEsQueryRule = async (ruleName: string) => { + await testSubjects.setValue('ruleNameInput', ruleName); + await testSubjects.click(`.es-query-SelectOption`); + await testSubjects.click('queryFormType_esQuery'); + await testSubjects.click('selectIndexExpression'); + const indexComboBox = await find.byCssSelector('#indexSelectSearchBox'); + await indexComboBox.click(); + await indexComboBox.type('*'); + const filterSelectItems = await find.allByCssSelector(`.euiFilterSelectItem`); + await filterSelectItems[1].click(); + await testSubjects.click('thresholdAlertTimeFieldSelect'); + await retry.try(async () => { + const fieldOptions = await find.allByCssSelector('#thresholdTimeField option'); + expect(fieldOptions[1]).not.to.be(undefined); + await fieldOptions[1].click(); + }); + await testSubjects.click('closePopover'); + }; + describe('Observability Rules page', function () { this.tags('includeFirefox'); const observability = getService('observability'); + const navigateAndOpenCreateRuleFlyout = async () => { + await observability.alerts.common.navigateToRulesPage(); + await retry.waitFor( + 'Create Rule button is visible', + async () => await testSubjects.exists('createRuleButton') + ); + await retry.waitFor( + 'Create Rule button is enabled', + async () => await testSubjects.isEnabled('createRuleButton') + ); + await observability.alerts.rulesPage.clickCreateRuleButton(); + await retry.waitFor( + 'Create Rule flyout is visible', + async () => await testSubjects.exists('addRuleFlyoutTitle') + ); + }; + before(async () => { await esArchiver.load('x-pack/test/functional/es_archives/observability/alerts'); await esArchiver.load('x-pack/test/functional/es_archives/infra/metrics_and_logs'); @@ -67,20 +116,85 @@ export default ({ getService }: FtrProviderContext) => { describe('Create rule button', () => { it('Show Create Rule flyout when Create Rule button is clicked', async () => { - await observability.alerts.common.navigateToRulesPage(); - await retry.waitFor( - 'Create Rule button is visible', - async () => await testSubjects.exists('createRuleButton') + await navigateAndOpenCreateRuleFlyout(); + }); + }); + + describe('Create rules flyout', async () => { + const ruleName = 'esQueryRule'; + + afterEach(async () => { + const rule = await getRuleByName(ruleName); + if (rule) { + await deleteRuleById(rule.id); + } + await observability.users.restoreDefaultTestUserRole(); + }); + + it('Allows ES query rules to be created by users with only infrastructure feature enabled', async () => { + await observability.users.setTestUserRole( + observability.users.defineBasicObservabilityRole({ + infrastructure: ['all'], + }) ); - await retry.waitFor( - 'Create Rule button is enabled', - async () => await testSubjects.isEnabled('createRuleButton') + await navigateAndOpenCreateRuleFlyout(); + await selectAndFillInEsQueryRule(ruleName); + + await testSubjects.click('saveRuleButton'); + + await PageObjects.header.waitUntilLoadingHasFinished(); + + const tableRows = await find.allByCssSelector('.euiTableRow'); + const rows = await getRulesList(tableRows); + expect(rows.length).to.be(1); + expect(rows[0].name).to.contain(ruleName); + }); + + it('allows ES query rules to be created by users with only logs feature enabled', async () => { + await observability.users.setTestUserRole( + observability.users.defineBasicObservabilityRole({ + logs: ['all'], + }) ); - await observability.alerts.rulesPage.clickCreateRuleButton(); - await retry.waitFor( - 'Create Rule flyout is visible', - async () => await testSubjects.exists('addRuleFlyoutTitle') + await navigateAndOpenCreateRuleFlyout(); + await selectAndFillInEsQueryRule(ruleName); + + await testSubjects.click('saveRuleButton'); + + await PageObjects.header.waitUntilLoadingHasFinished(); + + const tableRows = await find.allByCssSelector('.euiTableRow'); + const rows = await getRulesList(tableRows); + expect(rows.length).to.be(1); + expect(rows[0].name).to.contain(ruleName); + }); + + it('Should allow the user to select consumers when creating ES query rules', async () => { + await observability.users.setTestUserRole( + observability.users.defineBasicObservabilityRole({ + logs: ['all'], + infrastructure: ['all'], + }) + ); + + await navigateAndOpenCreateRuleFlyout(); + await selectAndFillInEsQueryRule(ruleName); + + await retry.waitFor('consumer select modal is visible', async () => { + return await testSubjects.exists('ruleFormConsumerSelect'); + }); + + const consumerSelect = await testSubjects.find('ruleFormConsumerSelect'); + await consumerSelect.click(); + const consumerOptionsList = await testSubjects.find( + 'comboBoxOptionsList ruleFormConsumerSelect-optionsList' + ); + const consumerOptions = await consumerOptionsList.findAllByClassName( + 'euiComboBoxOption__content' ); + expect(consumerOptions.length).eql(2); + expect(await consumerOptions[0].getVisibleText()).eql('Metrics'); + expect(await consumerOptions[1].getVisibleText()).eql('Logs'); }); }); diff --git a/x-pack/test/plugin_api_integration/test_suites/task_manager/check_registered_task_types.ts b/x-pack/test/plugin_api_integration/test_suites/task_manager/check_registered_task_types.ts index 1d328f05545d63..a5f039eaed5f28 100644 --- a/x-pack/test/plugin_api_integration/test_suites/task_manager/check_registered_task_types.ts +++ b/x-pack/test/plugin_api_integration/test_suites/task_manager/check_registered_task_types.ts @@ -97,6 +97,7 @@ export default function ({ getService }: FtrProviderContext) { 'alerting:monitoring_alert_thread_pool_write_rejections', 'alerting:monitoring_ccr_read_exceptions', 'alerting:monitoring_shard_size', + 'alerting:observability.rules.custom_threshold', 'alerting:siem.eqlRule', 'alerting:siem.indicatorRule', 'alerting:siem.mlRule', diff --git a/x-pack/test/rule_registry/security_and_spaces/tests/basic/get_alert_summary.ts b/x-pack/test/rule_registry/security_and_spaces/tests/basic/get_alert_summary.ts index b22fc830cb73d5..5da72c7f6a76ab 100644 --- a/x-pack/test/rule_registry/security_and_spaces/tests/basic/get_alert_summary.ts +++ b/x-pack/test/rule_registry/security_and_spaces/tests/basic/get_alert_summary.ts @@ -24,11 +24,11 @@ export default ({ getService }: FtrProviderContext) => { describe('Alerts - GET - _alert_summary', () => { before(async () => { - await esArchiver.load('x-pack/test/functional/es_archives/rule_registry/alerts'); + await esArchiver.load('x-pack/test/functional/es_archives/rule_registry/o11y_alerts'); }); after(async () => { - await esArchiver.unload('x-pack/test/functional/es_archives/rule_registry/alerts'); + await esArchiver.unload('x-pack/test/functional/es_archives/rule_registry/o11y_alerts'); }); it('Alert summary for all LOGS alerts with features', async () => { diff --git a/x-pack/test/rule_registry/security_and_spaces/tests/basic/get_alerts_index.ts b/x-pack/test/rule_registry/security_and_spaces/tests/basic/get_alerts_index.ts index 2ac420a8beb6bc..1146fa925908c1 100644 --- a/x-pack/test/rule_registry/security_and_spaces/tests/basic/get_alerts_index.ts +++ b/x-pack/test/rule_registry/security_and_spaces/tests/basic/get_alerts_index.ts @@ -20,7 +20,7 @@ export default ({ getService }: FtrProviderContext) => { const TEST_URL = '/internal/rac/alerts'; const ALERTS_INDEX_URL = `${TEST_URL}/index`; const SPACE1 = 'space1'; - const APM_ALERT_INDEX = '.alerts-observability.apm.alerts'; + const APM_ALERT_INDEX = '.alerts-observability.apm.alerts-default'; const SECURITY_SOLUTION_ALERT_INDEX = '.alerts-security.alerts'; const getAPMIndexName = async (user: User, space: string, expectedStatusCode: number = 200) => { @@ -53,12 +53,12 @@ export default ({ getService }: FtrProviderContext) => { describe('Users:', () => { it(`${obsOnlySpacesAll.username} should be able to access the APM alert in ${SPACE1}`, async () => { const indexNames = await getAPMIndexName(obsOnlySpacesAll, SPACE1); - expect(indexNames.includes(`${APM_ALERT_INDEX}-*`)).to.eql(true); // assert this here so we can use constants in the dynamically-defined test cases below + expect(indexNames.includes(APM_ALERT_INDEX)).to.eql(true); // assert this here so we can use constants in the dynamically-defined test cases below }); it(`${superUser.username} should be able to access the APM alert in ${SPACE1}`, async () => { const indexNames = await getAPMIndexName(superUser, SPACE1); - expect(indexNames.includes(`${APM_ALERT_INDEX}-*`)).to.eql(true); // assert this here so we can use constants in the dynamically-defined test cases below + expect(indexNames.includes(APM_ALERT_INDEX)).to.eql(true); // assert this here so we can use constants in the dynamically-defined test cases below }); it(`${secOnlyRead.username} should NOT be able to access the APM alert in ${SPACE1}`, async () => { diff --git a/x-pack/test/rule_registry/security_and_spaces/tests/basic/get_browser_fields_by_feature_id.ts b/x-pack/test/rule_registry/security_and_spaces/tests/basic/get_browser_fields_by_feature_id.ts index feb84ab625fdb4..94cbdbce774910 100644 --- a/x-pack/test/rule_registry/security_and_spaces/tests/basic/get_browser_fields_by_feature_id.ts +++ b/x-pack/test/rule_registry/security_and_spaces/tests/basic/get_browser_fields_by_feature_id.ts @@ -46,7 +46,7 @@ export default ({ getService }: FtrProviderContext) => { 'uptime', ]); expect(Object.keys(resp.browserFields)).toEqual( - expect.arrayContaining(['base', 'event', 'kibana', 'message']) + expect.arrayContaining(['base', 'event', 'kibana']) ); }); @@ -66,7 +66,6 @@ export default ({ getService }: FtrProviderContext) => { 'error', 'event', 'kibana', - 'message', 'monitor', 'observer', 'tls', diff --git a/x-pack/test_serverless/api_integration/test_suites/observability/custom_threshold_rule/avg_pct_fired.ts b/x-pack/test_serverless/api_integration/test_suites/observability/custom_threshold_rule/avg_pct_fired.ts index f75faa2b2f6864..0389d0eace4e79 100644 --- a/x-pack/test_serverless/api_integration/test_suites/observability/custom_threshold_rule/avg_pct_fired.ts +++ b/x-pack/test_serverless/api_integration/test_suites/observability/custom_threshold_rule/avg_pct_fired.ts @@ -12,7 +12,7 @@ import { } from '@kbn/observability-plugin/common/custom_threshold_rule/types'; import { FIRED_ACTIONS_ID } from '@kbn/observability-plugin/server/lib/rules/custom_threshold/custom_threshold_executor'; import expect from '@kbn/expect'; -import { OBSERVABILITY_THRESHOLD_RULE_TYPE_ID } from '@kbn/observability-plugin/common/constants'; +import { OBSERVABILITY_THRESHOLD_RULE_TYPE_ID } from '@kbn/rule-data-utils'; import { FtrProviderContext } from '../../../ftr_provider_context'; export default function ({ getService }: FtrProviderContext) { @@ -57,7 +57,7 @@ export default function ({ getService }: FtrProviderContext) { }); await esClient.deleteByQuery({ index: '.kibana-event-log-*', - query: { term: { 'kibana.alert.rule.consumer': 'alerts' } }, + query: { term: { 'kibana.alert.rule.consumer': 'logs' } }, }); await dataViewApi.delete({ id: DATA_VIEW_ID, @@ -75,7 +75,7 @@ export default function ({ getService }: FtrProviderContext) { const createdRule = await alertingApi.createRule({ tags: ['observability'], - consumer: 'alerts', + consumer: 'logs', name: 'Threshold rule', ruleTypeId: OBSERVABILITY_THRESHOLD_RULE_TYPE_ID, params: { @@ -142,7 +142,7 @@ export default function ({ getService }: FtrProviderContext) { 'kibana.alert.rule.category', 'Custom threshold (BETA)' ); - expect(resp.hits.hits[0]._source).property('kibana.alert.rule.consumer', 'alerts'); + expect(resp.hits.hits[0]._source).property('kibana.alert.rule.consumer', 'logs'); expect(resp.hits.hits[0]._source).property('kibana.alert.rule.name', 'Threshold rule'); expect(resp.hits.hits[0]._source).property('kibana.alert.rule.producer', 'observability'); expect(resp.hits.hits[0]._source).property('kibana.alert.rule.revision', 0); diff --git a/x-pack/test_serverless/api_integration/test_suites/observability/custom_threshold_rule/avg_pct_no_data.ts b/x-pack/test_serverless/api_integration/test_suites/observability/custom_threshold_rule/avg_pct_no_data.ts index fbcb7a1404293b..0bd7fdf7bbb6fa 100644 --- a/x-pack/test_serverless/api_integration/test_suites/observability/custom_threshold_rule/avg_pct_no_data.ts +++ b/x-pack/test_serverless/api_integration/test_suites/observability/custom_threshold_rule/avg_pct_no_data.ts @@ -11,7 +11,7 @@ import { } from '@kbn/observability-plugin/common/custom_threshold_rule/types'; import { FIRED_ACTIONS_ID } from '@kbn/observability-plugin/server/lib/rules/custom_threshold/custom_threshold_executor'; import expect from '@kbn/expect'; -import { OBSERVABILITY_THRESHOLD_RULE_TYPE_ID } from '@kbn/observability-plugin/common/constants'; +import { OBSERVABILITY_THRESHOLD_RULE_TYPE_ID } from '@kbn/rule-data-utils'; import { FtrProviderContext } from '../../../ftr_provider_context'; export default function ({ getService }: FtrProviderContext) { @@ -52,7 +52,7 @@ export default function ({ getService }: FtrProviderContext) { }); await esClient.deleteByQuery({ index: '.kibana-event-log-*', - query: { term: { 'kibana.alert.rule.consumer': 'alerts' } }, + query: { term: { 'kibana.alert.rule.consumer': 'logs' } }, }); await dataViewApi.delete({ id: DATA_VIEW_ID, @@ -68,7 +68,7 @@ export default function ({ getService }: FtrProviderContext) { const createdRule = await alertingApi.createRule({ tags: ['observability'], - consumer: 'alerts', + consumer: 'logs', name: 'Threshold rule', ruleTypeId: OBSERVABILITY_THRESHOLD_RULE_TYPE_ID, params: { @@ -135,7 +135,7 @@ export default function ({ getService }: FtrProviderContext) { 'kibana.alert.rule.category', 'Custom threshold (BETA)' ); - expect(resp.hits.hits[0]._source).property('kibana.alert.rule.consumer', 'alerts'); + expect(resp.hits.hits[0]._source).property('kibana.alert.rule.consumer', 'logs'); expect(resp.hits.hits[0]._source).property('kibana.alert.rule.name', 'Threshold rule'); expect(resp.hits.hits[0]._source).property('kibana.alert.rule.producer', 'observability'); expect(resp.hits.hits[0]._source).property('kibana.alert.rule.revision', 0); diff --git a/x-pack/test_serverless/api_integration/test_suites/observability/custom_threshold_rule/custom_eq_avg_bytes_fired.ts b/x-pack/test_serverless/api_integration/test_suites/observability/custom_threshold_rule/custom_eq_avg_bytes_fired.ts index 32c8111f33083e..5ee54e1c9ad175 100644 --- a/x-pack/test_serverless/api_integration/test_suites/observability/custom_threshold_rule/custom_eq_avg_bytes_fired.ts +++ b/x-pack/test_serverless/api_integration/test_suites/observability/custom_threshold_rule/custom_eq_avg_bytes_fired.ts @@ -18,7 +18,7 @@ import { } from '@kbn/observability-plugin/common/custom_threshold_rule/types'; import { FIRED_ACTIONS_ID } from '@kbn/observability-plugin/server/lib/rules/custom_threshold/custom_threshold_executor'; import expect from '@kbn/expect'; -import { OBSERVABILITY_THRESHOLD_RULE_TYPE_ID } from '@kbn/observability-plugin/common/constants'; +import { OBSERVABILITY_THRESHOLD_RULE_TYPE_ID } from '@kbn/rule-data-utils'; import { FtrProviderContext } from '../../../ftr_provider_context'; export default function ({ getService }: FtrProviderContext) { @@ -62,7 +62,7 @@ export default function ({ getService }: FtrProviderContext) { }); await esClient.deleteByQuery({ index: '.kibana-event-log-*', - query: { term: { 'kibana.alert.rule.consumer': 'alerts' } }, + query: { term: { 'kibana.alert.rule.consumer': 'logs' } }, }); await dataViewApi.delete({ id: DATA_VIEW_ID, @@ -80,7 +80,7 @@ export default function ({ getService }: FtrProviderContext) { const createdRule = await alertingApi.createRule({ tags: ['observability'], - consumer: 'alerts', + consumer: 'logs', name: 'Threshold rule', ruleTypeId: OBSERVABILITY_THRESHOLD_RULE_TYPE_ID, params: { @@ -149,7 +149,7 @@ export default function ({ getService }: FtrProviderContext) { 'kibana.alert.rule.category', 'Custom threshold (BETA)' ); - expect(resp.hits.hits[0]._source).property('kibana.alert.rule.consumer', 'alerts'); + expect(resp.hits.hits[0]._source).property('kibana.alert.rule.consumer', 'logs'); expect(resp.hits.hits[0]._source).property('kibana.alert.rule.name', 'Threshold rule'); expect(resp.hits.hits[0]._source).property('kibana.alert.rule.producer', 'observability'); expect(resp.hits.hits[0]._source).property('kibana.alert.rule.revision', 0); diff --git a/x-pack/test_serverless/api_integration/test_suites/observability/custom_threshold_rule/documents_count_fired.ts b/x-pack/test_serverless/api_integration/test_suites/observability/custom_threshold_rule/documents_count_fired.ts index 1fa95b8cab8a93..56412a8380d2c4 100644 --- a/x-pack/test_serverless/api_integration/test_suites/observability/custom_threshold_rule/documents_count_fired.ts +++ b/x-pack/test_serverless/api_integration/test_suites/observability/custom_threshold_rule/documents_count_fired.ts @@ -12,7 +12,7 @@ import { } from '@kbn/observability-plugin/common/custom_threshold_rule/types'; import { FIRED_ACTIONS_ID } from '@kbn/observability-plugin/server/lib/rules/custom_threshold/custom_threshold_executor'; import expect from '@kbn/expect'; -import { OBSERVABILITY_THRESHOLD_RULE_TYPE_ID } from '@kbn/observability-plugin/common/constants'; +import { OBSERVABILITY_THRESHOLD_RULE_TYPE_ID } from '@kbn/rule-data-utils'; import { FtrProviderContext } from '../../../ftr_provider_context'; export default function ({ getService }: FtrProviderContext) { @@ -56,7 +56,7 @@ export default function ({ getService }: FtrProviderContext) { }); await esClient.deleteByQuery({ index: '.kibana-event-log-*', - query: { term: { 'kibana.alert.rule.consumer': 'alerts' } }, + query: { term: { 'kibana.alert.rule.consumer': 'logs' } }, }); await dataViewApi.delete({ id: DATA_VIEW_ID, @@ -74,7 +74,7 @@ export default function ({ getService }: FtrProviderContext) { const createdRule = await alertingApi.createRule({ tags: ['observability'], - consumer: 'alerts', + consumer: 'logs', name: 'Threshold rule', ruleTypeId: OBSERVABILITY_THRESHOLD_RULE_TYPE_ID, params: { @@ -139,7 +139,7 @@ export default function ({ getService }: FtrProviderContext) { 'kibana.alert.rule.category', 'Custom threshold (BETA)' ); - expect(resp.hits.hits[0]._source).property('kibana.alert.rule.consumer', 'alerts'); + expect(resp.hits.hits[0]._source).property('kibana.alert.rule.consumer', 'logs'); expect(resp.hits.hits[0]._source).property('kibana.alert.rule.name', 'Threshold rule'); expect(resp.hits.hits[0]._source).property('kibana.alert.rule.producer', 'observability'); expect(resp.hits.hits[0]._source).property('kibana.alert.rule.revision', 0); diff --git a/x-pack/test_serverless/api_integration/test_suites/observability/custom_threshold_rule/group_by_fired.ts b/x-pack/test_serverless/api_integration/test_suites/observability/custom_threshold_rule/group_by_fired.ts index 8bd8312a5184a0..f1b3c949421d4d 100644 --- a/x-pack/test_serverless/api_integration/test_suites/observability/custom_threshold_rule/group_by_fired.ts +++ b/x-pack/test_serverless/api_integration/test_suites/observability/custom_threshold_rule/group_by_fired.ts @@ -20,7 +20,7 @@ import { } from '@kbn/observability-plugin/common/custom_threshold_rule/types'; import { FIRED_ACTIONS_ID } from '@kbn/observability-plugin/server/lib/rules/custom_threshold/custom_threshold_executor'; import expect from '@kbn/expect'; -import { OBSERVABILITY_THRESHOLD_RULE_TYPE_ID } from '@kbn/observability-plugin/common/constants'; +import { OBSERVABILITY_THRESHOLD_RULE_TYPE_ID } from '@kbn/rule-data-utils'; import { FtrProviderContext } from '../../../ftr_provider_context'; export default function ({ getService }: FtrProviderContext) { @@ -66,7 +66,7 @@ export default function ({ getService }: FtrProviderContext) { }); await esClient.deleteByQuery({ index: '.kibana-event-log-*', - query: { term: { 'kibana.alert.rule.consumer': 'alerts' } }, + query: { term: { 'kibana.alert.rule.consumer': 'logs' } }, }); await dataViewApi.delete({ id: DATA_VIEW_ID, @@ -84,7 +84,7 @@ export default function ({ getService }: FtrProviderContext) { const createdRule = await alertingApi.createRule({ tags: ['observability'], - consumer: 'alerts', + consumer: 'logs', name: 'Threshold rule', ruleTypeId: OBSERVABILITY_THRESHOLD_RULE_TYPE_ID, params: { @@ -158,7 +158,7 @@ export default function ({ getService }: FtrProviderContext) { 'kibana.alert.rule.category', 'Custom threshold (BETA)' ); - expect(resp.hits.hits[0]._source).property('kibana.alert.rule.consumer', 'alerts'); + expect(resp.hits.hits[0]._source).property('kibana.alert.rule.consumer', 'logs'); expect(resp.hits.hits[0]._source).property('kibana.alert.rule.name', 'Threshold rule'); expect(resp.hits.hits[0]._source).property('kibana.alert.rule.producer', 'observability'); expect(resp.hits.hits[0]._source).property('kibana.alert.rule.revision', 0); diff --git a/x-pack/test_serverless/tsconfig.json b/x-pack/test_serverless/tsconfig.json index 7a075a29038607..bf23a18899402a 100644 --- a/x-pack/test_serverless/tsconfig.json +++ b/x-pack/test_serverless/tsconfig.json @@ -50,6 +50,7 @@ "@kbn/data-plugin", "@kbn/dev-utils", "@kbn/bfetch-plugin", + "@kbn/rule-data-utils", "@kbn/rison", "@kbn/std", "@kbn/serverless-common-settings", From 4eb1e34a46bbe471ed097ee8701d0a2e959b8817 Mon Sep 17 00:00:00 2001 From: Jeramy Soucy Date: Thu, 21 Sep 2023 20:09:58 -0400 Subject: [PATCH 30/72] Fixes serverless avatar tests (#166665) Closes #165694 Fixes serverless avatar tests by leveraging svlCommonPage login/logout functions. Flaky runners (as I ran the full suites, these show flakiness in other tests, but not the avatar test): - Search: https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/3200 - Security: https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/3198 - Observability: https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/3208 --- .../common/security/navigation/avatar_menu.ts | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/x-pack/test_serverless/functional/test_suites/common/security/navigation/avatar_menu.ts b/x-pack/test_serverless/functional/test_suites/common/security/navigation/avatar_menu.ts index 0a58a580b81dd3..ca693e2b966c8a 100644 --- a/x-pack/test_serverless/functional/test_suites/common/security/navigation/avatar_menu.ts +++ b/x-pack/test_serverless/functional/test_suites/common/security/navigation/avatar_menu.ts @@ -11,8 +11,15 @@ export default function ({ getPageObject, getService }: FtrProviderContext) { const svlCommonPage = getPageObject('svlCommonPage'); const svlCommonNavigation = getService('svlCommonNavigation'); - // FLAKY: https://github.com/elastic/kibana/issues/165694 - describe.skip('Avatar menu', function () { + describe('Avatar menu', function () { + before(async () => { + await svlCommonPage.login(); + }); + + after(async () => { + await svlCommonPage.forceLogout(); + }); + it('is displayed', async () => { await svlCommonNavigation.navigateToKibanaHome(); await svlCommonPage.assertUserAvatarExists(); From 31c366222a9291841cc2dcd966547671513cd368 Mon Sep 17 00:00:00 2001 From: Ying Mao Date: Thu, 21 Sep 2023 20:44:23 -0400 Subject: [PATCH 31/72] [Response Ops][Alerting] Skip settings and mapping updates on partial alerts indices. (#165896) Resolves https://github.com/elastic/kibana/issues/162630 ## Summary Adds checks for invalid alert index names in two places: - before updating the underlying settings/mappings of a concrete index; attempting these updates would typically throw an error and prevent alert resource installation from successfully completing, causing subsequent writes to fail; in this PR ,we check for unexpected index names and log a warning - before updating an alert document; there is a scenario where an existing active alert document could be in a partial or restored alert index and trying to update that alert document would fail. to prevent these failures, we skip the update and log a warning. we expect this case to be more rare as most times frozen indices only contain old alerts so the likelihood of it containing a currently active alert should be low. ## To Verify - Run ES with these options: `yarn es snapshot --license trial --ssl -E path.data=../data_partial_alerts -E path.repo=-E xpack.searchable.snapshot.shared_cache.size=100b -E indices.lifecycle.poll_interval=1m` - Start Kibana - Create a snapshot repository here: https://localhost:5601/app/management/data/snapshot_restore/add_repository. Use `Shared File System` and use the same path as you used for `path.repo` when running ES - Modify the `.alerts-ilm-policy` to roll over in the hot phase with max age of 3 minutes. Add a frozen phase that moves data into the frozen phase after 5 minutes. - Create some rules that generate alerts. I did both metric threshold (uses lifecycle executor) and index threshold (uses framework). - Wait for ILM to run and move indices to frozen. This will take a few ILM cycles but eventually you should be able to do a `GET .internal.alerts-stack.alerts-default-*/_alias/.alerts-stack.alerts-default` and see a partial index name in the results - Restart Kibana. You should see warnings logged related to the partial indices but Kibana should successfully start and rule execution should succeed. ## Notes I tested what would happen if we added a bunch of new fields to a component template and increased the total fields limit in the presence of partial indices. Here, it works in our favor that we only allow additive changes to our mappings, so the existing partial indices keep the old mappings and don't need a field limit update because their mappings don't change. Searching against both the alerts alias (that targets partial and normal indices) works as expected and searching directly against the partial index works as expected. --------- Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- .../alerts_client/alerts_client.test.ts | 230 ++++++++++++++++++ .../server/alerts_client/alerts_client.ts | 18 +- .../alerts_service/alerts_service.test.ts | 2 +- .../alerting/server/alerts_service/index.ts | 3 +- .../lib/create_concrete_write_index.test.ts | 46 +++- .../lib/create_concrete_write_index.ts | 27 +- .../alerts_service/lib/data_stream_adapter.ts | 8 +- .../server/alerts_service/lib/index.ts | 1 + .../lib/is_valid_alert_index_name.test.ts | 23 ++ .../lib/is_valid_alert_index_name.ts | 12 + .../resource_installer_utils.test.ts | 3 + .../resource_installer_utils.ts | 4 + x-pack/plugins/alerting/server/index.ts | 2 + .../resource_installer.test.ts | 2 +- .../resource_installer.ts | 2 + .../utils/create_lifecycle_executor.test.ts | 187 ++++++++++++-- .../server/utils/create_lifecycle_executor.ts | 163 +++++++------ .../utils/create_lifecycle_rule_type.test.ts | 7 +- 18 files changed, 629 insertions(+), 111 deletions(-) create mode 100644 x-pack/plugins/alerting/server/alerts_service/lib/is_valid_alert_index_name.test.ts create mode 100644 x-pack/plugins/alerting/server/alerts_service/lib/is_valid_alert_index_name.ts diff --git a/x-pack/plugins/alerting/server/alerts_client/alerts_client.test.ts b/x-pack/plugins/alerting/server/alerts_client/alerts_client.test.ts index b1df5609f811fe..2b9a1e0cf0b84b 100644 --- a/x-pack/plugins/alerting/server/alerts_client/alerts_client.test.ts +++ b/x-pack/plugins/alerting/server/alerts_client/alerts_client.test.ts @@ -1303,6 +1303,236 @@ describe('Alerts Client', () => { ); }); + test('should log if alert to update belongs to a non-standard index', async () => { + clusterClient.search.mockResolvedValue({ + took: 10, + timed_out: false, + _shards: { failed: 0, successful: 1, total: 1, skipped: 0 }, + hits: { + total: { + relation: 'eq', + value: 2, + }, + hits: [ + { + _id: 'abc', + _index: 'partial-.internal.alerts-test.alerts-default-000001', + _seq_no: 41, + _primary_term: 665, + _source: { + '@timestamp': '2023-03-28T12:27:28.159Z', + event: { + action: 'active', + kind: 'signal', + }, + kibana: { + alert: { + action_group: 'default', + duration: { + us: '0', + }, + flapping: false, + flapping_history: [true], + instance: { + id: '1', + }, + rule: { + category: 'My test rule', + consumer: 'bar', + execution: { + uuid: '5f6aa57d-3e22-484e-bae8-cbed868f4d28', + }, + name: 'rule-name', + parameters: { + bar: true, + }, + producer: 'alerts', + revision: 0, + rule_type_id: 'test.rule-type', + tags: ['rule-', '-tags'], + uuid: '1', + }, + start: '2023-03-28T12:27:28.159Z', + status: 'active', + time_range: { + gte: '2023-03-28T12:27:28.159Z', + }, + uuid: 'abc', + workflow_status: 'open', + }, + space_ids: ['default'], + version: '8.8.0', + }, + tags: ['rule-', '-tags'], + }, + }, + { + _id: 'xyz', + _index: '.internal.alerts-test.alerts-default-000002', + _seq_no: 41, + _primary_term: 665, + _source: { + '@timestamp': '2023-03-28T12:27:28.159Z', + event: { + action: 'active', + kind: 'signal', + }, + kibana: { + alert: { + action_group: 'default', + duration: { + us: '0', + }, + flapping: false, + flapping_history: [true], + instance: { + id: '2', + }, + rule: { + category: 'My test rule', + consumer: 'bar', + execution: { + uuid: '5f6aa57d-3e22-484e-bae8-cbed868f4d28', + }, + name: 'rule-name', + parameters: { + bar: true, + }, + producer: 'alerts', + revision: 0, + rule_type_id: 'test.rule-type', + tags: ['rule-', '-tags'], + uuid: '1', + }, + start: '2023-03-28T12:27:28.159Z', + status: 'active', + time_range: { + gte: '2023-03-28T12:27:28.159Z', + }, + uuid: 'xyz', + workflow_status: 'open', + }, + space_ids: ['default'], + version: '8.8.0', + }, + tags: ['rule-', '-tags'], + }, + }, + ], + }, + }); + const alertsClient = new AlertsClient<{}, {}, {}, 'default', 'recovered'>( + alertsClientParams + ); + + await alertsClient.initializeExecution({ + maxAlerts, + ruleLabel: `test: rule-name`, + flappingSettings: DEFAULT_FLAPPING_SETTINGS, + activeAlertsFromState: { + '1': { + state: { foo: true, start: '2023-03-28T12:27:28.159Z', duration: '0' }, + meta: { + flapping: false, + flappingHistory: [true], + maintenanceWindowIds: [], + lastScheduledActions: { group: 'default', date: new Date().toISOString() }, + uuid: 'abc', + }, + }, + '2': { + state: { foo: true, start: '2023-03-28T12:27:28.159Z', duration: '0' }, + meta: { + flapping: false, + flappingHistory: [true], + maintenanceWindowIds: [], + lastScheduledActions: { group: 'default', date: new Date().toISOString() }, + uuid: 'xyz', + }, + }, + }, + recoveredAlertsFromState: {}, + }); + + // Report 2 active alerts + const alertExecutorService = alertsClient.factory(); + alertExecutorService.create('1').scheduleActions('default'); + alertExecutorService.create('2').scheduleActions('default'); + + alertsClient.processAndLogAlerts(processAndLogAlertsOpts); + + await alertsClient.persistAlerts(); + + expect(clusterClient.bulk).toHaveBeenCalledWith({ + index: '.alerts-test.alerts-default', + refresh: 'wait_for', + require_alias: !useDataStreamForAlerts, + body: [ + { + index: { + _id: 'xyz', + _index: '.internal.alerts-test.alerts-default-000002', + if_seq_no: 41, + if_primary_term: 665, + require_alias: false, + }, + }, + // ongoing alert doc + { + '@timestamp': date, + event: { + action: 'active', + kind: 'signal', + }, + kibana: { + alert: { + action_group: 'default', + duration: { + us: '36000000000000', + }, + flapping: false, + flapping_history: [true, false], + instance: { + id: '2', + }, + maintenance_window_ids: [], + rule: { + category: 'My test rule', + consumer: 'bar', + execution: { + uuid: '5f6aa57d-3e22-484e-bae8-cbed868f4d28', + }, + name: 'rule-name', + parameters: { + bar: true, + }, + producer: 'alerts', + revision: 0, + rule_type_id: 'test.rule-type', + tags: ['rule-', '-tags'], + uuid: '1', + }, + start: '2023-03-28T12:27:28.159Z', + status: 'active', + time_range: { + gte: '2023-03-28T12:27:28.159Z', + }, + uuid: 'xyz', + workflow_status: 'open', + }, + space_ids: ['default'], + version: '8.9.0', + }, + tags: ['rule-', '-tags'], + }, + ], + }); + + expect(logger.warn).toHaveBeenCalledWith( + `Could not update alert abc in partial-.internal.alerts-test.alerts-default-000001. Partial and restored alert indices are not supported.` + ); + }); + test('should log and swallow error if bulk indexing throws error', async () => { clusterClient.bulk.mockImplementation(() => { throw new Error('fail'); diff --git a/x-pack/plugins/alerting/server/alerts_client/alerts_client.ts b/x-pack/plugins/alerting/server/alerts_client/alerts_client.ts index ae28dc818957f6..90fbba5969de81 100644 --- a/x-pack/plugins/alerting/server/alerts_client/alerts_client.ts +++ b/x-pack/plugins/alerting/server/alerts_client/alerts_client.ts @@ -48,6 +48,7 @@ import { getLifecycleAlertsQueries, getContinualAlertsQuery, } from './lib'; +import { isValidAlertIndexName } from '../alerts_service'; // Term queries can take up to 10,000 terms const CHUNK_SIZE = 10000; @@ -377,10 +378,23 @@ export class AlertsClient< } } - const alertsToIndex = [...activeAlertsToIndex, ...recoveredAlertsToIndex]; + const alertsToIndex = [...activeAlertsToIndex, ...recoveredAlertsToIndex].filter( + (alert: Alert & AlertData) => { + const alertIndex = this.fetchedAlerts.indices[alert.kibana.alert.uuid]; + if (!alertIndex) { + return true; + } else if (!isValidAlertIndexName(alertIndex)) { + this.options.logger.warn( + `Could not update alert ${alert.kibana.alert.uuid} in ${alertIndex}. Partial and restored alert indices are not supported.` + ); + return false; + } + return true; + } + ); if (alertsToIndex.length > 0) { const bulkBody = flatMap( - [...activeAlertsToIndex, ...recoveredAlertsToIndex].map((alert: Alert & AlertData) => [ + alertsToIndex.map((alert: Alert & AlertData) => [ getBulkMeta( alert.kibana.alert.uuid, this.fetchedAlerts.indices[alert.kibana.alert.uuid], diff --git a/x-pack/plugins/alerting/server/alerts_service/alerts_service.test.ts b/x-pack/plugins/alerting/server/alerts_service/alerts_service.test.ts index c8f8e671952f69..1803bdf156469a 100644 --- a/x-pack/plugins/alerting/server/alerts_service/alerts_service.test.ts +++ b/x-pack/plugins/alerting/server/alerts_service/alerts_service.test.ts @@ -53,7 +53,7 @@ interface EsError extends Error { } const GetAliasResponse = { - real_index: { + '.internal.alerts-test.alerts-default-000001': { aliases: { alias_1: { is_hidden: true, diff --git a/x-pack/plugins/alerting/server/alerts_service/index.ts b/x-pack/plugins/alerting/server/alerts_service/index.ts index b08ae1ecf824fa..db6f205129980d 100644 --- a/x-pack/plugins/alerting/server/alerts_service/index.ts +++ b/x-pack/plugins/alerting/server/alerts_service/index.ts @@ -10,7 +10,7 @@ export { DEFAULT_ALERTS_ILM_POLICY_NAME, } from './default_lifecycle_policy'; export { ECS_COMPONENT_TEMPLATE_NAME, ECS_CONTEXT, TOTAL_FIELDS_LIMIT } from './alerts_service'; -export { getComponentTemplate } from './resource_installer_utils'; +export { getComponentTemplate, VALID_ALERT_INDEX_PREFIXES } from './resource_installer_utils'; export { type InitializationPromise, successResult, @@ -24,4 +24,5 @@ export { createOrUpdateIndexTemplate, createConcreteWriteIndex, installWithTimeout, + isValidAlertIndexName, } from './lib'; diff --git a/x-pack/plugins/alerting/server/alerts_service/lib/create_concrete_write_index.test.ts b/x-pack/plugins/alerting/server/alerts_service/lib/create_concrete_write_index.test.ts index e2ee309b123f52..1d6555ea799a18 100644 --- a/x-pack/plugins/alerting/server/alerts_service/lib/create_concrete_write_index.test.ts +++ b/x-pack/plugins/alerting/server/alerts_service/lib/create_concrete_write_index.test.ts @@ -26,7 +26,7 @@ interface EsError extends Error { } const GetAliasResponse = { - real_index: { + '.internal.alerts-test.alerts-default-000001': { aliases: { alias_1: { is_hidden: true, @@ -63,6 +63,7 @@ const IndexPatterns = { basePattern: '.alerts-test.alerts-*', alias: '.alerts-test.alerts-default', name: '.internal.alerts-test.alerts-default-000001', + validPrefixes: ['.internal.alerts-', '.alerts-'], }; describe('createConcreteWriteIndex', () => { @@ -372,6 +373,49 @@ describe('createConcreteWriteIndex', () => { expect(clusterClient.indices.putMapping).toHaveBeenCalledTimes(useDataStream ? 1 : 2); }); + it(`should skip updating underlying settings and mappings of existing concrete indices if they follow an unexpected naming convention`, async () => { + clusterClient.indices.getAlias.mockImplementation(async () => ({ + bad_index_name: { + aliases: { + alias_1: { + is_hidden: true, + }, + }, + }, + })); + + clusterClient.indices.getDataStream.mockImplementation(async () => GetDataStreamResponse); + clusterClient.indices.simulateIndexTemplate.mockImplementation( + async () => SimulateTemplateResponse + ); + await createConcreteWriteIndex({ + logger, + esClient: clusterClient, + indexPatterns: IndexPatterns, + totalFieldsLimit: 2500, + dataStreamAdapter, + }); + + if (!useDataStream) { + expect(clusterClient.indices.create).toHaveBeenCalledWith({ + index: '.internal.alerts-test.alerts-default-000001', + body: { + aliases: { + '.alerts-test.alerts-default': { + is_write_index: true, + }, + }, + }, + }); + expect(logger.warn).toHaveBeenCalledWith( + `Found unexpected concrete index name "bad_index_name" while expecting index with one of the following prefixes: [.internal.alerts-,.alerts-] Not updating mappings or settings for this index.` + ); + } + + expect(clusterClient.indices.putSettings).toHaveBeenCalledTimes(useDataStream ? 1 : 0); + expect(clusterClient.indices.putMapping).toHaveBeenCalledTimes(useDataStream ? 1 : 0); + }); + it(`should retry simulateIndexTemplate on transient ES errors`, async () => { clusterClient.indices.getAlias.mockImplementation(async () => GetAliasResponse); clusterClient.indices.getDataStream.mockImplementation(async () => GetDataStreamResponse); diff --git a/x-pack/plugins/alerting/server/alerts_service/lib/create_concrete_write_index.ts b/x-pack/plugins/alerting/server/alerts_service/lib/create_concrete_write_index.ts index 8ad628e1b2905d..7278f32f014c48 100644 --- a/x-pack/plugins/alerting/server/alerts_service/lib/create_concrete_write_index.ts +++ b/x-pack/plugins/alerting/server/alerts_service/lib/create_concrete_write_index.ts @@ -22,6 +22,7 @@ interface UpdateIndexMappingsOpts { logger: Logger; esClient: ElasticsearchClient; totalFieldsLimit: number; + validIndexPrefixes?: string[]; concreteIndices: ConcreteIndexInfo[]; } @@ -107,22 +108,42 @@ export const updateIndexMappings = async ({ esClient, totalFieldsLimit, concreteIndices, + validIndexPrefixes, }: UpdateIndexMappingsOpts) => { + let validConcreteIndices = []; + if (validIndexPrefixes) { + for (const cIdx of concreteIndices) { + if (!validIndexPrefixes?.some((prefix: string) => cIdx.index.startsWith(prefix))) { + logger.warn( + `Found unexpected concrete index name "${ + cIdx.index + }" while expecting index with one of the following prefixes: [${validIndexPrefixes.join( + ',' + )}] Not updating mappings or settings for this index.` + ); + } else { + validConcreteIndices.push(cIdx); + } + } + } else { + validConcreteIndices = concreteIndices; + } + logger.debug( - `Updating underlying mappings for ${concreteIndices.length} indices / data streams.` + `Updating underlying mappings for ${validConcreteIndices.length} indices / data streams.` ); // Update total field limit setting of found indices // Other index setting changes are not updated at this time await Promise.all( - concreteIndices.map((index) => + validConcreteIndices.map((index) => updateTotalFieldLimitSetting({ logger, esClient, totalFieldsLimit, concreteIndexInfo: index }) ) ); // Update mappings of the found indices. await Promise.all( - concreteIndices.map((index) => + validConcreteIndices.map((index) => updateUnderlyingMapping({ logger, esClient, totalFieldsLimit, concreteIndexInfo: index }) ) ); diff --git a/x-pack/plugins/alerting/server/alerts_service/lib/data_stream_adapter.ts b/x-pack/plugins/alerting/server/alerts_service/lib/data_stream_adapter.ts index 21091464a68b18..7efbf8ead86603 100644 --- a/x-pack/plugins/alerting/server/alerts_service/lib/data_stream_adapter.ts +++ b/x-pack/plugins/alerting/server/alerts_service/lib/data_stream_adapter.ts @@ -168,7 +168,13 @@ async function createAliasStream(opts: CreateConcreteWriteIndexOpts): Promise 0) { - await updateIndexMappings({ logger, esClient, totalFieldsLimit, concreteIndices }); + await updateIndexMappings({ + logger, + esClient, + totalFieldsLimit, + concreteIndices, + validIndexPrefixes: indexPatterns.validPrefixes, + }); const concreteIndicesExist = concreteIndices.some( (index) => index.alias === indexPatterns.alias diff --git a/x-pack/plugins/alerting/server/alerts_service/lib/index.ts b/x-pack/plugins/alerting/server/alerts_service/lib/index.ts index e0d3c1ae923111..e4829d83aa5ae2 100644 --- a/x-pack/plugins/alerting/server/alerts_service/lib/index.ts +++ b/x-pack/plugins/alerting/server/alerts_service/lib/index.ts @@ -10,3 +10,4 @@ export { createOrUpdateComponentTemplate } from './create_or_update_component_te export { getIndexTemplate, createOrUpdateIndexTemplate } from './create_or_update_index_template'; export { createConcreteWriteIndex } from './create_concrete_write_index'; export { installWithTimeout } from './install_with_timeout'; +export { isValidAlertIndexName } from './is_valid_alert_index_name'; diff --git a/x-pack/plugins/alerting/server/alerts_service/lib/is_valid_alert_index_name.test.ts b/x-pack/plugins/alerting/server/alerts_service/lib/is_valid_alert_index_name.test.ts new file mode 100644 index 00000000000000..8991a027a1d063 --- /dev/null +++ b/x-pack/plugins/alerting/server/alerts_service/lib/is_valid_alert_index_name.test.ts @@ -0,0 +1,23 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ +import { isValidAlertIndexName } from './is_valid_alert_index_name'; + +describe('isValidAlertIndexName', () => { + test('returns true if valid', () => { + expect(isValidAlertIndexName('.internal.alerts-stack.alerts-default-000001')).toBe(true); + expect(isValidAlertIndexName('.alerts-stack.alerts-default-000001')).toBe(true); + expect(isValidAlertIndexName('.ds-.alerts-stack.alerts-default-000001')).toBe(true); + }); + + test('returns false if invalid', () => { + expect(isValidAlertIndexName('partial-.internal.alerts-stack.alerts-default-000001')).toBe( + false + ); + expect(isValidAlertIndexName('restored-.alerts-stack.alerts-default-000001')).toBe(false); + expect(isValidAlertIndexName('any-old-index-name')).toBe(false); + }); +}); diff --git a/x-pack/plugins/alerting/server/alerts_service/lib/is_valid_alert_index_name.ts b/x-pack/plugins/alerting/server/alerts_service/lib/is_valid_alert_index_name.ts new file mode 100644 index 00000000000000..9d5537ea462fec --- /dev/null +++ b/x-pack/plugins/alerting/server/alerts_service/lib/is_valid_alert_index_name.ts @@ -0,0 +1,12 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { VALID_ALERT_INDEX_PREFIXES } from '../resource_installer_utils'; + +export const isValidAlertIndexName = (indexName: string): boolean => { + return VALID_ALERT_INDEX_PREFIXES.some((prefix: string) => indexName.startsWith(prefix)); +}; diff --git a/x-pack/plugins/alerting/server/alerts_service/resource_installer_utils.test.ts b/x-pack/plugins/alerting/server/alerts_service/resource_installer_utils.test.ts index 0f5f482cf3c84b..f059b77a5c88ba 100644 --- a/x-pack/plugins/alerting/server/alerts_service/resource_installer_utils.test.ts +++ b/x-pack/plugins/alerting/server/alerts_service/resource_installer_utils.test.ts @@ -38,6 +38,7 @@ describe('getIndexTemplateAndPattern', () => { pattern: '.internal.alerts-test.alerts-default-*', basePattern: '.alerts-test.alerts-*', alias: '.alerts-test.alerts-default', + validPrefixes: ['.ds-.alerts-', '.internal.alerts-', '.alerts-'], name: '.internal.alerts-test.alerts-default-000001', }); }); @@ -48,6 +49,7 @@ describe('getIndexTemplateAndPattern', () => { pattern: '.internal.alerts-test.alerts-special-*', basePattern: '.alerts-test.alerts-*', alias: '.alerts-test.alerts-special', + validPrefixes: ['.ds-.alerts-', '.internal.alerts-', '.alerts-'], name: '.internal.alerts-test.alerts-special-000001', }); }); @@ -65,6 +67,7 @@ describe('getIndexTemplateAndPattern', () => { basePattern: '.alerts-test.alerts-*', alias: '.alerts-test.alerts-special', name: '.internal.alerts-test.alerts-special-000001', + validPrefixes: ['.ds-.alerts-', '.internal.alerts-', '.alerts-'], secondaryAlias: `siem.signals-special`, }); }); diff --git a/x-pack/plugins/alerting/server/alerts_service/resource_installer_utils.ts b/x-pack/plugins/alerting/server/alerts_service/resource_installer_utils.ts index eba614e655617e..7a1031cdf22243 100644 --- a/x-pack/plugins/alerting/server/alerts_service/resource_installer_utils.ts +++ b/x-pack/plugins/alerting/server/alerts_service/resource_installer_utils.ts @@ -13,6 +13,8 @@ interface GetComponentTemplateNameOpts { context?: string; name?: string; } +export const VALID_ALERT_INDEX_PREFIXES = ['.ds-.alerts-', '.internal.alerts-', '.alerts-']; + export const getComponentTemplateName = ({ context, name }: GetComponentTemplateNameOpts = {}) => `.alerts-${context ? `${context}.alerts` : name ? name : 'framework'}-mappings`; @@ -22,6 +24,7 @@ export interface IIndexPatternString { alias: string; name: string; basePattern: string; + validPrefixes?: string[]; secondaryAlias?: string; } @@ -45,6 +48,7 @@ export const getIndexTemplateAndPattern = ({ basePattern: `.alerts-${pattern}-*`, name: `.internal.alerts-${patternWithNamespace}-000001`, alias: `.alerts-${patternWithNamespace}`, + validPrefixes: VALID_ALERT_INDEX_PREFIXES, ...(secondaryAlias ? { secondaryAlias: `${secondaryAlias}-${concreteNamespace}` } : {}), }; }; diff --git a/x-pack/plugins/alerting/server/index.ts b/x-pack/plugins/alerting/server/index.ts index ae42c665d73cf3..6aa1c44fe6e81d 100644 --- a/x-pack/plugins/alerting/server/index.ts +++ b/x-pack/plugins/alerting/server/index.ts @@ -56,6 +56,7 @@ export { ECS_COMPONENT_TEMPLATE_NAME, ECS_CONTEXT, TOTAL_FIELDS_LIMIT, + VALID_ALERT_INDEX_PREFIXES, getComponentTemplate, type PublicFrameworkAlertsService, createOrUpdateIlmPolicy, @@ -64,6 +65,7 @@ export { createOrUpdateIndexTemplate, createConcreteWriteIndex, installWithTimeout, + isValidAlertIndexName, } from './alerts_service'; export { getDataStreamAdapter } from './alerts_service/lib/data_stream_adapter'; diff --git a/x-pack/plugins/rule_registry/server/rule_data_plugin_service/resource_installer.test.ts b/x-pack/plugins/rule_registry/server/rule_data_plugin_service/resource_installer.test.ts index d2961eeee75809..b8189e9a0eb851 100644 --- a/x-pack/plugins/rule_registry/server/rule_data_plugin_service/resource_installer.test.ts +++ b/x-pack/plugins/rule_registry/server/rule_data_plugin_service/resource_installer.test.ts @@ -26,7 +26,7 @@ const frameworkAlertsService = { }; const GetAliasResponse = { - real_index: { + '.internal.alerts-test.alerts-default-000001': { aliases: { alias_1: { is_hidden: true, diff --git a/x-pack/plugins/rule_registry/server/rule_data_plugin_service/resource_installer.ts b/x-pack/plugins/rule_registry/server/rule_data_plugin_service/resource_installer.ts index 225df2ffe1b899..f1dfb6f851eb0a 100644 --- a/x-pack/plugins/rule_registry/server/rule_data_plugin_service/resource_installer.ts +++ b/x-pack/plugins/rule_registry/server/rule_data_plugin_service/resource_installer.ts @@ -21,6 +21,7 @@ import { TOTAL_FIELDS_LIMIT, type PublicFrameworkAlertsService, type DataStreamAdapter, + VALID_ALERT_INDEX_PREFIXES, } from '@kbn/alerting-plugin/server'; import { TECHNICAL_COMPONENT_TEMPLATE_NAME } from '../../common/assets'; import { technicalComponentTemplate } from '../../common/assets/component_templates/technical_component_template'; @@ -220,6 +221,7 @@ export class ResourceInstaller { alias: indexInfo.getPrimaryAlias(namespace), name: indexInfo.getConcreteIndexInitialName(namespace), template: indexInfo.getIndexTemplateName(namespace), + validPrefixes: VALID_ALERT_INDEX_PREFIXES, ...(secondaryNamespacedAlias ? { secondaryAlias: secondaryNamespacedAlias } : {}), }; diff --git a/x-pack/plugins/rule_registry/server/utils/create_lifecycle_executor.test.ts b/x-pack/plugins/rule_registry/server/utils/create_lifecycle_executor.test.ts index 7e8e0ac73f9079..afed418ec8d3da 100644 --- a/x-pack/plugins/rule_registry/server/utils/create_lifecycle_executor.test.ts +++ b/x-pack/plugins/rule_registry/server/utils/create_lifecycle_executor.test.ts @@ -151,7 +151,7 @@ describe('createLifecycleExecutor', () => { [SPACE_IDS]: ['fake-space-id'], labels: { LABEL_0_KEY: 'LABEL_0_VALUE' }, // this must show up in the written doc }, - _index: 'alerts-index-name', + _index: '.alerts-index-name', _seq_no: 4, _primary_term: 2, }, @@ -171,7 +171,7 @@ describe('createLifecycleExecutor', () => { [SPACE_IDS]: ['fake-space-id'], labels: { LABEL_0_KEY: 'LABEL_0_VALUE' }, // this must not show up in the written doc }, - _index: 'alerts-index-name', + _index: '.alerts-index-name', _seq_no: 1, _primary_term: 3, }, @@ -231,7 +231,7 @@ describe('createLifecycleExecutor', () => { { index: { _id: 'TEST_ALERT_0_UUID', - _index: 'alerts-index-name', + _index: '.alerts-index-name', if_primary_term: 2, if_seq_no: 4, require_alias: false, @@ -249,7 +249,7 @@ describe('createLifecycleExecutor', () => { { index: { _id: 'TEST_ALERT_1_UUID', - _index: 'alerts-index-name', + _index: '.alerts-index-name', if_primary_term: 3, if_seq_no: 1, require_alias: false, @@ -279,6 +279,141 @@ describe('createLifecycleExecutor', () => { ); }); + it('logs warning if existing documents are in unexpected index', async () => { + const logger = loggerMock.create(); + const ruleDataClientMock = createRuleDataClientMock(); + ruleDataClientMock.getReader().search.mockResolvedValue({ + hits: { + hits: [ + { + _source: { + '@timestamp': '', + [ALERT_INSTANCE_ID]: 'TEST_ALERT_0', + [ALERT_UUID]: 'ALERT_0_UUID', + [ALERT_RULE_CATEGORY]: 'RULE_TYPE_NAME', + [ALERT_RULE_CONSUMER]: 'CONSUMER', + [ALERT_RULE_NAME]: 'NAME', + [ALERT_RULE_PRODUCER]: 'PRODUCER', + [ALERT_RULE_TYPE_ID]: 'RULE_TYPE_ID', + [ALERT_RULE_UUID]: 'RULE_UUID', + [ALERT_STATUS]: ALERT_STATUS_ACTIVE, + [ALERT_WORKFLOW_STATUS]: 'closed', + [SPACE_IDS]: ['fake-space-id'], + labels: { LABEL_0_KEY: 'LABEL_0_VALUE' }, // this must show up in the written doc + }, + _index: 'partial-.alerts-index-name', + _seq_no: 4, + _primary_term: 2, + }, + { + _source: { + '@timestamp': '', + [ALERT_INSTANCE_ID]: 'TEST_ALERT_1', + [ALERT_UUID]: 'ALERT_1_UUID', + [ALERT_RULE_CATEGORY]: 'RULE_TYPE_NAME', + [ALERT_RULE_CONSUMER]: 'CONSUMER', + [ALERT_RULE_NAME]: 'NAME', + [ALERT_RULE_PRODUCER]: 'PRODUCER', + [ALERT_RULE_TYPE_ID]: 'RULE_TYPE_ID', + [ALERT_RULE_UUID]: 'RULE_UUID', + [ALERT_STATUS]: ALERT_STATUS_ACTIVE, + [ALERT_WORKFLOW_STATUS]: 'open', + [SPACE_IDS]: ['fake-space-id'], + labels: { LABEL_0_KEY: 'LABEL_0_VALUE' }, // this must not show up in the written doc + }, + _index: '.alerts-index-name', + _seq_no: 1, + _primary_term: 3, + }, + ], + }, + } as any); + const executor = createLifecycleExecutor( + logger, + ruleDataClientMock + )<{}, TestRuleState, never, never, never>(async ({ services, state }) => { + services.alertWithLifecycle({ + id: 'TEST_ALERT_0', + fields: {}, + }); + services.alertWithLifecycle({ + id: 'TEST_ALERT_1', + fields: {}, + }); + + return { state }; + }); + + await executor( + createDefaultAlertExecutorOptions({ + alertId: 'TEST_ALERT_0', + params: {}, + state: { + wrapped: initialRuleState, + trackedAlerts: { + TEST_ALERT_0: { + alertId: 'TEST_ALERT_0', + alertUuid: 'TEST_ALERT_0_UUID', + started: '2020-01-01T12:00:00.000Z', + flappingHistory: [], + flapping: false, + pendingRecoveredCount: 0, + }, + TEST_ALERT_1: { + alertId: 'TEST_ALERT_1', + alertUuid: 'TEST_ALERT_1_UUID', + started: '2020-01-02T12:00:00.000Z', + flappingHistory: [], + flapping: false, + pendingRecoveredCount: 0, + }, + }, + trackedAlertsRecovered: {}, + }, + logger, + }) + ); + + expect((await ruleDataClientMock.getWriter()).bulk).toHaveBeenCalledWith( + expect.objectContaining({ + body: [ + // alert document + { + index: { + _id: 'TEST_ALERT_1_UUID', + _index: '.alerts-index-name', + if_primary_term: 3, + if_seq_no: 1, + require_alias: false, + }, + }, + expect.objectContaining({ + [ALERT_INSTANCE_ID]: 'TEST_ALERT_1', + [ALERT_WORKFLOW_STATUS]: 'open', + [ALERT_STATUS]: ALERT_STATUS_ACTIVE, + + [EVENT_ACTION]: 'active', + [EVENT_KIND]: 'signal', + }), + ], + }) + ); + expect((await ruleDataClientMock.getWriter()).bulk).not.toHaveBeenCalledWith( + expect.objectContaining({ + body: expect.arrayContaining([ + // evaluation documents + { index: {} }, + expect.objectContaining({ + [EVENT_KIND]: 'event', + }), + ]), + }) + ); + expect(logger.warn).toHaveBeenCalledWith( + `Could not update alert TEST_ALERT_0 in partial-.alerts-index-name. Partial and restored alert indices are not supported.` + ); + }); + it('updates existing documents for recovered alerts', async () => { const logger = loggerMock.create(); const ruleDataClientMock = createRuleDataClientMock(); @@ -301,7 +436,7 @@ describe('createLifecycleExecutor', () => { labels: { LABEL_0_KEY: 'LABEL_0_VALUE' }, // this must show up in the written doc [TAGS]: ['source-tag1', 'source-tag2'], }, - _index: 'alerts-index-name', + _index: '.alerts-index-name', _seq_no: 4, _primary_term: 2, }, @@ -321,7 +456,7 @@ describe('createLifecycleExecutor', () => { labels: { LABEL_0_KEY: 'LABEL_0_VALUE' }, // this must not show up in the written doc [TAGS]: ['source-tag3', 'source-tag4'], }, - _index: 'alerts-index-name', + _index: '.alerts-index-name', _seq_no: 4, _primary_term: 2, }, @@ -538,7 +673,7 @@ describe('createLifecycleExecutor', () => { [SPACE_IDS]: ['fake-space-id'], labels: { LABEL_0_KEY: 'LABEL_0_VALUE' }, // this must show up in the written doc }, - _index: 'alerts-index-name', + _index: '.alerts-index-name', _seq_no: 4, _primary_term: 2, }, @@ -558,7 +693,7 @@ describe('createLifecycleExecutor', () => { [SPACE_IDS]: ['fake-space-id'], labels: { LABEL_0_KEY: 'LABEL_0_VALUE' }, // this must not show up in the written doc }, - _index: 'alerts-index-name', + _index: '.alerts-index-name', _seq_no: 4, _primary_term: 2, }, @@ -656,7 +791,7 @@ describe('createLifecycleExecutor', () => { [SPACE_IDS]: ['fake-space-id'], labels: { LABEL_0_KEY: 'LABEL_0_VALUE' }, // this must show up in the written doc }, - _index: 'alerts-index-name', + _index: '.alerts-index-name', _seq_no: 4, _primary_term: 2, }, @@ -676,7 +811,7 @@ describe('createLifecycleExecutor', () => { [SPACE_IDS]: ['fake-space-id'], labels: { LABEL_0_KEY: 'LABEL_0_VALUE' }, // this must not show up in the written doc }, - _index: 'alerts-index-name', + _index: '.alerts-index-name', _seq_no: 4, _primary_term: 2, }, @@ -773,7 +908,7 @@ describe('createLifecycleExecutor', () => { [SPACE_IDS]: ['fake-space-id'], labels: { LABEL_0_KEY: 'LABEL_0_VALUE' }, // this must show up in the written doc }, - _index: 'alerts-index-name', + _index: '.alerts-index-name', _seq_no: 4, _primary_term: 2, }, @@ -792,7 +927,7 @@ describe('createLifecycleExecutor', () => { [SPACE_IDS]: ['fake-space-id'], labels: { LABEL_0_KEY: 'LABEL_0_VALUE' }, // this must not show up in the written doc }, - _index: 'alerts-index-name', + _index: '.alerts-index-name', _seq_no: 4, _primary_term: 2, }, @@ -887,7 +1022,7 @@ describe('createLifecycleExecutor', () => { [SPACE_IDS]: ['fake-space-id'], labels: { LABEL_0_KEY: 'LABEL_0_VALUE' }, // this must show up in the written doc }, - _index: 'alerts-index-name', + _index: '.alerts-index-name', _seq_no: 4, _primary_term: 2, }, @@ -906,7 +1041,7 @@ describe('createLifecycleExecutor', () => { [SPACE_IDS]: ['fake-space-id'], labels: { LABEL_0_KEY: 'LABEL_0_VALUE' }, // this must not show up in the written doc }, - _index: 'alerts-index-name', + _index: '.alerts-index-name', _seq_no: 4, _primary_term: 2, }, @@ -1065,7 +1200,7 @@ describe('createLifecycleExecutor', () => { [SPACE_IDS]: ['fake-space-id'], labels: { LABEL_0_KEY: 'LABEL_0_VALUE' }, // this must show up in the written doc }, - _index: 'alerts-index-name', + _index: '.alerts-index-name', _seq_no: 4, _primary_term: 2, }, @@ -1085,7 +1220,7 @@ describe('createLifecycleExecutor', () => { [SPACE_IDS]: ['fake-space-id'], labels: { LABEL_0_KEY: 'LABEL_0_VALUE' }, // this must not show up in the written doc }, - _index: 'alerts-index-name', + _index: '.alerts-index-name', _seq_no: 4, _primary_term: 2, }, @@ -1199,7 +1334,7 @@ describe('createLifecycleExecutor', () => { labels: { LABEL_0_KEY: 'LABEL_0_VALUE' }, // this must show up in the written doc [TAGS]: ['source-tag1', 'source-tag2'], }, - _index: 'alerts-index-name', + _index: '.alerts-index-name', _seq_no: 4, _primary_term: 2, }, @@ -1219,7 +1354,7 @@ describe('createLifecycleExecutor', () => { labels: { LABEL_0_KEY: 'LABEL_0_VALUE' }, // this must not show up in the written doc [TAGS]: ['source-tag3', 'source-tag4'], }, - _index: 'alerts-index-name', + _index: '.alerts-index-name', _seq_no: 4, _primary_term: 2, }, @@ -1333,7 +1468,7 @@ describe('createLifecycleExecutor', () => { [ALERT_WORKFLOW_STATUS]: 'closed', [SPACE_IDS]: ['fake-space-id'], }, - _index: 'alerts-index-name', + _index: '.alerts-index-name', _seq_no: 4, _primary_term: 2, }, @@ -1352,7 +1487,7 @@ describe('createLifecycleExecutor', () => { [ALERT_WORKFLOW_STATUS]: 'open', [SPACE_IDS]: ['fake-space-id'], }, - _index: 'alerts-index-name', + _index: '.alerts-index-name', _seq_no: 4, _primary_term: 2, }, @@ -1371,7 +1506,7 @@ describe('createLifecycleExecutor', () => { [ALERT_WORKFLOW_STATUS]: 'open', [SPACE_IDS]: ['fake-space-id'], }, - _index: 'alerts-index-name', + _index: '.alerts-index-name', _seq_no: 4, _primary_term: 2, }, @@ -1390,7 +1525,7 @@ describe('createLifecycleExecutor', () => { [ALERT_WORKFLOW_STATUS]: 'open', [SPACE_IDS]: ['fake-space-id'], }, - _index: 'alerts-index-name', + _index: '.alerts-index-name', _seq_no: 4, _primary_term: 2, }, @@ -1569,7 +1704,7 @@ describe('createLifecycleExecutor', () => { [ALERT_STATUS]: ALERT_STATUS_ACTIVE, [SPACE_IDS]: ['fake-space-id'], }, - _index: 'alerts-index-name', + _index: '.alerts-index-name', _seq_no: 4, _primary_term: 2, }, @@ -1587,7 +1722,7 @@ describe('createLifecycleExecutor', () => { [ALERT_STATUS]: ALERT_STATUS_ACTIVE, [SPACE_IDS]: ['fake-space-id'], }, - _index: 'alerts-index-name', + _index: '.alerts-index-name', _seq_no: 4, _primary_term: 2, }, @@ -1605,7 +1740,7 @@ describe('createLifecycleExecutor', () => { [ALERT_STATUS]: ALERT_STATUS_ACTIVE, [SPACE_IDS]: ['fake-space-id'], }, - _index: 'alerts-index-name', + _index: '.alerts-index-name', _seq_no: 4, _primary_term: 2, }, @@ -1623,7 +1758,7 @@ describe('createLifecycleExecutor', () => { [ALERT_STATUS]: ALERT_STATUS_ACTIVE, [SPACE_IDS]: ['fake-space-id'], }, - _index: 'alerts-index-name', + _index: '.alerts-index-name', _seq_no: 4, _primary_term: 2, }, diff --git a/x-pack/plugins/rule_registry/server/utils/create_lifecycle_executor.ts b/x-pack/plugins/rule_registry/server/utils/create_lifecycle_executor.ts index f91f6dfdf72d0f..deac218c9c49e4 100644 --- a/x-pack/plugins/rule_registry/server/utils/create_lifecycle_executor.ts +++ b/x-pack/plugins/rule_registry/server/utils/create_lifecycle_executor.ts @@ -17,6 +17,7 @@ import { AlertInstanceState, RuleTypeParams, RuleTypeState, + isValidAlertIndexName, } from '@kbn/alerting-plugin/server'; import { isFlapping } from '@kbn/alerting-plugin/server/lib'; import { wrappedStateRt, WrappedLifecycleRuleState } from '@kbn/alerting-state-types'; @@ -252,83 +253,97 @@ export const createLifecycleExecutor = } const makeEventsDataMapFor = (alertIds: string[]) => - alertIds.map((alertId) => { - const alertData = trackedAlertsDataMap[alertId]; - const currentAlertData = currentAlerts[alertId]; - const trackedAlert = state.trackedAlerts[alertId]; - - if (!alertData) { - logger.debug(`[Rule Registry] Could not find alert data for ${alertId}`); - } + alertIds + .filter((alertId) => { + const alertData = trackedAlertsDataMap[alertId]; + const alertIndex = alertData?.indexName; + if (!alertIndex) { + return true; + } else if (!isValidAlertIndexName(alertIndex)) { + logger.warn( + `Could not update alert ${alertId} in ${alertIndex}. Partial and restored alert indices are not supported.` + ); + return false; + } + return true; + }) + .map((alertId) => { + const alertData = trackedAlertsDataMap[alertId]; + const currentAlertData = currentAlerts[alertId]; + const trackedAlert = state.trackedAlerts[alertId]; - const isNew = !trackedAlert; - const isRecovered = !currentAlertData; - const isActive = !isRecovered; - - const flappingHistory = getUpdatedFlappingHistory( - flappingSettings, - alertId, - state, - isNew, - isRecovered, - isActive, - trackedAlertRecoveredIds - ); + if (!alertData) { + logger.debug(`[Rule Registry] Could not find alert data for ${alertId}`); + } - const { alertUuid, started, flapping, pendingRecoveredCount } = !isNew - ? state.trackedAlerts[alertId] - : { - alertUuid: lifecycleAlertServices.getAlertUuid(alertId), - started: commonRuleFields[TIMESTAMP], - flapping: state.trackedAlertsRecovered[alertId] - ? state.trackedAlertsRecovered[alertId].flapping - : false, - pendingRecoveredCount: 0, - }; + const isNew = !trackedAlert; + const isRecovered = !currentAlertData; + const isActive = !isRecovered; - const event: ParsedTechnicalFields & ParsedExperimentalFields = { - ...alertData?.fields, - ...commonRuleFields, - ...currentAlertData, - [ALERT_DURATION]: (options.startedAt.getTime() - new Date(started).getTime()) * 1000, - [ALERT_TIME_RANGE]: isRecovered - ? { - gte: started, - lte: commonRuleFields[TIMESTAMP], - } - : { gte: started }, - [ALERT_INSTANCE_ID]: alertId, - [ALERT_START]: started, - [ALERT_UUID]: alertUuid, - [ALERT_STATUS]: isRecovered ? ALERT_STATUS_RECOVERED : ALERT_STATUS_ACTIVE, - [ALERT_WORKFLOW_STATUS]: alertData?.fields[ALERT_WORKFLOW_STATUS] ?? 'open', - [EVENT_KIND]: 'signal', - [EVENT_ACTION]: isNew ? 'open' : isActive ? 'active' : 'close', - [TAGS]: Array.from( - new Set([ - ...(currentAlertData?.tags ?? []), - ...(alertData?.fields[TAGS] ?? []), - ...(options.rule.tags ?? []), - ]) - ), - [VERSION]: ruleDataClient.kibanaVersion, - [ALERT_FLAPPING]: flapping, - ...(isRecovered ? { [ALERT_END]: commonRuleFields[TIMESTAMP] } : {}), - ...(isNew && maintenanceWindowIds?.length - ? { [ALERT_MAINTENANCE_WINDOW_IDS]: maintenanceWindowIds } - : {}), - }; - - return { - indexName: alertData?.indexName, - seqNo: alertData?.seqNo, - primaryTerm: alertData?.primaryTerm, - event, - flappingHistory, - flapping, - pendingRecoveredCount, - }; - }); + const flappingHistory = getUpdatedFlappingHistory( + flappingSettings, + alertId, + state, + isNew, + isRecovered, + isActive, + trackedAlertRecoveredIds + ); + + const { alertUuid, started, flapping, pendingRecoveredCount } = !isNew + ? state.trackedAlerts[alertId] + : { + alertUuid: lifecycleAlertServices.getAlertUuid(alertId), + started: commonRuleFields[TIMESTAMP], + flapping: state.trackedAlertsRecovered[alertId] + ? state.trackedAlertsRecovered[alertId].flapping + : false, + pendingRecoveredCount: 0, + }; + + const event: ParsedTechnicalFields & ParsedExperimentalFields = { + ...alertData?.fields, + ...commonRuleFields, + ...currentAlertData, + [ALERT_DURATION]: (options.startedAt.getTime() - new Date(started).getTime()) * 1000, + [ALERT_TIME_RANGE]: isRecovered + ? { + gte: started, + lte: commonRuleFields[TIMESTAMP], + } + : { gte: started }, + [ALERT_INSTANCE_ID]: alertId, + [ALERT_START]: started, + [ALERT_UUID]: alertUuid, + [ALERT_STATUS]: isRecovered ? ALERT_STATUS_RECOVERED : ALERT_STATUS_ACTIVE, + [ALERT_WORKFLOW_STATUS]: alertData?.fields[ALERT_WORKFLOW_STATUS] ?? 'open', + [EVENT_KIND]: 'signal', + [EVENT_ACTION]: isNew ? 'open' : isActive ? 'active' : 'close', + [TAGS]: Array.from( + new Set([ + ...(currentAlertData?.tags ?? []), + ...(alertData?.fields[TAGS] ?? []), + ...(options.rule.tags ?? []), + ]) + ), + [VERSION]: ruleDataClient.kibanaVersion, + [ALERT_FLAPPING]: flapping, + ...(isRecovered ? { [ALERT_END]: commonRuleFields[TIMESTAMP] } : {}), + ...(isNew && maintenanceWindowIds?.length + ? { [ALERT_MAINTENANCE_WINDOW_IDS]: maintenanceWindowIds } + : {}), + }; + + return { + indexName: alertData?.indexName, + seqNo: alertData?.seqNo, + primaryTerm: alertData?.primaryTerm, + event, + flappingHistory, + flapping, + pendingRecoveredCount, + }; + }); const trackedEventsToIndex = makeEventsDataMapFor(trackedAlertIds); const newEventsToIndex = makeEventsDataMapFor(newAlertIds); diff --git a/x-pack/plugins/rule_registry/server/utils/create_lifecycle_rule_type.test.ts b/x-pack/plugins/rule_registry/server/utils/create_lifecycle_rule_type.test.ts index bbdd4806b55e76..fc5fc1b4b95476 100644 --- a/x-pack/plugins/rule_registry/server/utils/create_lifecycle_rule_type.test.ts +++ b/x-pack/plugins/rule_registry/server/utils/create_lifecycle_rule_type.test.ts @@ -437,7 +437,12 @@ describe('createLifecycleRuleTypeFactory', () => { helpers.ruleDataClientMock.getReader().search.mockResolvedValueOnce({ hits: { hits: [ - { _source: lastOpbeansNodeDoc, _index: 'a', _primary_term: 4, _seq_no: 2 } as any, + { + _source: lastOpbeansNodeDoc, + _index: '.alerts-a', + _primary_term: 4, + _seq_no: 2, + } as any, ], total: { value: 1, From 45a962fca0a8cca75d78e43d401dd8b09583fef7 Mon Sep 17 00:00:00 2001 From: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> Date: Fri, 22 Sep 2023 00:54:18 -0400 Subject: [PATCH 32/72] [api-docs] 2023-09-22 Daily api_docs build (#166998) Generated by https://buildkite.com/elastic/kibana-api-docs-daily/builds/468 --- api_docs/actions.mdx | 2 +- api_docs/advanced_settings.mdx | 2 +- api_docs/aiops.mdx | 2 +- api_docs/alerting.devdocs.json | 100 +++- api_docs/alerting.mdx | 4 +- api_docs/apm.mdx | 2 +- api_docs/apm_data_access.mdx | 2 +- api_docs/asset_manager.mdx | 2 +- api_docs/banners.mdx | 2 +- api_docs/bfetch.mdx | 2 +- api_docs/canvas.mdx | 2 +- api_docs/cases.mdx | 2 +- api_docs/charts.mdx | 2 +- api_docs/cloud.mdx | 2 +- api_docs/cloud_chat.mdx | 2 +- api_docs/cloud_chat_provider.mdx | 2 +- api_docs/cloud_data_migration.mdx | 2 +- api_docs/cloud_defend.mdx | 2 +- api_docs/cloud_experiments.mdx | 2 +- api_docs/cloud_security_posture.mdx | 2 +- api_docs/console.mdx | 2 +- api_docs/content_management.mdx | 2 +- api_docs/controls.mdx | 2 +- api_docs/custom_integrations.mdx | 2 +- api_docs/dashboard.mdx | 2 +- api_docs/dashboard_enhanced.mdx | 2 +- api_docs/data.devdocs.json | 21 +- api_docs/data.mdx | 4 +- api_docs/data_query.mdx | 4 +- api_docs/data_search.devdocs.json | 21 +- api_docs/data_search.mdx | 4 +- 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 | 4 +- api_docs/deprecations_by_team.mdx | 2 +- api_docs/dev_tools.mdx | 2 +- api_docs/discover.devdocs.json | 72 ++- api_docs/discover.mdx | 4 +- api_docs/discover_enhanced.mdx | 2 +- api_docs/ecs_data_quality_dashboard.mdx | 2 +- api_docs/elastic_assistant.mdx | 2 +- api_docs/embeddable.mdx | 2 +- api_docs/embeddable_enhanced.mdx | 2 +- api_docs/encrypted_saved_objects.mdx | 2 +- api_docs/enterprise_search.mdx | 2 +- api_docs/es_ui_shared.mdx | 2 +- api_docs/event_annotation.mdx | 2 +- api_docs/event_annotation_listing.mdx | 2 +- api_docs/event_log.mdx | 2 +- api_docs/exploratory_view.mdx | 2 +- api_docs/expression_error.mdx | 2 +- api_docs/expression_gauge.mdx | 2 +- api_docs/expression_heatmap.mdx | 2 +- api_docs/expression_image.mdx | 2 +- api_docs/expression_legacy_metric_vis.mdx | 2 +- api_docs/expression_metric.mdx | 2 +- api_docs/expression_metric_vis.mdx | 2 +- api_docs/expression_partition_vis.mdx | 2 +- api_docs/expression_repeat_image.mdx | 2 +- api_docs/expression_reveal_image.mdx | 2 +- api_docs/expression_shape.mdx | 2 +- api_docs/expression_tagcloud.mdx | 2 +- api_docs/expression_x_y.mdx | 2 +- api_docs/expressions.mdx | 2 +- api_docs/features.mdx | 2 +- api_docs/field_formats.mdx | 2 +- api_docs/file_upload.mdx | 2 +- api_docs/files.mdx | 2 +- api_docs/files_management.mdx | 2 +- api_docs/fleet.devdocs.json | 34 ++ api_docs/fleet.mdx | 4 +- api_docs/global_search.mdx | 2 +- api_docs/guided_onboarding.mdx | 2 +- api_docs/home.mdx | 2 +- api_docs/image_embeddable.mdx | 2 +- api_docs/index_lifecycle_management.mdx | 2 +- api_docs/index_management.mdx | 2 +- api_docs/infra.mdx | 2 +- api_docs/inspector.mdx | 2 +- api_docs/interactive_setup.mdx | 2 +- api_docs/kbn_ace.mdx | 2 +- api_docs/kbn_aiops_components.mdx | 2 +- api_docs/kbn_aiops_utils.mdx | 2 +- .../kbn_alerting_api_integration_helpers.mdx | 2 +- api_docs/kbn_alerting_state_types.mdx | 2 +- api_docs/kbn_alerts_as_data_utils.mdx | 2 +- api_docs/kbn_alerts_ui_shared.mdx | 2 +- api_docs/kbn_analytics.mdx | 2 +- api_docs/kbn_analytics_client.mdx | 2 +- ..._analytics_shippers_elastic_v3_browser.mdx | 2 +- ...n_analytics_shippers_elastic_v3_common.mdx | 2 +- ...n_analytics_shippers_elastic_v3_server.mdx | 2 +- api_docs/kbn_analytics_shippers_fullstory.mdx | 2 +- api_docs/kbn_analytics_shippers_gainsight.mdx | 2 +- api_docs/kbn_apm_config_loader.mdx | 2 +- api_docs/kbn_apm_synthtrace.mdx | 2 +- api_docs/kbn_apm_synthtrace_client.mdx | 2 +- api_docs/kbn_apm_utils.mdx | 2 +- api_docs/kbn_axe_config.mdx | 2 +- api_docs/kbn_cases_components.mdx | 2 +- api_docs/kbn_cell_actions.mdx | 2 +- api_docs/kbn_chart_expressions_common.mdx | 2 +- api_docs/kbn_chart_icons.mdx | 2 +- api_docs/kbn_ci_stats_core.mdx | 2 +- api_docs/kbn_ci_stats_performance_metrics.mdx | 2 +- api_docs/kbn_ci_stats_reporter.mdx | 2 +- api_docs/kbn_cli_dev_mode.mdx | 2 +- api_docs/kbn_code_editor.mdx | 2 +- api_docs/kbn_code_editor_mocks.mdx | 2 +- api_docs/kbn_coloring.mdx | 2 +- api_docs/kbn_config.mdx | 2 +- api_docs/kbn_config_mocks.mdx | 2 +- api_docs/kbn_config_schema.mdx | 2 +- .../kbn_content_management_content_editor.mdx | 2 +- ...gement_tabbed_table_list_view.devdocs.json | 14 + ...tent_management_tabbed_table_list_view.mdx | 4 +- ...nt_management_table_list_view.devdocs.json | 20 +- ...kbn_content_management_table_list_view.mdx | 4 +- ...agement_table_list_view_table.devdocs.json | 24 +- ...ntent_management_table_list_view_table.mdx | 4 +- .../kbn_content_management_utils.devdocs.json | 14 + api_docs/kbn_content_management_utils.mdx | 4 +- api_docs/kbn_core_analytics_browser.mdx | 2 +- .../kbn_core_analytics_browser_internal.mdx | 2 +- api_docs/kbn_core_analytics_browser_mocks.mdx | 2 +- api_docs/kbn_core_analytics_server.mdx | 2 +- .../kbn_core_analytics_server_internal.mdx | 2 +- api_docs/kbn_core_analytics_server_mocks.mdx | 2 +- api_docs/kbn_core_application_browser.mdx | 2 +- .../kbn_core_application_browser_internal.mdx | 2 +- .../kbn_core_application_browser_mocks.mdx | 2 +- api_docs/kbn_core_application_common.mdx | 2 +- api_docs/kbn_core_apps_browser_internal.mdx | 2 +- api_docs/kbn_core_apps_browser_mocks.mdx | 2 +- api_docs/kbn_core_apps_server_internal.mdx | 2 +- api_docs/kbn_core_base_browser_mocks.mdx | 2 +- api_docs/kbn_core_base_common.mdx | 2 +- api_docs/kbn_core_base_server_internal.mdx | 2 +- api_docs/kbn_core_base_server_mocks.mdx | 2 +- .../kbn_core_capabilities_browser_mocks.mdx | 2 +- api_docs/kbn_core_capabilities_common.mdx | 2 +- api_docs/kbn_core_capabilities_server.mdx | 2 +- .../kbn_core_capabilities_server_mocks.mdx | 2 +- api_docs/kbn_core_chrome_browser.mdx | 2 +- api_docs/kbn_core_chrome_browser_mocks.mdx | 2 +- api_docs/kbn_core_config_server_internal.mdx | 2 +- api_docs/kbn_core_custom_branding_browser.mdx | 2 +- ..._core_custom_branding_browser_internal.mdx | 2 +- ...kbn_core_custom_branding_browser_mocks.mdx | 2 +- api_docs/kbn_core_custom_branding_common.mdx | 2 +- api_docs/kbn_core_custom_branding_server.mdx | 2 +- ...n_core_custom_branding_server_internal.mdx | 2 +- .../kbn_core_custom_branding_server_mocks.mdx | 2 +- api_docs/kbn_core_deprecations_browser.mdx | 2 +- ...kbn_core_deprecations_browser_internal.mdx | 2 +- .../kbn_core_deprecations_browser_mocks.mdx | 2 +- api_docs/kbn_core_deprecations_common.mdx | 2 +- api_docs/kbn_core_deprecations_server.mdx | 2 +- .../kbn_core_deprecations_server_internal.mdx | 2 +- .../kbn_core_deprecations_server_mocks.mdx | 2 +- api_docs/kbn_core_doc_links_browser.mdx | 2 +- api_docs/kbn_core_doc_links_browser_mocks.mdx | 2 +- api_docs/kbn_core_doc_links_server.mdx | 2 +- api_docs/kbn_core_doc_links_server_mocks.mdx | 2 +- ...e_elasticsearch_client_server_internal.mdx | 2 +- ...core_elasticsearch_client_server_mocks.mdx | 2 +- api_docs/kbn_core_elasticsearch_server.mdx | 2 +- ...kbn_core_elasticsearch_server_internal.mdx | 2 +- .../kbn_core_elasticsearch_server_mocks.mdx | 2 +- .../kbn_core_environment_server_internal.mdx | 2 +- .../kbn_core_environment_server_mocks.mdx | 2 +- .../kbn_core_execution_context_browser.mdx | 2 +- ...ore_execution_context_browser_internal.mdx | 2 +- ...n_core_execution_context_browser_mocks.mdx | 2 +- .../kbn_core_execution_context_common.mdx | 2 +- .../kbn_core_execution_context_server.mdx | 2 +- ...core_execution_context_server_internal.mdx | 2 +- ...bn_core_execution_context_server_mocks.mdx | 2 +- api_docs/kbn_core_fatal_errors_browser.mdx | 2 +- .../kbn_core_fatal_errors_browser_mocks.mdx | 2 +- api_docs/kbn_core_http_browser.mdx | 2 +- api_docs/kbn_core_http_browser_internal.mdx | 2 +- api_docs/kbn_core_http_browser_mocks.mdx | 2 +- api_docs/kbn_core_http_common.mdx | 2 +- .../kbn_core_http_context_server_mocks.mdx | 2 +- ...re_http_request_handler_context_server.mdx | 2 +- api_docs/kbn_core_http_resources_server.mdx | 2 +- ...bn_core_http_resources_server_internal.mdx | 2 +- .../kbn_core_http_resources_server_mocks.mdx | 2 +- .../kbn_core_http_router_server_internal.mdx | 2 +- .../kbn_core_http_router_server_mocks.mdx | 2 +- api_docs/kbn_core_http_server.devdocs.json | 254 ++++---- api_docs/kbn_core_http_server.mdx | 2 +- api_docs/kbn_core_http_server_internal.mdx | 2 +- api_docs/kbn_core_http_server_mocks.mdx | 2 +- api_docs/kbn_core_i18n_browser.mdx | 2 +- api_docs/kbn_core_i18n_browser_mocks.mdx | 2 +- api_docs/kbn_core_i18n_server.mdx | 2 +- api_docs/kbn_core_i18n_server_internal.mdx | 2 +- api_docs/kbn_core_i18n_server_mocks.mdx | 2 +- ...n_core_injected_metadata_browser_mocks.mdx | 2 +- ...kbn_core_integrations_browser_internal.mdx | 2 +- .../kbn_core_integrations_browser_mocks.mdx | 2 +- api_docs/kbn_core_lifecycle_browser.mdx | 2 +- api_docs/kbn_core_lifecycle_browser_mocks.mdx | 2 +- api_docs/kbn_core_lifecycle_server.mdx | 2 +- api_docs/kbn_core_lifecycle_server_mocks.mdx | 2 +- api_docs/kbn_core_logging_browser_mocks.mdx | 2 +- api_docs/kbn_core_logging_common_internal.mdx | 2 +- api_docs/kbn_core_logging_server.mdx | 2 +- api_docs/kbn_core_logging_server_internal.mdx | 2 +- api_docs/kbn_core_logging_server_mocks.mdx | 2 +- ...ore_metrics_collectors_server_internal.mdx | 2 +- ...n_core_metrics_collectors_server_mocks.mdx | 2 +- api_docs/kbn_core_metrics_server.mdx | 2 +- api_docs/kbn_core_metrics_server_internal.mdx | 2 +- api_docs/kbn_core_metrics_server_mocks.mdx | 2 +- api_docs/kbn_core_mount_utils_browser.mdx | 2 +- api_docs/kbn_core_node_server.mdx | 2 +- api_docs/kbn_core_node_server_internal.mdx | 2 +- api_docs/kbn_core_node_server_mocks.mdx | 2 +- api_docs/kbn_core_notifications_browser.mdx | 2 +- ...bn_core_notifications_browser_internal.mdx | 2 +- .../kbn_core_notifications_browser_mocks.mdx | 2 +- api_docs/kbn_core_overlays_browser.mdx | 2 +- .../kbn_core_overlays_browser_internal.mdx | 2 +- api_docs/kbn_core_overlays_browser_mocks.mdx | 2 +- api_docs/kbn_core_plugins_browser.mdx | 2 +- api_docs/kbn_core_plugins_browser_mocks.mdx | 2 +- api_docs/kbn_core_plugins_server.mdx | 2 +- api_docs/kbn_core_plugins_server_mocks.mdx | 2 +- api_docs/kbn_core_preboot_server.mdx | 2 +- api_docs/kbn_core_preboot_server_mocks.mdx | 2 +- api_docs/kbn_core_rendering_browser_mocks.mdx | 2 +- .../kbn_core_rendering_server_internal.mdx | 2 +- api_docs/kbn_core_rendering_server_mocks.mdx | 2 +- api_docs/kbn_core_root_server_internal.mdx | 2 +- .../kbn_core_saved_objects_api_browser.mdx | 2 +- .../kbn_core_saved_objects_api_server.mdx | 2 +- ...bn_core_saved_objects_api_server_mocks.mdx | 2 +- ...ore_saved_objects_base_server_internal.mdx | 2 +- ...n_core_saved_objects_base_server_mocks.mdx | 2 +- api_docs/kbn_core_saved_objects_browser.mdx | 2 +- ...bn_core_saved_objects_browser_internal.mdx | 2 +- .../kbn_core_saved_objects_browser_mocks.mdx | 2 +- api_docs/kbn_core_saved_objects_common.mdx | 2 +- ..._objects_import_export_server_internal.mdx | 2 +- ...ved_objects_import_export_server_mocks.mdx | 2 +- ...aved_objects_migration_server_internal.mdx | 2 +- ...e_saved_objects_migration_server_mocks.mdx | 2 +- api_docs/kbn_core_saved_objects_server.mdx | 2 +- ...kbn_core_saved_objects_server_internal.mdx | 2 +- .../kbn_core_saved_objects_server_mocks.mdx | 2 +- .../kbn_core_saved_objects_utils_server.mdx | 2 +- api_docs/kbn_core_status_common.mdx | 2 +- api_docs/kbn_core_status_common_internal.mdx | 2 +- api_docs/kbn_core_status_server.mdx | 2 +- api_docs/kbn_core_status_server_internal.mdx | 2 +- api_docs/kbn_core_status_server_mocks.mdx | 2 +- ...core_test_helpers_deprecations_getters.mdx | 2 +- ...n_core_test_helpers_http_setup_browser.mdx | 2 +- api_docs/kbn_core_test_helpers_kbn_server.mdx | 2 +- ...n_core_test_helpers_so_type_serializer.mdx | 2 +- api_docs/kbn_core_test_helpers_test_utils.mdx | 2 +- api_docs/kbn_core_theme_browser.mdx | 2 +- api_docs/kbn_core_theme_browser_mocks.mdx | 2 +- api_docs/kbn_core_ui_settings_browser.mdx | 2 +- .../kbn_core_ui_settings_browser_internal.mdx | 2 +- .../kbn_core_ui_settings_browser_mocks.mdx | 2 +- api_docs/kbn_core_ui_settings_common.mdx | 2 +- api_docs/kbn_core_ui_settings_server.mdx | 2 +- .../kbn_core_ui_settings_server_internal.mdx | 2 +- .../kbn_core_ui_settings_server_mocks.mdx | 2 +- api_docs/kbn_core_usage_data_server.mdx | 2 +- .../kbn_core_usage_data_server_internal.mdx | 2 +- api_docs/kbn_core_usage_data_server_mocks.mdx | 2 +- api_docs/kbn_core_user_settings_server.mdx | 2 +- ...kbn_core_user_settings_server_internal.mdx | 2 +- .../kbn_core_user_settings_server_mocks.mdx | 2 +- api_docs/kbn_crypto.mdx | 2 +- api_docs/kbn_crypto_browser.mdx | 2 +- api_docs/kbn_custom_integrations.mdx | 2 +- api_docs/kbn_cypress_config.mdx | 2 +- api_docs/kbn_data_service.mdx | 2 +- api_docs/kbn_datemath.mdx | 2 +- api_docs/kbn_deeplinks_analytics.mdx | 2 +- api_docs/kbn_deeplinks_devtools.mdx | 2 +- api_docs/kbn_deeplinks_management.mdx | 2 +- api_docs/kbn_deeplinks_ml.mdx | 2 +- api_docs/kbn_deeplinks_observability.mdx | 2 +- api_docs/kbn_deeplinks_search.mdx | 2 +- api_docs/kbn_default_nav_analytics.mdx | 2 +- api_docs/kbn_default_nav_devtools.mdx | 2 +- api_docs/kbn_default_nav_management.mdx | 2 +- api_docs/kbn_default_nav_ml.mdx | 2 +- api_docs/kbn_dev_cli_errors.mdx | 2 +- api_docs/kbn_dev_cli_runner.mdx | 2 +- api_docs/kbn_dev_proc_runner.mdx | 2 +- api_docs/kbn_dev_utils.devdocs.json | 2 +- api_docs/kbn_dev_utils.mdx | 2 +- api_docs/kbn_discover_utils.mdx | 2 +- api_docs/kbn_doc_links.mdx | 2 +- api_docs/kbn_docs_utils.mdx | 2 +- api_docs/kbn_dom_drag_drop.mdx | 2 +- api_docs/kbn_ebt_tools.mdx | 2 +- api_docs/kbn_ecs.mdx | 2 +- api_docs/kbn_ecs_data_quality_dashboard.mdx | 2 +- api_docs/kbn_elastic_assistant.mdx | 2 +- api_docs/kbn_es.devdocs.json | 6 +- api_docs/kbn_es.mdx | 2 +- api_docs/kbn_es_archiver.mdx | 2 +- api_docs/kbn_es_errors.mdx | 2 +- api_docs/kbn_es_query.mdx | 2 +- api_docs/kbn_es_types.mdx | 2 +- api_docs/kbn_eslint_plugin_imports.mdx | 2 +- api_docs/kbn_event_annotation_common.mdx | 2 +- api_docs/kbn_event_annotation_components.mdx | 2 +- api_docs/kbn_expandable_flyout.mdx | 2 +- api_docs/kbn_field_types.mdx | 2 +- api_docs/kbn_find_used_node_modules.mdx | 2 +- .../kbn_ftr_common_functional_services.mdx | 2 +- api_docs/kbn_generate.mdx | 2 +- api_docs/kbn_generate_console_definitions.mdx | 2 +- api_docs/kbn_generate_csv.mdx | 2 +- api_docs/kbn_generate_csv_types.mdx | 2 +- api_docs/kbn_guided_onboarding.mdx | 2 +- api_docs/kbn_handlebars.mdx | 2 +- api_docs/kbn_hapi_mocks.mdx | 2 +- api_docs/kbn_health_gateway_server.mdx | 2 +- api_docs/kbn_home_sample_data_card.mdx | 2 +- api_docs/kbn_home_sample_data_tab.mdx | 2 +- api_docs/kbn_i18n.mdx | 2 +- api_docs/kbn_i18n_react.mdx | 2 +- api_docs/kbn_import_resolver.mdx | 2 +- api_docs/kbn_infra_forge.mdx | 2 +- api_docs/kbn_interpreter.mdx | 2 +- api_docs/kbn_io_ts_utils.mdx | 2 +- api_docs/kbn_jest_serializers.mdx | 2 +- api_docs/kbn_journeys.mdx | 2 +- api_docs/kbn_json_ast.mdx | 2 +- api_docs/kbn_kibana_manifest_schema.mdx | 2 +- .../kbn_language_documentation_popover.mdx | 2 +- api_docs/kbn_lens_embeddable_utils.mdx | 2 +- api_docs/kbn_logging.mdx | 2 +- api_docs/kbn_logging_mocks.mdx | 2 +- api_docs/kbn_managed_vscode_config.mdx | 2 +- api_docs/kbn_management_cards_navigation.mdx | 2 +- ...gement_settings_components_field_input.mdx | 2 +- ...nagement_settings_components_field_row.mdx | 2 +- ...n_management_settings_field_definition.mdx | 2 +- api_docs/kbn_management_settings_ids.mdx | 2 +- ...n_management_settings_section_registry.mdx | 2 +- api_docs/kbn_management_settings_types.mdx | 2 +- .../kbn_management_settings_utilities.mdx | 2 +- api_docs/kbn_management_storybook_config.mdx | 2 +- api_docs/kbn_mapbox_gl.mdx | 2 +- api_docs/kbn_maps_vector_tile_utils.mdx | 2 +- api_docs/kbn_ml_agg_utils.mdx | 2 +- api_docs/kbn_ml_anomaly_utils.mdx | 2 +- api_docs/kbn_ml_category_validator.mdx | 2 +- .../kbn_ml_data_frame_analytics_utils.mdx | 2 +- api_docs/kbn_ml_data_grid.mdx | 2 +- api_docs/kbn_ml_date_picker.mdx | 2 +- api_docs/kbn_ml_date_utils.mdx | 2 +- api_docs/kbn_ml_error_utils.mdx | 2 +- api_docs/kbn_ml_in_memory_table.mdx | 2 +- api_docs/kbn_ml_is_defined.mdx | 2 +- api_docs/kbn_ml_is_populated_object.mdx | 2 +- api_docs/kbn_ml_kibana_theme.mdx | 2 +- api_docs/kbn_ml_local_storage.mdx | 2 +- api_docs/kbn_ml_nested_property.mdx | 2 +- api_docs/kbn_ml_number_utils.mdx | 2 +- api_docs/kbn_ml_query_utils.mdx | 2 +- api_docs/kbn_ml_random_sampler_utils.mdx | 2 +- api_docs/kbn_ml_route_utils.mdx | 2 +- api_docs/kbn_ml_runtime_field_utils.mdx | 2 +- api_docs/kbn_ml_string_hash.mdx | 2 +- api_docs/kbn_ml_trained_models_utils.mdx | 2 +- api_docs/kbn_ml_url_state.mdx | 2 +- api_docs/kbn_monaco.mdx | 2 +- api_docs/kbn_object_versioning.mdx | 2 +- api_docs/kbn_observability_alert_details.mdx | 2 +- api_docs/kbn_optimizer.mdx | 2 +- api_docs/kbn_optimizer_webpack_helpers.mdx | 2 +- api_docs/kbn_osquery_io_ts_types.mdx | 2 +- ..._performance_testing_dataset_extractor.mdx | 2 +- api_docs/kbn_plugin_generator.mdx | 2 +- api_docs/kbn_plugin_helpers.mdx | 2 +- api_docs/kbn_profiling_utils.mdx | 2 +- api_docs/kbn_random_sampling.mdx | 2 +- api_docs/kbn_react_field.mdx | 2 +- api_docs/kbn_react_kibana_context_common.mdx | 2 +- api_docs/kbn_react_kibana_context_render.mdx | 2 +- api_docs/kbn_react_kibana_context_root.mdx | 2 +- api_docs/kbn_react_kibana_context_styled.mdx | 2 +- api_docs/kbn_react_kibana_context_theme.mdx | 2 +- api_docs/kbn_react_kibana_mount.mdx | 2 +- api_docs/kbn_repo_file_maps.mdx | 2 +- api_docs/kbn_repo_linter.mdx | 2 +- api_docs/kbn_repo_path.mdx | 2 +- api_docs/kbn_repo_source_classifier.mdx | 2 +- api_docs/kbn_reporting_common.mdx | 2 +- api_docs/kbn_rison.mdx | 2 +- api_docs/kbn_rrule.mdx | 2 +- api_docs/kbn_rule_data_utils.devdocs.json | 45 ++ api_docs/kbn_rule_data_utils.mdx | 4 +- api_docs/kbn_saved_objects_settings.mdx | 2 +- api_docs/kbn_search_api_panels.mdx | 2 +- api_docs/kbn_search_connectors.mdx | 2 +- api_docs/kbn_search_response_warnings.mdx | 2 +- api_docs/kbn_security_solution_features.mdx | 2 +- api_docs/kbn_security_solution_navigation.mdx | 2 +- api_docs/kbn_security_solution_side_nav.mdx | 2 +- ...kbn_security_solution_storybook_config.mdx | 2 +- .../kbn_securitysolution_autocomplete.mdx | 2 +- api_docs/kbn_securitysolution_data_table.mdx | 2 +- api_docs/kbn_securitysolution_ecs.mdx | 2 +- api_docs/kbn_securitysolution_es_utils.mdx | 2 +- ...ritysolution_exception_list_components.mdx | 2 +- api_docs/kbn_securitysolution_grouping.mdx | 2 +- api_docs/kbn_securitysolution_hook_utils.mdx | 2 +- ..._securitysolution_io_ts_alerting_types.mdx | 2 +- .../kbn_securitysolution_io_ts_list_types.mdx | 2 +- api_docs/kbn_securitysolution_io_ts_types.mdx | 2 +- api_docs/kbn_securitysolution_io_ts_utils.mdx | 2 +- api_docs/kbn_securitysolution_list_api.mdx | 2 +- .../kbn_securitysolution_list_constants.mdx | 2 +- api_docs/kbn_securitysolution_list_hooks.mdx | 2 +- api_docs/kbn_securitysolution_list_utils.mdx | 2 +- api_docs/kbn_securitysolution_rules.mdx | 2 +- api_docs/kbn_securitysolution_t_grid.mdx | 2 +- api_docs/kbn_securitysolution_utils.mdx | 2 +- api_docs/kbn_server_http_tools.mdx | 2 +- api_docs/kbn_server_route_repository.mdx | 2 +- api_docs/kbn_serverless_common_settings.mdx | 2 +- .../kbn_serverless_observability_settings.mdx | 2 +- api_docs/kbn_serverless_project_switcher.mdx | 2 +- api_docs/kbn_serverless_search_settings.mdx | 2 +- api_docs/kbn_serverless_security_settings.mdx | 2 +- api_docs/kbn_serverless_storybook_config.mdx | 2 +- api_docs/kbn_shared_svg.mdx | 2 +- api_docs/kbn_shared_ux_avatar_solution.mdx | 2 +- ...ared_ux_avatar_user_profile_components.mdx | 2 +- .../kbn_shared_ux_button_exit_full_screen.mdx | 2 +- ...hared_ux_button_exit_full_screen_mocks.mdx | 2 +- api_docs/kbn_shared_ux_button_toolbar.mdx | 2 +- api_docs/kbn_shared_ux_card_no_data.mdx | 2 +- api_docs/kbn_shared_ux_card_no_data_mocks.mdx | 2 +- api_docs/kbn_shared_ux_chrome_navigation.mdx | 2 +- api_docs/kbn_shared_ux_file_context.mdx | 2 +- api_docs/kbn_shared_ux_file_image.mdx | 2 +- api_docs/kbn_shared_ux_file_image_mocks.mdx | 2 +- api_docs/kbn_shared_ux_file_mocks.mdx | 2 +- api_docs/kbn_shared_ux_file_picker.mdx | 2 +- api_docs/kbn_shared_ux_file_types.mdx | 2 +- api_docs/kbn_shared_ux_file_upload.mdx | 2 +- api_docs/kbn_shared_ux_file_util.mdx | 2 +- api_docs/kbn_shared_ux_link_redirect_app.mdx | 2 +- .../kbn_shared_ux_link_redirect_app_mocks.mdx | 2 +- api_docs/kbn_shared_ux_markdown.mdx | 2 +- api_docs/kbn_shared_ux_markdown_mocks.mdx | 2 +- .../kbn_shared_ux_page_analytics_no_data.mdx | 2 +- ...shared_ux_page_analytics_no_data_mocks.mdx | 2 +- .../kbn_shared_ux_page_kibana_no_data.mdx | 2 +- ...bn_shared_ux_page_kibana_no_data_mocks.mdx | 2 +- .../kbn_shared_ux_page_kibana_template.mdx | 2 +- ...n_shared_ux_page_kibana_template_mocks.mdx | 2 +- api_docs/kbn_shared_ux_page_no_data.mdx | 2 +- .../kbn_shared_ux_page_no_data_config.mdx | 2 +- ...bn_shared_ux_page_no_data_config_mocks.mdx | 2 +- api_docs/kbn_shared_ux_page_no_data_mocks.mdx | 2 +- api_docs/kbn_shared_ux_page_solution_nav.mdx | 2 +- .../kbn_shared_ux_prompt_no_data_views.mdx | 2 +- ...n_shared_ux_prompt_no_data_views_mocks.mdx | 2 +- api_docs/kbn_shared_ux_prompt_not_found.mdx | 2 +- api_docs/kbn_shared_ux_router.mdx | 2 +- api_docs/kbn_shared_ux_router_mocks.mdx | 2 +- api_docs/kbn_shared_ux_storybook_config.mdx | 2 +- api_docs/kbn_shared_ux_storybook_mock.mdx | 2 +- api_docs/kbn_shared_ux_utility.mdx | 2 +- api_docs/kbn_slo_schema.mdx | 2 +- api_docs/kbn_some_dev_log.mdx | 2 +- api_docs/kbn_std.mdx | 2 +- api_docs/kbn_stdio_dev_helpers.mdx | 2 +- api_docs/kbn_storybook.mdx | 2 +- api_docs/kbn_subscription_tracking.mdx | 2 +- api_docs/kbn_telemetry_tools.mdx | 2 +- api_docs/kbn_test.devdocs.json | 2 +- api_docs/kbn_test.mdx | 2 +- api_docs/kbn_test_jest_helpers.mdx | 2 +- api_docs/kbn_test_subj_selector.mdx | 2 +- api_docs/kbn_text_based_editor.mdx | 2 +- api_docs/kbn_tooling_log.mdx | 2 +- api_docs/kbn_ts_projects.mdx | 2 +- api_docs/kbn_typed_react_router_config.mdx | 2 +- api_docs/kbn_ui_actions_browser.mdx | 2 +- api_docs/kbn_ui_shared_deps_src.mdx | 2 +- api_docs/kbn_ui_theme.mdx | 2 +- api_docs/kbn_unified_data_table.mdx | 2 +- api_docs/kbn_unified_doc_viewer.mdx | 2 +- api_docs/kbn_unified_field_list.mdx | 2 +- api_docs/kbn_url_state.mdx | 2 +- api_docs/kbn_use_tracked_promise.mdx | 2 +- api_docs/kbn_user_profile_components.mdx | 2 +- api_docs/kbn_utility_types.mdx | 2 +- api_docs/kbn_utility_types_jest.mdx | 2 +- api_docs/kbn_utils.mdx | 2 +- api_docs/kbn_visualization_ui_components.mdx | 2 +- api_docs/kbn_xstate_utils.mdx | 2 +- api_docs/kbn_yarn_lock_validator.mdx | 2 +- api_docs/kibana_overview.mdx | 2 +- api_docs/kibana_react.mdx | 2 +- api_docs/kibana_utils.devdocs.json | 31 + api_docs/kibana_utils.mdx | 4 +- 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/log_explorer.mdx | 2 +- api_docs/logs_shared.mdx | 2 +- api_docs/management.mdx | 2 +- api_docs/maps.mdx | 2 +- api_docs/maps_ems.mdx | 2 +- api_docs/metrics_data_access.mdx | 2 +- api_docs/ml.devdocs.json | 3 +- api_docs/ml.mdx | 2 +- api_docs/monitoring.mdx | 2 +- api_docs/monitoring_collection.mdx | 2 +- api_docs/navigation.mdx | 2 +- api_docs/newsfeed.mdx | 2 +- api_docs/no_data_page.mdx | 2 +- api_docs/notifications.mdx | 2 +- api_docs/observability.mdx | 2 +- api_docs/observability_a_i_assistant.mdx | 2 +- api_docs/observability_log_explorer.mdx | 2 +- api_docs/observability_onboarding.mdx | 2 +- api_docs/observability_shared.mdx | 2 +- api_docs/osquery.mdx | 2 +- api_docs/painless_lab.mdx | 2 +- api_docs/plugin_directory.mdx | 30 +- api_docs/presentation_util.mdx | 2 +- api_docs/profiling.mdx | 2 +- api_docs/profiling_data_access.mdx | 2 +- api_docs/remote_clusters.mdx | 2 +- api_docs/reporting.mdx | 2 +- api_docs/rollup.mdx | 2 +- api_docs/rule_registry.mdx | 2 +- api_docs/runtime_fields.mdx | 2 +- api_docs/saved_objects.mdx | 2 +- api_docs/saved_objects_finder.mdx | 2 +- api_docs/saved_objects_management.mdx | 2 +- api_docs/saved_objects_tagging.mdx | 2 +- api_docs/saved_objects_tagging_oss.mdx | 2 +- api_docs/saved_search.mdx | 2 +- api_docs/screenshot_mode.mdx | 2 +- api_docs/screenshotting.mdx | 2 +- api_docs/security.mdx | 2 +- api_docs/security_solution.mdx | 2 +- api_docs/security_solution_ess.mdx | 2 +- api_docs/security_solution_serverless.mdx | 2 +- api_docs/serverless.mdx | 2 +- api_docs/serverless_observability.mdx | 2 +- api_docs/serverless_search.mdx | 2 +- api_docs/session_view.mdx | 2 +- api_docs/share.mdx | 2 +- api_docs/snapshot_restore.mdx | 2 +- api_docs/spaces.mdx | 2 +- api_docs/stack_alerts.devdocs.json | 18 +- api_docs/stack_alerts.mdx | 7 +- api_docs/stack_connectors.mdx | 2 +- api_docs/task_manager.mdx | 2 +- api_docs/telemetry.mdx | 2 +- api_docs/telemetry_collection_manager.mdx | 2 +- api_docs/telemetry_collection_xpack.mdx | 2 +- api_docs/telemetry_management_section.mdx | 2 +- api_docs/text_based_languages.mdx | 2 +- api_docs/threat_intelligence.mdx | 2 +- api_docs/timelines.devdocs.json | 566 ++++-------------- api_docs/timelines.mdx | 4 +- api_docs/transform.mdx | 2 +- api_docs/triggers_actions_ui.devdocs.json | 19 +- api_docs/triggers_actions_ui.mdx | 4 +- api_docs/ui_actions.mdx | 2 +- api_docs/ui_actions_enhanced.mdx | 2 +- api_docs/unified_doc_viewer.mdx | 2 +- api_docs/unified_histogram.mdx | 2 +- api_docs/unified_search.mdx | 2 +- api_docs/unified_search_autocomplete.mdx | 2 +- api_docs/uptime.mdx | 2 +- api_docs/url_forwarding.mdx | 2 +- api_docs/usage_collection.mdx | 2 +- api_docs/ux.mdx | 2 +- api_docs/vis_default_editor.mdx | 2 +- api_docs/vis_type_gauge.mdx | 2 +- api_docs/vis_type_heatmap.mdx | 2 +- api_docs/vis_type_pie.mdx | 2 +- api_docs/vis_type_table.mdx | 2 +- api_docs/vis_type_timelion.mdx | 2 +- api_docs/vis_type_timeseries.mdx | 2 +- api_docs/vis_type_vega.mdx | 2 +- api_docs/vis_type_vislib.mdx | 2 +- api_docs/vis_type_xy.mdx | 2 +- api_docs/visualizations.mdx | 2 +- 609 files changed, 1267 insertions(+), 1242 deletions(-) diff --git a/api_docs/actions.mdx b/api_docs/actions.mdx index a91635a8423f53..3fef271b7c26fd 100644 --- a/api_docs/actions.mdx +++ b/api_docs/actions.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/actions title: "actions" image: https://source.unsplash.com/400x175/?github description: API docs for the actions plugin -date: 2023-09-21 +date: 2023-09-22 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 4acf7fa44d0366..5cde1cd4c95ba1 100644 --- a/api_docs/advanced_settings.mdx +++ b/api_docs/advanced_settings.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/advancedSettings title: "advancedSettings" image: https://source.unsplash.com/400x175/?github description: API docs for the advancedSettings plugin -date: 2023-09-21 +date: 2023-09-22 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 7ae72539c33e5a..6bb0d13e4801a6 100644 --- a/api_docs/aiops.mdx +++ b/api_docs/aiops.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/aiops title: "aiops" image: https://source.unsplash.com/400x175/?github description: API docs for the aiops plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'aiops'] --- import aiopsObj from './aiops.devdocs.json'; diff --git a/api_docs/alerting.devdocs.json b/api_docs/alerting.devdocs.json index 00ded98b3bd48c..5e72f84f48ad8b 100644 --- a/api_docs/alerting.devdocs.json +++ b/api_docs/alerting.devdocs.json @@ -24,7 +24,7 @@ "section": "def-common.SanitizedRule", "text": "SanitizedRule" }, - ") => string" + ") => string | undefined" ], "path": "x-pack/plugins/alerting/public/alert_navigation_registry/types.ts", "deprecated": false, @@ -112,6 +112,18 @@ "plugin": "ml", "path": "x-pack/plugins/ml/public/alerting/register_ml_alerts.ts" }, + { + "plugin": "stackAlerts", + "path": "x-pack/plugins/stack_alerts/public/rule_types/es_query/index.ts" + }, + { + "plugin": "stackAlerts", + "path": "x-pack/plugins/stack_alerts/public/rule_types/es_query/index.ts" + }, + { + "plugin": "stackAlerts", + "path": "x-pack/plugins/stack_alerts/public/rule_types/es_query/index.ts" + }, { "plugin": "stackAlerts", "path": "x-pack/plugins/stack_alerts/public/rule_types/es_query/index.ts" @@ -479,7 +491,7 @@ "label": "ensureAuthorized", "description": [], "signature": [ - "({ ruleTypeId, consumer, operation, entity }: ", + "({ ruleTypeId, consumer: legacyConsumer, operation, entity, }: ", "EnsureAuthorizedOpts", ") => Promise" ], @@ -492,7 +504,7 @@ "id": "def-server.AlertingAuthorization.ensureAuthorized.$1", "type": "Object", "tags": [], - "label": "{ ruleTypeId, consumer, operation, entity }", + "label": "{\n ruleTypeId,\n consumer: legacyConsumer,\n operation,\n entity,\n }", "description": [], "signature": [ "EnsureAuthorizedOpts" @@ -523,7 +535,7 @@ }, ", filterOpts: ", "AlertingAuthorizationFilterOpts", - ") => Promise<{ filter?: ", + ", featuresIds?: Set | undefined) => Promise<{ filter?: ", { "pluginId": "@kbn/es-query", "scope": "common", @@ -580,6 +592,21 @@ "deprecated": false, "trackAdoption": false, "isRequired": true + }, + { + "parentPluginId": "alerting", + "id": "def-server.AlertingAuthorization.getFindAuthorizationFilter.$3", + "type": "Object", + "tags": [], + "label": "featuresIds", + "description": [], + "signature": [ + "Set | undefined" + ], + "path": "x-pack/plugins/alerting/server/authorization/alerting_authorization.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": false } ], "returnComment": [] @@ -681,7 +708,7 @@ "section": "def-server.WriteOperations", "text": "WriteOperations" }, - ") => Promise<{ filter?: ", + ", featuresIds?: Set | undefined) => Promise<{ filter?: ", { "pluginId": "@kbn/es-query", "scope": "common", @@ -767,6 +794,21 @@ "deprecated": false, "trackAdoption": false, "isRequired": true + }, + { + "parentPluginId": "alerting", + "id": "def-server.AlertingAuthorization.getAuthorizationFilter.$4", + "type": "Object", + "tags": [], + "label": "featuresIds", + "description": [], + "signature": [ + "Set | undefined" + ], + "path": "x-pack/plugins/alerting/server/authorization/alerting_authorization.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": false } ], "returnComment": [] @@ -1241,6 +1283,39 @@ "returnComment": [], "initialIsOpen": false }, + { + "parentPluginId": "alerting", + "id": "def-server.isValidAlertIndexName", + "type": "Function", + "tags": [], + "label": "isValidAlertIndexName", + "description": [], + "signature": [ + "(indexName: string) => boolean" + ], + "path": "x-pack/plugins/alerting/server/alerts_service/lib/is_valid_alert_index_name.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "alerting", + "id": "def-server.isValidAlertIndexName.$1", + "type": "string", + "tags": [], + "label": "indexName", + "description": [], + "signature": [ + "string" + ], + "path": "x-pack/plugins/alerting/server/alerts_service/lib/is_valid_alert_index_name.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, { "parentPluginId": "alerting", "id": "def-server.parseDuration", @@ -4950,6 +5025,21 @@ "deprecated": false, "trackAdoption": false, "initialIsOpen": false + }, + { + "parentPluginId": "alerting", + "id": "def-server.VALID_ALERT_INDEX_PREFIXES", + "type": "Array", + "tags": [], + "label": "VALID_ALERT_INDEX_PREFIXES", + "description": [], + "signature": [ + "string[]" + ], + "path": "x-pack/plugins/alerting/server/alerts_service/resource_installer_utils.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false } ], "objects": [ diff --git a/api_docs/alerting.mdx b/api_docs/alerting.mdx index 6a749b86b426b0..240541b6b5f066 100644 --- a/api_docs/alerting.mdx +++ b/api_docs/alerting.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/alerting title: "alerting" image: https://source.unsplash.com/400x175/?github description: API docs for the alerting plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'alerting'] --- import alertingObj from './alerting.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/response-ops](https://github.com/orgs/elastic/teams/response-o | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 767 | 1 | 736 | 50 | +| 772 | 1 | 741 | 50 | ## Client diff --git a/api_docs/apm.mdx b/api_docs/apm.mdx index ce75d2091dff44..dc3e7fb17e7263 100644 --- a/api_docs/apm.mdx +++ b/api_docs/apm.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/apm title: "apm" image: https://source.unsplash.com/400x175/?github description: API docs for the apm plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'apm'] --- import apmObj from './apm.devdocs.json'; diff --git a/api_docs/apm_data_access.mdx b/api_docs/apm_data_access.mdx index 28d9e9cc6b2bd3..699b4e43625713 100644 --- a/api_docs/apm_data_access.mdx +++ b/api_docs/apm_data_access.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/apmDataAccess title: "apmDataAccess" image: https://source.unsplash.com/400x175/?github description: API docs for the apmDataAccess plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'apmDataAccess'] --- import apmDataAccessObj from './apm_data_access.devdocs.json'; diff --git a/api_docs/asset_manager.mdx b/api_docs/asset_manager.mdx index 10d7d21c360315..9b25d6f02073d9 100644 --- a/api_docs/asset_manager.mdx +++ b/api_docs/asset_manager.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/assetManager title: "assetManager" image: https://source.unsplash.com/400x175/?github description: API docs for the assetManager plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'assetManager'] --- import assetManagerObj from './asset_manager.devdocs.json'; diff --git a/api_docs/banners.mdx b/api_docs/banners.mdx index 82d51bbf0ad434..13b467bc21d12c 100644 --- a/api_docs/banners.mdx +++ b/api_docs/banners.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/banners title: "banners" image: https://source.unsplash.com/400x175/?github description: API docs for the banners plugin -date: 2023-09-21 +date: 2023-09-22 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 a9ea5c5a4e2286..a1dcdd6b5c48a8 100644 --- a/api_docs/bfetch.mdx +++ b/api_docs/bfetch.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/bfetch title: "bfetch" image: https://source.unsplash.com/400x175/?github description: API docs for the bfetch plugin -date: 2023-09-21 +date: 2023-09-22 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 a8ab44ac802681..b2dcd0ad2240f5 100644 --- a/api_docs/canvas.mdx +++ b/api_docs/canvas.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/canvas title: "canvas" image: https://source.unsplash.com/400x175/?github description: API docs for the canvas plugin -date: 2023-09-21 +date: 2023-09-22 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 4b24bf6e480e22..fde77511cdc1e0 100644 --- a/api_docs/cases.mdx +++ b/api_docs/cases.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cases title: "cases" image: https://source.unsplash.com/400x175/?github description: API docs for the cases plugin -date: 2023-09-21 +date: 2023-09-22 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 dd65a4f0b3499f..bd0fa0dc99c21e 100644 --- a/api_docs/charts.mdx +++ b/api_docs/charts.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/charts title: "charts" image: https://source.unsplash.com/400x175/?github description: API docs for the charts plugin -date: 2023-09-21 +date: 2023-09-22 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 4b2589f34500da..8cb3e8d2cbf3a2 100644 --- a/api_docs/cloud.mdx +++ b/api_docs/cloud.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloud title: "cloud" image: https://source.unsplash.com/400x175/?github description: API docs for the cloud plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloud'] --- import cloudObj from './cloud.devdocs.json'; diff --git a/api_docs/cloud_chat.mdx b/api_docs/cloud_chat.mdx index ee5825e0c7f5f1..c1637e0e812016 100644 --- a/api_docs/cloud_chat.mdx +++ b/api_docs/cloud_chat.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudChat title: "cloudChat" image: https://source.unsplash.com/400x175/?github description: API docs for the cloudChat plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudChat'] --- import cloudChatObj from './cloud_chat.devdocs.json'; diff --git a/api_docs/cloud_chat_provider.mdx b/api_docs/cloud_chat_provider.mdx index 1677327833a80d..687b68fb698858 100644 --- a/api_docs/cloud_chat_provider.mdx +++ b/api_docs/cloud_chat_provider.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudChatProvider title: "cloudChatProvider" image: https://source.unsplash.com/400x175/?github description: API docs for the cloudChatProvider plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudChatProvider'] --- import cloudChatProviderObj from './cloud_chat_provider.devdocs.json'; diff --git a/api_docs/cloud_data_migration.mdx b/api_docs/cloud_data_migration.mdx index 09d27e90753ac4..218bf761e8ac3b 100644 --- a/api_docs/cloud_data_migration.mdx +++ b/api_docs/cloud_data_migration.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudDataMigration title: "cloudDataMigration" image: https://source.unsplash.com/400x175/?github description: API docs for the cloudDataMigration plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudDataMigration'] --- import cloudDataMigrationObj from './cloud_data_migration.devdocs.json'; diff --git a/api_docs/cloud_defend.mdx b/api_docs/cloud_defend.mdx index 1311eff4de07fe..111ab5da468bec 100644 --- a/api_docs/cloud_defend.mdx +++ b/api_docs/cloud_defend.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudDefend title: "cloudDefend" image: https://source.unsplash.com/400x175/?github description: API docs for the cloudDefend plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudDefend'] --- import cloudDefendObj from './cloud_defend.devdocs.json'; diff --git a/api_docs/cloud_experiments.mdx b/api_docs/cloud_experiments.mdx index e4168c0ce59282..9ce075f94fdf5a 100644 --- a/api_docs/cloud_experiments.mdx +++ b/api_docs/cloud_experiments.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudExperiments title: "cloudExperiments" image: https://source.unsplash.com/400x175/?github description: API docs for the cloudExperiments plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudExperiments'] --- import cloudExperimentsObj from './cloud_experiments.devdocs.json'; diff --git a/api_docs/cloud_security_posture.mdx b/api_docs/cloud_security_posture.mdx index 820aa2cfb41fdb..6d15a2c8a6f049 100644 --- a/api_docs/cloud_security_posture.mdx +++ b/api_docs/cloud_security_posture.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudSecurityPosture title: "cloudSecurityPosture" image: https://source.unsplash.com/400x175/?github description: API docs for the cloudSecurityPosture plugin -date: 2023-09-21 +date: 2023-09-22 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 d083f5d8d02c02..9ce5ab89d9b0be 100644 --- a/api_docs/console.mdx +++ b/api_docs/console.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/console title: "console" image: https://source.unsplash.com/400x175/?github description: API docs for the console plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'console'] --- import consoleObj from './console.devdocs.json'; diff --git a/api_docs/content_management.mdx b/api_docs/content_management.mdx index c271b141ab8e0b..3d6861cb3a2fdd 100644 --- a/api_docs/content_management.mdx +++ b/api_docs/content_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/contentManagement title: "contentManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the contentManagement plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'contentManagement'] --- import contentManagementObj from './content_management.devdocs.json'; diff --git a/api_docs/controls.mdx b/api_docs/controls.mdx index 7b07f1ec9f15c7..d8bed1ba5dbf2c 100644 --- a/api_docs/controls.mdx +++ b/api_docs/controls.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/controls title: "controls" image: https://source.unsplash.com/400x175/?github description: API docs for the controls plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'controls'] --- import controlsObj from './controls.devdocs.json'; diff --git a/api_docs/custom_integrations.mdx b/api_docs/custom_integrations.mdx index f8512ea315c69f..5fff9c5eabbf63 100644 --- a/api_docs/custom_integrations.mdx +++ b/api_docs/custom_integrations.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/customIntegrations title: "customIntegrations" image: https://source.unsplash.com/400x175/?github description: API docs for the customIntegrations plugin -date: 2023-09-21 +date: 2023-09-22 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 e573ebfd7f8124..a8d2efaa8a114a 100644 --- a/api_docs/dashboard.mdx +++ b/api_docs/dashboard.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dashboard title: "dashboard" image: https://source.unsplash.com/400x175/?github description: API docs for the dashboard plugin -date: 2023-09-21 +date: 2023-09-22 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 ba465451ac4c3c..7e7bcfb129a0c9 100644 --- a/api_docs/dashboard_enhanced.mdx +++ b/api_docs/dashboard_enhanced.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dashboardEnhanced title: "dashboardEnhanced" image: https://source.unsplash.com/400x175/?github description: API docs for the dashboardEnhanced plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dashboardEnhanced'] --- import dashboardEnhancedObj from './dashboard_enhanced.devdocs.json'; diff --git a/api_docs/data.devdocs.json b/api_docs/data.devdocs.json index fa360c4f060917..c472d757594f52 100644 --- a/api_docs/data.devdocs.json +++ b/api_docs/data.devdocs.json @@ -4971,7 +4971,9 @@ "type": "Function", "tags": [], "label": "isErrorResponse", - "description": [], + "description": [ + "\nFrom https://github.com/elastic/elasticsearch/issues/55572: \"When is_running is false, the query has stopped, which\nmay happen due to ... the search failed, in which case is_partial is set to true to indicate that any results that\nmay be included in the search response come only from a subset of the shards that the query should have hit.\"" + ], "signature": [ "(response?: ", { @@ -8216,6 +8218,23 @@ "path": "src/plugins/data/common/search/types.ts", "deprecated": false, "trackAdoption": false + }, + { + "parentPluginId": "data", + "id": "def-public.IKibanaSearchResponse.requestParams", + "type": "Object", + "tags": [], + "label": "requestParams", + "description": [ + "\nHTTP request parameters from elasticsearch transport client t" + ], + "signature": [ + "ConnectionRequestParams", + " | undefined" + ], + "path": "src/plugins/data/common/search/types.ts", + "deprecated": false, + "trackAdoption": false } ], "initialIsOpen": false diff --git a/api_docs/data.mdx b/api_docs/data.mdx index 837057cfc86dce..2ab17d618a2b37 100644 --- a/api_docs/data.mdx +++ b/api_docs/data.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/data title: "data" image: https://source.unsplash.com/400x175/?github description: API docs for the data plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'data'] --- import dataObj from './data.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/k | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 3308 | 33 | 2577 | 24 | +| 3310 | 33 | 2575 | 24 | ## Client diff --git a/api_docs/data_query.mdx b/api_docs/data_query.mdx index ebb986dc9cebcc..d7d57d8bb8dfbe 100644 --- a/api_docs/data_query.mdx +++ b/api_docs/data_query.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/data-query title: "data.query" image: https://source.unsplash.com/400x175/?github description: API docs for the data.query plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'data.query'] --- import dataQueryObj from './data_query.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/k | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 3308 | 33 | 2577 | 24 | +| 3310 | 33 | 2575 | 24 | ## Client diff --git a/api_docs/data_search.devdocs.json b/api_docs/data_search.devdocs.json index 20e66366a56cbe..f79d7c49a2f89a 100644 --- a/api_docs/data_search.devdocs.json +++ b/api_docs/data_search.devdocs.json @@ -16049,7 +16049,9 @@ "type": "Function", "tags": [], "label": "isErrorResponse", - "description": [], + "description": [ + "\nFrom https://github.com/elastic/elasticsearch/issues/55572: \"When is_running is false, the query has stopped, which\nmay happen due to ... the search failed, in which case is_partial is set to true to indicate that any results that\nmay be included in the search response come only from a subset of the shards that the query should have hit.\"" + ], "signature": [ "(response?: ", { @@ -28021,6 +28023,23 @@ "path": "src/plugins/data/common/search/types.ts", "deprecated": false, "trackAdoption": false + }, + { + "parentPluginId": "data", + "id": "def-common.IKibanaSearchResponse.requestParams", + "type": "Object", + "tags": [], + "label": "requestParams", + "description": [ + "\nHTTP request parameters from elasticsearch transport client t" + ], + "signature": [ + "ConnectionRequestParams", + " | undefined" + ], + "path": "src/plugins/data/common/search/types.ts", + "deprecated": false, + "trackAdoption": false } ], "initialIsOpen": false diff --git a/api_docs/data_search.mdx b/api_docs/data_search.mdx index b01e123d330904..bfcf0b17363f84 100644 --- a/api_docs/data_search.mdx +++ b/api_docs/data_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/data-search title: "data.search" image: https://source.unsplash.com/400x175/?github description: API docs for the data.search plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'data.search'] --- import dataSearchObj from './data_search.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/k | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 3308 | 33 | 2577 | 24 | +| 3310 | 33 | 2575 | 24 | ## Client diff --git a/api_docs/data_view_editor.mdx b/api_docs/data_view_editor.mdx index e316b124679049..33be7a92ad848e 100644 --- a/api_docs/data_view_editor.mdx +++ b/api_docs/data_view_editor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataViewEditor title: "dataViewEditor" image: https://source.unsplash.com/400x175/?github description: API docs for the dataViewEditor plugin -date: 2023-09-21 +date: 2023-09-22 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 a50199e81665cf..03cd9e78a97eae 100644 --- a/api_docs/data_view_field_editor.mdx +++ b/api_docs/data_view_field_editor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataViewFieldEditor title: "dataViewFieldEditor" image: https://source.unsplash.com/400x175/?github description: API docs for the dataViewFieldEditor plugin -date: 2023-09-21 +date: 2023-09-22 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 ba3ed98442044a..e471f16a59a46a 100644 --- a/api_docs/data_view_management.mdx +++ b/api_docs/data_view_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataViewManagement title: "dataViewManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the dataViewManagement plugin -date: 2023-09-21 +date: 2023-09-22 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 4a5945bee01ce8..97c9d70abe747f 100644 --- a/api_docs/data_views.mdx +++ b/api_docs/data_views.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataViews title: "dataViews" image: https://source.unsplash.com/400x175/?github description: API docs for the dataViews plugin -date: 2023-09-21 +date: 2023-09-22 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 88cac35c7d98e3..10f7e8e0b31a0e 100644 --- a/api_docs/data_visualizer.mdx +++ b/api_docs/data_visualizer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataVisualizer title: "dataVisualizer" image: https://source.unsplash.com/400x175/?github description: API docs for the dataVisualizer plugin -date: 2023-09-21 +date: 2023-09-22 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 a9ef857b7bf518..cae2874b2f107e 100644 --- a/api_docs/deprecations_by_api.mdx +++ b/api_docs/deprecations_by_api.mdx @@ -7,7 +7,7 @@ id: kibDevDocsDeprecationsByApi slug: /kibana-dev-docs/api-meta/deprecated-api-list-by-api title: Deprecated API usage by API description: A list of deprecated APIs, which plugins are still referencing them, and when they need to be removed by. -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- diff --git a/api_docs/deprecations_by_plugin.mdx b/api_docs/deprecations_by_plugin.mdx index ed8aea16c27570..8ba7503399b875 100644 --- a/api_docs/deprecations_by_plugin.mdx +++ b/api_docs/deprecations_by_plugin.mdx @@ -7,7 +7,7 @@ id: kibDevDocsDeprecationsByPlugin slug: /kibana-dev-docs/api-meta/deprecated-api-list-by-plugin title: Deprecated API usage by plugin description: A list of deprecated APIs, which plugins are still referencing them, and when they need to be removed by. -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- @@ -1546,7 +1546,7 @@ migrates to using the Kibana Privilege model: https://github.com/elastic/kibana/ | Deprecated API | Reference location(s) | Remove By | | ---------------|-----------|-----------| -| | [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/stack_alerts/public/rule_types/es_query/index.ts#:~:text=registerNavigation) | - | +| | [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/stack_alerts/public/rule_types/es_query/index.ts#:~:text=registerNavigation), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/stack_alerts/public/rule_types/es_query/index.ts#:~:text=registerNavigation), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/stack_alerts/public/rule_types/es_query/index.ts#:~:text=registerNavigation), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/stack_alerts/public/rule_types/es_query/index.ts#:~:text=registerNavigation) | - | | | [rule_type.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/stack_alerts/server/rule_types/index_threshold/rule_type.ts#:~:text=alertFactory), [get_entities_and_generate_alerts.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/stack_alerts/server/rule_types/geo_containment/lib/get_entities_and_generate_alerts.ts#:~:text=alertFactory), [executor.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/stack_alerts/server/rule_types/geo_containment/executor.ts#:~:text=alertFactory), [executor.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/stack_alerts/server/rule_types/geo_containment/executor.ts#:~:text=alertFactory) | - | | | [fetch_search_source_query.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/stack_alerts/server/rule_types/es_query/lib/fetch_search_source_query.ts#:~:text=fetch), [rule_type.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/stack_alerts/server/rule_types/es_query/rule_type.test.ts#:~:text=fetch), [rule_type.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/stack_alerts/server/rule_types/es_query/rule_type.test.ts#:~:text=fetch) | - | | | [data_view_select.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/stack_alerts/public/rule_types/geo_containment/rule_form/data_view_select.tsx#:~:text=indexPatterns), [boundary_form.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/stack_alerts/public/rule_types/geo_containment/rule_form/boundary_form.tsx#:~:text=indexPatterns), [boundary_form.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/stack_alerts/public/rule_types/geo_containment/rule_form/boundary_form.tsx#:~:text=indexPatterns), [entity_form.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/stack_alerts/public/rule_types/geo_containment/rule_form/entity_form.tsx#:~:text=indexPatterns), [entity_form.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/stack_alerts/public/rule_types/geo_containment/rule_form/entity_form.tsx#:~:text=indexPatterns) | - | diff --git a/api_docs/deprecations_by_team.mdx b/api_docs/deprecations_by_team.mdx index 34086fddf297ec..26742064ca1fc0 100644 --- a/api_docs/deprecations_by_team.mdx +++ b/api_docs/deprecations_by_team.mdx @@ -7,7 +7,7 @@ id: kibDevDocsDeprecationsDueByTeam slug: /kibana-dev-docs/api-meta/deprecations-due-by-team title: Deprecated APIs due to be removed, by team description: Lists the teams that are referencing deprecated APIs with a remove by date. -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- diff --git a/api_docs/dev_tools.mdx b/api_docs/dev_tools.mdx index 0e2ef6eaefa4b8..578a363e310261 100644 --- a/api_docs/dev_tools.mdx +++ b/api_docs/dev_tools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/devTools title: "devTools" image: https://source.unsplash.com/400x175/?github description: API docs for the devTools plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'devTools'] --- import devToolsObj from './dev_tools.devdocs.json'; diff --git a/api_docs/discover.devdocs.json b/api_docs/discover.devdocs.json index 9d55f29fd0d671..953ad5b563cf68 100644 --- a/api_docs/discover.devdocs.json +++ b/api_docs/discover.devdocs.json @@ -363,9 +363,17 @@ "label": "get$", "description": [], "signature": [ - "(id: TCustomizationId) => ", + "(id: TCustomizationId) => ", "Observable", " | Extract<", { "pluginId": "discover", "scope": "public", @@ -421,7 +429,7 @@ "label": "enable", "description": [], "signature": [ - "(id: \"search_bar\" | \"top_nav\" | \"unified_histogram\") => void" + "(id: \"flyout\" | \"search_bar\" | \"top_nav\" | \"unified_histogram\") => void" ], "path": "src/plugins/discover/public/customizations/customization_service.ts", "deprecated": false, @@ -435,7 +443,7 @@ "label": "id", "description": [], "signature": [ - "\"search_bar\" | \"top_nav\" | \"unified_histogram\"" + "\"flyout\" | \"search_bar\" | \"top_nav\" | \"unified_histogram\"" ], "path": "src/plugins/discover/public/customizations/customization_service.ts", "deprecated": false, @@ -453,7 +461,7 @@ "label": "disable", "description": [], "signature": [ - "(id: \"search_bar\" | \"top_nav\" | \"unified_histogram\") => void" + "(id: \"flyout\" | \"search_bar\" | \"top_nav\" | \"unified_histogram\") => void" ], "path": "src/plugins/discover/public/customizations/customization_service.ts", "deprecated": false, @@ -467,7 +475,7 @@ "label": "id", "description": [], "signature": [ - "\"search_bar\" | \"top_nav\" | \"unified_histogram\"" + "\"flyout\" | \"search_bar\" | \"top_nav\" | \"unified_histogram\"" ], "path": "src/plugins/discover/public/customizations/customization_service.ts", "deprecated": false, @@ -763,6 +771,52 @@ ], "initialIsOpen": false }, + { + "parentPluginId": "discover", + "id": "def-public.FlyoutCustomization", + "type": "Interface", + "tags": [], + "label": "FlyoutCustomization", + "description": [], + "path": "src/plugins/discover/public/customizations/customization_types/flyout_customization.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "discover", + "id": "def-public.FlyoutCustomization.id", + "type": "string", + "tags": [], + "label": "id", + "description": [], + "signature": [ + "\"flyout\"" + ], + "path": "src/plugins/discover/public/customizations/customization_types/flyout_customization.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "discover", + "id": "def-public.FlyoutCustomization.actions", + "type": "Object", + "tags": [], + "label": "actions", + "description": [], + "signature": [ + "{ defaultActions?: ", + "FlyoutDefaultActions", + " | undefined; getActionItems?: (() => ", + "FlyoutActionItem", + "[]) | undefined; }" + ], + "path": "src/plugins/discover/public/customizations/customization_types/flyout_customization.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, { "parentPluginId": "discover", "id": "def-public.ISearchEmbeddable", @@ -1069,6 +1123,14 @@ "label": "DiscoverCustomization", "description": [], "signature": [ + { + "pluginId": "discover", + "scope": "public", + "docId": "kibDiscoverPluginApi", + "section": "def-public.FlyoutCustomization", + "text": "FlyoutCustomization" + }, + " | ", { "pluginId": "discover", "scope": "public", diff --git a/api_docs/discover.mdx b/api_docs/discover.mdx index 2dade7597911dd..9757530e364e64 100644 --- a/api_docs/discover.mdx +++ b/api_docs/discover.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/discover title: "discover" image: https://source.unsplash.com/400x175/?github description: API docs for the discover plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'discover'] --- import discoverObj from './discover.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/k | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 113 | 0 | 72 | 15 | +| 116 | 0 | 75 | 17 | ## Client diff --git a/api_docs/discover_enhanced.mdx b/api_docs/discover_enhanced.mdx index 2d15dd3b70b36d..14665dd3dbf281 100644 --- a/api_docs/discover_enhanced.mdx +++ b/api_docs/discover_enhanced.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/discoverEnhanced title: "discoverEnhanced" image: https://source.unsplash.com/400x175/?github description: API docs for the discoverEnhanced plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'discoverEnhanced'] --- import discoverEnhancedObj from './discover_enhanced.devdocs.json'; diff --git a/api_docs/ecs_data_quality_dashboard.mdx b/api_docs/ecs_data_quality_dashboard.mdx index 3506edd0bd41bf..e563889f743e65 100644 --- a/api_docs/ecs_data_quality_dashboard.mdx +++ b/api_docs/ecs_data_quality_dashboard.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/ecsDataQualityDashboard title: "ecsDataQualityDashboard" image: https://source.unsplash.com/400x175/?github description: API docs for the ecsDataQualityDashboard plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'ecsDataQualityDashboard'] --- import ecsDataQualityDashboardObj from './ecs_data_quality_dashboard.devdocs.json'; diff --git a/api_docs/elastic_assistant.mdx b/api_docs/elastic_assistant.mdx index 2355c09ce1195d..bd1eb7f5c45b00 100644 --- a/api_docs/elastic_assistant.mdx +++ b/api_docs/elastic_assistant.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/elasticAssistant title: "elasticAssistant" image: https://source.unsplash.com/400x175/?github description: API docs for the elasticAssistant plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'elasticAssistant'] --- import elasticAssistantObj from './elastic_assistant.devdocs.json'; diff --git a/api_docs/embeddable.mdx b/api_docs/embeddable.mdx index 2a512376e59db0..91498206cadbc9 100644 --- a/api_docs/embeddable.mdx +++ b/api_docs/embeddable.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/embeddable title: "embeddable" image: https://source.unsplash.com/400x175/?github description: API docs for the embeddable plugin -date: 2023-09-21 +date: 2023-09-22 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 ac8687f69f529b..cb7c9d694490bb 100644 --- a/api_docs/embeddable_enhanced.mdx +++ b/api_docs/embeddable_enhanced.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/embeddableEnhanced title: "embeddableEnhanced" image: https://source.unsplash.com/400x175/?github description: API docs for the embeddableEnhanced plugin -date: 2023-09-21 +date: 2023-09-22 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 46c42d35015840..5965dcb8a31b39 100644 --- a/api_docs/encrypted_saved_objects.mdx +++ b/api_docs/encrypted_saved_objects.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/encryptedSavedObjects title: "encryptedSavedObjects" image: https://source.unsplash.com/400x175/?github description: API docs for the encryptedSavedObjects plugin -date: 2023-09-21 +date: 2023-09-22 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 45013bb12a726f..b6d930efcac66b 100644 --- a/api_docs/enterprise_search.mdx +++ b/api_docs/enterprise_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/enterpriseSearch title: "enterpriseSearch" image: https://source.unsplash.com/400x175/?github description: API docs for the enterpriseSearch plugin -date: 2023-09-21 +date: 2023-09-22 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 33d43d630c5645..3acd9582627b0d 100644 --- a/api_docs/es_ui_shared.mdx +++ b/api_docs/es_ui_shared.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/esUiShared title: "esUiShared" image: https://source.unsplash.com/400x175/?github description: API docs for the esUiShared plugin -date: 2023-09-21 +date: 2023-09-22 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 3de8ad1d6fdefa..d3bf2b4def3d14 100644 --- a/api_docs/event_annotation.mdx +++ b/api_docs/event_annotation.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/eventAnnotation title: "eventAnnotation" image: https://source.unsplash.com/400x175/?github description: API docs for the eventAnnotation plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'eventAnnotation'] --- import eventAnnotationObj from './event_annotation.devdocs.json'; diff --git a/api_docs/event_annotation_listing.mdx b/api_docs/event_annotation_listing.mdx index 7420c4a9073d9d..064500e78488b2 100644 --- a/api_docs/event_annotation_listing.mdx +++ b/api_docs/event_annotation_listing.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/eventAnnotationListing title: "eventAnnotationListing" image: https://source.unsplash.com/400x175/?github description: API docs for the eventAnnotationListing plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'eventAnnotationListing'] --- import eventAnnotationListingObj from './event_annotation_listing.devdocs.json'; diff --git a/api_docs/event_log.mdx b/api_docs/event_log.mdx index 13c4a74d895098..4fc6d1f2714b2e 100644 --- a/api_docs/event_log.mdx +++ b/api_docs/event_log.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/eventLog title: "eventLog" image: https://source.unsplash.com/400x175/?github description: API docs for the eventLog plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'eventLog'] --- import eventLogObj from './event_log.devdocs.json'; diff --git a/api_docs/exploratory_view.mdx b/api_docs/exploratory_view.mdx index 497b727c7f9eeb..ef6a1b8d7e3da8 100644 --- a/api_docs/exploratory_view.mdx +++ b/api_docs/exploratory_view.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/exploratoryView title: "exploratoryView" image: https://source.unsplash.com/400x175/?github description: API docs for the exploratoryView plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'exploratoryView'] --- import exploratoryViewObj from './exploratory_view.devdocs.json'; diff --git a/api_docs/expression_error.mdx b/api_docs/expression_error.mdx index bec03291ccd0df..cc0fa5b0f96402 100644 --- a/api_docs/expression_error.mdx +++ b/api_docs/expression_error.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionError title: "expressionError" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionError plugin -date: 2023-09-21 +date: 2023-09-22 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 fbe7024383a944..c9ac36f6fd24a7 100644 --- a/api_docs/expression_gauge.mdx +++ b/api_docs/expression_gauge.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionGauge title: "expressionGauge" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionGauge plugin -date: 2023-09-21 +date: 2023-09-22 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 0f62d4eba2e81d..cf39abc6f0a9df 100644 --- a/api_docs/expression_heatmap.mdx +++ b/api_docs/expression_heatmap.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionHeatmap title: "expressionHeatmap" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionHeatmap plugin -date: 2023-09-21 +date: 2023-09-22 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 e8e3b091ae0ab7..c79aa87517f107 100644 --- a/api_docs/expression_image.mdx +++ b/api_docs/expression_image.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionImage title: "expressionImage" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionImage plugin -date: 2023-09-21 +date: 2023-09-22 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 140addae88a631..6b1ce19e150c3a 100644 --- a/api_docs/expression_legacy_metric_vis.mdx +++ b/api_docs/expression_legacy_metric_vis.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionLegacyMetricVis title: "expressionLegacyMetricVis" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionLegacyMetricVis plugin -date: 2023-09-21 +date: 2023-09-22 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 5ec7ac253238b5..17a917e2a265ea 100644 --- a/api_docs/expression_metric.mdx +++ b/api_docs/expression_metric.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionMetric title: "expressionMetric" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionMetric plugin -date: 2023-09-21 +date: 2023-09-22 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 0048f1faef58a9..cf26a78cc2b368 100644 --- a/api_docs/expression_metric_vis.mdx +++ b/api_docs/expression_metric_vis.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionMetricVis title: "expressionMetricVis" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionMetricVis plugin -date: 2023-09-21 +date: 2023-09-22 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 1e39702d1f5809..bce63b9bf1c850 100644 --- a/api_docs/expression_partition_vis.mdx +++ b/api_docs/expression_partition_vis.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionPartitionVis title: "expressionPartitionVis" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionPartitionVis plugin -date: 2023-09-21 +date: 2023-09-22 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 55268c7a1bdbef..93d64281a79566 100644 --- a/api_docs/expression_repeat_image.mdx +++ b/api_docs/expression_repeat_image.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionRepeatImage title: "expressionRepeatImage" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionRepeatImage plugin -date: 2023-09-21 +date: 2023-09-22 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 c47451ef632d20..ec1805853e09f2 100644 --- a/api_docs/expression_reveal_image.mdx +++ b/api_docs/expression_reveal_image.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionRevealImage title: "expressionRevealImage" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionRevealImage plugin -date: 2023-09-21 +date: 2023-09-22 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 aa5867ab872956..f2688336d91871 100644 --- a/api_docs/expression_shape.mdx +++ b/api_docs/expression_shape.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionShape title: "expressionShape" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionShape plugin -date: 2023-09-21 +date: 2023-09-22 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 d3ddf2d43e3b93..e6bc16a4dc6cd0 100644 --- a/api_docs/expression_tagcloud.mdx +++ b/api_docs/expression_tagcloud.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionTagcloud title: "expressionTagcloud" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionTagcloud plugin -date: 2023-09-21 +date: 2023-09-22 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 708adeadc37704..82412b70a9a7f0 100644 --- a/api_docs/expression_x_y.mdx +++ b/api_docs/expression_x_y.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionXY title: "expressionXY" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionXY plugin -date: 2023-09-21 +date: 2023-09-22 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 1cf9932177e27a..68ccd0208e3c73 100644 --- a/api_docs/expressions.mdx +++ b/api_docs/expressions.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressions title: "expressions" image: https://source.unsplash.com/400x175/?github description: API docs for the expressions plugin -date: 2023-09-21 +date: 2023-09-22 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 07537e41fd88a0..3b21a1ddd629e5 100644 --- a/api_docs/features.mdx +++ b/api_docs/features.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/features title: "features" image: https://source.unsplash.com/400x175/?github description: API docs for the features plugin -date: 2023-09-21 +date: 2023-09-22 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 a646587639331a..d5d9f12f8c6e83 100644 --- a/api_docs/field_formats.mdx +++ b/api_docs/field_formats.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/fieldFormats title: "fieldFormats" image: https://source.unsplash.com/400x175/?github description: API docs for the fieldFormats plugin -date: 2023-09-21 +date: 2023-09-22 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 2d6083153ad25c..72f21ddc906ad3 100644 --- a/api_docs/file_upload.mdx +++ b/api_docs/file_upload.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/fileUpload title: "fileUpload" image: https://source.unsplash.com/400x175/?github description: API docs for the fileUpload plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'fileUpload'] --- import fileUploadObj from './file_upload.devdocs.json'; diff --git a/api_docs/files.mdx b/api_docs/files.mdx index 9746dda29b014b..558374d2f33fbc 100644 --- a/api_docs/files.mdx +++ b/api_docs/files.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/files title: "files" image: https://source.unsplash.com/400x175/?github description: API docs for the files plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'files'] --- import filesObj from './files.devdocs.json'; diff --git a/api_docs/files_management.mdx b/api_docs/files_management.mdx index 037578e36942ff..e06767755a8f66 100644 --- a/api_docs/files_management.mdx +++ b/api_docs/files_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/filesManagement title: "filesManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the filesManagement plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'filesManagement'] --- import filesManagementObj from './files_management.devdocs.json'; diff --git a/api_docs/fleet.devdocs.json b/api_docs/fleet.devdocs.json index efa04820ce936b..cb9c82a0f53ca0 100644 --- a/api_docs/fleet.devdocs.json +++ b/api_docs/fleet.devdocs.json @@ -4813,6 +4813,40 @@ } ], "returnComment": [] + }, + { + "parentPluginId": "fleet", + "id": "def-server.AgentClient.getLatestAgentAvailableVersion", + "type": "Function", + "tags": [], + "label": "getLatestAgentAvailableVersion", + "description": [ + "\nReturn the latest agent available version" + ], + "signature": [ + "(includeCurrentVersion?: boolean | undefined) => Promise" + ], + "path": "x-pack/plugins/fleet/server/services/agents/agent_service.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "fleet", + "id": "def-server.AgentClient.getLatestAgentAvailableVersion.$1", + "type": "CompoundType", + "tags": [], + "label": "includeCurrentVersion", + "description": [], + "signature": [ + "boolean | undefined" + ], + "path": "x-pack/plugins/fleet/server/services/agents/agent_service.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": false + } + ], + "returnComment": [] } ], "initialIsOpen": false diff --git a/api_docs/fleet.mdx b/api_docs/fleet.mdx index 9f7dc59bfacf09..220ab1f983fe34 100644 --- a/api_docs/fleet.mdx +++ b/api_docs/fleet.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/fleet title: "fleet" image: https://source.unsplash.com/400x175/?github description: API docs for the fleet plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'fleet'] --- import fleetObj from './fleet.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/fleet](https://github.com/orgs/elastic/teams/fleet) for questi | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 1199 | 3 | 1082 | 41 | +| 1201 | 3 | 1083 | 41 | ## Client diff --git a/api_docs/global_search.mdx b/api_docs/global_search.mdx index 80a900d285311a..c1c9c5402d6017 100644 --- a/api_docs/global_search.mdx +++ b/api_docs/global_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/globalSearch title: "globalSearch" image: https://source.unsplash.com/400x175/?github description: API docs for the globalSearch plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'globalSearch'] --- import globalSearchObj from './global_search.devdocs.json'; diff --git a/api_docs/guided_onboarding.mdx b/api_docs/guided_onboarding.mdx index f15f32b1de60b7..aee5828134402f 100644 --- a/api_docs/guided_onboarding.mdx +++ b/api_docs/guided_onboarding.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/guidedOnboarding title: "guidedOnboarding" image: https://source.unsplash.com/400x175/?github description: API docs for the guidedOnboarding plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'guidedOnboarding'] --- import guidedOnboardingObj from './guided_onboarding.devdocs.json'; diff --git a/api_docs/home.mdx b/api_docs/home.mdx index 9dc2f69cc95a6f..fc6a07abd0d340 100644 --- a/api_docs/home.mdx +++ b/api_docs/home.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/home title: "home" image: https://source.unsplash.com/400x175/?github description: API docs for the home plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'home'] --- import homeObj from './home.devdocs.json'; diff --git a/api_docs/image_embeddable.mdx b/api_docs/image_embeddable.mdx index 34aaa66751a1ee..f57663ddad3815 100644 --- a/api_docs/image_embeddable.mdx +++ b/api_docs/image_embeddable.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/imageEmbeddable title: "imageEmbeddable" image: https://source.unsplash.com/400x175/?github description: API docs for the imageEmbeddable plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'imageEmbeddable'] --- import imageEmbeddableObj from './image_embeddable.devdocs.json'; diff --git a/api_docs/index_lifecycle_management.mdx b/api_docs/index_lifecycle_management.mdx index 0c8b53158be4e8..09498eb3ca7fe6 100644 --- a/api_docs/index_lifecycle_management.mdx +++ b/api_docs/index_lifecycle_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/indexLifecycleManagement title: "indexLifecycleManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the indexLifecycleManagement plugin -date: 2023-09-21 +date: 2023-09-22 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 081c1d59d41665..4ec3bd9d5e45e4 100644 --- a/api_docs/index_management.mdx +++ b/api_docs/index_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/indexManagement title: "indexManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the indexManagement plugin -date: 2023-09-21 +date: 2023-09-22 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 b21154eacb7d3b..a0486e201c758f 100644 --- a/api_docs/infra.mdx +++ b/api_docs/infra.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/infra title: "infra" image: https://source.unsplash.com/400x175/?github description: API docs for the infra plugin -date: 2023-09-21 +date: 2023-09-22 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 a6429813c2f37b..3676463b7614ca 100644 --- a/api_docs/inspector.mdx +++ b/api_docs/inspector.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/inspector title: "inspector" image: https://source.unsplash.com/400x175/?github description: API docs for the inspector plugin -date: 2023-09-21 +date: 2023-09-22 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 d98566094813da..b8e54aa228ff8a 100644 --- a/api_docs/interactive_setup.mdx +++ b/api_docs/interactive_setup.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/interactiveSetup title: "interactiveSetup" image: https://source.unsplash.com/400x175/?github description: API docs for the interactiveSetup plugin -date: 2023-09-21 +date: 2023-09-22 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 9d276deed76720..ce85a25b6facd1 100644 --- a/api_docs/kbn_ace.mdx +++ b/api_docs/kbn_ace.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ace title: "@kbn/ace" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ace plugin -date: 2023-09-21 +date: 2023-09-22 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 9b3c238b763959..c7242a3b25feaf 100644 --- a/api_docs/kbn_aiops_components.mdx +++ b/api_docs/kbn_aiops_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-aiops-components title: "@kbn/aiops-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/aiops-components plugin -date: 2023-09-21 +date: 2023-09-22 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 3e61e5df8d3ca3..d011edbdae5d18 100644 --- a/api_docs/kbn_aiops_utils.mdx +++ b/api_docs/kbn_aiops_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-aiops-utils title: "@kbn/aiops-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/aiops-utils plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/aiops-utils'] --- import kbnAiopsUtilsObj from './kbn_aiops_utils.devdocs.json'; diff --git a/api_docs/kbn_alerting_api_integration_helpers.mdx b/api_docs/kbn_alerting_api_integration_helpers.mdx index 091d6f9a18bbff..03c1fa1c71f40e 100644 --- a/api_docs/kbn_alerting_api_integration_helpers.mdx +++ b/api_docs/kbn_alerting_api_integration_helpers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-alerting-api-integration-helpers title: "@kbn/alerting-api-integration-helpers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/alerting-api-integration-helpers plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/alerting-api-integration-helpers'] --- import kbnAlertingApiIntegrationHelpersObj from './kbn_alerting_api_integration_helpers.devdocs.json'; diff --git a/api_docs/kbn_alerting_state_types.mdx b/api_docs/kbn_alerting_state_types.mdx index b494dc066ec625..ffc6210b198092 100644 --- a/api_docs/kbn_alerting_state_types.mdx +++ b/api_docs/kbn_alerting_state_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-alerting-state-types title: "@kbn/alerting-state-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/alerting-state-types plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/alerting-state-types'] --- import kbnAlertingStateTypesObj from './kbn_alerting_state_types.devdocs.json'; diff --git a/api_docs/kbn_alerts_as_data_utils.mdx b/api_docs/kbn_alerts_as_data_utils.mdx index 6d8af2e4cace5f..00d2cd1e73eeea 100644 --- a/api_docs/kbn_alerts_as_data_utils.mdx +++ b/api_docs/kbn_alerts_as_data_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-alerts-as-data-utils title: "@kbn/alerts-as-data-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/alerts-as-data-utils plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/alerts-as-data-utils'] --- import kbnAlertsAsDataUtilsObj from './kbn_alerts_as_data_utils.devdocs.json'; diff --git a/api_docs/kbn_alerts_ui_shared.mdx b/api_docs/kbn_alerts_ui_shared.mdx index d365b2fb916de1..45fd3d345409e7 100644 --- a/api_docs/kbn_alerts_ui_shared.mdx +++ b/api_docs/kbn_alerts_ui_shared.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-alerts-ui-shared title: "@kbn/alerts-ui-shared" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/alerts-ui-shared plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/alerts-ui-shared'] --- import kbnAlertsUiSharedObj from './kbn_alerts_ui_shared.devdocs.json'; diff --git a/api_docs/kbn_analytics.mdx b/api_docs/kbn_analytics.mdx index 4d52cf3d8feefa..9d27c496947a3b 100644 --- a/api_docs/kbn_analytics.mdx +++ b/api_docs/kbn_analytics.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics title: "@kbn/analytics" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics plugin -date: 2023-09-21 +date: 2023-09-22 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 156403ede807e1..60a1360b09ab8c 100644 --- a/api_docs/kbn_analytics_client.mdx +++ b/api_docs/kbn_analytics_client.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-client title: "@kbn/analytics-client" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics-client plugin -date: 2023-09-21 +date: 2023-09-22 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 2969bbf60297ea..47de0b7aa8e57b 100644 --- a/api_docs/kbn_analytics_shippers_elastic_v3_browser.mdx +++ b/api_docs/kbn_analytics_shippers_elastic_v3_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-shippers-elastic-v3-browser title: "@kbn/analytics-shippers-elastic-v3-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics-shippers-elastic-v3-browser plugin -date: 2023-09-21 +date: 2023-09-22 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 52d9cd5e129595..fb23c8aa0611c2 100644 --- a/api_docs/kbn_analytics_shippers_elastic_v3_common.mdx +++ b/api_docs/kbn_analytics_shippers_elastic_v3_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-shippers-elastic-v3-common title: "@kbn/analytics-shippers-elastic-v3-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics-shippers-elastic-v3-common plugin -date: 2023-09-21 +date: 2023-09-22 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 d98027d00da10b..bf697c883cc909 100644 --- a/api_docs/kbn_analytics_shippers_elastic_v3_server.mdx +++ b/api_docs/kbn_analytics_shippers_elastic_v3_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-shippers-elastic-v3-server title: "@kbn/analytics-shippers-elastic-v3-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics-shippers-elastic-v3-server plugin -date: 2023-09-21 +date: 2023-09-22 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 c8ef91197fafcf..d8d74fe9a12180 100644 --- a/api_docs/kbn_analytics_shippers_fullstory.mdx +++ b/api_docs/kbn_analytics_shippers_fullstory.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-shippers-fullstory title: "@kbn/analytics-shippers-fullstory" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics-shippers-fullstory plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics-shippers-fullstory'] --- import kbnAnalyticsShippersFullstoryObj from './kbn_analytics_shippers_fullstory.devdocs.json'; diff --git a/api_docs/kbn_analytics_shippers_gainsight.mdx b/api_docs/kbn_analytics_shippers_gainsight.mdx index b1ba6ce8558660..cee306b8550309 100644 --- a/api_docs/kbn_analytics_shippers_gainsight.mdx +++ b/api_docs/kbn_analytics_shippers_gainsight.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-shippers-gainsight title: "@kbn/analytics-shippers-gainsight" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics-shippers-gainsight plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics-shippers-gainsight'] --- import kbnAnalyticsShippersGainsightObj from './kbn_analytics_shippers_gainsight.devdocs.json'; diff --git a/api_docs/kbn_apm_config_loader.mdx b/api_docs/kbn_apm_config_loader.mdx index 3ac2ca40aa99ee..fe8da669c27980 100644 --- a/api_docs/kbn_apm_config_loader.mdx +++ b/api_docs/kbn_apm_config_loader.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-apm-config-loader title: "@kbn/apm-config-loader" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/apm-config-loader plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/apm-config-loader'] --- import kbnApmConfigLoaderObj from './kbn_apm_config_loader.devdocs.json'; diff --git a/api_docs/kbn_apm_synthtrace.mdx b/api_docs/kbn_apm_synthtrace.mdx index 2639beeaa43be9..25c9ac7cc90a5d 100644 --- a/api_docs/kbn_apm_synthtrace.mdx +++ b/api_docs/kbn_apm_synthtrace.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-apm-synthtrace title: "@kbn/apm-synthtrace" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/apm-synthtrace plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/apm-synthtrace'] --- import kbnApmSynthtraceObj from './kbn_apm_synthtrace.devdocs.json'; diff --git a/api_docs/kbn_apm_synthtrace_client.mdx b/api_docs/kbn_apm_synthtrace_client.mdx index 325365f86ad741..6b0a6731953e86 100644 --- a/api_docs/kbn_apm_synthtrace_client.mdx +++ b/api_docs/kbn_apm_synthtrace_client.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-apm-synthtrace-client title: "@kbn/apm-synthtrace-client" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/apm-synthtrace-client plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/apm-synthtrace-client'] --- import kbnApmSynthtraceClientObj from './kbn_apm_synthtrace_client.devdocs.json'; diff --git a/api_docs/kbn_apm_utils.mdx b/api_docs/kbn_apm_utils.mdx index dc74fd90a24717..95dc78fc51ef82 100644 --- a/api_docs/kbn_apm_utils.mdx +++ b/api_docs/kbn_apm_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-apm-utils title: "@kbn/apm-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/apm-utils plugin -date: 2023-09-21 +date: 2023-09-22 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 9c3b7688dcde1b..2d4de0c51257e5 100644 --- a/api_docs/kbn_axe_config.mdx +++ b/api_docs/kbn_axe_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-axe-config title: "@kbn/axe-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/axe-config plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/axe-config'] --- import kbnAxeConfigObj from './kbn_axe_config.devdocs.json'; diff --git a/api_docs/kbn_cases_components.mdx b/api_docs/kbn_cases_components.mdx index 4b645ec6864c3a..79ed397ceab078 100644 --- a/api_docs/kbn_cases_components.mdx +++ b/api_docs/kbn_cases_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-cases-components title: "@kbn/cases-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/cases-components plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/cases-components'] --- import kbnCasesComponentsObj from './kbn_cases_components.devdocs.json'; diff --git a/api_docs/kbn_cell_actions.mdx b/api_docs/kbn_cell_actions.mdx index 0b21ef1f375a79..7af3fb65445b6c 100644 --- a/api_docs/kbn_cell_actions.mdx +++ b/api_docs/kbn_cell_actions.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-cell-actions title: "@kbn/cell-actions" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/cell-actions plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/cell-actions'] --- import kbnCellActionsObj from './kbn_cell_actions.devdocs.json'; diff --git a/api_docs/kbn_chart_expressions_common.mdx b/api_docs/kbn_chart_expressions_common.mdx index c6becbc673a6d0..1957d9e780c8a8 100644 --- a/api_docs/kbn_chart_expressions_common.mdx +++ b/api_docs/kbn_chart_expressions_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-chart-expressions-common title: "@kbn/chart-expressions-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/chart-expressions-common plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/chart-expressions-common'] --- import kbnChartExpressionsCommonObj from './kbn_chart_expressions_common.devdocs.json'; diff --git a/api_docs/kbn_chart_icons.mdx b/api_docs/kbn_chart_icons.mdx index 3c6e4b9422efd8..14d7ea379adf63 100644 --- a/api_docs/kbn_chart_icons.mdx +++ b/api_docs/kbn_chart_icons.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-chart-icons title: "@kbn/chart-icons" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/chart-icons plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/chart-icons'] --- import kbnChartIconsObj from './kbn_chart_icons.devdocs.json'; diff --git a/api_docs/kbn_ci_stats_core.mdx b/api_docs/kbn_ci_stats_core.mdx index 3291a187efa847..39454391185065 100644 --- a/api_docs/kbn_ci_stats_core.mdx +++ b/api_docs/kbn_ci_stats_core.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ci-stats-core title: "@kbn/ci-stats-core" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ci-stats-core plugin -date: 2023-09-21 +date: 2023-09-22 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 124e8f51c9c4e0..ae0b78cf49298c 100644 --- a/api_docs/kbn_ci_stats_performance_metrics.mdx +++ b/api_docs/kbn_ci_stats_performance_metrics.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ci-stats-performance-metrics title: "@kbn/ci-stats-performance-metrics" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ci-stats-performance-metrics plugin -date: 2023-09-21 +date: 2023-09-22 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 239ebeb4dd0a1b..e9a793c11f2dc2 100644 --- a/api_docs/kbn_ci_stats_reporter.mdx +++ b/api_docs/kbn_ci_stats_reporter.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ci-stats-reporter title: "@kbn/ci-stats-reporter" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ci-stats-reporter plugin -date: 2023-09-21 +date: 2023-09-22 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 81c5b8e158a44b..dc008c636c6d47 100644 --- a/api_docs/kbn_cli_dev_mode.mdx +++ b/api_docs/kbn_cli_dev_mode.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-cli-dev-mode title: "@kbn/cli-dev-mode" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/cli-dev-mode plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/cli-dev-mode'] --- import kbnCliDevModeObj from './kbn_cli_dev_mode.devdocs.json'; diff --git a/api_docs/kbn_code_editor.mdx b/api_docs/kbn_code_editor.mdx index 7ea1e57fe6c113..ca8d04923125b0 100644 --- a/api_docs/kbn_code_editor.mdx +++ b/api_docs/kbn_code_editor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-code-editor title: "@kbn/code-editor" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/code-editor plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/code-editor'] --- import kbnCodeEditorObj from './kbn_code_editor.devdocs.json'; diff --git a/api_docs/kbn_code_editor_mocks.mdx b/api_docs/kbn_code_editor_mocks.mdx index 0a3c3e632c6563..f5e96913391611 100644 --- a/api_docs/kbn_code_editor_mocks.mdx +++ b/api_docs/kbn_code_editor_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-code-editor-mocks title: "@kbn/code-editor-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/code-editor-mocks plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/code-editor-mocks'] --- import kbnCodeEditorMocksObj from './kbn_code_editor_mocks.devdocs.json'; diff --git a/api_docs/kbn_coloring.mdx b/api_docs/kbn_coloring.mdx index b89f56f3dac0f7..f201ed759e8e4e 100644 --- a/api_docs/kbn_coloring.mdx +++ b/api_docs/kbn_coloring.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-coloring title: "@kbn/coloring" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/coloring plugin -date: 2023-09-21 +date: 2023-09-22 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 110bb966caa630..4587d53b55ac80 100644 --- a/api_docs/kbn_config.mdx +++ b/api_docs/kbn_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-config title: "@kbn/config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/config plugin -date: 2023-09-21 +date: 2023-09-22 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 b11890375d8a77..1b6994ad211277 100644 --- a/api_docs/kbn_config_mocks.mdx +++ b/api_docs/kbn_config_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-config-mocks title: "@kbn/config-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/config-mocks plugin -date: 2023-09-21 +date: 2023-09-22 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 018398a19316f3..250f203301bfb9 100644 --- a/api_docs/kbn_config_schema.mdx +++ b/api_docs/kbn_config_schema.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-config-schema title: "@kbn/config-schema" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/config-schema plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/config-schema'] --- import kbnConfigSchemaObj from './kbn_config_schema.devdocs.json'; diff --git a/api_docs/kbn_content_management_content_editor.mdx b/api_docs/kbn_content_management_content_editor.mdx index 651d5dd33d006a..268d96212e1a32 100644 --- a/api_docs/kbn_content_management_content_editor.mdx +++ b/api_docs/kbn_content_management_content_editor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-content-editor title: "@kbn/content-management-content-editor" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/content-management-content-editor plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-content-editor'] --- import kbnContentManagementContentEditorObj from './kbn_content_management_content_editor.devdocs.json'; diff --git a/api_docs/kbn_content_management_tabbed_table_list_view.devdocs.json b/api_docs/kbn_content_management_tabbed_table_list_view.devdocs.json index b39adaf02cf095..ca34bec5503a55 100644 --- a/api_docs/kbn_content_management_tabbed_table_list_view.devdocs.json +++ b/api_docs/kbn_content_management_tabbed_table_list_view.devdocs.json @@ -180,6 +180,20 @@ "deprecated": false, "trackAdoption": false }, + { + "parentPluginId": "@kbn/content-management-tabbed-table-list-view", + "id": "def-common.UserContentCommonSchema.managed", + "type": "CompoundType", + "tags": [], + "label": "managed", + "description": [], + "signature": [ + "boolean | undefined" + ], + "path": "packages/content-management/table_list_view_table/src/table_list_view_table.tsx", + "deprecated": false, + "trackAdoption": false + }, { "parentPluginId": "@kbn/content-management-tabbed-table-list-view", "id": "def-common.UserContentCommonSchema.references", diff --git a/api_docs/kbn_content_management_tabbed_table_list_view.mdx b/api_docs/kbn_content_management_tabbed_table_list_view.mdx index 188215d1461fb3..53ccdd4fd8440b 100644 --- a/api_docs/kbn_content_management_tabbed_table_list_view.mdx +++ b/api_docs/kbn_content_management_tabbed_table_list_view.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-tabbed-table-list-view title: "@kbn/content-management-tabbed-table-list-view" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/content-management-tabbed-table-list-view plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-tabbed-table-list-view'] --- import kbnContentManagementTabbedTableListViewObj from './kbn_content_management_tabbed_table_list_view.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sh | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 14 | 0 | 14 | 0 | +| 15 | 0 | 15 | 0 | ## Common diff --git a/api_docs/kbn_content_management_table_list_view.devdocs.json b/api_docs/kbn_content_management_table_list_view.devdocs.json index 479945668d6c32..4a3573d5386ffd 100644 --- a/api_docs/kbn_content_management_table_list_view.devdocs.json +++ b/api_docs/kbn_content_management_table_list_view.devdocs.json @@ -35,7 +35,7 @@ "section": "def-common.UserContentCommonSchema", "text": "UserContentCommonSchema" }, - ">({ title, description, entityName, entityNamePlural, initialFilter, headingId, initialPageSize, listingLimit, urlStateEnabled, customTableColumn, emptyPrompt, findItems, createItem, editItem, deleteItems, getDetailViewLink, onClickTitle, rowItemActions, id: listingId, contentEditor, children, titleColumnName, additionalRightSideActions, withoutPageTemplateWrapper, }: ", + ">({ title, description, entityName, entityNamePlural, initialFilter, headingId, initialPageSize, listingLimit, urlStateEnabled, customTableColumn, emptyPrompt, findItems, createItem, editItem, deleteItems, getDetailViewLink, onClickTitle, rowItemActions, id: listingId, contentEditor, children, titleColumnName, additionalRightSideActions, withoutPageTemplateWrapper, itemIsEditable, }: ", { "pluginId": "@kbn/content-management-table-list-view", "scope": "common", @@ -54,7 +54,7 @@ "id": "def-common.TableListView.$1", "type": "CompoundType", "tags": [], - "label": "{\n title,\n description,\n entityName,\n entityNamePlural,\n initialFilter,\n headingId,\n initialPageSize,\n listingLimit,\n urlStateEnabled = true,\n customTableColumn,\n emptyPrompt,\n findItems,\n createItem,\n editItem,\n deleteItems,\n getDetailViewLink,\n onClickTitle,\n rowItemActions,\n id: listingId,\n contentEditor,\n children,\n titleColumnName,\n additionalRightSideActions,\n withoutPageTemplateWrapper,\n}", + "label": "{\n title,\n description,\n entityName,\n entityNamePlural,\n initialFilter,\n headingId,\n initialPageSize,\n listingLimit,\n urlStateEnabled = true,\n customTableColumn,\n emptyPrompt,\n findItems,\n createItem,\n editItem,\n deleteItems,\n getDetailViewLink,\n onClickTitle,\n rowItemActions,\n id: listingId,\n contentEditor,\n children,\n titleColumnName,\n additionalRightSideActions,\n withoutPageTemplateWrapper,\n itemIsEditable,\n}", "description": [], "signature": [ { @@ -110,6 +110,20 @@ "deprecated": false, "trackAdoption": false }, + { + "parentPluginId": "@kbn/content-management-table-list-view", + "id": "def-common.UserContentCommonSchema.managed", + "type": "CompoundType", + "tags": [], + "label": "managed", + "description": [], + "signature": [ + "boolean | undefined" + ], + "path": "packages/content-management/table_list_view_table/src/table_list_view_table.tsx", + "deprecated": false, + "trackAdoption": false + }, { "parentPluginId": "@kbn/content-management-table-list-view", "id": "def-common.UserContentCommonSchema.references", @@ -172,7 +186,7 @@ "section": "def-common.TableListViewTableProps", "text": "TableListViewTableProps" }, - ", \"id\" | \"entityName\" | \"entityNamePlural\" | \"initialFilter\" | \"headingId\" | \"initialPageSize\" | \"listingLimit\" | \"urlStateEnabled\" | \"customTableColumn\" | \"emptyPrompt\" | \"findItems\" | \"createItem\" | \"editItem\" | \"deleteItems\" | \"getDetailViewLink\" | \"onClickTitle\" | \"rowItemActions\" | \"contentEditor\" | \"titleColumnName\" | \"withoutPageTemplateWrapper\" | \"showEditActionForItem\"> & { title: string; description?: string | undefined; additionalRightSideActions?: React.ReactNode[] | undefined; children?: React.ReactNode; }" + ", \"id\" | \"entityName\" | \"entityNamePlural\" | \"initialFilter\" | \"headingId\" | \"initialPageSize\" | \"listingLimit\" | \"urlStateEnabled\" | \"customTableColumn\" | \"emptyPrompt\" | \"findItems\" | \"createItem\" | \"editItem\" | \"deleteItems\" | \"getDetailViewLink\" | \"onClickTitle\" | \"rowItemActions\" | \"contentEditor\" | \"titleColumnName\" | \"withoutPageTemplateWrapper\" | \"itemIsEditable\"> & { title: string; description?: string | undefined; additionalRightSideActions?: React.ReactNode[] | undefined; children?: React.ReactNode; }" ], "path": "packages/content-management/table_list_view/src/table_list_view.tsx", "deprecated": false, diff --git a/api_docs/kbn_content_management_table_list_view.mdx b/api_docs/kbn_content_management_table_list_view.mdx index 170c63b1056def..fcd9738888471c 100644 --- a/api_docs/kbn_content_management_table_list_view.mdx +++ b/api_docs/kbn_content_management_table_list_view.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-table-list-view title: "@kbn/content-management-table-list-view" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/content-management-table-list-view plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-table-list-view'] --- import kbnContentManagementTableListViewObj from './kbn_content_management_table_list_view.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sh | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 9 | 0 | 9 | 0 | +| 10 | 0 | 10 | 0 | ## Common diff --git a/api_docs/kbn_content_management_table_list_view_table.devdocs.json b/api_docs/kbn_content_management_table_list_view_table.devdocs.json index 5ec3703c8de0cc..b7e7e71bdb404b 100644 --- a/api_docs/kbn_content_management_table_list_view_table.devdocs.json +++ b/api_docs/kbn_content_management_table_list_view_table.devdocs.json @@ -125,7 +125,7 @@ "section": "def-common.UserContentCommonSchema", "text": "UserContentCommonSchema" }, - ">({ tableCaption, entityName, entityNamePlural, initialFilter: initialQuery, headingId, initialPageSize, listingLimit, urlStateEnabled, customTableColumn, emptyPrompt, rowItemActions, findItems, createItem, editItem, showEditActionForItem, deleteItems, getDetailViewLink, onClickTitle, id: listingId, contentEditor, titleColumnName, withoutPageTemplateWrapper, onFetchSuccess, refreshListBouncer, setPageDataTestSubject, }: ", + ">({ tableCaption, entityName, entityNamePlural, initialFilter: initialQuery, headingId, initialPageSize, listingLimit, urlStateEnabled, customTableColumn, emptyPrompt, rowItemActions, findItems, createItem, editItem, itemIsEditable, deleteItems, getDetailViewLink, onClickTitle, id: listingId, contentEditor, titleColumnName, withoutPageTemplateWrapper, onFetchSuccess, refreshListBouncer, setPageDataTestSubject, }: ", { "pluginId": "@kbn/content-management-table-list-view-table", "scope": "common", @@ -781,12 +781,12 @@ }, { "parentPluginId": "@kbn/content-management-table-list-view-table", - "id": "def-common.TableListViewTableProps.showEditActionForItem", + "id": "def-common.TableListViewTableProps.itemIsEditable", "type": "Function", "tags": [], - "label": "showEditActionForItem", + "label": "itemIsEditable", "description": [ - "\nHandler to set edit action visiblity per item." + "\nHandler to set edit action visiblity, and content editor readonly state per item. If not provided all non-managed items are considered editable. Note: Items with the managed property set to true will always be non-editable." ], "signature": [ "((item: T) => boolean) | undefined" @@ -797,7 +797,7 @@ "children": [ { "parentPluginId": "@kbn/content-management-table-list-view-table", - "id": "def-common.TableListViewTableProps.showEditActionForItem.$1", + "id": "def-common.TableListViewTableProps.itemIsEditable.$1", "type": "Uncategorized", "tags": [], "label": "item", @@ -987,6 +987,20 @@ "deprecated": false, "trackAdoption": false }, + { + "parentPluginId": "@kbn/content-management-table-list-view-table", + "id": "def-common.UserContentCommonSchema.managed", + "type": "CompoundType", + "tags": [], + "label": "managed", + "description": [], + "signature": [ + "boolean | undefined" + ], + "path": "packages/content-management/table_list_view_table/src/table_list_view_table.tsx", + "deprecated": false, + "trackAdoption": false + }, { "parentPluginId": "@kbn/content-management-table-list-view-table", "id": "def-common.UserContentCommonSchema.references", diff --git a/api_docs/kbn_content_management_table_list_view_table.mdx b/api_docs/kbn_content_management_table_list_view_table.mdx index a8649213f653bf..fde13f5eb7647c 100644 --- a/api_docs/kbn_content_management_table_list_view_table.mdx +++ b/api_docs/kbn_content_management_table_list_view_table.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-table-list-view-table title: "@kbn/content-management-table-list-view-table" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/content-management-table-list-view-table plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-table-list-view-table'] --- import kbnContentManagementTableListViewTableObj from './kbn_content_management_table_list_view_table.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sh | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 58 | 0 | 40 | 4 | +| 59 | 0 | 41 | 4 | ## Common diff --git a/api_docs/kbn_content_management_utils.devdocs.json b/api_docs/kbn_content_management_utils.devdocs.json index 94a1fd0f7abed1..966c526f892315 100644 --- a/api_docs/kbn_content_management_utils.devdocs.json +++ b/api_docs/kbn_content_management_utils.devdocs.json @@ -2984,6 +2984,20 @@ "deprecated": false, "trackAdoption": false }, + { + "parentPluginId": "@kbn/content-management-utils", + "id": "def-common.SOWithMetadata.managed", + "type": "CompoundType", + "tags": [], + "label": "managed", + "description": [], + "signature": [ + "boolean | undefined" + ], + "path": "packages/kbn-content-management-utils/src/types.ts", + "deprecated": false, + "trackAdoption": false + }, { "parentPluginId": "@kbn/content-management-utils", "id": "def-common.SOWithMetadata.attributes", diff --git a/api_docs/kbn_content_management_utils.mdx b/api_docs/kbn_content_management_utils.mdx index 31ee048e8ad4cb..6aa660478c10c2 100644 --- a/api_docs/kbn_content_management_utils.mdx +++ b/api_docs/kbn_content_management_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-utils title: "@kbn/content-management-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/content-management-utils plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-utils'] --- import kbnContentManagementUtilsObj from './kbn_content_management_utils.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/k | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 188 | 1 | 123 | 0 | +| 189 | 1 | 124 | 0 | ## Common diff --git a/api_docs/kbn_core_analytics_browser.mdx b/api_docs/kbn_core_analytics_browser.mdx index 1f7f128caf7c20..7da22f85723792 100644 --- a/api_docs/kbn_core_analytics_browser.mdx +++ b/api_docs/kbn_core_analytics_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-browser title: "@kbn/core-analytics-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-browser plugin -date: 2023-09-21 +date: 2023-09-22 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 da93f6601d7d9e..024f1640fda7b7 100644 --- a/api_docs/kbn_core_analytics_browser_internal.mdx +++ b/api_docs/kbn_core_analytics_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-browser-internal title: "@kbn/core-analytics-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-browser-internal plugin -date: 2023-09-21 +date: 2023-09-22 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 3a40ee00c7ccb0..23eb4008095c19 100644 --- a/api_docs/kbn_core_analytics_browser_mocks.mdx +++ b/api_docs/kbn_core_analytics_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-browser-mocks title: "@kbn/core-analytics-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-browser-mocks plugin -date: 2023-09-21 +date: 2023-09-22 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 6b875c00ae8998..920351513c7934 100644 --- a/api_docs/kbn_core_analytics_server.mdx +++ b/api_docs/kbn_core_analytics_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-server title: "@kbn/core-analytics-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-server plugin -date: 2023-09-21 +date: 2023-09-22 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 22482bfb0a5b10..3765a7afd72514 100644 --- a/api_docs/kbn_core_analytics_server_internal.mdx +++ b/api_docs/kbn_core_analytics_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-server-internal title: "@kbn/core-analytics-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-server-internal plugin -date: 2023-09-21 +date: 2023-09-22 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 d36d46b053d299..81eca520d1a5b5 100644 --- a/api_docs/kbn_core_analytics_server_mocks.mdx +++ b/api_docs/kbn_core_analytics_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-server-mocks title: "@kbn/core-analytics-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-server-mocks plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-analytics-server-mocks'] --- import kbnCoreAnalyticsServerMocksObj from './kbn_core_analytics_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_application_browser.mdx b/api_docs/kbn_core_application_browser.mdx index d850a197d06f6c..dfc1c7b0234912 100644 --- a/api_docs/kbn_core_application_browser.mdx +++ b/api_docs/kbn_core_application_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-application-browser title: "@kbn/core-application-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-application-browser plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-application-browser'] --- import kbnCoreApplicationBrowserObj from './kbn_core_application_browser.devdocs.json'; diff --git a/api_docs/kbn_core_application_browser_internal.mdx b/api_docs/kbn_core_application_browser_internal.mdx index 14664ced215e90..673a16a48e31a2 100644 --- a/api_docs/kbn_core_application_browser_internal.mdx +++ b/api_docs/kbn_core_application_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-application-browser-internal title: "@kbn/core-application-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-application-browser-internal plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-application-browser-internal'] --- import kbnCoreApplicationBrowserInternalObj from './kbn_core_application_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_application_browser_mocks.mdx b/api_docs/kbn_core_application_browser_mocks.mdx index 307ff5c67f8e63..b3cff08708ebf2 100644 --- a/api_docs/kbn_core_application_browser_mocks.mdx +++ b/api_docs/kbn_core_application_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-application-browser-mocks title: "@kbn/core-application-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-application-browser-mocks plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-application-browser-mocks'] --- import kbnCoreApplicationBrowserMocksObj from './kbn_core_application_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_application_common.mdx b/api_docs/kbn_core_application_common.mdx index 17a8f43988a858..140f06df4a84ef 100644 --- a/api_docs/kbn_core_application_common.mdx +++ b/api_docs/kbn_core_application_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-application-common title: "@kbn/core-application-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-application-common plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-application-common'] --- import kbnCoreApplicationCommonObj from './kbn_core_application_common.devdocs.json'; diff --git a/api_docs/kbn_core_apps_browser_internal.mdx b/api_docs/kbn_core_apps_browser_internal.mdx index 3f78c95a4e0057..f0dd7e687cd96d 100644 --- a/api_docs/kbn_core_apps_browser_internal.mdx +++ b/api_docs/kbn_core_apps_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-apps-browser-internal title: "@kbn/core-apps-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-apps-browser-internal plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-apps-browser-internal'] --- import kbnCoreAppsBrowserInternalObj from './kbn_core_apps_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_apps_browser_mocks.mdx b/api_docs/kbn_core_apps_browser_mocks.mdx index 72aed8c8f0651d..399b670077ac5b 100644 --- a/api_docs/kbn_core_apps_browser_mocks.mdx +++ b/api_docs/kbn_core_apps_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-apps-browser-mocks title: "@kbn/core-apps-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-apps-browser-mocks plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-apps-browser-mocks'] --- import kbnCoreAppsBrowserMocksObj from './kbn_core_apps_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_apps_server_internal.mdx b/api_docs/kbn_core_apps_server_internal.mdx index 9d048033a780a9..a35a7d9772bdea 100644 --- a/api_docs/kbn_core_apps_server_internal.mdx +++ b/api_docs/kbn_core_apps_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-apps-server-internal title: "@kbn/core-apps-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-apps-server-internal plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-apps-server-internal'] --- import kbnCoreAppsServerInternalObj from './kbn_core_apps_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_base_browser_mocks.mdx b/api_docs/kbn_core_base_browser_mocks.mdx index aeeba1a1c9f34d..0709322575a702 100644 --- a/api_docs/kbn_core_base_browser_mocks.mdx +++ b/api_docs/kbn_core_base_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-base-browser-mocks title: "@kbn/core-base-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-base-browser-mocks plugin -date: 2023-09-21 +date: 2023-09-22 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 13a5ef34d8b985..fd832996deafde 100644 --- a/api_docs/kbn_core_base_common.mdx +++ b/api_docs/kbn_core_base_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-base-common title: "@kbn/core-base-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-base-common plugin -date: 2023-09-21 +date: 2023-09-22 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 174f701127b3d2..da6ddec476ad64 100644 --- a/api_docs/kbn_core_base_server_internal.mdx +++ b/api_docs/kbn_core_base_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-base-server-internal title: "@kbn/core-base-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-base-server-internal plugin -date: 2023-09-21 +date: 2023-09-22 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 fbe3aead38f84d..1c537e7586d047 100644 --- a/api_docs/kbn_core_base_server_mocks.mdx +++ b/api_docs/kbn_core_base_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-base-server-mocks title: "@kbn/core-base-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-base-server-mocks plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-base-server-mocks'] --- import kbnCoreBaseServerMocksObj from './kbn_core_base_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_capabilities_browser_mocks.mdx b/api_docs/kbn_core_capabilities_browser_mocks.mdx index 29dcf600a69b42..f9a0a4e30c2b3c 100644 --- a/api_docs/kbn_core_capabilities_browser_mocks.mdx +++ b/api_docs/kbn_core_capabilities_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-capabilities-browser-mocks title: "@kbn/core-capabilities-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-capabilities-browser-mocks plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-capabilities-browser-mocks'] --- import kbnCoreCapabilitiesBrowserMocksObj from './kbn_core_capabilities_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_capabilities_common.mdx b/api_docs/kbn_core_capabilities_common.mdx index 23da9dab31b709..b85e9d6f449d89 100644 --- a/api_docs/kbn_core_capabilities_common.mdx +++ b/api_docs/kbn_core_capabilities_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-capabilities-common title: "@kbn/core-capabilities-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-capabilities-common plugin -date: 2023-09-21 +date: 2023-09-22 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 582ec194a91b82..d5e97b63d86f64 100644 --- a/api_docs/kbn_core_capabilities_server.mdx +++ b/api_docs/kbn_core_capabilities_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-capabilities-server title: "@kbn/core-capabilities-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-capabilities-server plugin -date: 2023-09-21 +date: 2023-09-22 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 0dca85b0bb4854..fd795d4a33ceeb 100644 --- a/api_docs/kbn_core_capabilities_server_mocks.mdx +++ b/api_docs/kbn_core_capabilities_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-capabilities-server-mocks title: "@kbn/core-capabilities-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-capabilities-server-mocks plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-capabilities-server-mocks'] --- import kbnCoreCapabilitiesServerMocksObj from './kbn_core_capabilities_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_chrome_browser.mdx b/api_docs/kbn_core_chrome_browser.mdx index 599427fab304a5..29b8a08665db13 100644 --- a/api_docs/kbn_core_chrome_browser.mdx +++ b/api_docs/kbn_core_chrome_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-chrome-browser title: "@kbn/core-chrome-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-chrome-browser plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-chrome-browser'] --- import kbnCoreChromeBrowserObj from './kbn_core_chrome_browser.devdocs.json'; diff --git a/api_docs/kbn_core_chrome_browser_mocks.mdx b/api_docs/kbn_core_chrome_browser_mocks.mdx index 0db7b77f53e74e..02a6b53aab6a26 100644 --- a/api_docs/kbn_core_chrome_browser_mocks.mdx +++ b/api_docs/kbn_core_chrome_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-chrome-browser-mocks title: "@kbn/core-chrome-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-chrome-browser-mocks plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-chrome-browser-mocks'] --- import kbnCoreChromeBrowserMocksObj from './kbn_core_chrome_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_config_server_internal.mdx b/api_docs/kbn_core_config_server_internal.mdx index e21f08859d8217..091e67309fb0f9 100644 --- a/api_docs/kbn_core_config_server_internal.mdx +++ b/api_docs/kbn_core_config_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-config-server-internal title: "@kbn/core-config-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-config-server-internal plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-config-server-internal'] --- import kbnCoreConfigServerInternalObj from './kbn_core_config_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_custom_branding_browser.mdx b/api_docs/kbn_core_custom_branding_browser.mdx index bb061f13a9d718..0cdd42e7f4a5dc 100644 --- a/api_docs/kbn_core_custom_branding_browser.mdx +++ b/api_docs/kbn_core_custom_branding_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-browser title: "@kbn/core-custom-branding-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-browser plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-custom-branding-browser'] --- import kbnCoreCustomBrandingBrowserObj from './kbn_core_custom_branding_browser.devdocs.json'; diff --git a/api_docs/kbn_core_custom_branding_browser_internal.mdx b/api_docs/kbn_core_custom_branding_browser_internal.mdx index 36d2048466be45..f6e227ccb9c44c 100644 --- a/api_docs/kbn_core_custom_branding_browser_internal.mdx +++ b/api_docs/kbn_core_custom_branding_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-browser-internal title: "@kbn/core-custom-branding-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-browser-internal plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-custom-branding-browser-internal'] --- import kbnCoreCustomBrandingBrowserInternalObj from './kbn_core_custom_branding_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_custom_branding_browser_mocks.mdx b/api_docs/kbn_core_custom_branding_browser_mocks.mdx index a41e13ca6562d9..461f0e32420bcc 100644 --- a/api_docs/kbn_core_custom_branding_browser_mocks.mdx +++ b/api_docs/kbn_core_custom_branding_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-browser-mocks title: "@kbn/core-custom-branding-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-browser-mocks plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-custom-branding-browser-mocks'] --- import kbnCoreCustomBrandingBrowserMocksObj from './kbn_core_custom_branding_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_custom_branding_common.mdx b/api_docs/kbn_core_custom_branding_common.mdx index 34c35ab26a6deb..a741b3da8ea833 100644 --- a/api_docs/kbn_core_custom_branding_common.mdx +++ b/api_docs/kbn_core_custom_branding_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-common title: "@kbn/core-custom-branding-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-common plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-custom-branding-common'] --- import kbnCoreCustomBrandingCommonObj from './kbn_core_custom_branding_common.devdocs.json'; diff --git a/api_docs/kbn_core_custom_branding_server.mdx b/api_docs/kbn_core_custom_branding_server.mdx index 7a4385be82d906..c57c7063f4fc18 100644 --- a/api_docs/kbn_core_custom_branding_server.mdx +++ b/api_docs/kbn_core_custom_branding_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-server title: "@kbn/core-custom-branding-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-server plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-custom-branding-server'] --- import kbnCoreCustomBrandingServerObj from './kbn_core_custom_branding_server.devdocs.json'; diff --git a/api_docs/kbn_core_custom_branding_server_internal.mdx b/api_docs/kbn_core_custom_branding_server_internal.mdx index c604e8d061b71e..5d710cf84979ee 100644 --- a/api_docs/kbn_core_custom_branding_server_internal.mdx +++ b/api_docs/kbn_core_custom_branding_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-server-internal title: "@kbn/core-custom-branding-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-server-internal plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-custom-branding-server-internal'] --- import kbnCoreCustomBrandingServerInternalObj from './kbn_core_custom_branding_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_custom_branding_server_mocks.mdx b/api_docs/kbn_core_custom_branding_server_mocks.mdx index 0adaa6f44a26e4..953668fd465cfa 100644 --- a/api_docs/kbn_core_custom_branding_server_mocks.mdx +++ b/api_docs/kbn_core_custom_branding_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-server-mocks title: "@kbn/core-custom-branding-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-server-mocks plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-custom-branding-server-mocks'] --- import kbnCoreCustomBrandingServerMocksObj from './kbn_core_custom_branding_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_deprecations_browser.mdx b/api_docs/kbn_core_deprecations_browser.mdx index f8168a6a7768c7..f26b3f795c8bd8 100644 --- a/api_docs/kbn_core_deprecations_browser.mdx +++ b/api_docs/kbn_core_deprecations_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-browser title: "@kbn/core-deprecations-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-browser plugin -date: 2023-09-21 +date: 2023-09-22 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 b516f6b7a61315..e30ffc8d5f4fbb 100644 --- a/api_docs/kbn_core_deprecations_browser_internal.mdx +++ b/api_docs/kbn_core_deprecations_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-browser-internal title: "@kbn/core-deprecations-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-browser-internal plugin -date: 2023-09-21 +date: 2023-09-22 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 afc0b1dddea91b..996e4822fb8a8f 100644 --- a/api_docs/kbn_core_deprecations_browser_mocks.mdx +++ b/api_docs/kbn_core_deprecations_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-browser-mocks title: "@kbn/core-deprecations-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-browser-mocks plugin -date: 2023-09-21 +date: 2023-09-22 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 45b615479b210a..1b938a1e95abe7 100644 --- a/api_docs/kbn_core_deprecations_common.mdx +++ b/api_docs/kbn_core_deprecations_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-common title: "@kbn/core-deprecations-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-common plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-deprecations-common'] --- import kbnCoreDeprecationsCommonObj from './kbn_core_deprecations_common.devdocs.json'; diff --git a/api_docs/kbn_core_deprecations_server.mdx b/api_docs/kbn_core_deprecations_server.mdx index dad121aafb08a6..63a00912384b16 100644 --- a/api_docs/kbn_core_deprecations_server.mdx +++ b/api_docs/kbn_core_deprecations_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-server title: "@kbn/core-deprecations-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-server plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-deprecations-server'] --- import kbnCoreDeprecationsServerObj from './kbn_core_deprecations_server.devdocs.json'; diff --git a/api_docs/kbn_core_deprecations_server_internal.mdx b/api_docs/kbn_core_deprecations_server_internal.mdx index 5fe6916db709eb..cb0471c4c5ace0 100644 --- a/api_docs/kbn_core_deprecations_server_internal.mdx +++ b/api_docs/kbn_core_deprecations_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-server-internal title: "@kbn/core-deprecations-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-server-internal plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-deprecations-server-internal'] --- import kbnCoreDeprecationsServerInternalObj from './kbn_core_deprecations_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_deprecations_server_mocks.mdx b/api_docs/kbn_core_deprecations_server_mocks.mdx index 5dafef2bb5fd4e..1ae9073ad21b84 100644 --- a/api_docs/kbn_core_deprecations_server_mocks.mdx +++ b/api_docs/kbn_core_deprecations_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-server-mocks title: "@kbn/core-deprecations-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-server-mocks plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-deprecations-server-mocks'] --- import kbnCoreDeprecationsServerMocksObj from './kbn_core_deprecations_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_doc_links_browser.mdx b/api_docs/kbn_core_doc_links_browser.mdx index 28b76c29477891..7b7544ca16aa74 100644 --- a/api_docs/kbn_core_doc_links_browser.mdx +++ b/api_docs/kbn_core_doc_links_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-doc-links-browser title: "@kbn/core-doc-links-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-doc-links-browser plugin -date: 2023-09-21 +date: 2023-09-22 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 303adb43b6bba0..30d1a08a87d850 100644 --- a/api_docs/kbn_core_doc_links_browser_mocks.mdx +++ b/api_docs/kbn_core_doc_links_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-doc-links-browser-mocks title: "@kbn/core-doc-links-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-doc-links-browser-mocks plugin -date: 2023-09-21 +date: 2023-09-22 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 bab6031bd0b772..ae35da4293e9d5 100644 --- a/api_docs/kbn_core_doc_links_server.mdx +++ b/api_docs/kbn_core_doc_links_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-doc-links-server title: "@kbn/core-doc-links-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-doc-links-server plugin -date: 2023-09-21 +date: 2023-09-22 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 e92ac5997e51fc..df799b96af2c7a 100644 --- a/api_docs/kbn_core_doc_links_server_mocks.mdx +++ b/api_docs/kbn_core_doc_links_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-doc-links-server-mocks title: "@kbn/core-doc-links-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-doc-links-server-mocks plugin -date: 2023-09-21 +date: 2023-09-22 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 e1bbf15fdba98b..addadeea42e964 100644 --- a/api_docs/kbn_core_elasticsearch_client_server_internal.mdx +++ b/api_docs/kbn_core_elasticsearch_client_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-elasticsearch-client-server-internal title: "@kbn/core-elasticsearch-client-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-elasticsearch-client-server-internal plugin -date: 2023-09-21 +date: 2023-09-22 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 75589cfe131b6e..3a6e407a0a26ff 100644 --- a/api_docs/kbn_core_elasticsearch_client_server_mocks.mdx +++ b/api_docs/kbn_core_elasticsearch_client_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-elasticsearch-client-server-mocks title: "@kbn/core-elasticsearch-client-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-elasticsearch-client-server-mocks plugin -date: 2023-09-21 +date: 2023-09-22 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 02d14a42b45ea0..e031ba9e9cf465 100644 --- a/api_docs/kbn_core_elasticsearch_server.mdx +++ b/api_docs/kbn_core_elasticsearch_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-elasticsearch-server title: "@kbn/core-elasticsearch-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-elasticsearch-server plugin -date: 2023-09-21 +date: 2023-09-22 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 9397293d345123..7583617baf315a 100644 --- a/api_docs/kbn_core_elasticsearch_server_internal.mdx +++ b/api_docs/kbn_core_elasticsearch_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-elasticsearch-server-internal title: "@kbn/core-elasticsearch-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-elasticsearch-server-internal plugin -date: 2023-09-21 +date: 2023-09-22 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 0c90b232da64e9..819b0d87ddd1ba 100644 --- a/api_docs/kbn_core_elasticsearch_server_mocks.mdx +++ b/api_docs/kbn_core_elasticsearch_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-elasticsearch-server-mocks title: "@kbn/core-elasticsearch-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-elasticsearch-server-mocks plugin -date: 2023-09-21 +date: 2023-09-22 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 3ca02a1ec246f0..f180c0ab490c87 100644 --- a/api_docs/kbn_core_environment_server_internal.mdx +++ b/api_docs/kbn_core_environment_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-environment-server-internal title: "@kbn/core-environment-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-environment-server-internal plugin -date: 2023-09-21 +date: 2023-09-22 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 c458aaddb64f99..d00e3f7f24b038 100644 --- a/api_docs/kbn_core_environment_server_mocks.mdx +++ b/api_docs/kbn_core_environment_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-environment-server-mocks title: "@kbn/core-environment-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-environment-server-mocks plugin -date: 2023-09-21 +date: 2023-09-22 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 27b72ceac4a6f2..7fee1311a30ba9 100644 --- a/api_docs/kbn_core_execution_context_browser.mdx +++ b/api_docs/kbn_core_execution_context_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-browser title: "@kbn/core-execution-context-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-browser plugin -date: 2023-09-21 +date: 2023-09-22 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 b90445d1ef01ee..8c557bce19c078 100644 --- a/api_docs/kbn_core_execution_context_browser_internal.mdx +++ b/api_docs/kbn_core_execution_context_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-browser-internal title: "@kbn/core-execution-context-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-browser-internal plugin -date: 2023-09-21 +date: 2023-09-22 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 b3ea65c3f7e367..afbdc38866e404 100644 --- a/api_docs/kbn_core_execution_context_browser_mocks.mdx +++ b/api_docs/kbn_core_execution_context_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-browser-mocks title: "@kbn/core-execution-context-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-browser-mocks plugin -date: 2023-09-21 +date: 2023-09-22 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 24741aeec70b21..277cec7234c9d9 100644 --- a/api_docs/kbn_core_execution_context_common.mdx +++ b/api_docs/kbn_core_execution_context_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-common title: "@kbn/core-execution-context-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-common plugin -date: 2023-09-21 +date: 2023-09-22 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 6c7402ede833bc..50235e1199e3f3 100644 --- a/api_docs/kbn_core_execution_context_server.mdx +++ b/api_docs/kbn_core_execution_context_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-server title: "@kbn/core-execution-context-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-server plugin -date: 2023-09-21 +date: 2023-09-22 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 4d0be0440fcda6..475ca7f94a7ab7 100644 --- a/api_docs/kbn_core_execution_context_server_internal.mdx +++ b/api_docs/kbn_core_execution_context_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-server-internal title: "@kbn/core-execution-context-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-server-internal plugin -date: 2023-09-21 +date: 2023-09-22 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 ef89bd2eee7f8f..9cefa5c0b52ae6 100644 --- a/api_docs/kbn_core_execution_context_server_mocks.mdx +++ b/api_docs/kbn_core_execution_context_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-server-mocks title: "@kbn/core-execution-context-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-server-mocks plugin -date: 2023-09-21 +date: 2023-09-22 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 78f66331c10079..acc577bdb1af22 100644 --- a/api_docs/kbn_core_fatal_errors_browser.mdx +++ b/api_docs/kbn_core_fatal_errors_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-fatal-errors-browser title: "@kbn/core-fatal-errors-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-fatal-errors-browser plugin -date: 2023-09-21 +date: 2023-09-22 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 cade525b235593..50b20927fca07e 100644 --- a/api_docs/kbn_core_fatal_errors_browser_mocks.mdx +++ b/api_docs/kbn_core_fatal_errors_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-fatal-errors-browser-mocks title: "@kbn/core-fatal-errors-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-fatal-errors-browser-mocks plugin -date: 2023-09-21 +date: 2023-09-22 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 962db9aefdfe09..7c5a8faf275fc8 100644 --- a/api_docs/kbn_core_http_browser.mdx +++ b/api_docs/kbn_core_http_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-browser title: "@kbn/core-http-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-browser plugin -date: 2023-09-21 +date: 2023-09-22 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 95191d15e3661b..230ae226ccb7e1 100644 --- a/api_docs/kbn_core_http_browser_internal.mdx +++ b/api_docs/kbn_core_http_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-browser-internal title: "@kbn/core-http-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-browser-internal plugin -date: 2023-09-21 +date: 2023-09-22 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 450b2834562c6f..7c161daf1af144 100644 --- a/api_docs/kbn_core_http_browser_mocks.mdx +++ b/api_docs/kbn_core_http_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-browser-mocks title: "@kbn/core-http-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-browser-mocks plugin -date: 2023-09-21 +date: 2023-09-22 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 3ad961561fd4df..a2f891fbc1ca05 100644 --- a/api_docs/kbn_core_http_common.mdx +++ b/api_docs/kbn_core_http_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-common title: "@kbn/core-http-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-common plugin -date: 2023-09-21 +date: 2023-09-22 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 76998d550273d1..f598850ea31db7 100644 --- a/api_docs/kbn_core_http_context_server_mocks.mdx +++ b/api_docs/kbn_core_http_context_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-context-server-mocks title: "@kbn/core-http-context-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-context-server-mocks plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-context-server-mocks'] --- import kbnCoreHttpContextServerMocksObj from './kbn_core_http_context_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_http_request_handler_context_server.mdx b/api_docs/kbn_core_http_request_handler_context_server.mdx index 5d0cb49e62980b..11e6b53cae820b 100644 --- a/api_docs/kbn_core_http_request_handler_context_server.mdx +++ b/api_docs/kbn_core_http_request_handler_context_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-request-handler-context-server title: "@kbn/core-http-request-handler-context-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-request-handler-context-server plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-request-handler-context-server'] --- import kbnCoreHttpRequestHandlerContextServerObj from './kbn_core_http_request_handler_context_server.devdocs.json'; diff --git a/api_docs/kbn_core_http_resources_server.mdx b/api_docs/kbn_core_http_resources_server.mdx index 46468d4b6d626e..1e1a547f2d1119 100644 --- a/api_docs/kbn_core_http_resources_server.mdx +++ b/api_docs/kbn_core_http_resources_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-resources-server title: "@kbn/core-http-resources-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-resources-server plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-resources-server'] --- import kbnCoreHttpResourcesServerObj from './kbn_core_http_resources_server.devdocs.json'; diff --git a/api_docs/kbn_core_http_resources_server_internal.mdx b/api_docs/kbn_core_http_resources_server_internal.mdx index 2c5a4141cdb6cd..fc568ac13d3249 100644 --- a/api_docs/kbn_core_http_resources_server_internal.mdx +++ b/api_docs/kbn_core_http_resources_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-resources-server-internal title: "@kbn/core-http-resources-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-resources-server-internal plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-resources-server-internal'] --- import kbnCoreHttpResourcesServerInternalObj from './kbn_core_http_resources_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_http_resources_server_mocks.mdx b/api_docs/kbn_core_http_resources_server_mocks.mdx index cf867f3206181e..c1165ce3ee20f7 100644 --- a/api_docs/kbn_core_http_resources_server_mocks.mdx +++ b/api_docs/kbn_core_http_resources_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-resources-server-mocks title: "@kbn/core-http-resources-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-resources-server-mocks plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-resources-server-mocks'] --- import kbnCoreHttpResourcesServerMocksObj from './kbn_core_http_resources_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_http_router_server_internal.mdx b/api_docs/kbn_core_http_router_server_internal.mdx index 014ba8ff398427..18e1d72612c2c3 100644 --- a/api_docs/kbn_core_http_router_server_internal.mdx +++ b/api_docs/kbn_core_http_router_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-router-server-internal title: "@kbn/core-http-router-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-router-server-internal plugin -date: 2023-09-21 +date: 2023-09-22 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 6e143cb460052f..bf756d2ad0bffd 100644 --- a/api_docs/kbn_core_http_router_server_mocks.mdx +++ b/api_docs/kbn_core_http_router_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-router-server-mocks title: "@kbn/core-http-router-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-router-server-mocks plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-router-server-mocks'] --- import kbnCoreHttpRouterServerMocksObj from './kbn_core_http_router_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_http_server.devdocs.json b/api_docs/kbn_core_http_server.devdocs.json index 795ccc192ec7de..577864e602ed4a 100644 --- a/api_docs/kbn_core_http_server.devdocs.json +++ b/api_docs/kbn_core_http_server.devdocs.json @@ -3589,15 +3589,15 @@ }, { "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/routes/maintenance_window/get_maintenance_window.ts" + "path": "x-pack/plugins/alerting/server/routes/maintenance_window/apis/get/get_maintenance_window_route.ts" }, { "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/routes/maintenance_window/find_maintenance_windows.ts" + "path": "x-pack/plugins/alerting/server/routes/maintenance_window/apis/find/find_maintenance_windows_route.ts" }, { "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/routes/maintenance_window/active_maintenance_windows.ts" + "path": "x-pack/plugins/alerting/server/routes/maintenance_window/apis/get_active/get_active_maintenance_windows_route.ts" }, { "plugin": "ruleRegistry", @@ -5187,54 +5187,6 @@ "plugin": "alerting", "path": "x-pack/plugins/alerting/server/routes/legacy/list_alert_types.test.ts" }, - { - "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/routes/maintenance_window/active_maintenance_windows.test.ts" - }, - { - "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/routes/maintenance_window/active_maintenance_windows.test.ts" - }, - { - "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/routes/maintenance_window/active_maintenance_windows.test.ts" - }, - { - "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/routes/maintenance_window/active_maintenance_windows.test.ts" - }, - { - "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/routes/maintenance_window/find_maintenance_windows.test.ts" - }, - { - "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/routes/maintenance_window/find_maintenance_windows.test.ts" - }, - { - "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/routes/maintenance_window/find_maintenance_windows.test.ts" - }, - { - "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/routes/maintenance_window/find_maintenance_windows.test.ts" - }, - { - "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/routes/maintenance_window/get_maintenance_window.test.ts" - }, - { - "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/routes/maintenance_window/get_maintenance_window.test.ts" - }, - { - "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/routes/maintenance_window/get_maintenance_window.test.ts" - }, - { - "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/routes/maintenance_window/get_maintenance_window.test.ts" - }, { "plugin": "cloudChat", "path": "x-pack/plugins/cloud_integrations/cloud_chat/server/routes/chat.test.ts" @@ -5331,6 +5283,54 @@ "plugin": "spaces", "path": "x-pack/plugins/spaces/server/routes/api/internal/get_active_space.test.ts" }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/maintenance_window/apis/find/find_maintenance_windows_route.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/maintenance_window/apis/find/find_maintenance_windows_route.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/maintenance_window/apis/find/find_maintenance_windows_route.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/maintenance_window/apis/find/find_maintenance_windows_route.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/maintenance_window/apis/get/get_maintenance_window_route.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/maintenance_window/apis/get/get_maintenance_window_route.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/maintenance_window/apis/get/get_maintenance_window_route.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/maintenance_window/apis/get/get_maintenance_window_route.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/maintenance_window/apis/get_active/get_active_maintenance_windows_route.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/maintenance_window/apis/get_active/get_active_maintenance_windows_route.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/maintenance_window/apis/get_active/get_active_maintenance_windows_route.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/maintenance_window/apis/get_active/get_active_maintenance_windows_route.test.ts" + }, { "plugin": "alerting", "path": "x-pack/plugins/alerting/server/routes/rule/apis/get_schedule_frequency/get_schedule_frequency_route.test.ts" @@ -6083,19 +6083,19 @@ }, { "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/routes/maintenance_window/create_maintenance_window.ts" + "path": "x-pack/plugins/alerting/server/routes/maintenance_window/apis/create/create_maintenance_window_route.ts" }, { "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/routes/maintenance_window/update_maintenance_window.ts" + "path": "x-pack/plugins/alerting/server/routes/maintenance_window/apis/update/update_maintenance_window_route.ts" }, { "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/routes/maintenance_window/archive_maintenance_window.ts" + "path": "x-pack/plugins/alerting/server/routes/maintenance_window/apis/archive/archive_maintenance_window_route.ts" }, { "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/routes/maintenance_window/finish_maintenance_window.ts" + "path": "x-pack/plugins/alerting/server/routes/maintenance_window/apis/finish/finish_maintenance_window_route.ts" }, { "plugin": "alerting", @@ -6107,7 +6107,7 @@ }, { "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/routes/maintenance_window/bulk_get_maintenance_windows.ts" + "path": "x-pack/plugins/alerting/server/routes/maintenance_window/apis/bulk_get/bulk_get_maintenance_windows_route.ts" }, { "plugin": "alerting", @@ -7395,143 +7395,143 @@ }, { "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/routes/maintenance_window/archive_maintenance_window.test.ts" + "path": "x-pack/plugins/alerting/server/routes/suggestions/fileds_rule.test.ts" }, { "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/routes/maintenance_window/archive_maintenance_window.test.ts" + "path": "x-pack/plugins/alerting/server/routes/suggestions/fileds_rule.test.ts" }, { "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/routes/maintenance_window/archive_maintenance_window.test.ts" + "path": "x-pack/plugins/alerting/server/routes/suggestions/values_suggestion_alerts.test.ts" }, { "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/routes/maintenance_window/archive_maintenance_window.test.ts" + "path": "x-pack/plugins/alerting/server/routes/suggestions/values_suggestion_rules.test.ts" }, { - "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/routes/maintenance_window/bulk_get_maintenance_windows.test.ts" + "plugin": "remoteClusters", + "path": "x-pack/plugins/remote_clusters/server/routes/api/add_route.test.ts" }, { - "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/routes/maintenance_window/bulk_get_maintenance_windows.test.ts" + "plugin": "crossClusterReplication", + "path": "x-pack/plugins/cross_cluster_replication/server/routes/api/auto_follow_pattern/register_create_route.test.ts" }, { - "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/routes/maintenance_window/bulk_get_maintenance_windows.test.ts" + "plugin": "crossClusterReplication", + "path": "x-pack/plugins/cross_cluster_replication/server/routes/api/auto_follow_pattern/register_pause_route.test.ts" }, { - "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/routes/maintenance_window/bulk_get_maintenance_windows.test.ts" + "plugin": "crossClusterReplication", + "path": "x-pack/plugins/cross_cluster_replication/server/routes/api/auto_follow_pattern/register_resume_route.test.ts" }, { - "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/routes/maintenance_window/create_maintenance_window.test.ts" + "plugin": "crossClusterReplication", + "path": "x-pack/plugins/cross_cluster_replication/server/routes/api/follower_index/register_create_route.test.ts" }, { - "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/routes/maintenance_window/create_maintenance_window.test.ts" + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/endpoint/routes/actions/response_actions.test.ts" }, { - "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/routes/maintenance_window/create_maintenance_window.test.ts" + "plugin": "spaces", + "path": "x-pack/plugins/spaces/server/routes/api/external/copy_to_space.test.ts" }, { - "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/routes/maintenance_window/create_maintenance_window.test.ts" + "plugin": "spaces", + "path": "x-pack/plugins/spaces/server/routes/api/external/disable_legacy_url_aliases.test.ts" }, { - "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/routes/maintenance_window/finish_maintenance_window.test.ts" + "plugin": "spaces", + "path": "x-pack/plugins/spaces/server/routes/api/external/get_shareable_references.test.ts" }, { - "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/routes/maintenance_window/finish_maintenance_window.test.ts" + "plugin": "spaces", + "path": "x-pack/plugins/spaces/server/routes/api/external/post.test.ts" }, { - "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/routes/maintenance_window/finish_maintenance_window.test.ts" + "plugin": "spaces", + "path": "x-pack/plugins/spaces/server/routes/api/external/update_objects_spaces.test.ts" }, { "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/routes/maintenance_window/finish_maintenance_window.test.ts" + "path": "x-pack/plugins/alerting/server/routes/maintenance_window/apis/archive/archive_maintenance_window_route.test.ts" }, { "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/routes/maintenance_window/update_maintenance_window.test.ts" + "path": "x-pack/plugins/alerting/server/routes/maintenance_window/apis/archive/archive_maintenance_window_route.test.ts" }, { "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/routes/maintenance_window/update_maintenance_window.test.ts" + "path": "x-pack/plugins/alerting/server/routes/maintenance_window/apis/archive/archive_maintenance_window_route.test.ts" }, { "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/routes/maintenance_window/update_maintenance_window.test.ts" + "path": "x-pack/plugins/alerting/server/routes/maintenance_window/apis/archive/archive_maintenance_window_route.test.ts" }, { "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/routes/maintenance_window/update_maintenance_window.test.ts" + "path": "x-pack/plugins/alerting/server/routes/maintenance_window/apis/bulk_get/bulk_get_maintenance_windows_route.test.ts" }, { "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/routes/suggestions/fileds_rule.test.ts" + "path": "x-pack/plugins/alerting/server/routes/maintenance_window/apis/bulk_get/bulk_get_maintenance_windows_route.test.ts" }, { "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/routes/suggestions/fileds_rule.test.ts" + "path": "x-pack/plugins/alerting/server/routes/maintenance_window/apis/bulk_get/bulk_get_maintenance_windows_route.test.ts" }, { "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/routes/suggestions/values_suggestion_alerts.test.ts" + "path": "x-pack/plugins/alerting/server/routes/maintenance_window/apis/bulk_get/bulk_get_maintenance_windows_route.test.ts" }, { "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/routes/suggestions/values_suggestion_rules.test.ts" + "path": "x-pack/plugins/alerting/server/routes/maintenance_window/apis/create/create_maintenance_window_route.test.ts" }, { - "plugin": "remoteClusters", - "path": "x-pack/plugins/remote_clusters/server/routes/api/add_route.test.ts" + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/maintenance_window/apis/create/create_maintenance_window_route.test.ts" }, { - "plugin": "crossClusterReplication", - "path": "x-pack/plugins/cross_cluster_replication/server/routes/api/auto_follow_pattern/register_create_route.test.ts" + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/maintenance_window/apis/create/create_maintenance_window_route.test.ts" }, { - "plugin": "crossClusterReplication", - "path": "x-pack/plugins/cross_cluster_replication/server/routes/api/auto_follow_pattern/register_pause_route.test.ts" + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/maintenance_window/apis/create/create_maintenance_window_route.test.ts" }, { - "plugin": "crossClusterReplication", - "path": "x-pack/plugins/cross_cluster_replication/server/routes/api/auto_follow_pattern/register_resume_route.test.ts" + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/maintenance_window/apis/finish/finish_maintenance_window_route.test.ts" }, { - "plugin": "crossClusterReplication", - "path": "x-pack/plugins/cross_cluster_replication/server/routes/api/follower_index/register_create_route.test.ts" + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/maintenance_window/apis/finish/finish_maintenance_window_route.test.ts" }, { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/endpoint/routes/actions/response_actions.test.ts" + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/maintenance_window/apis/finish/finish_maintenance_window_route.test.ts" }, { - "plugin": "spaces", - "path": "x-pack/plugins/spaces/server/routes/api/external/copy_to_space.test.ts" + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/maintenance_window/apis/finish/finish_maintenance_window_route.test.ts" }, { - "plugin": "spaces", - "path": "x-pack/plugins/spaces/server/routes/api/external/disable_legacy_url_aliases.test.ts" + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/maintenance_window/apis/update/update_maintenance_window_route.test.ts" }, { - "plugin": "spaces", - "path": "x-pack/plugins/spaces/server/routes/api/external/get_shareable_references.test.ts" + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/maintenance_window/apis/update/update_maintenance_window_route.test.ts" }, { - "plugin": "spaces", - "path": "x-pack/plugins/spaces/server/routes/api/external/post.test.ts" + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/maintenance_window/apis/update/update_maintenance_window_route.test.ts" }, { - "plugin": "spaces", - "path": "x-pack/plugins/spaces/server/routes/api/external/update_objects_spaces.test.ts" + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/maintenance_window/apis/update/update_maintenance_window_route.test.ts" }, { "plugin": "alerting", @@ -8973,7 +8973,7 @@ }, { "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/routes/maintenance_window/delete_maintenance_window.ts" + "path": "x-pack/plugins/alerting/server/routes/maintenance_window/apis/delete/delete_maintenance_window_route.ts" }, { "plugin": "savedObjectsTagging", @@ -9300,32 +9300,32 @@ "path": "x-pack/plugins/alerting/server/routes/legacy/delete.test.ts" }, { - "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/routes/maintenance_window/delete_maintenance_window.test.ts" + "plugin": "remoteClusters", + "path": "x-pack/plugins/remote_clusters/server/routes/api/delete_route.test.ts" }, { - "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/routes/maintenance_window/delete_maintenance_window.test.ts" + "plugin": "crossClusterReplication", + "path": "x-pack/plugins/cross_cluster_replication/server/routes/api/auto_follow_pattern/register_delete_route.test.ts" }, { - "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/routes/maintenance_window/delete_maintenance_window.test.ts" + "plugin": "spaces", + "path": "x-pack/plugins/spaces/server/routes/api/external/delete.test.ts" }, { "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/routes/maintenance_window/delete_maintenance_window.test.ts" + "path": "x-pack/plugins/alerting/server/routes/maintenance_window/apis/delete/delete_maintenance_window_route.test.ts" }, { - "plugin": "remoteClusters", - "path": "x-pack/plugins/remote_clusters/server/routes/api/delete_route.test.ts" + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/maintenance_window/apis/delete/delete_maintenance_window_route.test.ts" }, { - "plugin": "crossClusterReplication", - "path": "x-pack/plugins/cross_cluster_replication/server/routes/api/auto_follow_pattern/register_delete_route.test.ts" + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/maintenance_window/apis/delete/delete_maintenance_window_route.test.ts" }, { - "plugin": "spaces", - "path": "x-pack/plugins/spaces/server/routes/api/external/delete.test.ts" + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/maintenance_window/apis/delete/delete_maintenance_window_route.test.ts" }, { "plugin": "indexManagement", diff --git a/api_docs/kbn_core_http_server.mdx b/api_docs/kbn_core_http_server.mdx index 5beea5a93f3e7c..45a1e51f79e72e 100644 --- a/api_docs/kbn_core_http_server.mdx +++ b/api_docs/kbn_core_http_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-server title: "@kbn/core-http-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-server plugin -date: 2023-09-21 +date: 2023-09-22 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 154222054352d1..e62269372b1c21 100644 --- a/api_docs/kbn_core_http_server_internal.mdx +++ b/api_docs/kbn_core_http_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-server-internal title: "@kbn/core-http-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-server-internal plugin -date: 2023-09-21 +date: 2023-09-22 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 1881c9974b76b3..44781bdb83408e 100644 --- a/api_docs/kbn_core_http_server_mocks.mdx +++ b/api_docs/kbn_core_http_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-server-mocks title: "@kbn/core-http-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-server-mocks plugin -date: 2023-09-21 +date: 2023-09-22 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 e41a6a77f475f1..6602fb7f7b04f3 100644 --- a/api_docs/kbn_core_i18n_browser.mdx +++ b/api_docs/kbn_core_i18n_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-i18n-browser title: "@kbn/core-i18n-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-i18n-browser plugin -date: 2023-09-21 +date: 2023-09-22 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 d844e581a25676..bd3c0de2fd0de1 100644 --- a/api_docs/kbn_core_i18n_browser_mocks.mdx +++ b/api_docs/kbn_core_i18n_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-i18n-browser-mocks title: "@kbn/core-i18n-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-i18n-browser-mocks plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-i18n-browser-mocks'] --- import kbnCoreI18nBrowserMocksObj from './kbn_core_i18n_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_i18n_server.mdx b/api_docs/kbn_core_i18n_server.mdx index ea024a1b9ccdb5..295b86b14e2964 100644 --- a/api_docs/kbn_core_i18n_server.mdx +++ b/api_docs/kbn_core_i18n_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-i18n-server title: "@kbn/core-i18n-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-i18n-server plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-i18n-server'] --- import kbnCoreI18nServerObj from './kbn_core_i18n_server.devdocs.json'; diff --git a/api_docs/kbn_core_i18n_server_internal.mdx b/api_docs/kbn_core_i18n_server_internal.mdx index da1c0844d9f086..725a091f493331 100644 --- a/api_docs/kbn_core_i18n_server_internal.mdx +++ b/api_docs/kbn_core_i18n_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-i18n-server-internal title: "@kbn/core-i18n-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-i18n-server-internal plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-i18n-server-internal'] --- import kbnCoreI18nServerInternalObj from './kbn_core_i18n_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_i18n_server_mocks.mdx b/api_docs/kbn_core_i18n_server_mocks.mdx index 35cb96086d8423..3e7ebd20b8b46b 100644 --- a/api_docs/kbn_core_i18n_server_mocks.mdx +++ b/api_docs/kbn_core_i18n_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-i18n-server-mocks title: "@kbn/core-i18n-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-i18n-server-mocks plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-i18n-server-mocks'] --- import kbnCoreI18nServerMocksObj from './kbn_core_i18n_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_injected_metadata_browser_mocks.mdx b/api_docs/kbn_core_injected_metadata_browser_mocks.mdx index d832292d805f18..40e171dc6b5560 100644 --- a/api_docs/kbn_core_injected_metadata_browser_mocks.mdx +++ b/api_docs/kbn_core_injected_metadata_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-injected-metadata-browser-mocks title: "@kbn/core-injected-metadata-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-injected-metadata-browser-mocks plugin -date: 2023-09-21 +date: 2023-09-22 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 2e45bc70f2d049..ff26f1f7fdc7c2 100644 --- a/api_docs/kbn_core_integrations_browser_internal.mdx +++ b/api_docs/kbn_core_integrations_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-integrations-browser-internal title: "@kbn/core-integrations-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-integrations-browser-internal plugin -date: 2023-09-21 +date: 2023-09-22 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 5a59bcfa28cf68..67048f05c61ac4 100644 --- a/api_docs/kbn_core_integrations_browser_mocks.mdx +++ b/api_docs/kbn_core_integrations_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-integrations-browser-mocks title: "@kbn/core-integrations-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-integrations-browser-mocks plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-integrations-browser-mocks'] --- import kbnCoreIntegrationsBrowserMocksObj from './kbn_core_integrations_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_lifecycle_browser.mdx b/api_docs/kbn_core_lifecycle_browser.mdx index 918e760c1e253b..ed2a8234d8560e 100644 --- a/api_docs/kbn_core_lifecycle_browser.mdx +++ b/api_docs/kbn_core_lifecycle_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-lifecycle-browser title: "@kbn/core-lifecycle-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-lifecycle-browser plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-lifecycle-browser'] --- import kbnCoreLifecycleBrowserObj from './kbn_core_lifecycle_browser.devdocs.json'; diff --git a/api_docs/kbn_core_lifecycle_browser_mocks.mdx b/api_docs/kbn_core_lifecycle_browser_mocks.mdx index 2ffd2869cab6e9..312c8bbf892fc2 100644 --- a/api_docs/kbn_core_lifecycle_browser_mocks.mdx +++ b/api_docs/kbn_core_lifecycle_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-lifecycle-browser-mocks title: "@kbn/core-lifecycle-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-lifecycle-browser-mocks plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-lifecycle-browser-mocks'] --- import kbnCoreLifecycleBrowserMocksObj from './kbn_core_lifecycle_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_lifecycle_server.mdx b/api_docs/kbn_core_lifecycle_server.mdx index 2216ce5e3f1c29..69afe3c243673d 100644 --- a/api_docs/kbn_core_lifecycle_server.mdx +++ b/api_docs/kbn_core_lifecycle_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-lifecycle-server title: "@kbn/core-lifecycle-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-lifecycle-server plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-lifecycle-server'] --- import kbnCoreLifecycleServerObj from './kbn_core_lifecycle_server.devdocs.json'; diff --git a/api_docs/kbn_core_lifecycle_server_mocks.mdx b/api_docs/kbn_core_lifecycle_server_mocks.mdx index 5114b49da30be0..1b1d8c6a6aacf9 100644 --- a/api_docs/kbn_core_lifecycle_server_mocks.mdx +++ b/api_docs/kbn_core_lifecycle_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-lifecycle-server-mocks title: "@kbn/core-lifecycle-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-lifecycle-server-mocks plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-lifecycle-server-mocks'] --- import kbnCoreLifecycleServerMocksObj from './kbn_core_lifecycle_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_logging_browser_mocks.mdx b/api_docs/kbn_core_logging_browser_mocks.mdx index 9e6959c9335749..624eacbd8371bb 100644 --- a/api_docs/kbn_core_logging_browser_mocks.mdx +++ b/api_docs/kbn_core_logging_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-logging-browser-mocks title: "@kbn/core-logging-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-logging-browser-mocks plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-logging-browser-mocks'] --- import kbnCoreLoggingBrowserMocksObj from './kbn_core_logging_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_logging_common_internal.mdx b/api_docs/kbn_core_logging_common_internal.mdx index 44060d7d9dd509..7d1eba23439835 100644 --- a/api_docs/kbn_core_logging_common_internal.mdx +++ b/api_docs/kbn_core_logging_common_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-logging-common-internal title: "@kbn/core-logging-common-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-logging-common-internal plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-logging-common-internal'] --- import kbnCoreLoggingCommonInternalObj from './kbn_core_logging_common_internal.devdocs.json'; diff --git a/api_docs/kbn_core_logging_server.mdx b/api_docs/kbn_core_logging_server.mdx index 707b4faa949a10..253a3f62e4a469 100644 --- a/api_docs/kbn_core_logging_server.mdx +++ b/api_docs/kbn_core_logging_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-logging-server title: "@kbn/core-logging-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-logging-server plugin -date: 2023-09-21 +date: 2023-09-22 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 e74328ee67f088..d57524ebf3acdf 100644 --- a/api_docs/kbn_core_logging_server_internal.mdx +++ b/api_docs/kbn_core_logging_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-logging-server-internal title: "@kbn/core-logging-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-logging-server-internal plugin -date: 2023-09-21 +date: 2023-09-22 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 ad94fb25fa4a9d..3014aed904fc5e 100644 --- a/api_docs/kbn_core_logging_server_mocks.mdx +++ b/api_docs/kbn_core_logging_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-logging-server-mocks title: "@kbn/core-logging-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-logging-server-mocks plugin -date: 2023-09-21 +date: 2023-09-22 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 aa692b88141b4a..f2ec00a640b982 100644 --- a/api_docs/kbn_core_metrics_collectors_server_internal.mdx +++ b/api_docs/kbn_core_metrics_collectors_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-metrics-collectors-server-internal title: "@kbn/core-metrics-collectors-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-metrics-collectors-server-internal plugin -date: 2023-09-21 +date: 2023-09-22 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 dd9f6eba201c9b..653ffce2c06577 100644 --- a/api_docs/kbn_core_metrics_collectors_server_mocks.mdx +++ b/api_docs/kbn_core_metrics_collectors_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-metrics-collectors-server-mocks title: "@kbn/core-metrics-collectors-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-metrics-collectors-server-mocks plugin -date: 2023-09-21 +date: 2023-09-22 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 6063376d0cf192..b3fdbae28e937a 100644 --- a/api_docs/kbn_core_metrics_server.mdx +++ b/api_docs/kbn_core_metrics_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-metrics-server title: "@kbn/core-metrics-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-metrics-server plugin -date: 2023-09-21 +date: 2023-09-22 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 52a57bce3dce19..da1e04d9ee1159 100644 --- a/api_docs/kbn_core_metrics_server_internal.mdx +++ b/api_docs/kbn_core_metrics_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-metrics-server-internal title: "@kbn/core-metrics-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-metrics-server-internal plugin -date: 2023-09-21 +date: 2023-09-22 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 1716908c46c850..22f8aabb0ba28d 100644 --- a/api_docs/kbn_core_metrics_server_mocks.mdx +++ b/api_docs/kbn_core_metrics_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-metrics-server-mocks title: "@kbn/core-metrics-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-metrics-server-mocks plugin -date: 2023-09-21 +date: 2023-09-22 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 97fa48a69fec5e..a7b5f5ddba8d70 100644 --- a/api_docs/kbn_core_mount_utils_browser.mdx +++ b/api_docs/kbn_core_mount_utils_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-mount-utils-browser title: "@kbn/core-mount-utils-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-mount-utils-browser plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-mount-utils-browser'] --- import kbnCoreMountUtilsBrowserObj from './kbn_core_mount_utils_browser.devdocs.json'; diff --git a/api_docs/kbn_core_node_server.mdx b/api_docs/kbn_core_node_server.mdx index 1e4e096e62ab68..aca68a790cb9dd 100644 --- a/api_docs/kbn_core_node_server.mdx +++ b/api_docs/kbn_core_node_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-node-server title: "@kbn/core-node-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-node-server plugin -date: 2023-09-21 +date: 2023-09-22 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 d66994b505cfe2..d567a9de6bb1cb 100644 --- a/api_docs/kbn_core_node_server_internal.mdx +++ b/api_docs/kbn_core_node_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-node-server-internal title: "@kbn/core-node-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-node-server-internal plugin -date: 2023-09-21 +date: 2023-09-22 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 aa5f7671bd5c34..7ee994f5bb5af0 100644 --- a/api_docs/kbn_core_node_server_mocks.mdx +++ b/api_docs/kbn_core_node_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-node-server-mocks title: "@kbn/core-node-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-node-server-mocks plugin -date: 2023-09-21 +date: 2023-09-22 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 0bb9380d89c888..b4d25f09547c7b 100644 --- a/api_docs/kbn_core_notifications_browser.mdx +++ b/api_docs/kbn_core_notifications_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-notifications-browser title: "@kbn/core-notifications-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-notifications-browser plugin -date: 2023-09-21 +date: 2023-09-22 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 47ae15cffa2b99..b5d59b776121ad 100644 --- a/api_docs/kbn_core_notifications_browser_internal.mdx +++ b/api_docs/kbn_core_notifications_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-notifications-browser-internal title: "@kbn/core-notifications-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-notifications-browser-internal plugin -date: 2023-09-21 +date: 2023-09-22 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 9e5ad68909f407..3e390a54e49e70 100644 --- a/api_docs/kbn_core_notifications_browser_mocks.mdx +++ b/api_docs/kbn_core_notifications_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-notifications-browser-mocks title: "@kbn/core-notifications-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-notifications-browser-mocks plugin -date: 2023-09-21 +date: 2023-09-22 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 f51bf612b720a5..3d58df92025050 100644 --- a/api_docs/kbn_core_overlays_browser.mdx +++ b/api_docs/kbn_core_overlays_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-overlays-browser title: "@kbn/core-overlays-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-overlays-browser plugin -date: 2023-09-21 +date: 2023-09-22 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 1c7ffef6b9f11c..7c5ad447c578a8 100644 --- a/api_docs/kbn_core_overlays_browser_internal.mdx +++ b/api_docs/kbn_core_overlays_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-overlays-browser-internal title: "@kbn/core-overlays-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-overlays-browser-internal plugin -date: 2023-09-21 +date: 2023-09-22 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 ef1080b29e204d..88b4e5fc6c6381 100644 --- a/api_docs/kbn_core_overlays_browser_mocks.mdx +++ b/api_docs/kbn_core_overlays_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-overlays-browser-mocks title: "@kbn/core-overlays-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-overlays-browser-mocks plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-overlays-browser-mocks'] --- import kbnCoreOverlaysBrowserMocksObj from './kbn_core_overlays_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_plugins_browser.mdx b/api_docs/kbn_core_plugins_browser.mdx index cf4df31fb236a7..5e3bbd9f67a369 100644 --- a/api_docs/kbn_core_plugins_browser.mdx +++ b/api_docs/kbn_core_plugins_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-plugins-browser title: "@kbn/core-plugins-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-plugins-browser plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-plugins-browser'] --- import kbnCorePluginsBrowserObj from './kbn_core_plugins_browser.devdocs.json'; diff --git a/api_docs/kbn_core_plugins_browser_mocks.mdx b/api_docs/kbn_core_plugins_browser_mocks.mdx index 4cc3b5e6540ee5..374563fb2fbea4 100644 --- a/api_docs/kbn_core_plugins_browser_mocks.mdx +++ b/api_docs/kbn_core_plugins_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-plugins-browser-mocks title: "@kbn/core-plugins-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-plugins-browser-mocks plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-plugins-browser-mocks'] --- import kbnCorePluginsBrowserMocksObj from './kbn_core_plugins_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_plugins_server.mdx b/api_docs/kbn_core_plugins_server.mdx index da6ab9479d8b39..38f693cd6dae95 100644 --- a/api_docs/kbn_core_plugins_server.mdx +++ b/api_docs/kbn_core_plugins_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-plugins-server title: "@kbn/core-plugins-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-plugins-server plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-plugins-server'] --- import kbnCorePluginsServerObj from './kbn_core_plugins_server.devdocs.json'; diff --git a/api_docs/kbn_core_plugins_server_mocks.mdx b/api_docs/kbn_core_plugins_server_mocks.mdx index ec945444005311..419cd1df0d8220 100644 --- a/api_docs/kbn_core_plugins_server_mocks.mdx +++ b/api_docs/kbn_core_plugins_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-plugins-server-mocks title: "@kbn/core-plugins-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-plugins-server-mocks plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-plugins-server-mocks'] --- import kbnCorePluginsServerMocksObj from './kbn_core_plugins_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_preboot_server.mdx b/api_docs/kbn_core_preboot_server.mdx index 0da6f7e1ad2414..bd1bfcb4fe594e 100644 --- a/api_docs/kbn_core_preboot_server.mdx +++ b/api_docs/kbn_core_preboot_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-preboot-server title: "@kbn/core-preboot-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-preboot-server plugin -date: 2023-09-21 +date: 2023-09-22 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 2a50b16519f9b2..80fc0e41221804 100644 --- a/api_docs/kbn_core_preboot_server_mocks.mdx +++ b/api_docs/kbn_core_preboot_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-preboot-server-mocks title: "@kbn/core-preboot-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-preboot-server-mocks plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-preboot-server-mocks'] --- import kbnCorePrebootServerMocksObj from './kbn_core_preboot_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_rendering_browser_mocks.mdx b/api_docs/kbn_core_rendering_browser_mocks.mdx index 337926465062a1..9b4cb612f23149 100644 --- a/api_docs/kbn_core_rendering_browser_mocks.mdx +++ b/api_docs/kbn_core_rendering_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-rendering-browser-mocks title: "@kbn/core-rendering-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-rendering-browser-mocks plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-rendering-browser-mocks'] --- import kbnCoreRenderingBrowserMocksObj from './kbn_core_rendering_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_rendering_server_internal.mdx b/api_docs/kbn_core_rendering_server_internal.mdx index cf9585f9be8166..66c154d23e68f3 100644 --- a/api_docs/kbn_core_rendering_server_internal.mdx +++ b/api_docs/kbn_core_rendering_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-rendering-server-internal title: "@kbn/core-rendering-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-rendering-server-internal plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-rendering-server-internal'] --- import kbnCoreRenderingServerInternalObj from './kbn_core_rendering_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_rendering_server_mocks.mdx b/api_docs/kbn_core_rendering_server_mocks.mdx index 51dc1d6844ccfa..34af26d47d28ca 100644 --- a/api_docs/kbn_core_rendering_server_mocks.mdx +++ b/api_docs/kbn_core_rendering_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-rendering-server-mocks title: "@kbn/core-rendering-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-rendering-server-mocks plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-rendering-server-mocks'] --- import kbnCoreRenderingServerMocksObj from './kbn_core_rendering_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_root_server_internal.mdx b/api_docs/kbn_core_root_server_internal.mdx index 33d7aa0dec22d9..4379d2e3f3fd7c 100644 --- a/api_docs/kbn_core_root_server_internal.mdx +++ b/api_docs/kbn_core_root_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-root-server-internal title: "@kbn/core-root-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-root-server-internal plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-root-server-internal'] --- import kbnCoreRootServerInternalObj from './kbn_core_root_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_api_browser.mdx b/api_docs/kbn_core_saved_objects_api_browser.mdx index 7914ac70accca9..9f9f635a51387e 100644 --- a/api_docs/kbn_core_saved_objects_api_browser.mdx +++ b/api_docs/kbn_core_saved_objects_api_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-api-browser title: "@kbn/core-saved-objects-api-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-api-browser plugin -date: 2023-09-21 +date: 2023-09-22 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 45906beb5babea..2eb3a71ec37fa3 100644 --- a/api_docs/kbn_core_saved_objects_api_server.mdx +++ b/api_docs/kbn_core_saved_objects_api_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-api-server title: "@kbn/core-saved-objects-api-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-api-server plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-api-server'] --- import kbnCoreSavedObjectsApiServerObj from './kbn_core_saved_objects_api_server.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_api_server_mocks.mdx b/api_docs/kbn_core_saved_objects_api_server_mocks.mdx index 773d422ce96b1c..253eaac04fded0 100644 --- a/api_docs/kbn_core_saved_objects_api_server_mocks.mdx +++ b/api_docs/kbn_core_saved_objects_api_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-api-server-mocks title: "@kbn/core-saved-objects-api-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-api-server-mocks plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-api-server-mocks'] --- import kbnCoreSavedObjectsApiServerMocksObj from './kbn_core_saved_objects_api_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_base_server_internal.mdx b/api_docs/kbn_core_saved_objects_base_server_internal.mdx index de98cfc8c9ad0b..97f653d13ea85a 100644 --- a/api_docs/kbn_core_saved_objects_base_server_internal.mdx +++ b/api_docs/kbn_core_saved_objects_base_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-base-server-internal title: "@kbn/core-saved-objects-base-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-base-server-internal plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-base-server-internal'] --- import kbnCoreSavedObjectsBaseServerInternalObj from './kbn_core_saved_objects_base_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_base_server_mocks.mdx b/api_docs/kbn_core_saved_objects_base_server_mocks.mdx index bf4036ad176e3e..a9d961e75d4ad4 100644 --- a/api_docs/kbn_core_saved_objects_base_server_mocks.mdx +++ b/api_docs/kbn_core_saved_objects_base_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-base-server-mocks title: "@kbn/core-saved-objects-base-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-base-server-mocks plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-base-server-mocks'] --- import kbnCoreSavedObjectsBaseServerMocksObj from './kbn_core_saved_objects_base_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_browser.mdx b/api_docs/kbn_core_saved_objects_browser.mdx index 5349d968d8ab83..2efea3b7e410b0 100644 --- a/api_docs/kbn_core_saved_objects_browser.mdx +++ b/api_docs/kbn_core_saved_objects_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-browser title: "@kbn/core-saved-objects-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-browser plugin -date: 2023-09-21 +date: 2023-09-22 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 3ca08594019cde..c6938f771bf508 100644 --- a/api_docs/kbn_core_saved_objects_browser_internal.mdx +++ b/api_docs/kbn_core_saved_objects_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-browser-internal title: "@kbn/core-saved-objects-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-browser-internal plugin -date: 2023-09-21 +date: 2023-09-22 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 79e9d8f711f451..cc3c7c8b60a964 100644 --- a/api_docs/kbn_core_saved_objects_browser_mocks.mdx +++ b/api_docs/kbn_core_saved_objects_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-browser-mocks title: "@kbn/core-saved-objects-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-browser-mocks plugin -date: 2023-09-21 +date: 2023-09-22 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 7e9bb86fc7c1f4..6fc8705133e17d 100644 --- a/api_docs/kbn_core_saved_objects_common.mdx +++ b/api_docs/kbn_core_saved_objects_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-common title: "@kbn/core-saved-objects-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-common plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-common'] --- import kbnCoreSavedObjectsCommonObj from './kbn_core_saved_objects_common.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_import_export_server_internal.mdx b/api_docs/kbn_core_saved_objects_import_export_server_internal.mdx index 91e9026d832e94..7b3a543034891a 100644 --- a/api_docs/kbn_core_saved_objects_import_export_server_internal.mdx +++ b/api_docs/kbn_core_saved_objects_import_export_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-import-export-server-internal title: "@kbn/core-saved-objects-import-export-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-import-export-server-internal plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-import-export-server-internal'] --- import kbnCoreSavedObjectsImportExportServerInternalObj from './kbn_core_saved_objects_import_export_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_import_export_server_mocks.mdx b/api_docs/kbn_core_saved_objects_import_export_server_mocks.mdx index 37e220eedf12fe..4bcd00a3b8617d 100644 --- a/api_docs/kbn_core_saved_objects_import_export_server_mocks.mdx +++ b/api_docs/kbn_core_saved_objects_import_export_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-import-export-server-mocks title: "@kbn/core-saved-objects-import-export-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-import-export-server-mocks plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-import-export-server-mocks'] --- import kbnCoreSavedObjectsImportExportServerMocksObj from './kbn_core_saved_objects_import_export_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_migration_server_internal.mdx b/api_docs/kbn_core_saved_objects_migration_server_internal.mdx index acfc8db19c4d93..ab25c904b3ee20 100644 --- a/api_docs/kbn_core_saved_objects_migration_server_internal.mdx +++ b/api_docs/kbn_core_saved_objects_migration_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-migration-server-internal title: "@kbn/core-saved-objects-migration-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-migration-server-internal plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-migration-server-internal'] --- import kbnCoreSavedObjectsMigrationServerInternalObj from './kbn_core_saved_objects_migration_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_migration_server_mocks.mdx b/api_docs/kbn_core_saved_objects_migration_server_mocks.mdx index 9ac6f8f0bcf1f7..324cdad1b02b3c 100644 --- a/api_docs/kbn_core_saved_objects_migration_server_mocks.mdx +++ b/api_docs/kbn_core_saved_objects_migration_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-migration-server-mocks title: "@kbn/core-saved-objects-migration-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-migration-server-mocks plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-migration-server-mocks'] --- import kbnCoreSavedObjectsMigrationServerMocksObj from './kbn_core_saved_objects_migration_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_server.mdx b/api_docs/kbn_core_saved_objects_server.mdx index 2bd5338599b617..4369d053085e38 100644 --- a/api_docs/kbn_core_saved_objects_server.mdx +++ b/api_docs/kbn_core_saved_objects_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-server title: "@kbn/core-saved-objects-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-server plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-server'] --- import kbnCoreSavedObjectsServerObj from './kbn_core_saved_objects_server.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_server_internal.mdx b/api_docs/kbn_core_saved_objects_server_internal.mdx index e78ecc1dcb3e70..762a2e176514b8 100644 --- a/api_docs/kbn_core_saved_objects_server_internal.mdx +++ b/api_docs/kbn_core_saved_objects_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-server-internal title: "@kbn/core-saved-objects-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-server-internal plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-server-internal'] --- import kbnCoreSavedObjectsServerInternalObj from './kbn_core_saved_objects_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_server_mocks.mdx b/api_docs/kbn_core_saved_objects_server_mocks.mdx index 504b9ad866c7ad..e27a1a79f1b19f 100644 --- a/api_docs/kbn_core_saved_objects_server_mocks.mdx +++ b/api_docs/kbn_core_saved_objects_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-server-mocks title: "@kbn/core-saved-objects-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-server-mocks plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-server-mocks'] --- import kbnCoreSavedObjectsServerMocksObj from './kbn_core_saved_objects_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_utils_server.mdx b/api_docs/kbn_core_saved_objects_utils_server.mdx index f3d3b4fdd1be3f..62d1857c1b901a 100644 --- a/api_docs/kbn_core_saved_objects_utils_server.mdx +++ b/api_docs/kbn_core_saved_objects_utils_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-utils-server title: "@kbn/core-saved-objects-utils-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-utils-server plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-utils-server'] --- import kbnCoreSavedObjectsUtilsServerObj from './kbn_core_saved_objects_utils_server.devdocs.json'; diff --git a/api_docs/kbn_core_status_common.mdx b/api_docs/kbn_core_status_common.mdx index 516256a8d61bb3..772742436f9b05 100644 --- a/api_docs/kbn_core_status_common.mdx +++ b/api_docs/kbn_core_status_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-status-common title: "@kbn/core-status-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-status-common plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-status-common'] --- import kbnCoreStatusCommonObj from './kbn_core_status_common.devdocs.json'; diff --git a/api_docs/kbn_core_status_common_internal.mdx b/api_docs/kbn_core_status_common_internal.mdx index e56a7e442fb1f3..35fd6912b6b3c3 100644 --- a/api_docs/kbn_core_status_common_internal.mdx +++ b/api_docs/kbn_core_status_common_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-status-common-internal title: "@kbn/core-status-common-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-status-common-internal plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-status-common-internal'] --- import kbnCoreStatusCommonInternalObj from './kbn_core_status_common_internal.devdocs.json'; diff --git a/api_docs/kbn_core_status_server.mdx b/api_docs/kbn_core_status_server.mdx index 7c95af34cc346f..3ec12ab410e762 100644 --- a/api_docs/kbn_core_status_server.mdx +++ b/api_docs/kbn_core_status_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-status-server title: "@kbn/core-status-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-status-server plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-status-server'] --- import kbnCoreStatusServerObj from './kbn_core_status_server.devdocs.json'; diff --git a/api_docs/kbn_core_status_server_internal.mdx b/api_docs/kbn_core_status_server_internal.mdx index bc25b4033f907e..a204c6f1b5ba7b 100644 --- a/api_docs/kbn_core_status_server_internal.mdx +++ b/api_docs/kbn_core_status_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-status-server-internal title: "@kbn/core-status-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-status-server-internal plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-status-server-internal'] --- import kbnCoreStatusServerInternalObj from './kbn_core_status_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_status_server_mocks.mdx b/api_docs/kbn_core_status_server_mocks.mdx index 5d1c1087237dac..c0f25355b99921 100644 --- a/api_docs/kbn_core_status_server_mocks.mdx +++ b/api_docs/kbn_core_status_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-status-server-mocks title: "@kbn/core-status-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-status-server-mocks plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-status-server-mocks'] --- import kbnCoreStatusServerMocksObj from './kbn_core_status_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_test_helpers_deprecations_getters.mdx b/api_docs/kbn_core_test_helpers_deprecations_getters.mdx index 813b12fc132e23..ccd59eeb55c6c9 100644 --- a/api_docs/kbn_core_test_helpers_deprecations_getters.mdx +++ b/api_docs/kbn_core_test_helpers_deprecations_getters.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-test-helpers-deprecations-getters title: "@kbn/core-test-helpers-deprecations-getters" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-test-helpers-deprecations-getters plugin -date: 2023-09-21 +date: 2023-09-22 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 51c977031f28e5..0131281ceaa059 100644 --- a/api_docs/kbn_core_test_helpers_http_setup_browser.mdx +++ b/api_docs/kbn_core_test_helpers_http_setup_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-test-helpers-http-setup-browser title: "@kbn/core-test-helpers-http-setup-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-test-helpers-http-setup-browser plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-test-helpers-http-setup-browser'] --- import kbnCoreTestHelpersHttpSetupBrowserObj from './kbn_core_test_helpers_http_setup_browser.devdocs.json'; diff --git a/api_docs/kbn_core_test_helpers_kbn_server.mdx b/api_docs/kbn_core_test_helpers_kbn_server.mdx index ab1270093e01cc..7a5d11e67c0b7b 100644 --- a/api_docs/kbn_core_test_helpers_kbn_server.mdx +++ b/api_docs/kbn_core_test_helpers_kbn_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-test-helpers-kbn-server title: "@kbn/core-test-helpers-kbn-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-test-helpers-kbn-server plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-test-helpers-kbn-server'] --- import kbnCoreTestHelpersKbnServerObj from './kbn_core_test_helpers_kbn_server.devdocs.json'; diff --git a/api_docs/kbn_core_test_helpers_so_type_serializer.mdx b/api_docs/kbn_core_test_helpers_so_type_serializer.mdx index 98b356fbcf4969..102395df404699 100644 --- a/api_docs/kbn_core_test_helpers_so_type_serializer.mdx +++ b/api_docs/kbn_core_test_helpers_so_type_serializer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-test-helpers-so-type-serializer title: "@kbn/core-test-helpers-so-type-serializer" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-test-helpers-so-type-serializer plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-test-helpers-so-type-serializer'] --- import kbnCoreTestHelpersSoTypeSerializerObj from './kbn_core_test_helpers_so_type_serializer.devdocs.json'; diff --git a/api_docs/kbn_core_test_helpers_test_utils.mdx b/api_docs/kbn_core_test_helpers_test_utils.mdx index e4bb7d83d20e46..56d0fdd8619bb3 100644 --- a/api_docs/kbn_core_test_helpers_test_utils.mdx +++ b/api_docs/kbn_core_test_helpers_test_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-test-helpers-test-utils title: "@kbn/core-test-helpers-test-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-test-helpers-test-utils plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-test-helpers-test-utils'] --- import kbnCoreTestHelpersTestUtilsObj from './kbn_core_test_helpers_test_utils.devdocs.json'; diff --git a/api_docs/kbn_core_theme_browser.mdx b/api_docs/kbn_core_theme_browser.mdx index 998660b1f4f2b8..5c61d4129794a1 100644 --- a/api_docs/kbn_core_theme_browser.mdx +++ b/api_docs/kbn_core_theme_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-theme-browser title: "@kbn/core-theme-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-theme-browser plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-theme-browser'] --- import kbnCoreThemeBrowserObj from './kbn_core_theme_browser.devdocs.json'; diff --git a/api_docs/kbn_core_theme_browser_mocks.mdx b/api_docs/kbn_core_theme_browser_mocks.mdx index fda04acaf9871a..9cdbbdabed4416 100644 --- a/api_docs/kbn_core_theme_browser_mocks.mdx +++ b/api_docs/kbn_core_theme_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-theme-browser-mocks title: "@kbn/core-theme-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-theme-browser-mocks plugin -date: 2023-09-21 +date: 2023-09-22 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 cf042801d7fc8c..23e1481d9360ab 100644 --- a/api_docs/kbn_core_ui_settings_browser.mdx +++ b/api_docs/kbn_core_ui_settings_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-browser title: "@kbn/core-ui-settings-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-browser plugin -date: 2023-09-21 +date: 2023-09-22 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 b1af74b72ebc1e..cf22ca6e3b21d4 100644 --- a/api_docs/kbn_core_ui_settings_browser_internal.mdx +++ b/api_docs/kbn_core_ui_settings_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-browser-internal title: "@kbn/core-ui-settings-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-browser-internal plugin -date: 2023-09-21 +date: 2023-09-22 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 a033d70bd927da..6544dea589820d 100644 --- a/api_docs/kbn_core_ui_settings_browser_mocks.mdx +++ b/api_docs/kbn_core_ui_settings_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-browser-mocks title: "@kbn/core-ui-settings-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-browser-mocks plugin -date: 2023-09-21 +date: 2023-09-22 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 74aedb1f37b50c..cb9a5a8b925a8a 100644 --- a/api_docs/kbn_core_ui_settings_common.mdx +++ b/api_docs/kbn_core_ui_settings_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-common title: "@kbn/core-ui-settings-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-common plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-ui-settings-common'] --- import kbnCoreUiSettingsCommonObj from './kbn_core_ui_settings_common.devdocs.json'; diff --git a/api_docs/kbn_core_ui_settings_server.mdx b/api_docs/kbn_core_ui_settings_server.mdx index 5e075150532a2d..26a0782676c220 100644 --- a/api_docs/kbn_core_ui_settings_server.mdx +++ b/api_docs/kbn_core_ui_settings_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-server title: "@kbn/core-ui-settings-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-server plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-ui-settings-server'] --- import kbnCoreUiSettingsServerObj from './kbn_core_ui_settings_server.devdocs.json'; diff --git a/api_docs/kbn_core_ui_settings_server_internal.mdx b/api_docs/kbn_core_ui_settings_server_internal.mdx index c0b247c9e70406..b35d5042ebb153 100644 --- a/api_docs/kbn_core_ui_settings_server_internal.mdx +++ b/api_docs/kbn_core_ui_settings_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-server-internal title: "@kbn/core-ui-settings-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-server-internal plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-ui-settings-server-internal'] --- import kbnCoreUiSettingsServerInternalObj from './kbn_core_ui_settings_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_ui_settings_server_mocks.mdx b/api_docs/kbn_core_ui_settings_server_mocks.mdx index b2268bd2181d15..1f51c08a4787f6 100644 --- a/api_docs/kbn_core_ui_settings_server_mocks.mdx +++ b/api_docs/kbn_core_ui_settings_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-server-mocks title: "@kbn/core-ui-settings-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-server-mocks plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-ui-settings-server-mocks'] --- import kbnCoreUiSettingsServerMocksObj from './kbn_core_ui_settings_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_usage_data_server.mdx b/api_docs/kbn_core_usage_data_server.mdx index b049e668c467ea..02ae993670d5e7 100644 --- a/api_docs/kbn_core_usage_data_server.mdx +++ b/api_docs/kbn_core_usage_data_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-usage-data-server title: "@kbn/core-usage-data-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-usage-data-server plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-usage-data-server'] --- import kbnCoreUsageDataServerObj from './kbn_core_usage_data_server.devdocs.json'; diff --git a/api_docs/kbn_core_usage_data_server_internal.mdx b/api_docs/kbn_core_usage_data_server_internal.mdx index dfa67ee3d81ecd..5140fce9140052 100644 --- a/api_docs/kbn_core_usage_data_server_internal.mdx +++ b/api_docs/kbn_core_usage_data_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-usage-data-server-internal title: "@kbn/core-usage-data-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-usage-data-server-internal plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-usage-data-server-internal'] --- import kbnCoreUsageDataServerInternalObj from './kbn_core_usage_data_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_usage_data_server_mocks.mdx b/api_docs/kbn_core_usage_data_server_mocks.mdx index c9fd7c9205458c..94130ad2468973 100644 --- a/api_docs/kbn_core_usage_data_server_mocks.mdx +++ b/api_docs/kbn_core_usage_data_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-usage-data-server-mocks title: "@kbn/core-usage-data-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-usage-data-server-mocks plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-usage-data-server-mocks'] --- import kbnCoreUsageDataServerMocksObj from './kbn_core_usage_data_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_user_settings_server.mdx b/api_docs/kbn_core_user_settings_server.mdx index 3f0032236d0185..37cc5ca907bbec 100644 --- a/api_docs/kbn_core_user_settings_server.mdx +++ b/api_docs/kbn_core_user_settings_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-user-settings-server title: "@kbn/core-user-settings-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-user-settings-server plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-user-settings-server'] --- import kbnCoreUserSettingsServerObj from './kbn_core_user_settings_server.devdocs.json'; diff --git a/api_docs/kbn_core_user_settings_server_internal.mdx b/api_docs/kbn_core_user_settings_server_internal.mdx index 88fba0044a9c49..9b2e1a62198299 100644 --- a/api_docs/kbn_core_user_settings_server_internal.mdx +++ b/api_docs/kbn_core_user_settings_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-user-settings-server-internal title: "@kbn/core-user-settings-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-user-settings-server-internal plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-user-settings-server-internal'] --- import kbnCoreUserSettingsServerInternalObj from './kbn_core_user_settings_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_user_settings_server_mocks.mdx b/api_docs/kbn_core_user_settings_server_mocks.mdx index 7d58c7ad181326..63ab42db16f8f0 100644 --- a/api_docs/kbn_core_user_settings_server_mocks.mdx +++ b/api_docs/kbn_core_user_settings_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-user-settings-server-mocks title: "@kbn/core-user-settings-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-user-settings-server-mocks plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-user-settings-server-mocks'] --- import kbnCoreUserSettingsServerMocksObj from './kbn_core_user_settings_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_crypto.mdx b/api_docs/kbn_crypto.mdx index 91f2086f61cdee..8fa0da10ac0dee 100644 --- a/api_docs/kbn_crypto.mdx +++ b/api_docs/kbn_crypto.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-crypto title: "@kbn/crypto" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/crypto plugin -date: 2023-09-21 +date: 2023-09-22 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 f4c1f12435a266..739b12d904bd39 100644 --- a/api_docs/kbn_crypto_browser.mdx +++ b/api_docs/kbn_crypto_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-crypto-browser title: "@kbn/crypto-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/crypto-browser plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/crypto-browser'] --- import kbnCryptoBrowserObj from './kbn_crypto_browser.devdocs.json'; diff --git a/api_docs/kbn_custom_integrations.mdx b/api_docs/kbn_custom_integrations.mdx index 2f38d6ee1c6687..ecad3af2d91e14 100644 --- a/api_docs/kbn_custom_integrations.mdx +++ b/api_docs/kbn_custom_integrations.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-custom-integrations title: "@kbn/custom-integrations" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/custom-integrations plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/custom-integrations'] --- import kbnCustomIntegrationsObj from './kbn_custom_integrations.devdocs.json'; diff --git a/api_docs/kbn_cypress_config.mdx b/api_docs/kbn_cypress_config.mdx index eea9b0fc62c964..d41cd83aa2383c 100644 --- a/api_docs/kbn_cypress_config.mdx +++ b/api_docs/kbn_cypress_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-cypress-config title: "@kbn/cypress-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/cypress-config plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/cypress-config'] --- import kbnCypressConfigObj from './kbn_cypress_config.devdocs.json'; diff --git a/api_docs/kbn_data_service.mdx b/api_docs/kbn_data_service.mdx index cc31dafcb1b0c7..56b306a2d3b9b8 100644 --- a/api_docs/kbn_data_service.mdx +++ b/api_docs/kbn_data_service.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-data-service title: "@kbn/data-service" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/data-service plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/data-service'] --- import kbnDataServiceObj from './kbn_data_service.devdocs.json'; diff --git a/api_docs/kbn_datemath.mdx b/api_docs/kbn_datemath.mdx index ab7fac244eccaa..d709d866078ffc 100644 --- a/api_docs/kbn_datemath.mdx +++ b/api_docs/kbn_datemath.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-datemath title: "@kbn/datemath" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/datemath plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/datemath'] --- import kbnDatemathObj from './kbn_datemath.devdocs.json'; diff --git a/api_docs/kbn_deeplinks_analytics.mdx b/api_docs/kbn_deeplinks_analytics.mdx index 078f368a5a5278..3f1bcb59c481ff 100644 --- a/api_docs/kbn_deeplinks_analytics.mdx +++ b/api_docs/kbn_deeplinks_analytics.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-analytics title: "@kbn/deeplinks-analytics" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-analytics plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-analytics'] --- import kbnDeeplinksAnalyticsObj from './kbn_deeplinks_analytics.devdocs.json'; diff --git a/api_docs/kbn_deeplinks_devtools.mdx b/api_docs/kbn_deeplinks_devtools.mdx index a8a20f807f994c..9a7f3262c11aab 100644 --- a/api_docs/kbn_deeplinks_devtools.mdx +++ b/api_docs/kbn_deeplinks_devtools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-devtools title: "@kbn/deeplinks-devtools" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-devtools plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-devtools'] --- import kbnDeeplinksDevtoolsObj from './kbn_deeplinks_devtools.devdocs.json'; diff --git a/api_docs/kbn_deeplinks_management.mdx b/api_docs/kbn_deeplinks_management.mdx index 300e08db4a2526..83f393c33e4b5c 100644 --- a/api_docs/kbn_deeplinks_management.mdx +++ b/api_docs/kbn_deeplinks_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-management title: "@kbn/deeplinks-management" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-management plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-management'] --- import kbnDeeplinksManagementObj from './kbn_deeplinks_management.devdocs.json'; diff --git a/api_docs/kbn_deeplinks_ml.mdx b/api_docs/kbn_deeplinks_ml.mdx index 9a86ab64ded6b8..a0ce7e770ea3ba 100644 --- a/api_docs/kbn_deeplinks_ml.mdx +++ b/api_docs/kbn_deeplinks_ml.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-ml title: "@kbn/deeplinks-ml" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-ml plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-ml'] --- import kbnDeeplinksMlObj from './kbn_deeplinks_ml.devdocs.json'; diff --git a/api_docs/kbn_deeplinks_observability.mdx b/api_docs/kbn_deeplinks_observability.mdx index c413e298b6af3b..29038d86fc914b 100644 --- a/api_docs/kbn_deeplinks_observability.mdx +++ b/api_docs/kbn_deeplinks_observability.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-observability title: "@kbn/deeplinks-observability" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-observability plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-observability'] --- import kbnDeeplinksObservabilityObj from './kbn_deeplinks_observability.devdocs.json'; diff --git a/api_docs/kbn_deeplinks_search.mdx b/api_docs/kbn_deeplinks_search.mdx index e16639dcd88174..5c4e412493171e 100644 --- a/api_docs/kbn_deeplinks_search.mdx +++ b/api_docs/kbn_deeplinks_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-search title: "@kbn/deeplinks-search" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-search plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-search'] --- import kbnDeeplinksSearchObj from './kbn_deeplinks_search.devdocs.json'; diff --git a/api_docs/kbn_default_nav_analytics.mdx b/api_docs/kbn_default_nav_analytics.mdx index 7b983fae12bc0b..2de44a3faa57f5 100644 --- a/api_docs/kbn_default_nav_analytics.mdx +++ b/api_docs/kbn_default_nav_analytics.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-default-nav-analytics title: "@kbn/default-nav-analytics" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/default-nav-analytics plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/default-nav-analytics'] --- import kbnDefaultNavAnalyticsObj from './kbn_default_nav_analytics.devdocs.json'; diff --git a/api_docs/kbn_default_nav_devtools.mdx b/api_docs/kbn_default_nav_devtools.mdx index 3ab02b69008ac0..44d03ad8d9c999 100644 --- a/api_docs/kbn_default_nav_devtools.mdx +++ b/api_docs/kbn_default_nav_devtools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-default-nav-devtools title: "@kbn/default-nav-devtools" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/default-nav-devtools plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/default-nav-devtools'] --- import kbnDefaultNavDevtoolsObj from './kbn_default_nav_devtools.devdocs.json'; diff --git a/api_docs/kbn_default_nav_management.mdx b/api_docs/kbn_default_nav_management.mdx index 3a078fae077ae7..12b56d8bb1ca2a 100644 --- a/api_docs/kbn_default_nav_management.mdx +++ b/api_docs/kbn_default_nav_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-default-nav-management title: "@kbn/default-nav-management" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/default-nav-management plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/default-nav-management'] --- import kbnDefaultNavManagementObj from './kbn_default_nav_management.devdocs.json'; diff --git a/api_docs/kbn_default_nav_ml.mdx b/api_docs/kbn_default_nav_ml.mdx index df48d387adfa7a..d095e8a7ccde03 100644 --- a/api_docs/kbn_default_nav_ml.mdx +++ b/api_docs/kbn_default_nav_ml.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-default-nav-ml title: "@kbn/default-nav-ml" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/default-nav-ml plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/default-nav-ml'] --- import kbnDefaultNavMlObj from './kbn_default_nav_ml.devdocs.json'; diff --git a/api_docs/kbn_dev_cli_errors.mdx b/api_docs/kbn_dev_cli_errors.mdx index a4643bbc1db1a1..d002745d84a01c 100644 --- a/api_docs/kbn_dev_cli_errors.mdx +++ b/api_docs/kbn_dev_cli_errors.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-dev-cli-errors title: "@kbn/dev-cli-errors" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/dev-cli-errors plugin -date: 2023-09-21 +date: 2023-09-22 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 00245bb44762b8..15564575a86fb1 100644 --- a/api_docs/kbn_dev_cli_runner.mdx +++ b/api_docs/kbn_dev_cli_runner.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-dev-cli-runner title: "@kbn/dev-cli-runner" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/dev-cli-runner plugin -date: 2023-09-21 +date: 2023-09-22 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 a0e86942182ec4..8f6fe98533086b 100644 --- a/api_docs/kbn_dev_proc_runner.mdx +++ b/api_docs/kbn_dev_proc_runner.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-dev-proc-runner title: "@kbn/dev-proc-runner" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/dev-proc-runner plugin -date: 2023-09-21 +date: 2023-09-22 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.devdocs.json b/api_docs/kbn_dev_utils.devdocs.json index 6fa61e7f7047f0..7df550ccddfd03 100644 --- a/api_docs/kbn_dev_utils.devdocs.json +++ b/api_docs/kbn_dev_utils.devdocs.json @@ -479,7 +479,7 @@ "tags": [], "label": "kibanaDevServiceAccount", "description": [ - "\n`kibana-dev` service account token for connecting to ESS\nSee packages/kbn-es/src/ess_resources/README.md" + "\n`kibana-dev` service account token for connecting to ESS\nSee packages/kbn-es/src/serverless_resources/README.md" ], "path": "packages/kbn-dev-utils/src/dev_service_account.ts", "deprecated": false, diff --git a/api_docs/kbn_dev_utils.mdx b/api_docs/kbn_dev_utils.mdx index 6453b0855bacce..2637c24ba2cfd8 100644 --- a/api_docs/kbn_dev_utils.mdx +++ b/api_docs/kbn_dev_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-dev-utils title: "@kbn/dev-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/dev-utils plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/dev-utils'] --- import kbnDevUtilsObj from './kbn_dev_utils.devdocs.json'; diff --git a/api_docs/kbn_discover_utils.mdx b/api_docs/kbn_discover_utils.mdx index 33306c1c443192..5cb67a73c22ce0 100644 --- a/api_docs/kbn_discover_utils.mdx +++ b/api_docs/kbn_discover_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-discover-utils title: "@kbn/discover-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/discover-utils plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/discover-utils'] --- import kbnDiscoverUtilsObj from './kbn_discover_utils.devdocs.json'; diff --git a/api_docs/kbn_doc_links.mdx b/api_docs/kbn_doc_links.mdx index 0d3a6383eefefc..c1a0f7b4ed4747 100644 --- a/api_docs/kbn_doc_links.mdx +++ b/api_docs/kbn_doc_links.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-doc-links title: "@kbn/doc-links" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/doc-links plugin -date: 2023-09-21 +date: 2023-09-22 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 5f5e1b0e7b2da5..dadd55037b503c 100644 --- a/api_docs/kbn_docs_utils.mdx +++ b/api_docs/kbn_docs_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-docs-utils title: "@kbn/docs-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/docs-utils plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/docs-utils'] --- import kbnDocsUtilsObj from './kbn_docs_utils.devdocs.json'; diff --git a/api_docs/kbn_dom_drag_drop.mdx b/api_docs/kbn_dom_drag_drop.mdx index 91ac62dc1748a6..51dd9810e883dd 100644 --- a/api_docs/kbn_dom_drag_drop.mdx +++ b/api_docs/kbn_dom_drag_drop.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-dom-drag-drop title: "@kbn/dom-drag-drop" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/dom-drag-drop plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/dom-drag-drop'] --- import kbnDomDragDropObj from './kbn_dom_drag_drop.devdocs.json'; diff --git a/api_docs/kbn_ebt_tools.mdx b/api_docs/kbn_ebt_tools.mdx index db073f63806e15..66cb0b151da723 100644 --- a/api_docs/kbn_ebt_tools.mdx +++ b/api_docs/kbn_ebt_tools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ebt-tools title: "@kbn/ebt-tools" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ebt-tools plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ebt-tools'] --- import kbnEbtToolsObj from './kbn_ebt_tools.devdocs.json'; diff --git a/api_docs/kbn_ecs.mdx b/api_docs/kbn_ecs.mdx index eac5e4a3116c30..9c953ce48bd868 100644 --- a/api_docs/kbn_ecs.mdx +++ b/api_docs/kbn_ecs.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ecs title: "@kbn/ecs" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ecs plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ecs'] --- import kbnEcsObj from './kbn_ecs.devdocs.json'; diff --git a/api_docs/kbn_ecs_data_quality_dashboard.mdx b/api_docs/kbn_ecs_data_quality_dashboard.mdx index 6c59fcbb8dd50f..11e4639add08fa 100644 --- a/api_docs/kbn_ecs_data_quality_dashboard.mdx +++ b/api_docs/kbn_ecs_data_quality_dashboard.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ecs-data-quality-dashboard title: "@kbn/ecs-data-quality-dashboard" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ecs-data-quality-dashboard plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ecs-data-quality-dashboard'] --- import kbnEcsDataQualityDashboardObj from './kbn_ecs_data_quality_dashboard.devdocs.json'; diff --git a/api_docs/kbn_elastic_assistant.mdx b/api_docs/kbn_elastic_assistant.mdx index 0260e955742073..cf8a3341f99f8c 100644 --- a/api_docs/kbn_elastic_assistant.mdx +++ b/api_docs/kbn_elastic_assistant.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-elastic-assistant title: "@kbn/elastic-assistant" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/elastic-assistant plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/elastic-assistant'] --- import kbnElasticAssistantObj from './kbn_elastic_assistant.devdocs.json'; diff --git a/api_docs/kbn_es.devdocs.json b/api_docs/kbn_es.devdocs.json index 4d53e7ff409528..3c9a115ec44c0f 100644 --- a/api_docs/kbn_es.devdocs.json +++ b/api_docs/kbn_es.devdocs.json @@ -626,7 +626,7 @@ "tags": [], "label": "getDockerFileMountPath", "description": [ - "\nRemoves REPO_ROOT from hostPath. Keep the rest to avoid filename collisions.\nReturns the path where a file will be mounted inside the ES or ESS container.\n/root/kibana/package/foo/bar.json => /usr/share/elasticsearch/files/package/foo/bar.json" + "\nRemoves REPO_ROOT from hostPath. Keep the rest to avoid filename collisions.\nReturns the path where a file will be mounted inside the ES or ES serverless container.\n/root/kibana/package/foo/bar.json => /usr/share/elasticsearch/files/package/foo/bar.json" ], "signature": [ "(hostPath: string) => string" @@ -716,7 +716,7 @@ "signature": [ "\"elastic_serverless\"" ], - "path": "packages/kbn-es/src/utils/ess_file_realm.ts", + "path": "packages/kbn-es/src/utils/serverless_file_realm.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -731,7 +731,7 @@ "signature": [ "\"changeme\"" ], - "path": "packages/kbn-es/src/utils/ess_file_realm.ts", + "path": "packages/kbn-es/src/utils/serverless_file_realm.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false diff --git a/api_docs/kbn_es.mdx b/api_docs/kbn_es.mdx index 08ba49d3ab5756..bb7716c1ff1111 100644 --- a/api_docs/kbn_es.mdx +++ b/api_docs/kbn_es.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-es title: "@kbn/es" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/es plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/es'] --- import kbnEsObj from './kbn_es.devdocs.json'; diff --git a/api_docs/kbn_es_archiver.mdx b/api_docs/kbn_es_archiver.mdx index 9e8741418668c5..d6697529692a78 100644 --- a/api_docs/kbn_es_archiver.mdx +++ b/api_docs/kbn_es_archiver.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-es-archiver title: "@kbn/es-archiver" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/es-archiver plugin -date: 2023-09-21 +date: 2023-09-22 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 3a198f04f77c61..41bdfb170d950a 100644 --- a/api_docs/kbn_es_errors.mdx +++ b/api_docs/kbn_es_errors.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-es-errors title: "@kbn/es-errors" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/es-errors plugin -date: 2023-09-21 +date: 2023-09-22 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 094e7c556fbb48..9a20d6e85f8b2e 100644 --- a/api_docs/kbn_es_query.mdx +++ b/api_docs/kbn_es_query.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-es-query title: "@kbn/es-query" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/es-query plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/es-query'] --- import kbnEsQueryObj from './kbn_es_query.devdocs.json'; diff --git a/api_docs/kbn_es_types.mdx b/api_docs/kbn_es_types.mdx index 5b3a394b8287b2..1862627a4ca1f3 100644 --- a/api_docs/kbn_es_types.mdx +++ b/api_docs/kbn_es_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-es-types title: "@kbn/es-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/es-types plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/es-types'] --- import kbnEsTypesObj from './kbn_es_types.devdocs.json'; diff --git a/api_docs/kbn_eslint_plugin_imports.mdx b/api_docs/kbn_eslint_plugin_imports.mdx index 0414e9e347f155..f0d86ce38dc3dd 100644 --- a/api_docs/kbn_eslint_plugin_imports.mdx +++ b/api_docs/kbn_eslint_plugin_imports.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-eslint-plugin-imports title: "@kbn/eslint-plugin-imports" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/eslint-plugin-imports plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/eslint-plugin-imports'] --- import kbnEslintPluginImportsObj from './kbn_eslint_plugin_imports.devdocs.json'; diff --git a/api_docs/kbn_event_annotation_common.mdx b/api_docs/kbn_event_annotation_common.mdx index a055aa38dd55dc..7ea19faa1a6e28 100644 --- a/api_docs/kbn_event_annotation_common.mdx +++ b/api_docs/kbn_event_annotation_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-event-annotation-common title: "@kbn/event-annotation-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/event-annotation-common plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/event-annotation-common'] --- import kbnEventAnnotationCommonObj from './kbn_event_annotation_common.devdocs.json'; diff --git a/api_docs/kbn_event_annotation_components.mdx b/api_docs/kbn_event_annotation_components.mdx index 4fbdd8c2489f8b..95797624a2f9bb 100644 --- a/api_docs/kbn_event_annotation_components.mdx +++ b/api_docs/kbn_event_annotation_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-event-annotation-components title: "@kbn/event-annotation-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/event-annotation-components plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/event-annotation-components'] --- import kbnEventAnnotationComponentsObj from './kbn_event_annotation_components.devdocs.json'; diff --git a/api_docs/kbn_expandable_flyout.mdx b/api_docs/kbn_expandable_flyout.mdx index c417be01991ec2..8c04747d2e260b 100644 --- a/api_docs/kbn_expandable_flyout.mdx +++ b/api_docs/kbn_expandable_flyout.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-expandable-flyout title: "@kbn/expandable-flyout" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/expandable-flyout plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/expandable-flyout'] --- import kbnExpandableFlyoutObj from './kbn_expandable_flyout.devdocs.json'; diff --git a/api_docs/kbn_field_types.mdx b/api_docs/kbn_field_types.mdx index 3113bcf9f9e097..bc798b6dce716b 100644 --- a/api_docs/kbn_field_types.mdx +++ b/api_docs/kbn_field_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-field-types title: "@kbn/field-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/field-types plugin -date: 2023-09-21 +date: 2023-09-22 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 5ed893d1a19026..df2c98c32d2a38 100644 --- a/api_docs/kbn_find_used_node_modules.mdx +++ b/api_docs/kbn_find_used_node_modules.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-find-used-node-modules title: "@kbn/find-used-node-modules" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/find-used-node-modules plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/find-used-node-modules'] --- import kbnFindUsedNodeModulesObj from './kbn_find_used_node_modules.devdocs.json'; diff --git a/api_docs/kbn_ftr_common_functional_services.mdx b/api_docs/kbn_ftr_common_functional_services.mdx index 22d53f9916240c..548219d6201afa 100644 --- a/api_docs/kbn_ftr_common_functional_services.mdx +++ b/api_docs/kbn_ftr_common_functional_services.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ftr-common-functional-services title: "@kbn/ftr-common-functional-services" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ftr-common-functional-services plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ftr-common-functional-services'] --- import kbnFtrCommonFunctionalServicesObj from './kbn_ftr_common_functional_services.devdocs.json'; diff --git a/api_docs/kbn_generate.mdx b/api_docs/kbn_generate.mdx index fd135ab66b04dd..0c14f13afe6b58 100644 --- a/api_docs/kbn_generate.mdx +++ b/api_docs/kbn_generate.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-generate title: "@kbn/generate" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/generate plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/generate'] --- import kbnGenerateObj from './kbn_generate.devdocs.json'; diff --git a/api_docs/kbn_generate_console_definitions.mdx b/api_docs/kbn_generate_console_definitions.mdx index 0ac40d252c7abd..070cef62a474f0 100644 --- a/api_docs/kbn_generate_console_definitions.mdx +++ b/api_docs/kbn_generate_console_definitions.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-generate-console-definitions title: "@kbn/generate-console-definitions" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/generate-console-definitions plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/generate-console-definitions'] --- import kbnGenerateConsoleDefinitionsObj from './kbn_generate_console_definitions.devdocs.json'; diff --git a/api_docs/kbn_generate_csv.mdx b/api_docs/kbn_generate_csv.mdx index 52de8fab978577..c83435045386bb 100644 --- a/api_docs/kbn_generate_csv.mdx +++ b/api_docs/kbn_generate_csv.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-generate-csv title: "@kbn/generate-csv" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/generate-csv plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/generate-csv'] --- import kbnGenerateCsvObj from './kbn_generate_csv.devdocs.json'; diff --git a/api_docs/kbn_generate_csv_types.mdx b/api_docs/kbn_generate_csv_types.mdx index 3f86b4bd5345bc..6d71754cb2f3dd 100644 --- a/api_docs/kbn_generate_csv_types.mdx +++ b/api_docs/kbn_generate_csv_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-generate-csv-types title: "@kbn/generate-csv-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/generate-csv-types plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/generate-csv-types'] --- import kbnGenerateCsvTypesObj from './kbn_generate_csv_types.devdocs.json'; diff --git a/api_docs/kbn_guided_onboarding.mdx b/api_docs/kbn_guided_onboarding.mdx index edaa5d9c898ce2..d7071dece0189c 100644 --- a/api_docs/kbn_guided_onboarding.mdx +++ b/api_docs/kbn_guided_onboarding.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-guided-onboarding title: "@kbn/guided-onboarding" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/guided-onboarding plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/guided-onboarding'] --- import kbnGuidedOnboardingObj from './kbn_guided_onboarding.devdocs.json'; diff --git a/api_docs/kbn_handlebars.mdx b/api_docs/kbn_handlebars.mdx index ee3393d592ede6..095d8f329b1a8f 100644 --- a/api_docs/kbn_handlebars.mdx +++ b/api_docs/kbn_handlebars.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-handlebars title: "@kbn/handlebars" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/handlebars plugin -date: 2023-09-21 +date: 2023-09-22 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 071f46f6131f8f..6ceeff777948cf 100644 --- a/api_docs/kbn_hapi_mocks.mdx +++ b/api_docs/kbn_hapi_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-hapi-mocks title: "@kbn/hapi-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/hapi-mocks plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/hapi-mocks'] --- import kbnHapiMocksObj from './kbn_hapi_mocks.devdocs.json'; diff --git a/api_docs/kbn_health_gateway_server.mdx b/api_docs/kbn_health_gateway_server.mdx index f201e7104b40c9..de1971e68bf336 100644 --- a/api_docs/kbn_health_gateway_server.mdx +++ b/api_docs/kbn_health_gateway_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-health-gateway-server title: "@kbn/health-gateway-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/health-gateway-server plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/health-gateway-server'] --- import kbnHealthGatewayServerObj from './kbn_health_gateway_server.devdocs.json'; diff --git a/api_docs/kbn_home_sample_data_card.mdx b/api_docs/kbn_home_sample_data_card.mdx index 77dd7f2fe8d3d2..5f4a98369fdb06 100644 --- a/api_docs/kbn_home_sample_data_card.mdx +++ b/api_docs/kbn_home_sample_data_card.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-home-sample-data-card title: "@kbn/home-sample-data-card" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/home-sample-data-card plugin -date: 2023-09-21 +date: 2023-09-22 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 d509beb85d7fab..ef194a957f9b3a 100644 --- a/api_docs/kbn_home_sample_data_tab.mdx +++ b/api_docs/kbn_home_sample_data_tab.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-home-sample-data-tab title: "@kbn/home-sample-data-tab" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/home-sample-data-tab plugin -date: 2023-09-21 +date: 2023-09-22 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 58f3b54992f7cb..2329fb22f1dfe2 100644 --- a/api_docs/kbn_i18n.mdx +++ b/api_docs/kbn_i18n.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-i18n title: "@kbn/i18n" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/i18n plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/i18n'] --- import kbnI18nObj from './kbn_i18n.devdocs.json'; diff --git a/api_docs/kbn_i18n_react.mdx b/api_docs/kbn_i18n_react.mdx index 923c2692cb7b14..7ddfe206339aac 100644 --- a/api_docs/kbn_i18n_react.mdx +++ b/api_docs/kbn_i18n_react.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-i18n-react title: "@kbn/i18n-react" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/i18n-react plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/i18n-react'] --- import kbnI18nReactObj from './kbn_i18n_react.devdocs.json'; diff --git a/api_docs/kbn_import_resolver.mdx b/api_docs/kbn_import_resolver.mdx index 74c98b3167a926..803d69d82e038d 100644 --- a/api_docs/kbn_import_resolver.mdx +++ b/api_docs/kbn_import_resolver.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-import-resolver title: "@kbn/import-resolver" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/import-resolver plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/import-resolver'] --- import kbnImportResolverObj from './kbn_import_resolver.devdocs.json'; diff --git a/api_docs/kbn_infra_forge.mdx b/api_docs/kbn_infra_forge.mdx index 93699845957da0..6cec5a1770dd34 100644 --- a/api_docs/kbn_infra_forge.mdx +++ b/api_docs/kbn_infra_forge.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-infra-forge title: "@kbn/infra-forge" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/infra-forge plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/infra-forge'] --- import kbnInfraForgeObj from './kbn_infra_forge.devdocs.json'; diff --git a/api_docs/kbn_interpreter.mdx b/api_docs/kbn_interpreter.mdx index 532dc7e0147ee3..81713b9e3d4128 100644 --- a/api_docs/kbn_interpreter.mdx +++ b/api_docs/kbn_interpreter.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-interpreter title: "@kbn/interpreter" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/interpreter plugin -date: 2023-09-21 +date: 2023-09-22 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 a840b1390e3776..a3739a8cb041a1 100644 --- a/api_docs/kbn_io_ts_utils.mdx +++ b/api_docs/kbn_io_ts_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-io-ts-utils title: "@kbn/io-ts-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/io-ts-utils plugin -date: 2023-09-21 +date: 2023-09-22 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 31cfb13988813c..b4e642d7915ad2 100644 --- a/api_docs/kbn_jest_serializers.mdx +++ b/api_docs/kbn_jest_serializers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-jest-serializers title: "@kbn/jest-serializers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/jest-serializers plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/jest-serializers'] --- import kbnJestSerializersObj from './kbn_jest_serializers.devdocs.json'; diff --git a/api_docs/kbn_journeys.mdx b/api_docs/kbn_journeys.mdx index 5dd4b16f7971bf..6290ef6ad34508 100644 --- a/api_docs/kbn_journeys.mdx +++ b/api_docs/kbn_journeys.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-journeys title: "@kbn/journeys" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/journeys plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/journeys'] --- import kbnJourneysObj from './kbn_journeys.devdocs.json'; diff --git a/api_docs/kbn_json_ast.mdx b/api_docs/kbn_json_ast.mdx index 48b73c2c67c9f6..1541ab6ce58209 100644 --- a/api_docs/kbn_json_ast.mdx +++ b/api_docs/kbn_json_ast.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-json-ast title: "@kbn/json-ast" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/json-ast plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/json-ast'] --- import kbnJsonAstObj from './kbn_json_ast.devdocs.json'; diff --git a/api_docs/kbn_kibana_manifest_schema.mdx b/api_docs/kbn_kibana_manifest_schema.mdx index b9d9e9c8b7e94a..3b2b423d952272 100644 --- a/api_docs/kbn_kibana_manifest_schema.mdx +++ b/api_docs/kbn_kibana_manifest_schema.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-kibana-manifest-schema title: "@kbn/kibana-manifest-schema" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/kibana-manifest-schema plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/kibana-manifest-schema'] --- import kbnKibanaManifestSchemaObj from './kbn_kibana_manifest_schema.devdocs.json'; diff --git a/api_docs/kbn_language_documentation_popover.mdx b/api_docs/kbn_language_documentation_popover.mdx index ce9acc5d1f0373..ecfe4ef77b38e2 100644 --- a/api_docs/kbn_language_documentation_popover.mdx +++ b/api_docs/kbn_language_documentation_popover.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-language-documentation-popover title: "@kbn/language-documentation-popover" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/language-documentation-popover plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/language-documentation-popover'] --- import kbnLanguageDocumentationPopoverObj from './kbn_language_documentation_popover.devdocs.json'; diff --git a/api_docs/kbn_lens_embeddable_utils.mdx b/api_docs/kbn_lens_embeddable_utils.mdx index f0ae5b4e7dcbbb..6466a42b557760 100644 --- a/api_docs/kbn_lens_embeddable_utils.mdx +++ b/api_docs/kbn_lens_embeddable_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-lens-embeddable-utils title: "@kbn/lens-embeddable-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/lens-embeddable-utils plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/lens-embeddable-utils'] --- import kbnLensEmbeddableUtilsObj from './kbn_lens_embeddable_utils.devdocs.json'; diff --git a/api_docs/kbn_logging.mdx b/api_docs/kbn_logging.mdx index 59e79931862e01..e4382559f94f5c 100644 --- a/api_docs/kbn_logging.mdx +++ b/api_docs/kbn_logging.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-logging title: "@kbn/logging" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/logging plugin -date: 2023-09-21 +date: 2023-09-22 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 8487009e22acdc..bba3c7661af4ab 100644 --- a/api_docs/kbn_logging_mocks.mdx +++ b/api_docs/kbn_logging_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-logging-mocks title: "@kbn/logging-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/logging-mocks plugin -date: 2023-09-21 +date: 2023-09-22 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 4792c412dae5ab..3619911acd7882 100644 --- a/api_docs/kbn_managed_vscode_config.mdx +++ b/api_docs/kbn_managed_vscode_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-managed-vscode-config title: "@kbn/managed-vscode-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/managed-vscode-config plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/managed-vscode-config'] --- import kbnManagedVscodeConfigObj from './kbn_managed_vscode_config.devdocs.json'; diff --git a/api_docs/kbn_management_cards_navigation.mdx b/api_docs/kbn_management_cards_navigation.mdx index 8a0f94f6cb9393..2ec7eef6d1e551 100644 --- a/api_docs/kbn_management_cards_navigation.mdx +++ b/api_docs/kbn_management_cards_navigation.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-cards-navigation title: "@kbn/management-cards-navigation" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-cards-navigation plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-cards-navigation'] --- import kbnManagementCardsNavigationObj from './kbn_management_cards_navigation.devdocs.json'; diff --git a/api_docs/kbn_management_settings_components_field_input.mdx b/api_docs/kbn_management_settings_components_field_input.mdx index def6f35ed15049..0533e009cceb6c 100644 --- a/api_docs/kbn_management_settings_components_field_input.mdx +++ b/api_docs/kbn_management_settings_components_field_input.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-components-field-input title: "@kbn/management-settings-components-field-input" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-components-field-input plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-components-field-input'] --- import kbnManagementSettingsComponentsFieldInputObj from './kbn_management_settings_components_field_input.devdocs.json'; diff --git a/api_docs/kbn_management_settings_components_field_row.mdx b/api_docs/kbn_management_settings_components_field_row.mdx index 6f1d36d6db926a..a781bd7ca92924 100644 --- a/api_docs/kbn_management_settings_components_field_row.mdx +++ b/api_docs/kbn_management_settings_components_field_row.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-components-field-row title: "@kbn/management-settings-components-field-row" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-components-field-row plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-components-field-row'] --- import kbnManagementSettingsComponentsFieldRowObj from './kbn_management_settings_components_field_row.devdocs.json'; diff --git a/api_docs/kbn_management_settings_field_definition.mdx b/api_docs/kbn_management_settings_field_definition.mdx index 9e3c63985e3feb..66c05827d37c08 100644 --- a/api_docs/kbn_management_settings_field_definition.mdx +++ b/api_docs/kbn_management_settings_field_definition.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-field-definition title: "@kbn/management-settings-field-definition" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-field-definition plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-field-definition'] --- import kbnManagementSettingsFieldDefinitionObj from './kbn_management_settings_field_definition.devdocs.json'; diff --git a/api_docs/kbn_management_settings_ids.mdx b/api_docs/kbn_management_settings_ids.mdx index 485a06a4fe7241..d453d3b15c86bb 100644 --- a/api_docs/kbn_management_settings_ids.mdx +++ b/api_docs/kbn_management_settings_ids.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-ids title: "@kbn/management-settings-ids" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-ids plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-ids'] --- import kbnManagementSettingsIdsObj from './kbn_management_settings_ids.devdocs.json'; diff --git a/api_docs/kbn_management_settings_section_registry.mdx b/api_docs/kbn_management_settings_section_registry.mdx index 11b13f11b91258..efecde91adf800 100644 --- a/api_docs/kbn_management_settings_section_registry.mdx +++ b/api_docs/kbn_management_settings_section_registry.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-section-registry title: "@kbn/management-settings-section-registry" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-section-registry plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-section-registry'] --- import kbnManagementSettingsSectionRegistryObj from './kbn_management_settings_section_registry.devdocs.json'; diff --git a/api_docs/kbn_management_settings_types.mdx b/api_docs/kbn_management_settings_types.mdx index f8e1ad30cced8d..be529bdfa58688 100644 --- a/api_docs/kbn_management_settings_types.mdx +++ b/api_docs/kbn_management_settings_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-types title: "@kbn/management-settings-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-types plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-types'] --- import kbnManagementSettingsTypesObj from './kbn_management_settings_types.devdocs.json'; diff --git a/api_docs/kbn_management_settings_utilities.mdx b/api_docs/kbn_management_settings_utilities.mdx index 851ae1ee1e9b25..387cf9c5ffcd8f 100644 --- a/api_docs/kbn_management_settings_utilities.mdx +++ b/api_docs/kbn_management_settings_utilities.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-utilities title: "@kbn/management-settings-utilities" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-utilities plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-utilities'] --- import kbnManagementSettingsUtilitiesObj from './kbn_management_settings_utilities.devdocs.json'; diff --git a/api_docs/kbn_management_storybook_config.mdx b/api_docs/kbn_management_storybook_config.mdx index fa65c39a1ab623..12fe6e22f5cd11 100644 --- a/api_docs/kbn_management_storybook_config.mdx +++ b/api_docs/kbn_management_storybook_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-storybook-config title: "@kbn/management-storybook-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-storybook-config plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-storybook-config'] --- import kbnManagementStorybookConfigObj from './kbn_management_storybook_config.devdocs.json'; diff --git a/api_docs/kbn_mapbox_gl.mdx b/api_docs/kbn_mapbox_gl.mdx index 16a88d4037be00..be4bfee5d5a7ec 100644 --- a/api_docs/kbn_mapbox_gl.mdx +++ b/api_docs/kbn_mapbox_gl.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-mapbox-gl title: "@kbn/mapbox-gl" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/mapbox-gl plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/mapbox-gl'] --- import kbnMapboxGlObj from './kbn_mapbox_gl.devdocs.json'; diff --git a/api_docs/kbn_maps_vector_tile_utils.mdx b/api_docs/kbn_maps_vector_tile_utils.mdx index b31a054b18e378..4662f2103bb6b1 100644 --- a/api_docs/kbn_maps_vector_tile_utils.mdx +++ b/api_docs/kbn_maps_vector_tile_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-maps-vector-tile-utils title: "@kbn/maps-vector-tile-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/maps-vector-tile-utils plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/maps-vector-tile-utils'] --- import kbnMapsVectorTileUtilsObj from './kbn_maps_vector_tile_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_agg_utils.mdx b/api_docs/kbn_ml_agg_utils.mdx index 451164d8339bd7..5ae52c9eef87d0 100644 --- a/api_docs/kbn_ml_agg_utils.mdx +++ b/api_docs/kbn_ml_agg_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-agg-utils title: "@kbn/ml-agg-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-agg-utils plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-agg-utils'] --- import kbnMlAggUtilsObj from './kbn_ml_agg_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_anomaly_utils.mdx b/api_docs/kbn_ml_anomaly_utils.mdx index bf0a830ceb5b75..76b9d6d400011b 100644 --- a/api_docs/kbn_ml_anomaly_utils.mdx +++ b/api_docs/kbn_ml_anomaly_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-anomaly-utils title: "@kbn/ml-anomaly-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-anomaly-utils plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-anomaly-utils'] --- import kbnMlAnomalyUtilsObj from './kbn_ml_anomaly_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_category_validator.mdx b/api_docs/kbn_ml_category_validator.mdx index 51491053aeca21..9ffba6f54aa40b 100644 --- a/api_docs/kbn_ml_category_validator.mdx +++ b/api_docs/kbn_ml_category_validator.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-category-validator title: "@kbn/ml-category-validator" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-category-validator plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-category-validator'] --- import kbnMlCategoryValidatorObj from './kbn_ml_category_validator.devdocs.json'; diff --git a/api_docs/kbn_ml_data_frame_analytics_utils.mdx b/api_docs/kbn_ml_data_frame_analytics_utils.mdx index a3bd233547bed9..d3571c755cd112 100644 --- a/api_docs/kbn_ml_data_frame_analytics_utils.mdx +++ b/api_docs/kbn_ml_data_frame_analytics_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-data-frame-analytics-utils title: "@kbn/ml-data-frame-analytics-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-data-frame-analytics-utils plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-data-frame-analytics-utils'] --- import kbnMlDataFrameAnalyticsUtilsObj from './kbn_ml_data_frame_analytics_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_data_grid.mdx b/api_docs/kbn_ml_data_grid.mdx index 79463d5277c54b..3f9843c5cbc4cb 100644 --- a/api_docs/kbn_ml_data_grid.mdx +++ b/api_docs/kbn_ml_data_grid.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-data-grid title: "@kbn/ml-data-grid" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-data-grid plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-data-grid'] --- import kbnMlDataGridObj from './kbn_ml_data_grid.devdocs.json'; diff --git a/api_docs/kbn_ml_date_picker.mdx b/api_docs/kbn_ml_date_picker.mdx index 2b8a64dada7f65..eda1bef0b06eed 100644 --- a/api_docs/kbn_ml_date_picker.mdx +++ b/api_docs/kbn_ml_date_picker.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-date-picker title: "@kbn/ml-date-picker" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-date-picker plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-date-picker'] --- import kbnMlDatePickerObj from './kbn_ml_date_picker.devdocs.json'; diff --git a/api_docs/kbn_ml_date_utils.mdx b/api_docs/kbn_ml_date_utils.mdx index d98622a6151d0a..5a074ab6a23e68 100644 --- a/api_docs/kbn_ml_date_utils.mdx +++ b/api_docs/kbn_ml_date_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-date-utils title: "@kbn/ml-date-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-date-utils plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-date-utils'] --- import kbnMlDateUtilsObj from './kbn_ml_date_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_error_utils.mdx b/api_docs/kbn_ml_error_utils.mdx index 27233f6afd7995..14aa346151d442 100644 --- a/api_docs/kbn_ml_error_utils.mdx +++ b/api_docs/kbn_ml_error_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-error-utils title: "@kbn/ml-error-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-error-utils plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-error-utils'] --- import kbnMlErrorUtilsObj from './kbn_ml_error_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_in_memory_table.mdx b/api_docs/kbn_ml_in_memory_table.mdx index 8199b34b2ee8c4..a98fb39a9953c7 100644 --- a/api_docs/kbn_ml_in_memory_table.mdx +++ b/api_docs/kbn_ml_in_memory_table.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-in-memory-table title: "@kbn/ml-in-memory-table" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-in-memory-table plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-in-memory-table'] --- import kbnMlInMemoryTableObj from './kbn_ml_in_memory_table.devdocs.json'; diff --git a/api_docs/kbn_ml_is_defined.mdx b/api_docs/kbn_ml_is_defined.mdx index 0a8522db4cf258..51cc1956c906fe 100644 --- a/api_docs/kbn_ml_is_defined.mdx +++ b/api_docs/kbn_ml_is_defined.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-is-defined title: "@kbn/ml-is-defined" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-is-defined plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-is-defined'] --- import kbnMlIsDefinedObj from './kbn_ml_is_defined.devdocs.json'; diff --git a/api_docs/kbn_ml_is_populated_object.mdx b/api_docs/kbn_ml_is_populated_object.mdx index cd4488ed0fc75e..44684de2203e79 100644 --- a/api_docs/kbn_ml_is_populated_object.mdx +++ b/api_docs/kbn_ml_is_populated_object.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-is-populated-object title: "@kbn/ml-is-populated-object" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-is-populated-object plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-is-populated-object'] --- import kbnMlIsPopulatedObjectObj from './kbn_ml_is_populated_object.devdocs.json'; diff --git a/api_docs/kbn_ml_kibana_theme.mdx b/api_docs/kbn_ml_kibana_theme.mdx index 7fb218fa9df4c4..659a203b9162b1 100644 --- a/api_docs/kbn_ml_kibana_theme.mdx +++ b/api_docs/kbn_ml_kibana_theme.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-kibana-theme title: "@kbn/ml-kibana-theme" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-kibana-theme plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-kibana-theme'] --- import kbnMlKibanaThemeObj from './kbn_ml_kibana_theme.devdocs.json'; diff --git a/api_docs/kbn_ml_local_storage.mdx b/api_docs/kbn_ml_local_storage.mdx index 67696d70e4b498..7ae91815f0a5a4 100644 --- a/api_docs/kbn_ml_local_storage.mdx +++ b/api_docs/kbn_ml_local_storage.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-local-storage title: "@kbn/ml-local-storage" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-local-storage plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-local-storage'] --- import kbnMlLocalStorageObj from './kbn_ml_local_storage.devdocs.json'; diff --git a/api_docs/kbn_ml_nested_property.mdx b/api_docs/kbn_ml_nested_property.mdx index 1637bb731345e3..ec959764adbd64 100644 --- a/api_docs/kbn_ml_nested_property.mdx +++ b/api_docs/kbn_ml_nested_property.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-nested-property title: "@kbn/ml-nested-property" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-nested-property plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-nested-property'] --- import kbnMlNestedPropertyObj from './kbn_ml_nested_property.devdocs.json'; diff --git a/api_docs/kbn_ml_number_utils.mdx b/api_docs/kbn_ml_number_utils.mdx index dd2d0f0bad8ca2..05097734bfc80d 100644 --- a/api_docs/kbn_ml_number_utils.mdx +++ b/api_docs/kbn_ml_number_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-number-utils title: "@kbn/ml-number-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-number-utils plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-number-utils'] --- import kbnMlNumberUtilsObj from './kbn_ml_number_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_query_utils.mdx b/api_docs/kbn_ml_query_utils.mdx index 6da71251acdca0..fee54383d9d368 100644 --- a/api_docs/kbn_ml_query_utils.mdx +++ b/api_docs/kbn_ml_query_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-query-utils title: "@kbn/ml-query-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-query-utils plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-query-utils'] --- import kbnMlQueryUtilsObj from './kbn_ml_query_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_random_sampler_utils.mdx b/api_docs/kbn_ml_random_sampler_utils.mdx index 8ca8cf2e439290..745c775bf294a9 100644 --- a/api_docs/kbn_ml_random_sampler_utils.mdx +++ b/api_docs/kbn_ml_random_sampler_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-random-sampler-utils title: "@kbn/ml-random-sampler-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-random-sampler-utils plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-random-sampler-utils'] --- import kbnMlRandomSamplerUtilsObj from './kbn_ml_random_sampler_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_route_utils.mdx b/api_docs/kbn_ml_route_utils.mdx index 28eaafc45de5ef..7c84e790125625 100644 --- a/api_docs/kbn_ml_route_utils.mdx +++ b/api_docs/kbn_ml_route_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-route-utils title: "@kbn/ml-route-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-route-utils plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-route-utils'] --- import kbnMlRouteUtilsObj from './kbn_ml_route_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_runtime_field_utils.mdx b/api_docs/kbn_ml_runtime_field_utils.mdx index 1deb1fe30d6f81..70c376dc949218 100644 --- a/api_docs/kbn_ml_runtime_field_utils.mdx +++ b/api_docs/kbn_ml_runtime_field_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-runtime-field-utils title: "@kbn/ml-runtime-field-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-runtime-field-utils plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-runtime-field-utils'] --- import kbnMlRuntimeFieldUtilsObj from './kbn_ml_runtime_field_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_string_hash.mdx b/api_docs/kbn_ml_string_hash.mdx index 9e046eea9e4864..8c3ae1eca6fa3a 100644 --- a/api_docs/kbn_ml_string_hash.mdx +++ b/api_docs/kbn_ml_string_hash.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-string-hash title: "@kbn/ml-string-hash" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-string-hash plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-string-hash'] --- import kbnMlStringHashObj from './kbn_ml_string_hash.devdocs.json'; diff --git a/api_docs/kbn_ml_trained_models_utils.mdx b/api_docs/kbn_ml_trained_models_utils.mdx index 2d48c08a54e286..275e896313c4fc 100644 --- a/api_docs/kbn_ml_trained_models_utils.mdx +++ b/api_docs/kbn_ml_trained_models_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-trained-models-utils title: "@kbn/ml-trained-models-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-trained-models-utils plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-trained-models-utils'] --- import kbnMlTrainedModelsUtilsObj from './kbn_ml_trained_models_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_url_state.mdx b/api_docs/kbn_ml_url_state.mdx index 6b0c6049fe4123..22b01520ac9b66 100644 --- a/api_docs/kbn_ml_url_state.mdx +++ b/api_docs/kbn_ml_url_state.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-url-state title: "@kbn/ml-url-state" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-url-state plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-url-state'] --- import kbnMlUrlStateObj from './kbn_ml_url_state.devdocs.json'; diff --git a/api_docs/kbn_monaco.mdx b/api_docs/kbn_monaco.mdx index b40894f98bcfb8..abf1d5e31d8b0f 100644 --- a/api_docs/kbn_monaco.mdx +++ b/api_docs/kbn_monaco.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-monaco title: "@kbn/monaco" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/monaco plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/monaco'] --- import kbnMonacoObj from './kbn_monaco.devdocs.json'; diff --git a/api_docs/kbn_object_versioning.mdx b/api_docs/kbn_object_versioning.mdx index 06a456230ef619..48d6961b4e668b 100644 --- a/api_docs/kbn_object_versioning.mdx +++ b/api_docs/kbn_object_versioning.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-object-versioning title: "@kbn/object-versioning" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/object-versioning plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/object-versioning'] --- import kbnObjectVersioningObj from './kbn_object_versioning.devdocs.json'; diff --git a/api_docs/kbn_observability_alert_details.mdx b/api_docs/kbn_observability_alert_details.mdx index d7d30209972a6d..04100874810b06 100644 --- a/api_docs/kbn_observability_alert_details.mdx +++ b/api_docs/kbn_observability_alert_details.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-observability-alert-details title: "@kbn/observability-alert-details" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/observability-alert-details plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/observability-alert-details'] --- import kbnObservabilityAlertDetailsObj from './kbn_observability_alert_details.devdocs.json'; diff --git a/api_docs/kbn_optimizer.mdx b/api_docs/kbn_optimizer.mdx index 6dd4f10d21d9fa..b3f45e08d4e75e 100644 --- a/api_docs/kbn_optimizer.mdx +++ b/api_docs/kbn_optimizer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-optimizer title: "@kbn/optimizer" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/optimizer plugin -date: 2023-09-21 +date: 2023-09-22 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 4f97c8f4cd0cf9..7998781742b06a 100644 --- a/api_docs/kbn_optimizer_webpack_helpers.mdx +++ b/api_docs/kbn_optimizer_webpack_helpers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-optimizer-webpack-helpers title: "@kbn/optimizer-webpack-helpers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/optimizer-webpack-helpers plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/optimizer-webpack-helpers'] --- import kbnOptimizerWebpackHelpersObj from './kbn_optimizer_webpack_helpers.devdocs.json'; diff --git a/api_docs/kbn_osquery_io_ts_types.mdx b/api_docs/kbn_osquery_io_ts_types.mdx index 9080a2ae4f73ae..d8e482526346a1 100644 --- a/api_docs/kbn_osquery_io_ts_types.mdx +++ b/api_docs/kbn_osquery_io_ts_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-osquery-io-ts-types title: "@kbn/osquery-io-ts-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/osquery-io-ts-types plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/osquery-io-ts-types'] --- import kbnOsqueryIoTsTypesObj from './kbn_osquery_io_ts_types.devdocs.json'; diff --git a/api_docs/kbn_performance_testing_dataset_extractor.mdx b/api_docs/kbn_performance_testing_dataset_extractor.mdx index 476ea619fd8158..4ad3de6695aaca 100644 --- a/api_docs/kbn_performance_testing_dataset_extractor.mdx +++ b/api_docs/kbn_performance_testing_dataset_extractor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-performance-testing-dataset-extractor title: "@kbn/performance-testing-dataset-extractor" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/performance-testing-dataset-extractor plugin -date: 2023-09-21 +date: 2023-09-22 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 7e4538c379e1be..757e1baf04c89b 100644 --- a/api_docs/kbn_plugin_generator.mdx +++ b/api_docs/kbn_plugin_generator.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-plugin-generator title: "@kbn/plugin-generator" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/plugin-generator plugin -date: 2023-09-21 +date: 2023-09-22 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 6ee75d3f4671d4..a44434f1f8b8c6 100644 --- a/api_docs/kbn_plugin_helpers.mdx +++ b/api_docs/kbn_plugin_helpers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-plugin-helpers title: "@kbn/plugin-helpers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/plugin-helpers plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/plugin-helpers'] --- import kbnPluginHelpersObj from './kbn_plugin_helpers.devdocs.json'; diff --git a/api_docs/kbn_profiling_utils.mdx b/api_docs/kbn_profiling_utils.mdx index 57ac8b592246a5..bf92b0aecbe99e 100644 --- a/api_docs/kbn_profiling_utils.mdx +++ b/api_docs/kbn_profiling_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-profiling-utils title: "@kbn/profiling-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/profiling-utils plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/profiling-utils'] --- import kbnProfilingUtilsObj from './kbn_profiling_utils.devdocs.json'; diff --git a/api_docs/kbn_random_sampling.mdx b/api_docs/kbn_random_sampling.mdx index efb549c1d7828a..cff489262ab5a3 100644 --- a/api_docs/kbn_random_sampling.mdx +++ b/api_docs/kbn_random_sampling.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-random-sampling title: "@kbn/random-sampling" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/random-sampling plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/random-sampling'] --- import kbnRandomSamplingObj from './kbn_random_sampling.devdocs.json'; diff --git a/api_docs/kbn_react_field.mdx b/api_docs/kbn_react_field.mdx index 7e21c28b13dfd4..765cecd5eeae5b 100644 --- a/api_docs/kbn_react_field.mdx +++ b/api_docs/kbn_react_field.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-field title: "@kbn/react-field" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-field plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-field'] --- import kbnReactFieldObj from './kbn_react_field.devdocs.json'; diff --git a/api_docs/kbn_react_kibana_context_common.mdx b/api_docs/kbn_react_kibana_context_common.mdx index 0f538e68f78811..c40e8cffdbbb63 100644 --- a/api_docs/kbn_react_kibana_context_common.mdx +++ b/api_docs/kbn_react_kibana_context_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-kibana-context-common title: "@kbn/react-kibana-context-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-kibana-context-common plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-kibana-context-common'] --- import kbnReactKibanaContextCommonObj from './kbn_react_kibana_context_common.devdocs.json'; diff --git a/api_docs/kbn_react_kibana_context_render.mdx b/api_docs/kbn_react_kibana_context_render.mdx index 12a8a4483cb2a6..a314d2c7e8442d 100644 --- a/api_docs/kbn_react_kibana_context_render.mdx +++ b/api_docs/kbn_react_kibana_context_render.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-kibana-context-render title: "@kbn/react-kibana-context-render" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-kibana-context-render plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-kibana-context-render'] --- import kbnReactKibanaContextRenderObj from './kbn_react_kibana_context_render.devdocs.json'; diff --git a/api_docs/kbn_react_kibana_context_root.mdx b/api_docs/kbn_react_kibana_context_root.mdx index 567b4153e4d2f7..fd2da3293e4b56 100644 --- a/api_docs/kbn_react_kibana_context_root.mdx +++ b/api_docs/kbn_react_kibana_context_root.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-kibana-context-root title: "@kbn/react-kibana-context-root" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-kibana-context-root plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-kibana-context-root'] --- import kbnReactKibanaContextRootObj from './kbn_react_kibana_context_root.devdocs.json'; diff --git a/api_docs/kbn_react_kibana_context_styled.mdx b/api_docs/kbn_react_kibana_context_styled.mdx index 4629cb9e452919..edfdc760cef495 100644 --- a/api_docs/kbn_react_kibana_context_styled.mdx +++ b/api_docs/kbn_react_kibana_context_styled.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-kibana-context-styled title: "@kbn/react-kibana-context-styled" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-kibana-context-styled plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-kibana-context-styled'] --- import kbnReactKibanaContextStyledObj from './kbn_react_kibana_context_styled.devdocs.json'; diff --git a/api_docs/kbn_react_kibana_context_theme.mdx b/api_docs/kbn_react_kibana_context_theme.mdx index f0a6f159f3b7ab..d65fbc89cde63c 100644 --- a/api_docs/kbn_react_kibana_context_theme.mdx +++ b/api_docs/kbn_react_kibana_context_theme.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-kibana-context-theme title: "@kbn/react-kibana-context-theme" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-kibana-context-theme plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-kibana-context-theme'] --- import kbnReactKibanaContextThemeObj from './kbn_react_kibana_context_theme.devdocs.json'; diff --git a/api_docs/kbn_react_kibana_mount.mdx b/api_docs/kbn_react_kibana_mount.mdx index ed6a8e1981a18a..6193bce61e29f2 100644 --- a/api_docs/kbn_react_kibana_mount.mdx +++ b/api_docs/kbn_react_kibana_mount.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-kibana-mount title: "@kbn/react-kibana-mount" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-kibana-mount plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-kibana-mount'] --- import kbnReactKibanaMountObj from './kbn_react_kibana_mount.devdocs.json'; diff --git a/api_docs/kbn_repo_file_maps.mdx b/api_docs/kbn_repo_file_maps.mdx index 8b4e44933a8a55..0a303dbf9b44d4 100644 --- a/api_docs/kbn_repo_file_maps.mdx +++ b/api_docs/kbn_repo_file_maps.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-repo-file-maps title: "@kbn/repo-file-maps" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/repo-file-maps plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/repo-file-maps'] --- import kbnRepoFileMapsObj from './kbn_repo_file_maps.devdocs.json'; diff --git a/api_docs/kbn_repo_linter.mdx b/api_docs/kbn_repo_linter.mdx index ecd20af2807ef4..1733dc69615a91 100644 --- a/api_docs/kbn_repo_linter.mdx +++ b/api_docs/kbn_repo_linter.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-repo-linter title: "@kbn/repo-linter" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/repo-linter plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/repo-linter'] --- import kbnRepoLinterObj from './kbn_repo_linter.devdocs.json'; diff --git a/api_docs/kbn_repo_path.mdx b/api_docs/kbn_repo_path.mdx index f2b391bca66d28..4346f3873fbac9 100644 --- a/api_docs/kbn_repo_path.mdx +++ b/api_docs/kbn_repo_path.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-repo-path title: "@kbn/repo-path" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/repo-path plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/repo-path'] --- import kbnRepoPathObj from './kbn_repo_path.devdocs.json'; diff --git a/api_docs/kbn_repo_source_classifier.mdx b/api_docs/kbn_repo_source_classifier.mdx index 46899d23edd68c..35a3829fe910f0 100644 --- a/api_docs/kbn_repo_source_classifier.mdx +++ b/api_docs/kbn_repo_source_classifier.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-repo-source-classifier title: "@kbn/repo-source-classifier" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/repo-source-classifier plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/repo-source-classifier'] --- import kbnRepoSourceClassifierObj from './kbn_repo_source_classifier.devdocs.json'; diff --git a/api_docs/kbn_reporting_common.mdx b/api_docs/kbn_reporting_common.mdx index 588fd1163811b2..1bf417f743a241 100644 --- a/api_docs/kbn_reporting_common.mdx +++ b/api_docs/kbn_reporting_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-reporting-common title: "@kbn/reporting-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/reporting-common plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/reporting-common'] --- import kbnReportingCommonObj from './kbn_reporting_common.devdocs.json'; diff --git a/api_docs/kbn_rison.mdx b/api_docs/kbn_rison.mdx index d4dacc5e71fcd5..cd73f8efc1f9b1 100644 --- a/api_docs/kbn_rison.mdx +++ b/api_docs/kbn_rison.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-rison title: "@kbn/rison" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/rison plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/rison'] --- import kbnRisonObj from './kbn_rison.devdocs.json'; diff --git a/api_docs/kbn_rrule.mdx b/api_docs/kbn_rrule.mdx index 746db6f3cd0151..cc89ce7784dc52 100644 --- a/api_docs/kbn_rrule.mdx +++ b/api_docs/kbn_rrule.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-rrule title: "@kbn/rrule" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/rrule plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/rrule'] --- import kbnRruleObj from './kbn_rrule.devdocs.json'; diff --git a/api_docs/kbn_rule_data_utils.devdocs.json b/api_docs/kbn_rule_data_utils.devdocs.json index e94f20267f8178..ade3b78ed3eaad 100644 --- a/api_docs/kbn_rule_data_utils.devdocs.json +++ b/api_docs/kbn_rule_data_utils.devdocs.json @@ -1423,6 +1423,21 @@ "trackAdoption": false, "initialIsOpen": false }, + { + "parentPluginId": "@kbn/rule-data-utils", + "id": "def-common.ES_QUERY_ID", + "type": "string", + "tags": [], + "label": "ES_QUERY_ID", + "description": [], + "signature": [ + "\".es-query\"" + ], + "path": "packages/kbn-rule-data-utils/src/rule_types/stack_rules.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, { "parentPluginId": "@kbn/rule-data-utils", "id": "def-common.EVENT_ACTION", @@ -1498,6 +1513,21 @@ "trackAdoption": false, "initialIsOpen": false }, + { + "parentPluginId": "@kbn/rule-data-utils", + "id": "def-common.OBSERVABILITY_THRESHOLD_RULE_TYPE_ID", + "type": "string", + "tags": [], + "label": "OBSERVABILITY_THRESHOLD_RULE_TYPE_ID", + "description": [], + "signature": [ + "\"observability.rules.custom_threshold\"" + ], + "path": "packages/kbn-rule-data-utils/src/rule_types/o11y_rules.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, { "parentPluginId": "@kbn/rule-data-utils", "id": "def-common.ruleDetailsRoute", @@ -1528,6 +1558,21 @@ "trackAdoption": false, "initialIsOpen": false }, + { + "parentPluginId": "@kbn/rule-data-utils", + "id": "def-common.STACK_ALERTS_FEATURE_ID", + "type": "string", + "tags": [], + "label": "STACK_ALERTS_FEATURE_ID", + "description": [], + "signature": [ + "\"stackAlerts\"" + ], + "path": "packages/kbn-rule-data-utils/src/rule_types/stack_rules.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, { "parentPluginId": "@kbn/rule-data-utils", "id": "def-common.STATUS_VALUES", diff --git a/api_docs/kbn_rule_data_utils.mdx b/api_docs/kbn_rule_data_utils.mdx index e922af36c94950..97f5c212f037c3 100644 --- a/api_docs/kbn_rule_data_utils.mdx +++ b/api_docs/kbn_rule_data_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-rule-data-utils title: "@kbn/rule-data-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/rule-data-utils plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/rule-data-utils'] --- import kbnRuleDataUtilsObj from './kbn_rule_data_utils.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/security-detections-response](https://github.com/orgs/elastic/ | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 107 | 0 | 104 | 0 | +| 110 | 0 | 107 | 0 | ## Common diff --git a/api_docs/kbn_saved_objects_settings.mdx b/api_docs/kbn_saved_objects_settings.mdx index 1f4f84be69f1c8..5e3ebaab8db10c 100644 --- a/api_docs/kbn_saved_objects_settings.mdx +++ b/api_docs/kbn_saved_objects_settings.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-saved-objects-settings title: "@kbn/saved-objects-settings" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/saved-objects-settings plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/saved-objects-settings'] --- import kbnSavedObjectsSettingsObj from './kbn_saved_objects_settings.devdocs.json'; diff --git a/api_docs/kbn_search_api_panels.mdx b/api_docs/kbn_search_api_panels.mdx index 5ec676d6e0e34c..2f2eefbba4aa37 100644 --- a/api_docs/kbn_search_api_panels.mdx +++ b/api_docs/kbn_search_api_panels.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-search-api-panels title: "@kbn/search-api-panels" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/search-api-panels plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/search-api-panels'] --- import kbnSearchApiPanelsObj from './kbn_search_api_panels.devdocs.json'; diff --git a/api_docs/kbn_search_connectors.mdx b/api_docs/kbn_search_connectors.mdx index f3bacf70c7e70e..f70f3082fe070f 100644 --- a/api_docs/kbn_search_connectors.mdx +++ b/api_docs/kbn_search_connectors.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-search-connectors title: "@kbn/search-connectors" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/search-connectors plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/search-connectors'] --- import kbnSearchConnectorsObj from './kbn_search_connectors.devdocs.json'; diff --git a/api_docs/kbn_search_response_warnings.mdx b/api_docs/kbn_search_response_warnings.mdx index a4b05b73ed3cc0..93883850f5552e 100644 --- a/api_docs/kbn_search_response_warnings.mdx +++ b/api_docs/kbn_search_response_warnings.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-search-response-warnings title: "@kbn/search-response-warnings" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/search-response-warnings plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/search-response-warnings'] --- import kbnSearchResponseWarningsObj from './kbn_search_response_warnings.devdocs.json'; diff --git a/api_docs/kbn_security_solution_features.mdx b/api_docs/kbn_security_solution_features.mdx index 320445b6eb5841..9962a59d32bde0 100644 --- a/api_docs/kbn_security_solution_features.mdx +++ b/api_docs/kbn_security_solution_features.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-security-solution-features title: "@kbn/security-solution-features" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/security-solution-features plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/security-solution-features'] --- import kbnSecuritySolutionFeaturesObj from './kbn_security_solution_features.devdocs.json'; diff --git a/api_docs/kbn_security_solution_navigation.mdx b/api_docs/kbn_security_solution_navigation.mdx index 59d743d13f6f54..429303a2dbaa2a 100644 --- a/api_docs/kbn_security_solution_navigation.mdx +++ b/api_docs/kbn_security_solution_navigation.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-security-solution-navigation title: "@kbn/security-solution-navigation" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/security-solution-navigation plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/security-solution-navigation'] --- import kbnSecuritySolutionNavigationObj from './kbn_security_solution_navigation.devdocs.json'; diff --git a/api_docs/kbn_security_solution_side_nav.mdx b/api_docs/kbn_security_solution_side_nav.mdx index 5e21c7adb548bc..a1f520a2cf2000 100644 --- a/api_docs/kbn_security_solution_side_nav.mdx +++ b/api_docs/kbn_security_solution_side_nav.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-security-solution-side-nav title: "@kbn/security-solution-side-nav" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/security-solution-side-nav plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/security-solution-side-nav'] --- import kbnSecuritySolutionSideNavObj from './kbn_security_solution_side_nav.devdocs.json'; diff --git a/api_docs/kbn_security_solution_storybook_config.mdx b/api_docs/kbn_security_solution_storybook_config.mdx index bc8763c6cd5b03..238685b0576c2b 100644 --- a/api_docs/kbn_security_solution_storybook_config.mdx +++ b/api_docs/kbn_security_solution_storybook_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-security-solution-storybook-config title: "@kbn/security-solution-storybook-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/security-solution-storybook-config plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/security-solution-storybook-config'] --- import kbnSecuritySolutionStorybookConfigObj from './kbn_security_solution_storybook_config.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_autocomplete.mdx b/api_docs/kbn_securitysolution_autocomplete.mdx index 385427048c6042..ab9cd5e8f545b9 100644 --- a/api_docs/kbn_securitysolution_autocomplete.mdx +++ b/api_docs/kbn_securitysolution_autocomplete.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-autocomplete title: "@kbn/securitysolution-autocomplete" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-autocomplete plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-autocomplete'] --- import kbnSecuritysolutionAutocompleteObj from './kbn_securitysolution_autocomplete.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_data_table.mdx b/api_docs/kbn_securitysolution_data_table.mdx index 161cf513064ece..190937970a1467 100644 --- a/api_docs/kbn_securitysolution_data_table.mdx +++ b/api_docs/kbn_securitysolution_data_table.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-data-table title: "@kbn/securitysolution-data-table" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-data-table plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-data-table'] --- import kbnSecuritysolutionDataTableObj from './kbn_securitysolution_data_table.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_ecs.mdx b/api_docs/kbn_securitysolution_ecs.mdx index 9ad3744478ca9d..7873a9b26d5ed9 100644 --- a/api_docs/kbn_securitysolution_ecs.mdx +++ b/api_docs/kbn_securitysolution_ecs.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-ecs title: "@kbn/securitysolution-ecs" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-ecs plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-ecs'] --- import kbnSecuritysolutionEcsObj from './kbn_securitysolution_ecs.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_es_utils.mdx b/api_docs/kbn_securitysolution_es_utils.mdx index ce999d143a9901..226811b00af95b 100644 --- a/api_docs/kbn_securitysolution_es_utils.mdx +++ b/api_docs/kbn_securitysolution_es_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-es-utils title: "@kbn/securitysolution-es-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-es-utils plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-es-utils'] --- import kbnSecuritysolutionEsUtilsObj from './kbn_securitysolution_es_utils.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_exception_list_components.mdx b/api_docs/kbn_securitysolution_exception_list_components.mdx index 32dffaa7c501e1..c665f01fc52b00 100644 --- a/api_docs/kbn_securitysolution_exception_list_components.mdx +++ b/api_docs/kbn_securitysolution_exception_list_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-exception-list-components title: "@kbn/securitysolution-exception-list-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-exception-list-components plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-exception-list-components'] --- import kbnSecuritysolutionExceptionListComponentsObj from './kbn_securitysolution_exception_list_components.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_grouping.mdx b/api_docs/kbn_securitysolution_grouping.mdx index 64eb50731e5f6e..fcfd043fdbf8ed 100644 --- a/api_docs/kbn_securitysolution_grouping.mdx +++ b/api_docs/kbn_securitysolution_grouping.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-grouping title: "@kbn/securitysolution-grouping" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-grouping plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-grouping'] --- import kbnSecuritysolutionGroupingObj from './kbn_securitysolution_grouping.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_hook_utils.mdx b/api_docs/kbn_securitysolution_hook_utils.mdx index d5c353884be49b..115b172663775e 100644 --- a/api_docs/kbn_securitysolution_hook_utils.mdx +++ b/api_docs/kbn_securitysolution_hook_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-hook-utils title: "@kbn/securitysolution-hook-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-hook-utils plugin -date: 2023-09-21 +date: 2023-09-22 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 809d66fcf0ce18..f164108bf4e56c 100644 --- a/api_docs/kbn_securitysolution_io_ts_alerting_types.mdx +++ b/api_docs/kbn_securitysolution_io_ts_alerting_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-io-ts-alerting-types title: "@kbn/securitysolution-io-ts-alerting-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-io-ts-alerting-types plugin -date: 2023-09-21 +date: 2023-09-22 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 16a083a8dcaeca..5154bc6c0a9c2d 100644 --- a/api_docs/kbn_securitysolution_io_ts_list_types.mdx +++ b/api_docs/kbn_securitysolution_io_ts_list_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-io-ts-list-types title: "@kbn/securitysolution-io-ts-list-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-io-ts-list-types plugin -date: 2023-09-21 +date: 2023-09-22 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 cb2ce46d0a79cc..80fcfff182c3fc 100644 --- a/api_docs/kbn_securitysolution_io_ts_types.mdx +++ b/api_docs/kbn_securitysolution_io_ts_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-io-ts-types title: "@kbn/securitysolution-io-ts-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-io-ts-types plugin -date: 2023-09-21 +date: 2023-09-22 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 6e5f0b52df3ed0..a9bd84fa8d245f 100644 --- a/api_docs/kbn_securitysolution_io_ts_utils.mdx +++ b/api_docs/kbn_securitysolution_io_ts_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-io-ts-utils title: "@kbn/securitysolution-io-ts-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-io-ts-utils plugin -date: 2023-09-21 +date: 2023-09-22 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 6b5109d5dda275..3fa5596c01b053 100644 --- a/api_docs/kbn_securitysolution_list_api.mdx +++ b/api_docs/kbn_securitysolution_list_api.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-list-api title: "@kbn/securitysolution-list-api" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-list-api plugin -date: 2023-09-21 +date: 2023-09-22 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 0cf501e8c64e4c..d7fd921b3c4fe5 100644 --- a/api_docs/kbn_securitysolution_list_constants.mdx +++ b/api_docs/kbn_securitysolution_list_constants.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-list-constants title: "@kbn/securitysolution-list-constants" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-list-constants plugin -date: 2023-09-21 +date: 2023-09-22 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 c04457696052ce..d9f7a85cc83cbb 100644 --- a/api_docs/kbn_securitysolution_list_hooks.mdx +++ b/api_docs/kbn_securitysolution_list_hooks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-list-hooks title: "@kbn/securitysolution-list-hooks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-list-hooks plugin -date: 2023-09-21 +date: 2023-09-22 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 b263459bda9c7d..23fb37321d656e 100644 --- a/api_docs/kbn_securitysolution_list_utils.mdx +++ b/api_docs/kbn_securitysolution_list_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-list-utils title: "@kbn/securitysolution-list-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-list-utils plugin -date: 2023-09-21 +date: 2023-09-22 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 aafa96c6b8b08e..5f0608796216e1 100644 --- a/api_docs/kbn_securitysolution_rules.mdx +++ b/api_docs/kbn_securitysolution_rules.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-rules title: "@kbn/securitysolution-rules" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-rules plugin -date: 2023-09-21 +date: 2023-09-22 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 01cb9df8560ba1..7a7003ebd0aaec 100644 --- a/api_docs/kbn_securitysolution_t_grid.mdx +++ b/api_docs/kbn_securitysolution_t_grid.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-t-grid title: "@kbn/securitysolution-t-grid" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-t-grid plugin -date: 2023-09-21 +date: 2023-09-22 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 642ee9e5049b5d..e48161f7044b4e 100644 --- a/api_docs/kbn_securitysolution_utils.mdx +++ b/api_docs/kbn_securitysolution_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-utils title: "@kbn/securitysolution-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-utils plugin -date: 2023-09-21 +date: 2023-09-22 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 cb9b8368e7fbe9..b05a004d1c35f6 100644 --- a/api_docs/kbn_server_http_tools.mdx +++ b/api_docs/kbn_server_http_tools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-server-http-tools title: "@kbn/server-http-tools" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/server-http-tools plugin -date: 2023-09-21 +date: 2023-09-22 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 fce6de22dccae7..6e69c2d555d8bc 100644 --- a/api_docs/kbn_server_route_repository.mdx +++ b/api_docs/kbn_server_route_repository.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-server-route-repository title: "@kbn/server-route-repository" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/server-route-repository plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/server-route-repository'] --- import kbnServerRouteRepositoryObj from './kbn_server_route_repository.devdocs.json'; diff --git a/api_docs/kbn_serverless_common_settings.mdx b/api_docs/kbn_serverless_common_settings.mdx index 6d4ddc26935e21..6ce0bf1ab77587 100644 --- a/api_docs/kbn_serverless_common_settings.mdx +++ b/api_docs/kbn_serverless_common_settings.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-serverless-common-settings title: "@kbn/serverless-common-settings" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/serverless-common-settings plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/serverless-common-settings'] --- import kbnServerlessCommonSettingsObj from './kbn_serverless_common_settings.devdocs.json'; diff --git a/api_docs/kbn_serverless_observability_settings.mdx b/api_docs/kbn_serverless_observability_settings.mdx index 7628d3a9943f45..404dbdd3863b7e 100644 --- a/api_docs/kbn_serverless_observability_settings.mdx +++ b/api_docs/kbn_serverless_observability_settings.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-serverless-observability-settings title: "@kbn/serverless-observability-settings" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/serverless-observability-settings plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/serverless-observability-settings'] --- import kbnServerlessObservabilitySettingsObj from './kbn_serverless_observability_settings.devdocs.json'; diff --git a/api_docs/kbn_serverless_project_switcher.mdx b/api_docs/kbn_serverless_project_switcher.mdx index 13960b4c4fe5ff..553f0d97f15a6d 100644 --- a/api_docs/kbn_serverless_project_switcher.mdx +++ b/api_docs/kbn_serverless_project_switcher.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-serverless-project-switcher title: "@kbn/serverless-project-switcher" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/serverless-project-switcher plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/serverless-project-switcher'] --- import kbnServerlessProjectSwitcherObj from './kbn_serverless_project_switcher.devdocs.json'; diff --git a/api_docs/kbn_serverless_search_settings.mdx b/api_docs/kbn_serverless_search_settings.mdx index d3aeb49e79cbc6..f57e110e2b69f0 100644 --- a/api_docs/kbn_serverless_search_settings.mdx +++ b/api_docs/kbn_serverless_search_settings.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-serverless-search-settings title: "@kbn/serverless-search-settings" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/serverless-search-settings plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/serverless-search-settings'] --- import kbnServerlessSearchSettingsObj from './kbn_serverless_search_settings.devdocs.json'; diff --git a/api_docs/kbn_serverless_security_settings.mdx b/api_docs/kbn_serverless_security_settings.mdx index 6396bfa0e92c34..86cf1e917c7649 100644 --- a/api_docs/kbn_serverless_security_settings.mdx +++ b/api_docs/kbn_serverless_security_settings.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-serverless-security-settings title: "@kbn/serverless-security-settings" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/serverless-security-settings plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/serverless-security-settings'] --- import kbnServerlessSecuritySettingsObj from './kbn_serverless_security_settings.devdocs.json'; diff --git a/api_docs/kbn_serverless_storybook_config.mdx b/api_docs/kbn_serverless_storybook_config.mdx index b3883548ccbd2b..4d4e828b80c0ae 100644 --- a/api_docs/kbn_serverless_storybook_config.mdx +++ b/api_docs/kbn_serverless_storybook_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-serverless-storybook-config title: "@kbn/serverless-storybook-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/serverless-storybook-config plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/serverless-storybook-config'] --- import kbnServerlessStorybookConfigObj from './kbn_serverless_storybook_config.devdocs.json'; diff --git a/api_docs/kbn_shared_svg.mdx b/api_docs/kbn_shared_svg.mdx index eab2f3de798aba..022198a65a2e02 100644 --- a/api_docs/kbn_shared_svg.mdx +++ b/api_docs/kbn_shared_svg.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-svg title: "@kbn/shared-svg" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-svg plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-svg'] --- import kbnSharedSvgObj from './kbn_shared_svg.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_avatar_solution.mdx b/api_docs/kbn_shared_ux_avatar_solution.mdx index 771e5888ce2f39..b7ddf83dbb839c 100644 --- a/api_docs/kbn_shared_ux_avatar_solution.mdx +++ b/api_docs/kbn_shared_ux_avatar_solution.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-avatar-solution title: "@kbn/shared-ux-avatar-solution" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-avatar-solution plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-avatar-solution'] --- import kbnSharedUxAvatarSolutionObj from './kbn_shared_ux_avatar_solution.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_avatar_user_profile_components.mdx b/api_docs/kbn_shared_ux_avatar_user_profile_components.mdx index 3273faa46daa32..354d675a83a92d 100644 --- a/api_docs/kbn_shared_ux_avatar_user_profile_components.mdx +++ b/api_docs/kbn_shared_ux_avatar_user_profile_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-avatar-user-profile-components title: "@kbn/shared-ux-avatar-user-profile-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-avatar-user-profile-components plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-avatar-user-profile-components'] --- import kbnSharedUxAvatarUserProfileComponentsObj from './kbn_shared_ux_avatar_user_profile_components.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_button_exit_full_screen.mdx b/api_docs/kbn_shared_ux_button_exit_full_screen.mdx index 3f508f6e1d4092..d602c01c8f1623 100644 --- a/api_docs/kbn_shared_ux_button_exit_full_screen.mdx +++ b/api_docs/kbn_shared_ux_button_exit_full_screen.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-button-exit-full-screen title: "@kbn/shared-ux-button-exit-full-screen" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-button-exit-full-screen plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-button-exit-full-screen'] --- import kbnSharedUxButtonExitFullScreenObj from './kbn_shared_ux_button_exit_full_screen.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_button_exit_full_screen_mocks.mdx b/api_docs/kbn_shared_ux_button_exit_full_screen_mocks.mdx index d1f2a017ea6749..2368b612381a4b 100644 --- a/api_docs/kbn_shared_ux_button_exit_full_screen_mocks.mdx +++ b/api_docs/kbn_shared_ux_button_exit_full_screen_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-button-exit-full-screen-mocks title: "@kbn/shared-ux-button-exit-full-screen-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-button-exit-full-screen-mocks plugin -date: 2023-09-21 +date: 2023-09-22 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 80b4b93236fe0a..7ea05e0cef5f7f 100644 --- a/api_docs/kbn_shared_ux_button_toolbar.mdx +++ b/api_docs/kbn_shared_ux_button_toolbar.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-button-toolbar title: "@kbn/shared-ux-button-toolbar" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-button-toolbar plugin -date: 2023-09-21 +date: 2023-09-22 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 5d006ce596e102..88783b2cd0e6b3 100644 --- a/api_docs/kbn_shared_ux_card_no_data.mdx +++ b/api_docs/kbn_shared_ux_card_no_data.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-card-no-data title: "@kbn/shared-ux-card-no-data" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-card-no-data plugin -date: 2023-09-21 +date: 2023-09-22 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 a63817086c0060..4268549742f4e5 100644 --- a/api_docs/kbn_shared_ux_card_no_data_mocks.mdx +++ b/api_docs/kbn_shared_ux_card_no_data_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-card-no-data-mocks title: "@kbn/shared-ux-card-no-data-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-card-no-data-mocks plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-card-no-data-mocks'] --- import kbnSharedUxCardNoDataMocksObj from './kbn_shared_ux_card_no_data_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_chrome_navigation.mdx b/api_docs/kbn_shared_ux_chrome_navigation.mdx index 67b20a5253fd31..1a862faa8a3a92 100644 --- a/api_docs/kbn_shared_ux_chrome_navigation.mdx +++ b/api_docs/kbn_shared_ux_chrome_navigation.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-chrome-navigation title: "@kbn/shared-ux-chrome-navigation" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-chrome-navigation plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-chrome-navigation'] --- import kbnSharedUxChromeNavigationObj from './kbn_shared_ux_chrome_navigation.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_context.mdx b/api_docs/kbn_shared_ux_file_context.mdx index 7e61244c460701..7a06306bd17603 100644 --- a/api_docs/kbn_shared_ux_file_context.mdx +++ b/api_docs/kbn_shared_ux_file_context.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-context title: "@kbn/shared-ux-file-context" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-context plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-context'] --- import kbnSharedUxFileContextObj from './kbn_shared_ux_file_context.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_image.mdx b/api_docs/kbn_shared_ux_file_image.mdx index 6430b27b37519a..0338dac4773f8f 100644 --- a/api_docs/kbn_shared_ux_file_image.mdx +++ b/api_docs/kbn_shared_ux_file_image.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-image title: "@kbn/shared-ux-file-image" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-image plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-image'] --- import kbnSharedUxFileImageObj from './kbn_shared_ux_file_image.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_image_mocks.mdx b/api_docs/kbn_shared_ux_file_image_mocks.mdx index e2a620a2bc2ce6..f3744f3dc0c49e 100644 --- a/api_docs/kbn_shared_ux_file_image_mocks.mdx +++ b/api_docs/kbn_shared_ux_file_image_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-image-mocks title: "@kbn/shared-ux-file-image-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-image-mocks plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-image-mocks'] --- import kbnSharedUxFileImageMocksObj from './kbn_shared_ux_file_image_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_mocks.mdx b/api_docs/kbn_shared_ux_file_mocks.mdx index 607c20e00fa4dd..d7e09b4bf6e3fb 100644 --- a/api_docs/kbn_shared_ux_file_mocks.mdx +++ b/api_docs/kbn_shared_ux_file_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-mocks title: "@kbn/shared-ux-file-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-mocks plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-mocks'] --- import kbnSharedUxFileMocksObj from './kbn_shared_ux_file_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_picker.mdx b/api_docs/kbn_shared_ux_file_picker.mdx index d61b6b9f89c6ae..d11dbac11a3069 100644 --- a/api_docs/kbn_shared_ux_file_picker.mdx +++ b/api_docs/kbn_shared_ux_file_picker.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-picker title: "@kbn/shared-ux-file-picker" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-picker plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-picker'] --- import kbnSharedUxFilePickerObj from './kbn_shared_ux_file_picker.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_types.mdx b/api_docs/kbn_shared_ux_file_types.mdx index 4bee26ebb68e94..f16fcb97a9f228 100644 --- a/api_docs/kbn_shared_ux_file_types.mdx +++ b/api_docs/kbn_shared_ux_file_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-types title: "@kbn/shared-ux-file-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-types plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-types'] --- import kbnSharedUxFileTypesObj from './kbn_shared_ux_file_types.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_upload.mdx b/api_docs/kbn_shared_ux_file_upload.mdx index 2b195ca4faa881..f8748a0109fb60 100644 --- a/api_docs/kbn_shared_ux_file_upload.mdx +++ b/api_docs/kbn_shared_ux_file_upload.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-upload title: "@kbn/shared-ux-file-upload" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-upload plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-upload'] --- import kbnSharedUxFileUploadObj from './kbn_shared_ux_file_upload.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_util.mdx b/api_docs/kbn_shared_ux_file_util.mdx index 23581809543d95..8c088720249f0b 100644 --- a/api_docs/kbn_shared_ux_file_util.mdx +++ b/api_docs/kbn_shared_ux_file_util.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-util title: "@kbn/shared-ux-file-util" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-util plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-util'] --- import kbnSharedUxFileUtilObj from './kbn_shared_ux_file_util.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_link_redirect_app.mdx b/api_docs/kbn_shared_ux_link_redirect_app.mdx index f37d7cf2f763dc..42e7a3e74cdfe3 100644 --- a/api_docs/kbn_shared_ux_link_redirect_app.mdx +++ b/api_docs/kbn_shared_ux_link_redirect_app.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-link-redirect-app title: "@kbn/shared-ux-link-redirect-app" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-link-redirect-app plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-link-redirect-app'] --- import kbnSharedUxLinkRedirectAppObj from './kbn_shared_ux_link_redirect_app.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_link_redirect_app_mocks.mdx b/api_docs/kbn_shared_ux_link_redirect_app_mocks.mdx index 4669fbfc93b5c8..af53361ad21571 100644 --- a/api_docs/kbn_shared_ux_link_redirect_app_mocks.mdx +++ b/api_docs/kbn_shared_ux_link_redirect_app_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-link-redirect-app-mocks title: "@kbn/shared-ux-link-redirect-app-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-link-redirect-app-mocks plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-link-redirect-app-mocks'] --- import kbnSharedUxLinkRedirectAppMocksObj from './kbn_shared_ux_link_redirect_app_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_markdown.mdx b/api_docs/kbn_shared_ux_markdown.mdx index 46c1e18698671c..a4acd49c9d55e0 100644 --- a/api_docs/kbn_shared_ux_markdown.mdx +++ b/api_docs/kbn_shared_ux_markdown.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-markdown title: "@kbn/shared-ux-markdown" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-markdown plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-markdown'] --- import kbnSharedUxMarkdownObj from './kbn_shared_ux_markdown.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_markdown_mocks.mdx b/api_docs/kbn_shared_ux_markdown_mocks.mdx index fa9a85303f4ea5..0192bed2e10c2e 100644 --- a/api_docs/kbn_shared_ux_markdown_mocks.mdx +++ b/api_docs/kbn_shared_ux_markdown_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-markdown-mocks title: "@kbn/shared-ux-markdown-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-markdown-mocks plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-markdown-mocks'] --- import kbnSharedUxMarkdownMocksObj from './kbn_shared_ux_markdown_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_analytics_no_data.mdx b/api_docs/kbn_shared_ux_page_analytics_no_data.mdx index 347681ff89d0a9..3d3ee8afe7d590 100644 --- a/api_docs/kbn_shared_ux_page_analytics_no_data.mdx +++ b/api_docs/kbn_shared_ux_page_analytics_no_data.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-analytics-no-data title: "@kbn/shared-ux-page-analytics-no-data" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-analytics-no-data plugin -date: 2023-09-21 +date: 2023-09-22 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 bee3ced9587833..34cf51d4ba439b 100644 --- a/api_docs/kbn_shared_ux_page_analytics_no_data_mocks.mdx +++ b/api_docs/kbn_shared_ux_page_analytics_no_data_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-analytics-no-data-mocks title: "@kbn/shared-ux-page-analytics-no-data-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-analytics-no-data-mocks plugin -date: 2023-09-21 +date: 2023-09-22 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 c9ba826f4d73bd..3193d631cdb948 100644 --- a/api_docs/kbn_shared_ux_page_kibana_no_data.mdx +++ b/api_docs/kbn_shared_ux_page_kibana_no_data.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-kibana-no-data title: "@kbn/shared-ux-page-kibana-no-data" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-kibana-no-data plugin -date: 2023-09-21 +date: 2023-09-22 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 1e439c4f80c574..ebf8d3ff50ef49 100644 --- a/api_docs/kbn_shared_ux_page_kibana_no_data_mocks.mdx +++ b/api_docs/kbn_shared_ux_page_kibana_no_data_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-kibana-no-data-mocks title: "@kbn/shared-ux-page-kibana-no-data-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-kibana-no-data-mocks plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-kibana-no-data-mocks'] --- import kbnSharedUxPageKibanaNoDataMocksObj from './kbn_shared_ux_page_kibana_no_data_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_kibana_template.mdx b/api_docs/kbn_shared_ux_page_kibana_template.mdx index b0d941f8bb347c..6e95914a80bb50 100644 --- a/api_docs/kbn_shared_ux_page_kibana_template.mdx +++ b/api_docs/kbn_shared_ux_page_kibana_template.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-kibana-template title: "@kbn/shared-ux-page-kibana-template" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-kibana-template plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-kibana-template'] --- import kbnSharedUxPageKibanaTemplateObj from './kbn_shared_ux_page_kibana_template.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_kibana_template_mocks.mdx b/api_docs/kbn_shared_ux_page_kibana_template_mocks.mdx index 70a8d9928615f8..eb22647bfd33f0 100644 --- a/api_docs/kbn_shared_ux_page_kibana_template_mocks.mdx +++ b/api_docs/kbn_shared_ux_page_kibana_template_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-kibana-template-mocks title: "@kbn/shared-ux-page-kibana-template-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-kibana-template-mocks plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-kibana-template-mocks'] --- import kbnSharedUxPageKibanaTemplateMocksObj from './kbn_shared_ux_page_kibana_template_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_no_data.mdx b/api_docs/kbn_shared_ux_page_no_data.mdx index d57b253320c104..9d4431cb54950b 100644 --- a/api_docs/kbn_shared_ux_page_no_data.mdx +++ b/api_docs/kbn_shared_ux_page_no_data.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-no-data title: "@kbn/shared-ux-page-no-data" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-no-data plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-no-data'] --- import kbnSharedUxPageNoDataObj from './kbn_shared_ux_page_no_data.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_no_data_config.mdx b/api_docs/kbn_shared_ux_page_no_data_config.mdx index e0b5c0b4aceb6a..fe61f2a770835d 100644 --- a/api_docs/kbn_shared_ux_page_no_data_config.mdx +++ b/api_docs/kbn_shared_ux_page_no_data_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-no-data-config title: "@kbn/shared-ux-page-no-data-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-no-data-config plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-no-data-config'] --- import kbnSharedUxPageNoDataConfigObj from './kbn_shared_ux_page_no_data_config.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_no_data_config_mocks.mdx b/api_docs/kbn_shared_ux_page_no_data_config_mocks.mdx index aab4d7b6408b61..d902cd6264abdf 100644 --- a/api_docs/kbn_shared_ux_page_no_data_config_mocks.mdx +++ b/api_docs/kbn_shared_ux_page_no_data_config_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-no-data-config-mocks title: "@kbn/shared-ux-page-no-data-config-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-no-data-config-mocks plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-no-data-config-mocks'] --- import kbnSharedUxPageNoDataConfigMocksObj from './kbn_shared_ux_page_no_data_config_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_no_data_mocks.mdx b/api_docs/kbn_shared_ux_page_no_data_mocks.mdx index a94e03c0c5b0ac..5f309d581406a3 100644 --- a/api_docs/kbn_shared_ux_page_no_data_mocks.mdx +++ b/api_docs/kbn_shared_ux_page_no_data_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-no-data-mocks title: "@kbn/shared-ux-page-no-data-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-no-data-mocks plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-no-data-mocks'] --- import kbnSharedUxPageNoDataMocksObj from './kbn_shared_ux_page_no_data_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_solution_nav.mdx b/api_docs/kbn_shared_ux_page_solution_nav.mdx index 6df2a945d3358c..034dd12d6f70cb 100644 --- a/api_docs/kbn_shared_ux_page_solution_nav.mdx +++ b/api_docs/kbn_shared_ux_page_solution_nav.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-solution-nav title: "@kbn/shared-ux-page-solution-nav" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-solution-nav plugin -date: 2023-09-21 +date: 2023-09-22 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 dcd6a6ed059101..95d975ae93b840 100644 --- a/api_docs/kbn_shared_ux_prompt_no_data_views.mdx +++ b/api_docs/kbn_shared_ux_prompt_no_data_views.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-prompt-no-data-views title: "@kbn/shared-ux-prompt-no-data-views" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-prompt-no-data-views plugin -date: 2023-09-21 +date: 2023-09-22 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 80c3e653931661..617372f0b14543 100644 --- a/api_docs/kbn_shared_ux_prompt_no_data_views_mocks.mdx +++ b/api_docs/kbn_shared_ux_prompt_no_data_views_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-prompt-no-data-views-mocks title: "@kbn/shared-ux-prompt-no-data-views-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-prompt-no-data-views-mocks plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-prompt-no-data-views-mocks'] --- import kbnSharedUxPromptNoDataViewsMocksObj from './kbn_shared_ux_prompt_no_data_views_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_prompt_not_found.mdx b/api_docs/kbn_shared_ux_prompt_not_found.mdx index b647aff96ee457..d8d13a09d4cfd7 100644 --- a/api_docs/kbn_shared_ux_prompt_not_found.mdx +++ b/api_docs/kbn_shared_ux_prompt_not_found.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-prompt-not-found title: "@kbn/shared-ux-prompt-not-found" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-prompt-not-found plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-prompt-not-found'] --- import kbnSharedUxPromptNotFoundObj from './kbn_shared_ux_prompt_not_found.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_router.mdx b/api_docs/kbn_shared_ux_router.mdx index 890cf8ffb6eaa8..ded92885807bb3 100644 --- a/api_docs/kbn_shared_ux_router.mdx +++ b/api_docs/kbn_shared_ux_router.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-router title: "@kbn/shared-ux-router" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-router plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-router'] --- import kbnSharedUxRouterObj from './kbn_shared_ux_router.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_router_mocks.mdx b/api_docs/kbn_shared_ux_router_mocks.mdx index 7f2b66bc34fdbd..2e4e41d5ed3be4 100644 --- a/api_docs/kbn_shared_ux_router_mocks.mdx +++ b/api_docs/kbn_shared_ux_router_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-router-mocks title: "@kbn/shared-ux-router-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-router-mocks plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-router-mocks'] --- import kbnSharedUxRouterMocksObj from './kbn_shared_ux_router_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_storybook_config.mdx b/api_docs/kbn_shared_ux_storybook_config.mdx index 4d3ff6f01dc8d9..e058032ce40145 100644 --- a/api_docs/kbn_shared_ux_storybook_config.mdx +++ b/api_docs/kbn_shared_ux_storybook_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-storybook-config title: "@kbn/shared-ux-storybook-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-storybook-config plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-storybook-config'] --- import kbnSharedUxStorybookConfigObj from './kbn_shared_ux_storybook_config.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_storybook_mock.mdx b/api_docs/kbn_shared_ux_storybook_mock.mdx index 7a29b625909766..379a8153eedb49 100644 --- a/api_docs/kbn_shared_ux_storybook_mock.mdx +++ b/api_docs/kbn_shared_ux_storybook_mock.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-storybook-mock title: "@kbn/shared-ux-storybook-mock" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-storybook-mock plugin -date: 2023-09-21 +date: 2023-09-22 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 17184a72d01b29..bf9989c24c1f4c 100644 --- a/api_docs/kbn_shared_ux_utility.mdx +++ b/api_docs/kbn_shared_ux_utility.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-utility title: "@kbn/shared-ux-utility" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-utility plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-utility'] --- import kbnSharedUxUtilityObj from './kbn_shared_ux_utility.devdocs.json'; diff --git a/api_docs/kbn_slo_schema.mdx b/api_docs/kbn_slo_schema.mdx index f5c3185522ec24..969f9fca8ca6b2 100644 --- a/api_docs/kbn_slo_schema.mdx +++ b/api_docs/kbn_slo_schema.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-slo-schema title: "@kbn/slo-schema" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/slo-schema plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/slo-schema'] --- import kbnSloSchemaObj from './kbn_slo_schema.devdocs.json'; diff --git a/api_docs/kbn_some_dev_log.mdx b/api_docs/kbn_some_dev_log.mdx index 7da7ee72aef433..dfe3c7a5ce2146 100644 --- a/api_docs/kbn_some_dev_log.mdx +++ b/api_docs/kbn_some_dev_log.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-some-dev-log title: "@kbn/some-dev-log" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/some-dev-log plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/some-dev-log'] --- import kbnSomeDevLogObj from './kbn_some_dev_log.devdocs.json'; diff --git a/api_docs/kbn_std.mdx b/api_docs/kbn_std.mdx index dbb0e027504201..2406ffda8025fc 100644 --- a/api_docs/kbn_std.mdx +++ b/api_docs/kbn_std.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-std title: "@kbn/std" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/std plugin -date: 2023-09-21 +date: 2023-09-22 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 4a85b93aac3ac0..49c576287e6165 100644 --- a/api_docs/kbn_stdio_dev_helpers.mdx +++ b/api_docs/kbn_stdio_dev_helpers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-stdio-dev-helpers title: "@kbn/stdio-dev-helpers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/stdio-dev-helpers plugin -date: 2023-09-21 +date: 2023-09-22 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 0c27909a3af32a..7aea9db0bb9a6c 100644 --- a/api_docs/kbn_storybook.mdx +++ b/api_docs/kbn_storybook.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-storybook title: "@kbn/storybook" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/storybook plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/storybook'] --- import kbnStorybookObj from './kbn_storybook.devdocs.json'; diff --git a/api_docs/kbn_subscription_tracking.mdx b/api_docs/kbn_subscription_tracking.mdx index 8efe2a60221d59..fd012ec6764646 100644 --- a/api_docs/kbn_subscription_tracking.mdx +++ b/api_docs/kbn_subscription_tracking.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-subscription-tracking title: "@kbn/subscription-tracking" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/subscription-tracking plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/subscription-tracking'] --- import kbnSubscriptionTrackingObj from './kbn_subscription_tracking.devdocs.json'; diff --git a/api_docs/kbn_telemetry_tools.mdx b/api_docs/kbn_telemetry_tools.mdx index ce557e38cc1848..6280c2bf62cb39 100644 --- a/api_docs/kbn_telemetry_tools.mdx +++ b/api_docs/kbn_telemetry_tools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-telemetry-tools title: "@kbn/telemetry-tools" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/telemetry-tools plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/telemetry-tools'] --- import kbnTelemetryToolsObj from './kbn_telemetry_tools.devdocs.json'; diff --git a/api_docs/kbn_test.devdocs.json b/api_docs/kbn_test.devdocs.json index 222a0d35f68c69..5fdb6cc0e3de2c 100644 --- a/api_docs/kbn_test.devdocs.json +++ b/api_docs/kbn_test.devdocs.json @@ -2096,7 +2096,7 @@ "tags": [], "label": "getDockerFileMountPath", "description": [ - "\nRemoves REPO_ROOT from hostPath. Keep the rest to avoid filename collisions.\nReturns the path where a file will be mounted inside the ES or ESS container.\n/root/kibana/package/foo/bar.json => /usr/share/elasticsearch/files/package/foo/bar.json" + "\nRemoves REPO_ROOT from hostPath. Keep the rest to avoid filename collisions.\nReturns the path where a file will be mounted inside the ES or ES serverless container.\n/root/kibana/package/foo/bar.json => /usr/share/elasticsearch/files/package/foo/bar.json" ], "signature": [ "(hostPath: string) => string" diff --git a/api_docs/kbn_test.mdx b/api_docs/kbn_test.mdx index bd64d32ef49ae4..574ec8be2bc6e2 100644 --- a/api_docs/kbn_test.mdx +++ b/api_docs/kbn_test.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-test title: "@kbn/test" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/test plugin -date: 2023-09-21 +date: 2023-09-22 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 15b79c3c0e1847..774067a74aae07 100644 --- a/api_docs/kbn_test_jest_helpers.mdx +++ b/api_docs/kbn_test_jest_helpers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-test-jest-helpers title: "@kbn/test-jest-helpers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/test-jest-helpers plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/test-jest-helpers'] --- import kbnTestJestHelpersObj from './kbn_test_jest_helpers.devdocs.json'; diff --git a/api_docs/kbn_test_subj_selector.mdx b/api_docs/kbn_test_subj_selector.mdx index 1b68ebd21346cd..6d656fbe2f07c1 100644 --- a/api_docs/kbn_test_subj_selector.mdx +++ b/api_docs/kbn_test_subj_selector.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-test-subj-selector title: "@kbn/test-subj-selector" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/test-subj-selector plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/test-subj-selector'] --- import kbnTestSubjSelectorObj from './kbn_test_subj_selector.devdocs.json'; diff --git a/api_docs/kbn_text_based_editor.mdx b/api_docs/kbn_text_based_editor.mdx index e298cc07d56ce7..1a5edef44c35e2 100644 --- a/api_docs/kbn_text_based_editor.mdx +++ b/api_docs/kbn_text_based_editor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-text-based-editor title: "@kbn/text-based-editor" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/text-based-editor plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/text-based-editor'] --- import kbnTextBasedEditorObj from './kbn_text_based_editor.devdocs.json'; diff --git a/api_docs/kbn_tooling_log.mdx b/api_docs/kbn_tooling_log.mdx index 102b18fd05e4a6..5a0cc9de846eef 100644 --- a/api_docs/kbn_tooling_log.mdx +++ b/api_docs/kbn_tooling_log.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-tooling-log title: "@kbn/tooling-log" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/tooling-log plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/tooling-log'] --- import kbnToolingLogObj from './kbn_tooling_log.devdocs.json'; diff --git a/api_docs/kbn_ts_projects.mdx b/api_docs/kbn_ts_projects.mdx index 5d8254e5595e9b..2403585f1a3609 100644 --- a/api_docs/kbn_ts_projects.mdx +++ b/api_docs/kbn_ts_projects.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ts-projects title: "@kbn/ts-projects" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ts-projects plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ts-projects'] --- import kbnTsProjectsObj from './kbn_ts_projects.devdocs.json'; diff --git a/api_docs/kbn_typed_react_router_config.mdx b/api_docs/kbn_typed_react_router_config.mdx index b1e232927c1acb..34d962c3604260 100644 --- a/api_docs/kbn_typed_react_router_config.mdx +++ b/api_docs/kbn_typed_react_router_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-typed-react-router-config title: "@kbn/typed-react-router-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/typed-react-router-config plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/typed-react-router-config'] --- import kbnTypedReactRouterConfigObj from './kbn_typed_react_router_config.devdocs.json'; diff --git a/api_docs/kbn_ui_actions_browser.mdx b/api_docs/kbn_ui_actions_browser.mdx index fd4267c4545e09..464c2fab7c1af3 100644 --- a/api_docs/kbn_ui_actions_browser.mdx +++ b/api_docs/kbn_ui_actions_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ui-actions-browser title: "@kbn/ui-actions-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ui-actions-browser plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ui-actions-browser'] --- import kbnUiActionsBrowserObj from './kbn_ui_actions_browser.devdocs.json'; diff --git a/api_docs/kbn_ui_shared_deps_src.mdx b/api_docs/kbn_ui_shared_deps_src.mdx index 8fb996ed962c6f..5276da0774513c 100644 --- a/api_docs/kbn_ui_shared_deps_src.mdx +++ b/api_docs/kbn_ui_shared_deps_src.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ui-shared-deps-src title: "@kbn/ui-shared-deps-src" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ui-shared-deps-src plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ui-shared-deps-src'] --- import kbnUiSharedDepsSrcObj from './kbn_ui_shared_deps_src.devdocs.json'; diff --git a/api_docs/kbn_ui_theme.mdx b/api_docs/kbn_ui_theme.mdx index 37472fbdc5a84a..169836f4f06413 100644 --- a/api_docs/kbn_ui_theme.mdx +++ b/api_docs/kbn_ui_theme.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ui-theme title: "@kbn/ui-theme" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ui-theme plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ui-theme'] --- import kbnUiThemeObj from './kbn_ui_theme.devdocs.json'; diff --git a/api_docs/kbn_unified_data_table.mdx b/api_docs/kbn_unified_data_table.mdx index 52c816d9859d78..81e5f65b678ffc 100644 --- a/api_docs/kbn_unified_data_table.mdx +++ b/api_docs/kbn_unified_data_table.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-unified-data-table title: "@kbn/unified-data-table" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/unified-data-table plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/unified-data-table'] --- import kbnUnifiedDataTableObj from './kbn_unified_data_table.devdocs.json'; diff --git a/api_docs/kbn_unified_doc_viewer.mdx b/api_docs/kbn_unified_doc_viewer.mdx index 8be1d0025d7e34..38a5a452a59832 100644 --- a/api_docs/kbn_unified_doc_viewer.mdx +++ b/api_docs/kbn_unified_doc_viewer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-unified-doc-viewer title: "@kbn/unified-doc-viewer" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/unified-doc-viewer plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/unified-doc-viewer'] --- import kbnUnifiedDocViewerObj from './kbn_unified_doc_viewer.devdocs.json'; diff --git a/api_docs/kbn_unified_field_list.mdx b/api_docs/kbn_unified_field_list.mdx index 903fee5faa4edd..ec237e35d4df9e 100644 --- a/api_docs/kbn_unified_field_list.mdx +++ b/api_docs/kbn_unified_field_list.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-unified-field-list title: "@kbn/unified-field-list" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/unified-field-list plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/unified-field-list'] --- import kbnUnifiedFieldListObj from './kbn_unified_field_list.devdocs.json'; diff --git a/api_docs/kbn_url_state.mdx b/api_docs/kbn_url_state.mdx index a975b538a9dbbc..02a39cad2f77fd 100644 --- a/api_docs/kbn_url_state.mdx +++ b/api_docs/kbn_url_state.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-url-state title: "@kbn/url-state" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/url-state plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/url-state'] --- import kbnUrlStateObj from './kbn_url_state.devdocs.json'; diff --git a/api_docs/kbn_use_tracked_promise.mdx b/api_docs/kbn_use_tracked_promise.mdx index b35dd16cc81a20..e10e10dba6309e 100644 --- a/api_docs/kbn_use_tracked_promise.mdx +++ b/api_docs/kbn_use_tracked_promise.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-use-tracked-promise title: "@kbn/use-tracked-promise" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/use-tracked-promise plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/use-tracked-promise'] --- import kbnUseTrackedPromiseObj from './kbn_use_tracked_promise.devdocs.json'; diff --git a/api_docs/kbn_user_profile_components.mdx b/api_docs/kbn_user_profile_components.mdx index 3e9599dfccfe20..a936d3e59969d7 100644 --- a/api_docs/kbn_user_profile_components.mdx +++ b/api_docs/kbn_user_profile_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-user-profile-components title: "@kbn/user-profile-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/user-profile-components plugin -date: 2023-09-21 +date: 2023-09-22 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 f8ec982bde6182..3b4ebbe004b5c5 100644 --- a/api_docs/kbn_utility_types.mdx +++ b/api_docs/kbn_utility_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-utility-types title: "@kbn/utility-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/utility-types plugin -date: 2023-09-21 +date: 2023-09-22 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 7b9d751a350c58..6588a288bc16b4 100644 --- a/api_docs/kbn_utility_types_jest.mdx +++ b/api_docs/kbn_utility_types_jest.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-utility-types-jest title: "@kbn/utility-types-jest" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/utility-types-jest plugin -date: 2023-09-21 +date: 2023-09-22 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 2e3cf322c2cd3e..77592d923aad89 100644 --- a/api_docs/kbn_utils.mdx +++ b/api_docs/kbn_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-utils title: "@kbn/utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/utils plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/utils'] --- import kbnUtilsObj from './kbn_utils.devdocs.json'; diff --git a/api_docs/kbn_visualization_ui_components.mdx b/api_docs/kbn_visualization_ui_components.mdx index e7f99fbed18685..18dd47e2ec4234 100644 --- a/api_docs/kbn_visualization_ui_components.mdx +++ b/api_docs/kbn_visualization_ui_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-visualization-ui-components title: "@kbn/visualization-ui-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/visualization-ui-components plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/visualization-ui-components'] --- import kbnVisualizationUiComponentsObj from './kbn_visualization_ui_components.devdocs.json'; diff --git a/api_docs/kbn_xstate_utils.mdx b/api_docs/kbn_xstate_utils.mdx index d918603b4dd1b4..ccba570415f832 100644 --- a/api_docs/kbn_xstate_utils.mdx +++ b/api_docs/kbn_xstate_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-xstate-utils title: "@kbn/xstate-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/xstate-utils plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/xstate-utils'] --- import kbnXstateUtilsObj from './kbn_xstate_utils.devdocs.json'; diff --git a/api_docs/kbn_yarn_lock_validator.mdx b/api_docs/kbn_yarn_lock_validator.mdx index 47958bd7be0b24..15410081dbd29e 100644 --- a/api_docs/kbn_yarn_lock_validator.mdx +++ b/api_docs/kbn_yarn_lock_validator.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-yarn-lock-validator title: "@kbn/yarn-lock-validator" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/yarn-lock-validator plugin -date: 2023-09-21 +date: 2023-09-22 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 693786c5361ede..780b9e61a98356 100644 --- a/api_docs/kibana_overview.mdx +++ b/api_docs/kibana_overview.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kibanaOverview title: "kibanaOverview" image: https://source.unsplash.com/400x175/?github description: API docs for the kibanaOverview plugin -date: 2023-09-21 +date: 2023-09-22 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 37a8f1c39955a2..25a9a440a99dfe 100644 --- a/api_docs/kibana_react.mdx +++ b/api_docs/kibana_react.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kibanaReact title: "kibanaReact" image: https://source.unsplash.com/400x175/?github description: API docs for the kibanaReact plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'kibanaReact'] --- import kibanaReactObj from './kibana_react.devdocs.json'; diff --git a/api_docs/kibana_utils.devdocs.json b/api_docs/kibana_utils.devdocs.json index a0c1a249a615d0..49a839d4e4d8c9 100644 --- a/api_docs/kibana_utils.devdocs.json +++ b/api_docs/kibana_utils.devdocs.json @@ -7095,6 +7095,21 @@ "deprecated": false, "trackAdoption": false }, + { + "parentPluginId": "kibanaUtils", + "id": "def-server.KbnServerError.requestParams", + "type": "Object", + "tags": [], + "label": "requestParams", + "description": [], + "signature": [ + "ConnectionRequestParams", + " | undefined" + ], + "path": "src/plugins/kibana_utils/server/report_server_error.ts", + "deprecated": false, + "trackAdoption": false + }, { "parentPluginId": "kibanaUtils", "id": "def-server.KbnServerError.Unnamed", @@ -7153,6 +7168,22 @@ "deprecated": false, "trackAdoption": false, "isRequired": false + }, + { + "parentPluginId": "kibanaUtils", + "id": "def-server.KbnServerError.Unnamed.$4", + "type": "Object", + "tags": [], + "label": "requestParams", + "description": [], + "signature": [ + "ConnectionRequestParams", + " | undefined" + ], + "path": "src/plugins/kibana_utils/server/report_server_error.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": false } ], "returnComment": [] diff --git a/api_docs/kibana_utils.mdx b/api_docs/kibana_utils.mdx index 8a1a411fd1139f..696a564b63ab42 100644 --- a/api_docs/kibana_utils.mdx +++ b/api_docs/kibana_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kibanaUtils title: "kibanaUtils" image: https://source.unsplash.com/400x175/?github description: API docs for the kibanaUtils plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'kibanaUtils'] --- import kibanaUtilsObj from './kibana_utils.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/kibana-app-services](https://github.com/orgs/elastic/teams/kib | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 610 | 3 | 417 | 9 | +| 612 | 3 | 419 | 9 | ## Client diff --git a/api_docs/kubernetes_security.mdx b/api_docs/kubernetes_security.mdx index 50257b59cfc426..f0e9814f7d49f4 100644 --- a/api_docs/kubernetes_security.mdx +++ b/api_docs/kubernetes_security.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kubernetesSecurity title: "kubernetesSecurity" image: https://source.unsplash.com/400x175/?github description: API docs for the kubernetesSecurity plugin -date: 2023-09-21 +date: 2023-09-22 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 62f688564bbdf0..ba23faa9e44480 100644 --- a/api_docs/lens.mdx +++ b/api_docs/lens.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/lens title: "lens" image: https://source.unsplash.com/400x175/?github description: API docs for the lens plugin -date: 2023-09-21 +date: 2023-09-22 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 2b6aa855cb4fb2..2231825f490b50 100644 --- a/api_docs/license_api_guard.mdx +++ b/api_docs/license_api_guard.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/licenseApiGuard title: "licenseApiGuard" image: https://source.unsplash.com/400x175/?github description: API docs for the licenseApiGuard plugin -date: 2023-09-21 +date: 2023-09-22 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 5aa6ab7857a48e..b501fece7b5ac3 100644 --- a/api_docs/license_management.mdx +++ b/api_docs/license_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/licenseManagement title: "licenseManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the licenseManagement plugin -date: 2023-09-21 +date: 2023-09-22 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 fa3ad2358899ba..50afecd7400a55 100644 --- a/api_docs/licensing.mdx +++ b/api_docs/licensing.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/licensing title: "licensing" image: https://source.unsplash.com/400x175/?github description: API docs for the licensing plugin -date: 2023-09-21 +date: 2023-09-22 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 77336f712b2e4b..743727f6c3dde8 100644 --- a/api_docs/lists.mdx +++ b/api_docs/lists.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/lists title: "lists" image: https://source.unsplash.com/400x175/?github description: API docs for the lists plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'lists'] --- import listsObj from './lists.devdocs.json'; diff --git a/api_docs/log_explorer.mdx b/api_docs/log_explorer.mdx index 140c7e9406e963..429a5643fa44d4 100644 --- a/api_docs/log_explorer.mdx +++ b/api_docs/log_explorer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/logExplorer title: "logExplorer" image: https://source.unsplash.com/400x175/?github description: API docs for the logExplorer plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'logExplorer'] --- import logExplorerObj from './log_explorer.devdocs.json'; diff --git a/api_docs/logs_shared.mdx b/api_docs/logs_shared.mdx index b1f29f1957d2b4..eb19b249e635b1 100644 --- a/api_docs/logs_shared.mdx +++ b/api_docs/logs_shared.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/logsShared title: "logsShared" image: https://source.unsplash.com/400x175/?github description: API docs for the logsShared plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'logsShared'] --- import logsSharedObj from './logs_shared.devdocs.json'; diff --git a/api_docs/management.mdx b/api_docs/management.mdx index 7ea12f4dc5f0c3..2c46a8f5e07ca5 100644 --- a/api_docs/management.mdx +++ b/api_docs/management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/management title: "management" image: https://source.unsplash.com/400x175/?github description: API docs for the management plugin -date: 2023-09-21 +date: 2023-09-22 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 c0fe15718b0b0c..0a91066187f1de 100644 --- a/api_docs/maps.mdx +++ b/api_docs/maps.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/maps title: "maps" image: https://source.unsplash.com/400x175/?github description: API docs for the maps plugin -date: 2023-09-21 +date: 2023-09-22 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 e64231326653ae..c196613b500d01 100644 --- a/api_docs/maps_ems.mdx +++ b/api_docs/maps_ems.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/mapsEms title: "mapsEms" image: https://source.unsplash.com/400x175/?github description: API docs for the mapsEms plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'mapsEms'] --- import mapsEmsObj from './maps_ems.devdocs.json'; diff --git a/api_docs/metrics_data_access.mdx b/api_docs/metrics_data_access.mdx index c00349e8168fb1..16a1d24d3381e2 100644 --- a/api_docs/metrics_data_access.mdx +++ b/api_docs/metrics_data_access.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/metricsDataAccess title: "metricsDataAccess" image: https://source.unsplash.com/400x175/?github description: API docs for the metricsDataAccess plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'metricsDataAccess'] --- import metricsDataAccessObj from './metrics_data_access.devdocs.json'; diff --git a/api_docs/ml.devdocs.json b/api_docs/ml.devdocs.json index cced2333d264f3..c45d27e8fd7df6 100644 --- a/api_docs/ml.devdocs.json +++ b/api_docs/ml.devdocs.json @@ -1915,8 +1915,7 @@ "): { preview: (args_0: Readonly<{} & { timeRange: string; alertParams: Readonly<{} & { severity: number; jobSelection: Readonly<{} & { groupIds: string[]; jobIds: string[]; }>; resultType: \"bucket\" | \"record\" | \"influencer\"; includeInterim: boolean; lookbackInterval: string | null; topNBuckets: number | null; }>; sampleSize: number; }>) => Promise; execute: (params: Readonly<{} & { severity: number; jobSelection: Readonly<{} & { groupIds: string[]; jobIds: string[]; }>; resultType: \"bucket\" | \"record\" | \"influencer\"; includeInterim: boolean; lookbackInterval: string | null; topNBuckets: number | null; }>, spaceId: string) => Promise<{ context: ", "AnomalyDetectionAlertContext", "; name: string; isHealthy: boolean; } | undefined>; }; } & ", - "TrainedModelsProvider", - " & MlSetup" + "TrainedModelsProvider" ], "path": "x-pack/plugins/ml/server/plugin.ts", "deprecated": false, diff --git a/api_docs/ml.mdx b/api_docs/ml.mdx index b7c8f8a996d555..228921a11afdf4 100644 --- a/api_docs/ml.mdx +++ b/api_docs/ml.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/ml title: "ml" image: https://source.unsplash.com/400x175/?github description: API docs for the ml plugin -date: 2023-09-21 +date: 2023-09-22 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 524604a67cb695..6731ea235bb53f 100644 --- a/api_docs/monitoring.mdx +++ b/api_docs/monitoring.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/monitoring title: "monitoring" image: https://source.unsplash.com/400x175/?github description: API docs for the monitoring plugin -date: 2023-09-21 +date: 2023-09-22 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 48a3e009c3e2bc..1a642d8be10749 100644 --- a/api_docs/monitoring_collection.mdx +++ b/api_docs/monitoring_collection.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/monitoringCollection title: "monitoringCollection" image: https://source.unsplash.com/400x175/?github description: API docs for the monitoringCollection plugin -date: 2023-09-21 +date: 2023-09-22 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 9cf0efdfd74663..5e6c2eadd53125 100644 --- a/api_docs/navigation.mdx +++ b/api_docs/navigation.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/navigation title: "navigation" image: https://source.unsplash.com/400x175/?github description: API docs for the navigation plugin -date: 2023-09-21 +date: 2023-09-22 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 6831ca9c2d2aff..8f9ddecda236af 100644 --- a/api_docs/newsfeed.mdx +++ b/api_docs/newsfeed.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/newsfeed title: "newsfeed" image: https://source.unsplash.com/400x175/?github description: API docs for the newsfeed plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'newsfeed'] --- import newsfeedObj from './newsfeed.devdocs.json'; diff --git a/api_docs/no_data_page.mdx b/api_docs/no_data_page.mdx index 5bc6bddf52d895..6f35034b6dd6ac 100644 --- a/api_docs/no_data_page.mdx +++ b/api_docs/no_data_page.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/noDataPage title: "noDataPage" image: https://source.unsplash.com/400x175/?github description: API docs for the noDataPage plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'noDataPage'] --- import noDataPageObj from './no_data_page.devdocs.json'; diff --git a/api_docs/notifications.mdx b/api_docs/notifications.mdx index 0d73b68f209ce7..2082c07b451bed 100644 --- a/api_docs/notifications.mdx +++ b/api_docs/notifications.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/notifications title: "notifications" image: https://source.unsplash.com/400x175/?github description: API docs for the notifications plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'notifications'] --- import notificationsObj from './notifications.devdocs.json'; diff --git a/api_docs/observability.mdx b/api_docs/observability.mdx index 565c340aa33500..24b91072fdf6a3 100644 --- a/api_docs/observability.mdx +++ b/api_docs/observability.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/observability title: "observability" image: https://source.unsplash.com/400x175/?github description: API docs for the observability plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'observability'] --- import observabilityObj from './observability.devdocs.json'; diff --git a/api_docs/observability_a_i_assistant.mdx b/api_docs/observability_a_i_assistant.mdx index 6d72757ddcabd6..64646f49219216 100644 --- a/api_docs/observability_a_i_assistant.mdx +++ b/api_docs/observability_a_i_assistant.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/observabilityAIAssistant title: "observabilityAIAssistant" image: https://source.unsplash.com/400x175/?github description: API docs for the observabilityAIAssistant plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'observabilityAIAssistant'] --- import observabilityAIAssistantObj from './observability_a_i_assistant.devdocs.json'; diff --git a/api_docs/observability_log_explorer.mdx b/api_docs/observability_log_explorer.mdx index 2d08b658886274..49fb0d5a738f17 100644 --- a/api_docs/observability_log_explorer.mdx +++ b/api_docs/observability_log_explorer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/observabilityLogExplorer title: "observabilityLogExplorer" image: https://source.unsplash.com/400x175/?github description: API docs for the observabilityLogExplorer plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'observabilityLogExplorer'] --- import observabilityLogExplorerObj from './observability_log_explorer.devdocs.json'; diff --git a/api_docs/observability_onboarding.mdx b/api_docs/observability_onboarding.mdx index 667c6ce0254de8..5a860321373d9c 100644 --- a/api_docs/observability_onboarding.mdx +++ b/api_docs/observability_onboarding.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/observabilityOnboarding title: "observabilityOnboarding" image: https://source.unsplash.com/400x175/?github description: API docs for the observabilityOnboarding plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'observabilityOnboarding'] --- import observabilityOnboardingObj from './observability_onboarding.devdocs.json'; diff --git a/api_docs/observability_shared.mdx b/api_docs/observability_shared.mdx index 0cab1278f9eaf3..de7daf3b269513 100644 --- a/api_docs/observability_shared.mdx +++ b/api_docs/observability_shared.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/observabilityShared title: "observabilityShared" image: https://source.unsplash.com/400x175/?github description: API docs for the observabilityShared plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'observabilityShared'] --- import observabilitySharedObj from './observability_shared.devdocs.json'; diff --git a/api_docs/osquery.mdx b/api_docs/osquery.mdx index 746067c836abd3..4bdcb2ce30ac06 100644 --- a/api_docs/osquery.mdx +++ b/api_docs/osquery.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/osquery title: "osquery" image: https://source.unsplash.com/400x175/?github description: API docs for the osquery plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'osquery'] --- import osqueryObj from './osquery.devdocs.json'; diff --git a/api_docs/painless_lab.mdx b/api_docs/painless_lab.mdx index 3c962c6a95ba98..0c3225be34306b 100644 --- a/api_docs/painless_lab.mdx +++ b/api_docs/painless_lab.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/painlessLab title: "painlessLab" image: https://source.unsplash.com/400x175/?github description: API docs for the painlessLab plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'painlessLab'] --- import painlessLabObj from './painless_lab.devdocs.json'; diff --git a/api_docs/plugin_directory.mdx b/api_docs/plugin_directory.mdx index b6fb713634393e..16a06c4864c681 100644 --- a/api_docs/plugin_directory.mdx +++ b/api_docs/plugin_directory.mdx @@ -7,7 +7,7 @@ id: kibDevDocsPluginDirectory slug: /kibana-dev-docs/api-meta/plugin-api-directory title: Directory description: Directory of public APIs available through plugins or packages. -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- @@ -21,7 +21,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | API Count | Any Count | Missing comments | Missing exports | |--------------|----------|-----------------|--------| -| 74941 | 223 | 63921 | 1536 | +| 74945 | 223 | 63920 | 1533 | ## Plugin Directory @@ -30,7 +30,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/response-ops](https://github.com/orgs/elastic/teams/response-ops) | - | 269 | 0 | 263 | 31 | | | [@elastic/appex-sharedux @elastic/platform-deployment-management](https://github.com/orgs/elastic/teams/appex-sharedux ) | - | 17 | 1 | 15 | 2 | | | [@elastic/ml-ui](https://github.com/orgs/elastic/teams/ml-ui) | AIOps plugin maintained by ML team. | 66 | 1 | 4 | 1 | -| | [@elastic/response-ops](https://github.com/orgs/elastic/teams/response-ops) | - | 767 | 1 | 736 | 50 | +| | [@elastic/response-ops](https://github.com/orgs/elastic/teams/response-ops) | - | 772 | 1 | 741 | 50 | | | [@elastic/apm-ui](https://github.com/orgs/elastic/teams/apm-ui) | The user interface for Elastic APM | 29 | 0 | 29 | 119 | | | [@elastic/apm-ui](https://github.com/orgs/elastic/teams/apm-ui) | - | 9 | 0 | 9 | 0 | | | [@elastic/infra-monitoring-ui](https://github.com/orgs/elastic/teams/infra-monitoring-ui) | Asset manager plugin for entity assets (inventory, topology, etc) | 2 | 0 | 2 | 0 | @@ -57,14 +57,14 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/fleet](https://github.com/orgs/elastic/teams/fleet) | Add custom data integrations so they can be displayed in the Fleet integrations app | 268 | 0 | 249 | 1 | | | [@elastic/kibana-presentation](https://github.com/orgs/elastic/teams/kibana-presentation) | Adds the Dashboard app to Kibana | 101 | 0 | 98 | 9 | | | [@elastic/kibana-presentation](https://github.com/orgs/elastic/teams/kibana-presentation) | - | 54 | 0 | 51 | 0 | -| | [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/kibana-visualizations) | Data services are useful for searching and querying data from Elasticsearch. Helpful utilities include: a re-usable react query bar, KQL autocomplete, async search, Data Views (Index Patterns) and field formatters. | 3308 | 33 | 2577 | 24 | +| | [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/kibana-visualizations) | Data services are useful for searching and querying data from Elasticsearch. Helpful utilities include: a re-usable react query bar, KQL autocomplete, async search, Data Views (Index Patterns) and field formatters. | 3310 | 33 | 2575 | 24 | | | [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | This plugin provides the ability to create data views via a modal flyout inside Kibana apps | 16 | 0 | 7 | 0 | | | [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | Reusable data view field editor across Kibana | 72 | 0 | 33 | 0 | | | [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | Data view management app | 2 | 0 | 2 | 0 | | | [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | 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. | 1037 | 0 | 257 | 2 | | | [@elastic/ml-ui](https://github.com/orgs/elastic/teams/ml-ui) | The Data Visualizer tools help you understand your data, by analyzing the metrics and fields in a log file or an existing Elasticsearch index. | 31 | 3 | 25 | 1 | | | [@elastic/platform-deployment-management](https://github.com/orgs/elastic/teams/platform-deployment-management) | - | 12 | 0 | 10 | 3 | -| | [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | This plugin contains the Discover application and the saved search embeddable. | 113 | 0 | 72 | 15 | +| | [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | This plugin contains the Discover application and the saved search embeddable. | 116 | 0 | 75 | 17 | | | [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | - | 37 | 0 | 35 | 2 | | | [@elastic/security-threat-hunting-investigations](https://github.com/orgs/elastic/teams/security-threat-hunting-investigations) | APIs used to assess the quality of data in Elasticsearch indexes | 2 | 0 | 0 | 0 | | | [@elastic/security-solution](https://github.com/orgs/elastic/teams/security-solution) | Server APIs for the Elastic AI Assistant | 4 | 0 | 2 | 0 | @@ -96,7 +96,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/kibana-gis](https://github.com/orgs/elastic/teams/kibana-gis) | The file upload plugin contains components and services for uploading a file, analyzing its data, and then importing the data into an Elasticsearch index. Supported file types include CSV, TSV, newline-delimited JSON and GeoJSON. | 59 | 0 | 59 | 2 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | File upload, download, sharing, and serving over HTTP implementation in Kibana. | 239 | 0 | 24 | 9 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | Simple UI for managing files in Kibana | 2 | 0 | 2 | 0 | -| | [@elastic/fleet](https://github.com/orgs/elastic/teams/fleet) | - | 1199 | 3 | 1082 | 41 | +| | [@elastic/fleet](https://github.com/orgs/elastic/teams/fleet) | - | 1201 | 3 | 1083 | 41 | | ftrApis | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 0 | 0 | 0 | 0 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 68 | 0 | 14 | 5 | | globalSearchBar | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 0 | 0 | 0 | 0 | @@ -116,7 +116,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 6 | 0 | 6 | 0 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 186 | 0 | 147 | 5 | | kibanaUsageCollection | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 0 | 0 | 0 | 0 | -| | [@elastic/kibana-app-services](https://github.com/orgs/elastic/teams/kibana-app-services) | - | 610 | 3 | 417 | 9 | +| | [@elastic/kibana-app-services](https://github.com/orgs/elastic/teams/kibana-app-services) | - | 612 | 3 | 419 | 9 | | | [@elastic/kibana-cloud-security-posture](https://github.com/orgs/elastic/teams/kibana-cloud-security-posture) | - | 5 | 0 | 5 | 1 | | | [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/kibana-visualizations) | 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. | 617 | 0 | 520 | 61 | | | [@elastic/platform-deployment-management](https://github.com/orgs/elastic/teams/platform-deployment-management) | - | 8 | 0 | 8 | 0 | @@ -172,7 +172,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | Adds URL Service and sharing capabilities to Kibana | 119 | 0 | 60 | 10 | | | [@elastic/platform-deployment-management](https://github.com/orgs/elastic/teams/platform-deployment-management) | - | 22 | 1 | 22 | 1 | | | [@elastic/kibana-security](https://github.com/orgs/elastic/teams/kibana-security) | This plugin provides the Spaces feature, which allows saved objects to be organized into meaningful categories. | 256 | 0 | 65 | 0 | -| | [@elastic/response-ops](https://github.com/orgs/elastic/teams/response-ops) | - | 24 | 0 | 24 | 3 | +| | [@elastic/response-ops](https://github.com/orgs/elastic/teams/response-ops) | - | 23 | 0 | 23 | 3 | | | [@elastic/response-ops](https://github.com/orgs/elastic/teams/response-ops) | - | 4 | 0 | 4 | 1 | | synthetics | [@elastic/uptime](https://github.com/orgs/elastic/teams/uptime) | This plugin visualizes data from Synthetics and Heartbeat, and integrates with other Observability solutions. | 0 | 0 | 0 | 0 | | | [@elastic/response-ops](https://github.com/orgs/elastic/teams/response-ops) | - | 96 | 0 | 53 | 6 | @@ -182,10 +182,10 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 6 | 0 | 0 | 0 | | | [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/kibana-visualizations) | - | 20 | 0 | 20 | 0 | | | [@elastic/protections-experience](https://github.com/orgs/elastic/teams/protections-experience) | Elastic threat intelligence helps you see if you are open to or have been subject to current or historical known threats | 30 | 0 | 14 | 5 | -| | [@elastic/security-threat-hunting-investigations](https://github.com/orgs/elastic/teams/security-threat-hunting-investigations) | - | 257 | 1 | 213 | 22 | +| | [@elastic/security-threat-hunting-investigations](https://github.com/orgs/elastic/teams/security-threat-hunting-investigations) | - | 240 | 1 | 196 | 17 | | | [@elastic/ml-ui](https://github.com/orgs/elastic/teams/ml-ui) | This plugin provides access to the transforms features provided by Elastic. Transforms enable you to convert existing Elasticsearch indices into summarized indices, which provide opportunities for new insights and analytics. | 4 | 0 | 4 | 1 | | translations | [@elastic/kibana-localization](https://github.com/orgs/elastic/teams/kibana-localization) | - | 0 | 0 | 0 | 0 | -| | [@elastic/response-ops](https://github.com/orgs/elastic/teams/response-ops) | - | 576 | 1 | 550 | 52 | +| | [@elastic/response-ops](https://github.com/orgs/elastic/teams/response-ops) | - | 577 | 1 | 551 | 52 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | Adds UI Actions service to Kibana | 145 | 0 | 103 | 9 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | Extends UI Actions plugin with more functionality | 206 | 0 | 140 | 9 | | | [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | This plugin contains services reliant on the plugin lifecycle for the unified doc viewer component (see @kbn/unified-doc-viewer). | 13 | 0 | 10 | 3 | @@ -251,10 +251,10 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 24 | 0 | 24 | 0 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 140 | 3 | 137 | 18 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 6 | 0 | 4 | 4 | -| | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 14 | 0 | 14 | 0 | -| | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 9 | 0 | 9 | 0 | -| | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 58 | 0 | 40 | 4 | -| | [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | - | 188 | 1 | 123 | 0 | +| | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 15 | 0 | 15 | 0 | +| | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 10 | 0 | 10 | 0 | +| | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 59 | 0 | 41 | 4 | +| | [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | - | 189 | 1 | 124 | 0 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 4 | 0 | 0 | 0 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 7 | 0 | 7 | 1 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 4 | 0 | 4 | 0 | @@ -534,7 +534,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 73 | 0 | 65 | 0 | | | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 13 | 2 | 8 | 0 | | | [@elastic/response-ops](https://github.com/orgs/elastic/teams/response-ops) | - | 16 | 0 | 16 | 1 | -| | [@elastic/security-detections-response](https://github.com/orgs/elastic/teams/security-detections-response) | - | 107 | 0 | 104 | 0 | +| | [@elastic/security-detections-response](https://github.com/orgs/elastic/teams/security-detections-response) | - | 110 | 0 | 107 | 0 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 2 | 0 | 2 | 0 | | | [@elastic/enterprise-search-frontend](https://github.com/orgs/elastic/teams/enterprise-search-frontend) | - | 68 | 0 | 68 | 0 | | | [@elastic/enterprise-search-frontend](https://github.com/orgs/elastic/teams/enterprise-search-frontend) | - | 1678 | 0 | 1678 | 0 | diff --git a/api_docs/presentation_util.mdx b/api_docs/presentation_util.mdx index f97101d7496766..ba7cbca1982ab3 100644 --- a/api_docs/presentation_util.mdx +++ b/api_docs/presentation_util.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/presentationUtil title: "presentationUtil" image: https://source.unsplash.com/400x175/?github description: API docs for the presentationUtil plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'presentationUtil'] --- import presentationUtilObj from './presentation_util.devdocs.json'; diff --git a/api_docs/profiling.mdx b/api_docs/profiling.mdx index c012de8ea332e9..e94d185508ae03 100644 --- a/api_docs/profiling.mdx +++ b/api_docs/profiling.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/profiling title: "profiling" image: https://source.unsplash.com/400x175/?github description: API docs for the profiling plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'profiling'] --- import profilingObj from './profiling.devdocs.json'; diff --git a/api_docs/profiling_data_access.mdx b/api_docs/profiling_data_access.mdx index 6058d4dbec2f3d..0609578f23a456 100644 --- a/api_docs/profiling_data_access.mdx +++ b/api_docs/profiling_data_access.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/profilingDataAccess title: "profilingDataAccess" image: https://source.unsplash.com/400x175/?github description: API docs for the profilingDataAccess plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'profilingDataAccess'] --- import profilingDataAccessObj from './profiling_data_access.devdocs.json'; diff --git a/api_docs/remote_clusters.mdx b/api_docs/remote_clusters.mdx index ba37ba640c5c7b..2d5df178269ee4 100644 --- a/api_docs/remote_clusters.mdx +++ b/api_docs/remote_clusters.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/remoteClusters title: "remoteClusters" image: https://source.unsplash.com/400x175/?github description: API docs for the remoteClusters plugin -date: 2023-09-21 +date: 2023-09-22 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 4f5522de927826..7490afd3a7fbf6 100644 --- a/api_docs/reporting.mdx +++ b/api_docs/reporting.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/reporting title: "reporting" image: https://source.unsplash.com/400x175/?github description: API docs for the reporting plugin -date: 2023-09-21 +date: 2023-09-22 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 bfada70d2c7e15..f73d1b04d95b2c 100644 --- a/api_docs/rollup.mdx +++ b/api_docs/rollup.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/rollup title: "rollup" image: https://source.unsplash.com/400x175/?github description: API docs for the rollup plugin -date: 2023-09-21 +date: 2023-09-22 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 cbfb7658e933be..e5cce5f5f2f527 100644 --- a/api_docs/rule_registry.mdx +++ b/api_docs/rule_registry.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/ruleRegistry title: "ruleRegistry" image: https://source.unsplash.com/400x175/?github description: API docs for the ruleRegistry plugin -date: 2023-09-21 +date: 2023-09-22 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 61d123e0bb163a..b236704e0bfee0 100644 --- a/api_docs/runtime_fields.mdx +++ b/api_docs/runtime_fields.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/runtimeFields title: "runtimeFields" image: https://source.unsplash.com/400x175/?github description: API docs for the runtimeFields plugin -date: 2023-09-21 +date: 2023-09-22 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 48929bf0650a10..beb9a32bc20989 100644 --- a/api_docs/saved_objects.mdx +++ b/api_docs/saved_objects.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedObjects title: "savedObjects" image: https://source.unsplash.com/400x175/?github description: API docs for the savedObjects plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'savedObjects'] --- import savedObjectsObj from './saved_objects.devdocs.json'; diff --git a/api_docs/saved_objects_finder.mdx b/api_docs/saved_objects_finder.mdx index 65f13d7725a1ef..bd00e5e103f66e 100644 --- a/api_docs/saved_objects_finder.mdx +++ b/api_docs/saved_objects_finder.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedObjectsFinder title: "savedObjectsFinder" image: https://source.unsplash.com/400x175/?github description: API docs for the savedObjectsFinder plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'savedObjectsFinder'] --- import savedObjectsFinderObj from './saved_objects_finder.devdocs.json'; diff --git a/api_docs/saved_objects_management.mdx b/api_docs/saved_objects_management.mdx index c25fddc1576ea3..b0b4bde5929c3b 100644 --- a/api_docs/saved_objects_management.mdx +++ b/api_docs/saved_objects_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedObjectsManagement title: "savedObjectsManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the savedObjectsManagement plugin -date: 2023-09-21 +date: 2023-09-22 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 98d48307b5db92..a75c6c3388b170 100644 --- a/api_docs/saved_objects_tagging.mdx +++ b/api_docs/saved_objects_tagging.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedObjectsTagging title: "savedObjectsTagging" image: https://source.unsplash.com/400x175/?github description: API docs for the savedObjectsTagging plugin -date: 2023-09-21 +date: 2023-09-22 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 ffbde637f7bc38..50aeac53a74899 100644 --- a/api_docs/saved_objects_tagging_oss.mdx +++ b/api_docs/saved_objects_tagging_oss.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedObjectsTaggingOss title: "savedObjectsTaggingOss" image: https://source.unsplash.com/400x175/?github description: API docs for the savedObjectsTaggingOss plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'savedObjectsTaggingOss'] --- import savedObjectsTaggingOssObj from './saved_objects_tagging_oss.devdocs.json'; diff --git a/api_docs/saved_search.mdx b/api_docs/saved_search.mdx index f07b31928f1df5..8f349befd4cd10 100644 --- a/api_docs/saved_search.mdx +++ b/api_docs/saved_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedSearch title: "savedSearch" image: https://source.unsplash.com/400x175/?github description: API docs for the savedSearch plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'savedSearch'] --- import savedSearchObj from './saved_search.devdocs.json'; diff --git a/api_docs/screenshot_mode.mdx b/api_docs/screenshot_mode.mdx index a19ec711e953d0..ce4b145bbcfbbc 100644 --- a/api_docs/screenshot_mode.mdx +++ b/api_docs/screenshot_mode.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/screenshotMode title: "screenshotMode" image: https://source.unsplash.com/400x175/?github description: API docs for the screenshotMode plugin -date: 2023-09-21 +date: 2023-09-22 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 5f0a297b218129..48c750d6bc02df 100644 --- a/api_docs/screenshotting.mdx +++ b/api_docs/screenshotting.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/screenshotting title: "screenshotting" image: https://source.unsplash.com/400x175/?github description: API docs for the screenshotting plugin -date: 2023-09-21 +date: 2023-09-22 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 5d4a064bf17915..109af80106f2f2 100644 --- a/api_docs/security.mdx +++ b/api_docs/security.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/security title: "security" image: https://source.unsplash.com/400x175/?github description: API docs for the security plugin -date: 2023-09-21 +date: 2023-09-22 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 3af62e5ba250b4..a7923ab0ebea80 100644 --- a/api_docs/security_solution.mdx +++ b/api_docs/security_solution.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/securitySolution title: "securitySolution" image: https://source.unsplash.com/400x175/?github description: API docs for the securitySolution plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'securitySolution'] --- import securitySolutionObj from './security_solution.devdocs.json'; diff --git a/api_docs/security_solution_ess.mdx b/api_docs/security_solution_ess.mdx index c9ad7fa08de663..69021925f84032 100644 --- a/api_docs/security_solution_ess.mdx +++ b/api_docs/security_solution_ess.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/securitySolutionEss title: "securitySolutionEss" image: https://source.unsplash.com/400x175/?github description: API docs for the securitySolutionEss plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'securitySolutionEss'] --- import securitySolutionEssObj from './security_solution_ess.devdocs.json'; diff --git a/api_docs/security_solution_serverless.mdx b/api_docs/security_solution_serverless.mdx index 07899c9d9990a7..df2bd1d9a5c25b 100644 --- a/api_docs/security_solution_serverless.mdx +++ b/api_docs/security_solution_serverless.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/securitySolutionServerless title: "securitySolutionServerless" image: https://source.unsplash.com/400x175/?github description: API docs for the securitySolutionServerless plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'securitySolutionServerless'] --- import securitySolutionServerlessObj from './security_solution_serverless.devdocs.json'; diff --git a/api_docs/serverless.mdx b/api_docs/serverless.mdx index 68e30aebcbceaf..02fc4ebdd5fa9e 100644 --- a/api_docs/serverless.mdx +++ b/api_docs/serverless.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/serverless title: "serverless" image: https://source.unsplash.com/400x175/?github description: API docs for the serverless plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'serverless'] --- import serverlessObj from './serverless.devdocs.json'; diff --git a/api_docs/serverless_observability.mdx b/api_docs/serverless_observability.mdx index fcc85d5205bdf2..84690f348a3c41 100644 --- a/api_docs/serverless_observability.mdx +++ b/api_docs/serverless_observability.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/serverlessObservability title: "serverlessObservability" image: https://source.unsplash.com/400x175/?github description: API docs for the serverlessObservability plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'serverlessObservability'] --- import serverlessObservabilityObj from './serverless_observability.devdocs.json'; diff --git a/api_docs/serverless_search.mdx b/api_docs/serverless_search.mdx index f3326207ffc6be..37a31fd73233f4 100644 --- a/api_docs/serverless_search.mdx +++ b/api_docs/serverless_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/serverlessSearch title: "serverlessSearch" image: https://source.unsplash.com/400x175/?github description: API docs for the serverlessSearch plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'serverlessSearch'] --- import serverlessSearchObj from './serverless_search.devdocs.json'; diff --git a/api_docs/session_view.mdx b/api_docs/session_view.mdx index e9d053e28735f3..cc616e5b79067b 100644 --- a/api_docs/session_view.mdx +++ b/api_docs/session_view.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/sessionView title: "sessionView" image: https://source.unsplash.com/400x175/?github description: API docs for the sessionView plugin -date: 2023-09-21 +date: 2023-09-22 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 4eaa16b6fb0d77..a686276f83d70b 100644 --- a/api_docs/share.mdx +++ b/api_docs/share.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/share title: "share" image: https://source.unsplash.com/400x175/?github description: API docs for the share plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'share'] --- import shareObj from './share.devdocs.json'; diff --git a/api_docs/snapshot_restore.mdx b/api_docs/snapshot_restore.mdx index 9f53c276f7025e..c96013e64620b3 100644 --- a/api_docs/snapshot_restore.mdx +++ b/api_docs/snapshot_restore.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/snapshotRestore title: "snapshotRestore" image: https://source.unsplash.com/400x175/?github description: API docs for the snapshotRestore plugin -date: 2023-09-21 +date: 2023-09-22 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 6f456c9160f21e..ad8e3644d6856e 100644 --- a/api_docs/spaces.mdx +++ b/api_docs/spaces.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/spaces title: "spaces" image: https://source.unsplash.com/400x175/?github description: API docs for the spaces plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'spaces'] --- import spacesObj from './spaces.devdocs.json'; diff --git a/api_docs/stack_alerts.devdocs.json b/api_docs/stack_alerts.devdocs.json index cced9a721c32e0..15f67c548f46ee 100644 --- a/api_docs/stack_alerts.devdocs.json +++ b/api_docs/stack_alerts.devdocs.json @@ -406,23 +406,7 @@ } ], "enums": [], - "misc": [ - { - "parentPluginId": "stackAlerts", - "id": "def-common.STACK_ALERTS_FEATURE_ID", - "type": "string", - "tags": [], - "label": "STACK_ALERTS_FEATURE_ID", - "description": [], - "signature": [ - "\"stackAlerts\"" - ], - "path": "x-pack/plugins/stack_alerts/common/constants.ts", - "deprecated": false, - "trackAdoption": false, - "initialIsOpen": false - } - ], + "misc": [], "objects": [ { "parentPluginId": "stackAlerts", diff --git a/api_docs/stack_alerts.mdx b/api_docs/stack_alerts.mdx index 8287050a597335..fff86f54798a40 100644 --- a/api_docs/stack_alerts.mdx +++ b/api_docs/stack_alerts.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/stackAlerts title: "stackAlerts" image: https://source.unsplash.com/400x175/?github description: API docs for the stackAlerts plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'stackAlerts'] --- import stackAlertsObj from './stack_alerts.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/response-ops](https://github.com/orgs/elastic/teams/response-o | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 24 | 0 | 24 | 3 | +| 23 | 0 | 23 | 3 | ## Client @@ -47,6 +47,3 @@ Contact [@elastic/response-ops](https://github.com/orgs/elastic/teams/response-o ### Interfaces -### Consts, variables and types - - diff --git a/api_docs/stack_connectors.mdx b/api_docs/stack_connectors.mdx index 69c7ab28e81cfa..d746fa0665d1a0 100644 --- a/api_docs/stack_connectors.mdx +++ b/api_docs/stack_connectors.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/stackConnectors title: "stackConnectors" image: https://source.unsplash.com/400x175/?github description: API docs for the stackConnectors plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'stackConnectors'] --- import stackConnectorsObj from './stack_connectors.devdocs.json'; diff --git a/api_docs/task_manager.mdx b/api_docs/task_manager.mdx index 5ddcda0dd86570..086262f28089cf 100644 --- a/api_docs/task_manager.mdx +++ b/api_docs/task_manager.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/taskManager title: "taskManager" image: https://source.unsplash.com/400x175/?github description: API docs for the taskManager plugin -date: 2023-09-21 +date: 2023-09-22 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 f9aed1362c7eaf..bb67b1cca68557 100644 --- a/api_docs/telemetry.mdx +++ b/api_docs/telemetry.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/telemetry title: "telemetry" image: https://source.unsplash.com/400x175/?github description: API docs for the telemetry plugin -date: 2023-09-21 +date: 2023-09-22 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 edb25486c1c06f..9d4155b3549e19 100644 --- a/api_docs/telemetry_collection_manager.mdx +++ b/api_docs/telemetry_collection_manager.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/telemetryCollectionManager title: "telemetryCollectionManager" image: https://source.unsplash.com/400x175/?github description: API docs for the telemetryCollectionManager plugin -date: 2023-09-21 +date: 2023-09-22 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 df129a2ff1a14d..1cf90dfb7acf3a 100644 --- a/api_docs/telemetry_collection_xpack.mdx +++ b/api_docs/telemetry_collection_xpack.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/telemetryCollectionXpack title: "telemetryCollectionXpack" image: https://source.unsplash.com/400x175/?github description: API docs for the telemetryCollectionXpack plugin -date: 2023-09-21 +date: 2023-09-22 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 2facb2867f53d4..e4ef77861002d7 100644 --- a/api_docs/telemetry_management_section.mdx +++ b/api_docs/telemetry_management_section.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/telemetryManagementSection title: "telemetryManagementSection" image: https://source.unsplash.com/400x175/?github description: API docs for the telemetryManagementSection plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'telemetryManagementSection'] --- import telemetryManagementSectionObj from './telemetry_management_section.devdocs.json'; diff --git a/api_docs/text_based_languages.mdx b/api_docs/text_based_languages.mdx index 546edabec4a1bd..69a32bdb59fff3 100644 --- a/api_docs/text_based_languages.mdx +++ b/api_docs/text_based_languages.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/textBasedLanguages title: "textBasedLanguages" image: https://source.unsplash.com/400x175/?github description: API docs for the textBasedLanguages plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'textBasedLanguages'] --- import textBasedLanguagesObj from './text_based_languages.devdocs.json'; diff --git a/api_docs/threat_intelligence.mdx b/api_docs/threat_intelligence.mdx index cd5373398fdc9f..caa3bf81086bad 100644 --- a/api_docs/threat_intelligence.mdx +++ b/api_docs/threat_intelligence.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/threatIntelligence title: "threatIntelligence" image: https://source.unsplash.com/400x175/?github description: API docs for the threatIntelligence plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'threatIntelligence'] --- import threatIntelligenceObj from './threat_intelligence.devdocs.json'; diff --git a/api_docs/timelines.devdocs.json b/api_docs/timelines.devdocs.json index 789d5bfbc93f48..82d413e7c9d40a 100644 --- a/api_docs/timelines.devdocs.json +++ b/api_docs/timelines.devdocs.json @@ -2937,150 +2937,6 @@ ], "initialIsOpen": false }, - { - "parentPluginId": "timelines", - "id": "def-common.TimelineEqlRequestOptions", - "type": "Interface", - "tags": [], - "label": "TimelineEqlRequestOptions", - "description": [], - "signature": [ - { - "pluginId": "timelines", - "scope": "common", - "docId": "kibTimelinesPluginApi", - "section": "def-common.TimelineEqlRequestOptions", - "text": "TimelineEqlRequestOptions" - }, - " extends ", - { - "pluginId": "data", - "scope": "common", - "docId": "kibDataSearchPluginApi", - "section": "def-common.EqlSearchStrategyRequest", - "text": "EqlSearchStrategyRequest" - }, - ",Omit<", - { - "pluginId": "timelines", - "scope": "common", - "docId": "kibTimelinesPluginApi", - "section": "def-common.TimelineEventsAllRequestOptions", - "text": "TimelineEventsAllRequestOptions" - }, - ", \"params\">" - ], - "path": "x-pack/plugins/timelines/common/search_strategy/timeline/events/eql/index.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "timelines", - "id": "def-common.TimelineEqlRequestOptions.eventCategoryField", - "type": "string", - "tags": [], - "label": "eventCategoryField", - "description": [], - "signature": [ - "string | undefined" - ], - "path": "x-pack/plugins/timelines/common/search_strategy/timeline/events/eql/index.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "timelines", - "id": "def-common.TimelineEqlRequestOptions.tiebreakerField", - "type": "string", - "tags": [], - "label": "tiebreakerField", - "description": [], - "signature": [ - "string | undefined" - ], - "path": "x-pack/plugins/timelines/common/search_strategy/timeline/events/eql/index.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "timelines", - "id": "def-common.TimelineEqlRequestOptions.timestampField", - "type": "string", - "tags": [], - "label": "timestampField", - "description": [], - "signature": [ - "string | undefined" - ], - "path": "x-pack/plugins/timelines/common/search_strategy/timeline/events/eql/index.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "timelines", - "id": "def-common.TimelineEqlRequestOptions.size", - "type": "number", - "tags": [], - "label": "size", - "description": [], - "signature": [ - "number | undefined" - ], - "path": "x-pack/plugins/timelines/common/search_strategy/timeline/events/eql/index.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "timelines", - "id": "def-common.TimelineEqlRequestOptions.runtime_mappings", - "type": "Object", - "tags": [], - "label": "runtime_mappings", - "description": [], - "signature": [ - "Record & { type: ", - { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.RuntimePrimitiveTypes", - "text": "RuntimePrimitiveTypes" - }, - "; }> | undefined" - ], - "path": "x-pack/plugins/timelines/common/search_strategy/timeline/events/eql/index.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "timelines", - "id": "def-common.TimelineEqlRequestOptions.body", - "type": "CompoundType", - "tags": [], - "label": "body", - "description": [], - "signature": [ - "(Omit<", - "EqlSearchRequest", - ", \"body\"> & EqlBody & { runtime_mappings?: ", - "RunTimeMappings", - "; }) | undefined" - ], - "path": "x-pack/plugins/timelines/common/search_strategy/timeline/events/eql/index.ts", - "deprecated": false, - "trackAdoption": false - } - ], - "initialIsOpen": false - }, { "parentPluginId": "timelines", "id": "def-common.TimelineEqlResponse", @@ -3182,153 +3038,6 @@ ], "initialIsOpen": false }, - { - "parentPluginId": "timelines", - "id": "def-common.TimelineEventsAllRequestOptions", - "type": "Interface", - "tags": [], - "label": "TimelineEventsAllRequestOptions", - "description": [], - "signature": [ - { - "pluginId": "timelines", - "scope": "common", - "docId": "kibTimelinesPluginApi", - "section": "def-common.TimelineEventsAllRequestOptions", - "text": "TimelineEventsAllRequestOptions" - }, - " extends ", - "TimelineRequestOptionsPaginated", - "" - ], - "path": "x-pack/plugins/timelines/common/search_strategy/timeline/events/all/index.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "timelines", - "id": "def-common.TimelineEventsAllRequestOptions.authFilter", - "type": "Object", - "tags": [], - "label": "authFilter", - "description": [], - "signature": [ - { - "pluginId": "@kbn/utility-types", - "scope": "common", - "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-common.JsonObject", - "text": "JsonObject" - }, - " | undefined" - ], - "path": "x-pack/plugins/timelines/common/search_strategy/timeline/events/all/index.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "timelines", - "id": "def-common.TimelineEventsAllRequestOptions.excludeEcsData", - "type": "CompoundType", - "tags": [], - "label": "excludeEcsData", - "description": [], - "signature": [ - "boolean | undefined" - ], - "path": "x-pack/plugins/timelines/common/search_strategy/timeline/events/all/index.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "timelines", - "id": "def-common.TimelineEventsAllRequestOptions.fieldRequested", - "type": "Array", - "tags": [], - "label": "fieldRequested", - "description": [], - "signature": [ - "string[]" - ], - "path": "x-pack/plugins/timelines/common/search_strategy/timeline/events/all/index.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "timelines", - "id": "def-common.TimelineEventsAllRequestOptions.fields", - "type": "CompoundType", - "tags": [], - "label": "fields", - "description": [], - "signature": [ - "string[] | { field: string; include_unmapped: boolean; }[]" - ], - "path": "x-pack/plugins/timelines/common/search_strategy/timeline/events/all/index.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "timelines", - "id": "def-common.TimelineEventsAllRequestOptions.language", - "type": "CompoundType", - "tags": [], - "label": "language", - "description": [], - "signature": [ - "\"eql\" | \"kuery\" | \"lucene\"" - ], - "path": "x-pack/plugins/timelines/common/search_strategy/timeline/events/all/index.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "timelines", - "id": "def-common.TimelineEventsAllRequestOptions.runtimeMappings", - "type": "Object", - "tags": [], - "label": "runtimeMappings", - "description": [], - "signature": [ - "Record & { type: ", - { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.RuntimePrimitiveTypes", - "text": "RuntimePrimitiveTypes" - }, - "; }> | undefined" - ], - "path": "x-pack/plugins/timelines/common/search_strategy/timeline/events/all/index.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "timelines", - "id": "def-common.TimelineEventsAllRequestOptions.filterStatus", - "type": "CompoundType", - "tags": [], - "label": "filterStatus", - "description": [], - "signature": [ - "AlertWorkflowStatus | undefined" - ], - "path": "x-pack/plugins/timelines/common/search_strategy/timeline/events/all/index.ts", - "deprecated": false, - "trackAdoption": false - } - ], - "initialIsOpen": false - }, { "parentPluginId": "timelines", "id": "def-common.TimelineEventsAllStrategyResponse", @@ -3538,75 +3247,6 @@ ], "initialIsOpen": false }, - { - "parentPluginId": "timelines", - "id": "def-common.TimelineEventsDetailsRequestOptions", - "type": "Interface", - "tags": [], - "label": "TimelineEventsDetailsRequestOptions", - "description": [], - "signature": [ - { - "pluginId": "timelines", - "scope": "common", - "docId": "kibTimelinesPluginApi", - "section": "def-common.TimelineEventsDetailsRequestOptions", - "text": "TimelineEventsDetailsRequestOptions" - }, - " extends Partial<", - "TimelineRequestOptionsPaginated", - ">" - ], - "path": "x-pack/plugins/timelines/common/search_strategy/timeline/events/details/index.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "timelines", - "id": "def-common.TimelineEventsDetailsRequestOptions.indexName", - "type": "string", - "tags": [], - "label": "indexName", - "description": [], - "path": "x-pack/plugins/timelines/common/search_strategy/timeline/events/details/index.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "timelines", - "id": "def-common.TimelineEventsDetailsRequestOptions.eventId", - "type": "string", - "tags": [], - "label": "eventId", - "description": [], - "path": "x-pack/plugins/timelines/common/search_strategy/timeline/events/details/index.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "timelines", - "id": "def-common.TimelineEventsDetailsRequestOptions.authFilter", - "type": "Object", - "tags": [], - "label": "authFilter", - "description": [], - "signature": [ - { - "pluginId": "@kbn/utility-types", - "scope": "common", - "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-common.JsonObject", - "text": "JsonObject" - }, - " | undefined" - ], - "path": "x-pack/plugins/timelines/common/search_strategy/timeline/events/details/index.ts", - "deprecated": false, - "trackAdoption": false - } - ], - "initialIsOpen": false - }, { "parentPluginId": "timelines", "id": "def-common.TimelineEventsDetailsStrategyResponse", @@ -3723,72 +3363,6 @@ ], "initialIsOpen": false }, - { - "parentPluginId": "timelines", - "id": "def-common.TimelineEventsLastEventTimeRequestOptions", - "type": "Interface", - "tags": [], - "label": "TimelineEventsLastEventTimeRequestOptions", - "description": [], - "signature": [ - { - "pluginId": "timelines", - "scope": "common", - "docId": "kibTimelinesPluginApi", - "section": "def-common.TimelineEventsLastEventTimeRequestOptions", - "text": "TimelineEventsLastEventTimeRequestOptions" - }, - " extends Omit<", - "TimelineRequestBasicOptions", - ", \"timerange\" | \"runtimeMappings\" | \"filterQuery\">" - ], - "path": "x-pack/plugins/timelines/common/search_strategy/timeline/events/last_event_time/index.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "timelines", - "id": "def-common.TimelineEventsLastEventTimeRequestOptions.indexKey", - "type": "Enum", - "tags": [], - "label": "indexKey", - "description": [], - "signature": [ - { - "pluginId": "timelines", - "scope": "common", - "docId": "kibTimelinesPluginApi", - "section": "def-common.LastEventIndexKey", - "text": "LastEventIndexKey" - } - ], - "path": "x-pack/plugins/timelines/common/search_strategy/timeline/events/last_event_time/index.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "timelines", - "id": "def-common.TimelineEventsLastEventTimeRequestOptions.details", - "type": "Object", - "tags": [], - "label": "details", - "description": [], - "signature": [ - { - "pluginId": "timelines", - "scope": "common", - "docId": "kibTimelinesPluginApi", - "section": "def-common.LastTimeDetails", - "text": "LastTimeDetails" - } - ], - "path": "x-pack/plugins/timelines/common/search_strategy/timeline/events/last_event_time/index.ts", - "deprecated": false, - "trackAdoption": false - } - ], - "initialIsOpen": false - }, { "parentPluginId": "timelines", "id": "def-common.TimelineEventsLastEventTimeStrategyResponse", @@ -4199,7 +3773,19 @@ "tags": [], "label": "LastEventIndexKey", "description": [], - "path": "x-pack/plugins/timelines/common/search_strategy/timeline/events/last_event_time/index.ts", + "path": "x-pack/plugins/timelines/common/api/search_strategy/timeline/events_last_event_time.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "timelines", + "id": "def-common.TimelineEventsQueries", + "type": "Enum", + "tags": [], + "label": "TimelineEventsQueries", + "description": [], + "path": "x-pack/plugins/timelines/common/api/search_strategy/model/timeline_events_queries.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -5099,43 +4685,131 @@ }, { "parentPluginId": "timelines", - "id": "def-common.TimelineKpiStrategyRequest", + "id": "def-common.TimelineEqlRequestOptionsInput", "type": "Type", "tags": [], - "label": "TimelineKpiStrategyRequest", + "label": "TimelineEqlRequestOptionsInput", "description": [], "signature": [ - "{ id?: string | undefined; params?: ", + "{ sort: { field: string; direction: ", { - "pluginId": "data", + "pluginId": "timelines", "scope": "common", - "docId": "kibDataSearchPluginApi", - "section": "def-common.ISearchRequestParams", - "text": "ISearchRequestParams" + "docId": "kibTimelinesPluginApi", + "section": "def-common.Direction", + "text": "Direction" }, - " | undefined; timerange?: ", + "; esTypes?: string[] | undefined; type?: string | undefined; }[]; language: \"eql\"; fieldRequested: string[]; params?: any; timerange?: { interval: string; from: string; to: string; } | undefined; defaultIndex?: string[] | undefined; runtimeMappings?: Record; } | undefined; fetch_fields?: string[] | undefined; format?: string | undefined; input_field?: string | undefined; target_field?: string | undefined; target_index?: string | undefined; }> | undefined; indexType?: string | undefined; entityType?: \"events\" | \"sessions\" | undefined; filterStatus?: \"open\" | \"closed\" | \"acknowledged\" | undefined; pagination?: Zod.objectInputType<{ activePage: Zod.ZodNumber; cursorStart: Zod.ZodOptional; querySize: Zod.ZodNumber; }, Zod.ZodTypeAny, \"passthrough\"> | undefined; filterQuery?: string | Record | { range: Record; } | { query_string: { query: string; analyze_wildcard: boolean; }; } | { match: Record; } | { term: Record; } | { bool: { filter: {}[]; must: {}[]; must_not: {}[]; should: {}[]; }; } | undefined; eventCategoryField?: string | undefined; tiebreakerField?: string | undefined; timestampField?: string | undefined; size?: number | undefined; runTimeMappings?: Record; } | undefined; fetch_fields?: string[] | undefined; format?: string | undefined; input_field?: string | undefined; target_field?: string | undefined; target_index?: string | undefined; }> | undefined; }" + ], + "path": "x-pack/plugins/timelines/common/api/search_strategy/timeline/eql.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "timelines", + "id": "def-common.TimelineEventsAllOptionsInput", + "type": "Type", + "tags": [], + "label": "TimelineEventsAllOptionsInput", + "description": [], + "signature": [ + "{ sort: { field: string; esTypes: string[]; direction: ", { "pluginId": "timelines", "scope": "common", "docId": "kibTimelinesPluginApi", - "section": "def-common.TimerangeInput", - "text": "TimerangeInput" + "section": "def-common.Direction", + "text": "Direction" }, - " | undefined; defaultIndex: string[]; filterQuery: string | ", - "ESQuery", - " | undefined; factoryQueryType?: ", - "TimelineEventsQueries", - " | undefined; entityType?: ", + "; type?: string | undefined; }[]; fields: (string | { field: string; include_unmapped: boolean; })[]; language: \"kuery\" | \"lucene\"; fieldRequested: string[]; factoryQueryType: ", { "pluginId": "timelines", "scope": "common", "docId": "kibTimelinesPluginApi", - "section": "def-common.EntityType", - "text": "EntityType" + "section": "def-common.TimelineEventsQueries", + "text": "TimelineEventsQueries" }, - " | undefined; indexType?: string | undefined; }" + ".all; params?: any; timerange?: { interval: string; from: string; to: string; } | undefined; defaultIndex?: string[] | undefined; indexType?: string | undefined; entityType?: \"events\" | \"sessions\" | undefined; filterStatus?: \"open\" | \"closed\" | \"acknowledged\" | undefined; pagination?: Zod.objectInputType<{ activePage: Zod.ZodNumber; cursorStart: Zod.ZodOptional; querySize: Zod.ZodNumber; }, Zod.ZodTypeAny, \"passthrough\"> | undefined; authFilter?: {} | undefined; excludeEcsData?: boolean | undefined; filterQuery?: any; runtimeMappings?: Record; } | undefined; fetch_fields?: string[] | undefined; format?: string | undefined; input_field?: string | undefined; target_field?: string | undefined; target_index?: string | undefined; }> | undefined; }" ], - "path": "x-pack/plugins/timelines/common/search_strategy/timeline/events/last_event_time/index.ts", + "path": "x-pack/plugins/timelines/common/api/search_strategy/timeline/events_all.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "timelines", + "id": "def-common.TimelineEventsDetailsRequestOptionsInput", + "type": "Type", + "tags": [], + "label": "TimelineEventsDetailsRequestOptionsInput", + "description": [], + "signature": [ + "{ indexName: string; factoryQueryType: ", + { + "pluginId": "timelines", + "scope": "common", + "docId": "kibTimelinesPluginApi", + "section": "def-common.TimelineEventsQueries", + "text": "TimelineEventsQueries" + }, + ".details; eventId: string; params?: any; timerange?: { interval: string; from: string; to: string; } | undefined; defaultIndex?: string[] | undefined; filterQuery?: string | Record | { range: Record; } | { query_string: { query: string; analyze_wildcard: boolean; }; } | { match: Record; } | { term: Record; } | { bool: { filter: {}[]; must: {}[]; must_not: {}[]; should: {}[]; }; } | undefined; indexType?: string | undefined; entityType?: \"events\" | \"sessions\" | undefined; filterStatus?: \"open\" | \"closed\" | \"acknowledged\" | undefined; pagination?: Zod.objectInputType<{ activePage: Zod.ZodNumber; cursorStart: Zod.ZodOptional; querySize: Zod.ZodNumber; }, Zod.ZodTypeAny, \"passthrough\"> | undefined; authFilter?: {} | undefined; runtimeMappings?: Record; } | undefined; fetch_fields?: string[] | undefined; format?: string | undefined; input_field?: string | undefined; target_field?: string | undefined; target_index?: string | undefined; }> | undefined; }" + ], + "path": "x-pack/plugins/timelines/common/api/search_strategy/timeline/events_details.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "timelines", + "id": "def-common.TimelineEventsLastEventTimeRequestOptionsInput", + "type": "Type", + "tags": [], + "label": "TimelineEventsLastEventTimeRequestOptionsInput", + "description": [], + "signature": [ + "{ details: { hostName?: string | null | undefined; userName?: string | null | undefined; ip?: string | null | undefined; }; factoryQueryType: ", + { + "pluginId": "timelines", + "scope": "common", + "docId": "kibTimelinesPluginApi", + "section": "def-common.TimelineEventsQueries", + "text": "TimelineEventsQueries" + }, + ".lastEventTime; indexKey: ", + { + "pluginId": "timelines", + "scope": "common", + "docId": "kibTimelinesPluginApi", + "section": "def-common.LastEventIndexKey", + "text": "LastEventIndexKey" + }, + "; params?: any; defaultIndex?: string[] | undefined; indexType?: string | undefined; entityType?: \"events\" | \"sessions\" | undefined; filterStatus?: \"open\" | \"closed\" | \"acknowledged\" | undefined; }" + ], + "path": "x-pack/plugins/timelines/common/api/search_strategy/timeline/events_last_event_time.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "timelines", + "id": "def-common.TimelineKpiRequestOptionsInput", + "type": "Type", + "tags": [], + "label": "TimelineKpiRequestOptionsInput", + "description": [], + "signature": [ + "{ factoryQueryType: ", + { + "pluginId": "timelines", + "scope": "common", + "docId": "kibTimelinesPluginApi", + "section": "def-common.TimelineEventsQueries", + "text": "TimelineEventsQueries" + }, + ".kpi; params?: any; timerange?: { interval: string; from: string; to: string; } | undefined; defaultIndex?: string[] | undefined; runtimeMappings?: Record; } | undefined; fetch_fields?: string[] | undefined; format?: string | undefined; input_field?: string | undefined; target_field?: string | undefined; target_index?: string | undefined; }> | undefined; filterQuery?: string | Record | { range: Record; } | { query_string: { query: string; analyze_wildcard: boolean; }; } | { match: Record; } | { term: Record; } | { bool: { filter: {}[]; must: {}[]; must_not: {}[]; should: {}[]; }; } | undefined; indexType?: string | undefined; entityType?: \"events\" | \"sessions\" | undefined; filterStatus?: \"open\" | \"closed\" | \"acknowledged\" | undefined; }" + ], + "path": "x-pack/plugins/timelines/common/api/search_strategy/timeline/kpi.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false diff --git a/api_docs/timelines.mdx b/api_docs/timelines.mdx index e045494640abb3..808f39224ace77 100644 --- a/api_docs/timelines.mdx +++ b/api_docs/timelines.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/timelines title: "timelines" image: https://source.unsplash.com/400x175/?github description: API docs for the timelines plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'timelines'] --- import timelinesObj from './timelines.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/security-threat-hunting-investigations](https://github.com/org | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 257 | 1 | 213 | 22 | +| 240 | 1 | 196 | 17 | ## Client diff --git a/api_docs/transform.mdx b/api_docs/transform.mdx index df9ed8edbc01b1..12c0a247ef6480 100644 --- a/api_docs/transform.mdx +++ b/api_docs/transform.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/transform title: "transform" image: https://source.unsplash.com/400x175/?github description: API docs for the transform plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'transform'] --- import transformObj from './transform.devdocs.json'; diff --git a/api_docs/triggers_actions_ui.devdocs.json b/api_docs/triggers_actions_ui.devdocs.json index 2bbfb1290b8963..389ff0f130e26e 100644 --- a/api_docs/triggers_actions_ui.devdocs.json +++ b/api_docs/triggers_actions_ui.devdocs.json @@ -1214,7 +1214,7 @@ "label": "loadRuleAggregations", "description": [], "signature": [ - "({\n http,\n searchText,\n typesFilter,\n actionTypesFilter,\n ruleExecutionStatusesFilter,\n ruleStatusesFilter,\n tagsFilter,\n}: ", + "({\n http,\n searchText,\n typesFilter,\n actionTypesFilter,\n ruleExecutionStatusesFilter,\n ruleStatusesFilter,\n tagsFilter,\n filterConsumers,\n}: ", "LoadRuleAggregationsProps", ") => Promise<", "AggregateRulesResponse", @@ -1229,7 +1229,7 @@ "id": "def-public.loadRuleAggregations.$1", "type": "Object", "tags": [], - "label": "{\n http,\n searchText,\n typesFilter,\n actionTypesFilter,\n ruleExecutionStatusesFilter,\n ruleStatusesFilter,\n tagsFilter,\n}", + "label": "{\n http,\n searchText,\n typesFilter,\n actionTypesFilter,\n ruleExecutionStatusesFilter,\n ruleStatusesFilter,\n tagsFilter,\n filterConsumers,\n}", "description": [], "signature": [ "LoadRuleAggregationsProps" @@ -6238,6 +6238,21 @@ "trackAdoption": false, "initialIsOpen": false }, + { + "parentPluginId": "triggersActionsUi", + "id": "def-public.RuleCreationValidConsumer", + "type": "Type", + "tags": [], + "label": "RuleCreationValidConsumer", + "description": [], + "signature": [ + "\"logs\" | \"infrastructure\" | \"stackAlerts\"" + ], + "path": "x-pack/plugins/triggers_actions_ui/public/types.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, { "parentPluginId": "triggersActionsUi", "id": "def-public.RuleEventLogListProps", diff --git a/api_docs/triggers_actions_ui.mdx b/api_docs/triggers_actions_ui.mdx index 1097cbe6086063..df5a76abf9f2d0 100644 --- a/api_docs/triggers_actions_ui.mdx +++ b/api_docs/triggers_actions_ui.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/triggersActionsUi title: "triggersActionsUi" image: https://source.unsplash.com/400x175/?github description: API docs for the triggersActionsUi plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'triggersActionsUi'] --- import triggersActionsUiObj from './triggers_actions_ui.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/response-ops](https://github.com/orgs/elastic/teams/response-o | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 576 | 1 | 550 | 52 | +| 577 | 1 | 551 | 52 | ## Client diff --git a/api_docs/ui_actions.mdx b/api_docs/ui_actions.mdx index 1cbb5fba59fb84..d52144d661862f 100644 --- a/api_docs/ui_actions.mdx +++ b/api_docs/ui_actions.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/uiActions title: "uiActions" image: https://source.unsplash.com/400x175/?github description: API docs for the uiActions plugin -date: 2023-09-21 +date: 2023-09-22 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 d9d66d5e74ee3d..05e5d8e42c28c5 100644 --- a/api_docs/ui_actions_enhanced.mdx +++ b/api_docs/ui_actions_enhanced.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/uiActionsEnhanced title: "uiActionsEnhanced" image: https://source.unsplash.com/400x175/?github description: API docs for the uiActionsEnhanced plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'uiActionsEnhanced'] --- import uiActionsEnhancedObj from './ui_actions_enhanced.devdocs.json'; diff --git a/api_docs/unified_doc_viewer.mdx b/api_docs/unified_doc_viewer.mdx index 9e53e32a5431c4..33048024dc6e76 100644 --- a/api_docs/unified_doc_viewer.mdx +++ b/api_docs/unified_doc_viewer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/unifiedDocViewer title: "unifiedDocViewer" image: https://source.unsplash.com/400x175/?github description: API docs for the unifiedDocViewer plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'unifiedDocViewer'] --- import unifiedDocViewerObj from './unified_doc_viewer.devdocs.json'; diff --git a/api_docs/unified_histogram.mdx b/api_docs/unified_histogram.mdx index 14e7d09cda721f..e03dbbc665e92f 100644 --- a/api_docs/unified_histogram.mdx +++ b/api_docs/unified_histogram.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/unifiedHistogram title: "unifiedHistogram" image: https://source.unsplash.com/400x175/?github description: API docs for the unifiedHistogram plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'unifiedHistogram'] --- import unifiedHistogramObj from './unified_histogram.devdocs.json'; diff --git a/api_docs/unified_search.mdx b/api_docs/unified_search.mdx index 7a4d624baa26f5..22d4518d69543c 100644 --- a/api_docs/unified_search.mdx +++ b/api_docs/unified_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/unifiedSearch title: "unifiedSearch" image: https://source.unsplash.com/400x175/?github description: API docs for the unifiedSearch plugin -date: 2023-09-21 +date: 2023-09-22 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 f6bd35705d3d3d..c5462d81d54970 100644 --- a/api_docs/unified_search_autocomplete.mdx +++ b/api_docs/unified_search_autocomplete.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/unifiedSearch-autocomplete title: "unifiedSearch.autocomplete" image: https://source.unsplash.com/400x175/?github description: API docs for the unifiedSearch.autocomplete plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'unifiedSearch.autocomplete'] --- import unifiedSearchAutocompleteObj from './unified_search_autocomplete.devdocs.json'; diff --git a/api_docs/uptime.mdx b/api_docs/uptime.mdx index ad87dc1ae461f7..4f0d39cd4a1595 100644 --- a/api_docs/uptime.mdx +++ b/api_docs/uptime.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/uptime title: "uptime" image: https://source.unsplash.com/400x175/?github description: API docs for the uptime plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'uptime'] --- import uptimeObj from './uptime.devdocs.json'; diff --git a/api_docs/url_forwarding.mdx b/api_docs/url_forwarding.mdx index a608afc4f80850..f0026daef911bf 100644 --- a/api_docs/url_forwarding.mdx +++ b/api_docs/url_forwarding.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/urlForwarding title: "urlForwarding" image: https://source.unsplash.com/400x175/?github description: API docs for the urlForwarding plugin -date: 2023-09-21 +date: 2023-09-22 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 d709c17c5879e7..ea963f774c09b6 100644 --- a/api_docs/usage_collection.mdx +++ b/api_docs/usage_collection.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/usageCollection title: "usageCollection" image: https://source.unsplash.com/400x175/?github description: API docs for the usageCollection plugin -date: 2023-09-21 +date: 2023-09-22 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 6cd6a2755d5115..064481b8f8f6b2 100644 --- a/api_docs/ux.mdx +++ b/api_docs/ux.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/ux title: "ux" image: https://source.unsplash.com/400x175/?github description: API docs for the ux plugin -date: 2023-09-21 +date: 2023-09-22 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 d9876b235a598e..273e3e9156ee95 100644 --- a/api_docs/vis_default_editor.mdx +++ b/api_docs/vis_default_editor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visDefaultEditor title: "visDefaultEditor" image: https://source.unsplash.com/400x175/?github description: API docs for the visDefaultEditor plugin -date: 2023-09-21 +date: 2023-09-22 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 8fc1446a1081c1..3db41e76a99c29 100644 --- a/api_docs/vis_type_gauge.mdx +++ b/api_docs/vis_type_gauge.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeGauge title: "visTypeGauge" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeGauge plugin -date: 2023-09-21 +date: 2023-09-22 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 4b2db22360e643..6b6a69fddd6dc2 100644 --- a/api_docs/vis_type_heatmap.mdx +++ b/api_docs/vis_type_heatmap.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeHeatmap title: "visTypeHeatmap" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeHeatmap plugin -date: 2023-09-21 +date: 2023-09-22 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 0ddeff74aafca1..97d72682a34922 100644 --- a/api_docs/vis_type_pie.mdx +++ b/api_docs/vis_type_pie.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypePie title: "visTypePie" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypePie plugin -date: 2023-09-21 +date: 2023-09-22 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 defb27e85ef611..def64f41e8e54f 100644 --- a/api_docs/vis_type_table.mdx +++ b/api_docs/vis_type_table.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeTable title: "visTypeTable" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeTable plugin -date: 2023-09-21 +date: 2023-09-22 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 017a8b07f64066..1181189a097a8a 100644 --- a/api_docs/vis_type_timelion.mdx +++ b/api_docs/vis_type_timelion.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeTimelion title: "visTypeTimelion" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeTimelion plugin -date: 2023-09-21 +date: 2023-09-22 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 f847aee632b628..4d58d808a52d7d 100644 --- a/api_docs/vis_type_timeseries.mdx +++ b/api_docs/vis_type_timeseries.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeTimeseries title: "visTypeTimeseries" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeTimeseries plugin -date: 2023-09-21 +date: 2023-09-22 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 3cb1db646e81ff..6562041cfc4997 100644 --- a/api_docs/vis_type_vega.mdx +++ b/api_docs/vis_type_vega.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeVega title: "visTypeVega" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeVega plugin -date: 2023-09-21 +date: 2023-09-22 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 1561f33597aa21..5ffd1754e564d4 100644 --- a/api_docs/vis_type_vislib.mdx +++ b/api_docs/vis_type_vislib.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeVislib title: "visTypeVislib" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeVislib plugin -date: 2023-09-21 +date: 2023-09-22 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 043982c89fc8d6..683d3cff7fcff0 100644 --- a/api_docs/vis_type_xy.mdx +++ b/api_docs/vis_type_xy.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeXy title: "visTypeXy" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeXy plugin -date: 2023-09-21 +date: 2023-09-22 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 d3c74ddb825064..e7250b4926ef4b 100644 --- a/api_docs/visualizations.mdx +++ b/api_docs/visualizations.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visualizations title: "visualizations" image: https://source.unsplash.com/400x175/?github description: API docs for the visualizations plugin -date: 2023-09-21 +date: 2023-09-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visualizations'] --- import visualizationsObj from './visualizations.devdocs.json'; From db2e9d0a50a184803cb60a143ebbb52d1703967e Mon Sep 17 00:00:00 2001 From: Philippe Oberti Date: Fri, 22 Sep 2023 08:45:46 +0200 Subject: [PATCH 33/72] [Security Solution] expandable flyout - prevalence details datepicker displayed in full width (#166714) --- .../public/flyout/left/components/prevalence_details.tsx | 1 + 1 file changed, 1 insertion(+) diff --git a/x-pack/plugins/security_solution/public/flyout/left/components/prevalence_details.tsx b/x-pack/plugins/security_solution/public/flyout/left/components/prevalence_details.tsx index 10244240bfc607..4af7c2feeeb464 100644 --- a/x-pack/plugins/security_solution/public/flyout/left/components/prevalence_details.tsx +++ b/x-pack/plugins/security_solution/public/flyout/left/components/prevalence_details.tsx @@ -363,6 +363,7 @@ export const PrevalenceDetails: React.FC = () => { end={end} onTimeChange={onTimeChange} data-test-subj={PREVALENCE_DETAILS_DATE_PICKER_TEST_ID} + width="full" /> {data.length > 0 ? ( From e7c4a84cb640b455e9483debef7e8825928adfdc Mon Sep 17 00:00:00 2001 From: Philippe Oberti Date: Fri, 22 Sep 2023 08:46:13 +0200 Subject: [PATCH 34/72] [Security Solution] expandable flyout - add tooltip to expandable panel link titles (#166737) --- .../components/analyzer_preview_container.tsx | 12 +++- .../components/correlations_overview.tsx | 10 +++- .../right/components/entities_overview.tsx | 10 +++- .../right/components/prevalence_overview.tsx | 12 +++- .../components/session_preview_container.tsx | 12 +++- .../threat_intelligence_overview.tsx | 10 +++- .../shared/components/expandable_panel.tsx | 55 +++++++++++++------ 7 files changed, 96 insertions(+), 25 deletions(-) diff --git a/x-pack/plugins/security_solution/public/flyout/right/components/analyzer_preview_container.tsx b/x-pack/plugins/security_solution/public/flyout/right/components/analyzer_preview_container.tsx index fd582b37d6fcb7..b059bcd1138d01 100644 --- a/x-pack/plugins/security_solution/public/flyout/right/components/analyzer_preview_container.tsx +++ b/x-pack/plugins/security_solution/public/flyout/right/components/analyzer_preview_container.tsx @@ -64,7 +64,17 @@ export const AnalyzerPreviewContainer: React.FC = () => { /> ), iconType: 'timeline', - ...(isEnabled && { callback: goToAnalyzerTab }), + ...(isEnabled && { + link: { + callback: goToAnalyzerTab, + tooltip: ( + + ), + }, + }), }} data-test-subj={ANALYZER_PREVIEW_TEST_ID} > diff --git a/x-pack/plugins/security_solution/public/flyout/right/components/correlations_overview.tsx b/x-pack/plugins/security_solution/public/flyout/right/components/correlations_overview.tsx index b9dddc7d07ac47..1911d3a6fb5dda 100644 --- a/x-pack/plugins/security_solution/public/flyout/right/components/correlations_overview.tsx +++ b/x-pack/plugins/security_solution/public/flyout/right/components/correlations_overview.tsx @@ -90,7 +90,15 @@ export const CorrelationsOverview: React.FC = () => { defaultMessage="Correlations" /> ), - callback: goToCorrelationsTab, + link: { + callback: goToCorrelationsTab, + tooltip: ( + + ), + }, iconType: 'arrowStart', }} data-test-subj={CORRELATIONS_TEST_ID} diff --git a/x-pack/plugins/security_solution/public/flyout/right/components/entities_overview.tsx b/x-pack/plugins/security_solution/public/flyout/right/components/entities_overview.tsx index ff2c314ec76f46..52ac44137a1d64 100644 --- a/x-pack/plugins/security_solution/public/flyout/right/components/entities_overview.tsx +++ b/x-pack/plugins/security_solution/public/flyout/right/components/entities_overview.tsx @@ -52,7 +52,15 @@ export const EntitiesOverview: React.FC = () => { defaultMessage="Entities" /> ), - callback: goToEntitiesTab, + link: { + callback: goToEntitiesTab, + tooltip: ( + + ), + }, iconType: 'arrowStart', }} data-test-subj={INSIGHTS_ENTITIES_TEST_ID} diff --git a/x-pack/plugins/security_solution/public/flyout/right/components/prevalence_overview.tsx b/x-pack/plugins/security_solution/public/flyout/right/components/prevalence_overview.tsx index 5f682462d059ea..36bb9c7c5b1690 100644 --- a/x-pack/plugins/security_solution/public/flyout/right/components/prevalence_overview.tsx +++ b/x-pack/plugins/security_solution/public/flyout/right/components/prevalence_overview.tsx @@ -31,7 +31,7 @@ export const PrevalenceOverview: FC = () => { useRightPanelContext(); const { openLeftPanel } = useExpandableFlyoutContext(); - const goToCorrelationsTab = useCallback(() => { + const goPrevalenceTab = useCallback(() => { openLeftPanel({ id: LeftPanelKey, path: { @@ -76,7 +76,15 @@ export const PrevalenceOverview: FC = () => { defaultMessage="Prevalence" /> ), - callback: goToCorrelationsTab, + link: { + callback: goPrevalenceTab, + tooltip: ( + + ), + }, iconType: 'arrowStart', }} content={{ loading, error }} diff --git a/x-pack/plugins/security_solution/public/flyout/right/components/session_preview_container.tsx b/x-pack/plugins/security_solution/public/flyout/right/components/session_preview_container.tsx index e3fe9a191ebcb6..3fc3905ca6da97 100644 --- a/x-pack/plugins/security_solution/public/flyout/right/components/session_preview_container.tsx +++ b/x-pack/plugins/security_solution/public/flyout/right/components/session_preview_container.tsx @@ -130,7 +130,17 @@ export const SessionPreviewContainer: FC = () => { /> ), iconType: 'timeline', - ...(isEnabled && { callback: goToSessionViewTab }), + ...(isEnabled && { + link: { + callback: goToSessionViewTab, + tooltip: ( + + ), + }, + }), }} data-test-subj={SESSION_PREVIEW_TEST_ID} > diff --git a/x-pack/plugins/security_solution/public/flyout/right/components/threat_intelligence_overview.tsx b/x-pack/plugins/security_solution/public/flyout/right/components/threat_intelligence_overview.tsx index 0175d44e4f4bde..7fbcd048a1197e 100644 --- a/x-pack/plugins/security_solution/public/flyout/right/components/threat_intelligence_overview.tsx +++ b/x-pack/plugins/security_solution/public/flyout/right/components/threat_intelligence_overview.tsx @@ -55,7 +55,15 @@ export const ThreatIntelligenceOverview: FC = () => { defaultMessage="Threat intelligence" /> ), - callback: goToThreatIntelligenceTab, + link: { + callback: goToThreatIntelligenceTab, + tooltip: ( + + ), + }, iconType: 'arrowStart', }} data-test-subj={INSIGHTS_THREAT_INTELLIGENCE_TEST_ID} diff --git a/x-pack/plugins/security_solution/public/flyout/shared/components/expandable_panel.tsx b/x-pack/plugins/security_solution/public/flyout/shared/components/expandable_panel.tsx index 1de328f5c44b60..4f06ce9a45eb43 100644 --- a/x-pack/plugins/security_solution/public/flyout/shared/components/expandable_panel.tsx +++ b/x-pack/plugins/security_solution/public/flyout/shared/components/expandable_panel.tsx @@ -18,6 +18,7 @@ import { EuiText, EuiLoadingSpinner, useEuiTheme, + EuiToolTip, } from '@elastic/eui'; import type { IconType } from '@elastic/eui'; import { css } from '@emotion/react'; @@ -28,10 +29,16 @@ export interface ExpandablePanelPanelProps { * String value of the title to be displayed in the header of panel */ title: string | React.ReactNode; - /** - * Callback function to be called when the title is clicked - */ - callback?: () => void; + link?: { + /** + * Callback function to be called when the title is clicked + */ + callback: () => void; + /** + * Tooltip text to be displayed around the title link + */ + tooltip: React.ReactNode; + }; /** * Icon string for displaying the specified icon in the header */ @@ -74,7 +81,7 @@ export interface ExpandablePanelPanelProps { * The component can be expanded or collapsed by clicking on the chevron icon on the left of the title. */ export const ExpandablePanel: React.FC = ({ - header: { title, callback, iconType, headerContent }, + header: { title, link, iconType, headerContent }, content: { loading, error } = { loading: false, error: false }, expand: { expandable, expandedOnFirstRender } = { expandable: false, @@ -116,7 +123,7 @@ export const ExpandablePanel: React.FC = ({ {expandable && children && toggleIcon} = ({ /> - {callback ? ( - - {title} - + {link?.callback ? ( + + + {title} + + ) : ( {title} @@ -145,7 +154,17 @@ export const ExpandablePanel: React.FC = ({ ), - [dataTestSubj, expandable, children, toggleIcon, callback, iconType, euiTheme.size.s, title] + [ + dataTestSubj, + expandable, + children, + toggleIcon, + link?.callback, + iconType, + euiTheme.size.s, + link?.tooltip, + title, + ] ); const headerRightSection = useMemo( From b4d8f6ef51967f05e026224674e8177d864a1fef Mon Sep 17 00:00:00 2001 From: Philippe Oberti Date: Fri, 22 Sep 2023 08:46:50 +0200 Subject: [PATCH 35/72] [Security Solution] expandable flyout - add tooltip to correlations table cells (#166913) --- .../correlations_details_alerts_table.tsx | 31 +++++++++++++--- .../flyout/left/components/related_cases.tsx | 11 +++--- .../components/cell_tooltip_wrapper.test.tsx | 22 ++++++++++++ .../components/cell_tooltip_wrapper.tsx | 35 +++++++++++++++++++ 4 files changed, 91 insertions(+), 8 deletions(-) create mode 100644 x-pack/plugins/security_solution/public/flyout/shared/components/cell_tooltip_wrapper.test.tsx create mode 100644 x-pack/plugins/security_solution/public/flyout/shared/components/cell_tooltip_wrapper.tsx diff --git a/x-pack/plugins/security_solution/public/flyout/left/components/correlations_details_alerts_table.tsx b/x-pack/plugins/security_solution/public/flyout/left/components/correlations_details_alerts_table.tsx index 0f113efe317aa7..60296da8d43cd5 100644 --- a/x-pack/plugins/security_solution/public/flyout/left/components/correlations_details_alerts_table.tsx +++ b/x-pack/plugins/security_solution/public/flyout/left/components/correlations_details_alerts_table.tsx @@ -6,7 +6,7 @@ */ import type { ReactElement, ReactNode } from 'react'; -import React, { type FC, useMemo, useCallback } from 'react'; +import React, { type VFC, useMemo, useCallback } from 'react'; import { type Criteria, EuiBasicTable, formatDate } from '@elastic/eui'; import { Severity } from '@kbn/securitysolution-io-ts-alerting-types'; import type { Filter } from '@kbn/es-query'; @@ -14,6 +14,7 @@ import { isRight } from 'fp-ts/lib/Either'; import { ALERT_REASON, ALERT_RULE_NAME } from '@kbn/rule-data-utils'; import { FormattedMessage } from '@kbn/i18n-react'; import { i18n } from '@kbn/i18n'; +import { CellTooltipWrapper } from '../../shared/components/cell_tooltip_wrapper'; import type { DataProvider } from '../../../../common/types'; import { SeverityBadge } from '../../../detections/components/rules/severity_badge'; import { usePaginatedAlerts } from '../hooks/use_paginated_alerts'; @@ -36,7 +37,14 @@ export const columns = [ ), truncateText: true, dataType: 'date' as const, - render: (value: string) => formatDate(value, TIMESTAMP_DATE_FORMAT), + render: (value: string) => { + const date = formatDate(value, TIMESTAMP_DATE_FORMAT); + return ( + + {date} + + ); + }, }, { field: ALERT_RULE_NAME, @@ -47,6 +55,11 @@ export const columns = [ /> ), truncateText: true, + render: (value: string) => ( + + {value} + + ), }, { field: ALERT_REASON, @@ -57,6 +70,11 @@ export const columns = [ /> ), truncateText: true, + render: (value: string) => ( + + {value} + + ), }, { field: 'kibana.alert.severity', @@ -69,7 +87,12 @@ export const columns = [ truncateText: true, render: (value: string) => { const decodedSeverity = Severity.decode(value); - return isRight(decodedSeverity) ? : value; + const renderValue = isRight(decodedSeverity) ? ( + + ) : ( +

    {value}

    + ); + return {renderValue}; }, }, ]; @@ -108,7 +131,7 @@ export interface CorrelationsDetailsAlertsTableProps { /** * Renders paginated alert array based on the provided alertIds */ -export const CorrelationsDetailsAlertsTable: FC = ({ +export const CorrelationsDetailsAlertsTable: VFC = ({ title, loading, alertIds, diff --git a/x-pack/plugins/security_solution/public/flyout/left/components/related_cases.tsx b/x-pack/plugins/security_solution/public/flyout/left/components/related_cases.tsx index 5818b9314390c4..76a97e6e710538 100644 --- a/x-pack/plugins/security_solution/public/flyout/left/components/related_cases.tsx +++ b/x-pack/plugins/security_solution/public/flyout/left/components/related_cases.tsx @@ -10,6 +10,7 @@ import type { EuiBasicTableColumn } from '@elastic/eui'; import { EuiInMemoryTable, EuiSkeletonText } from '@elastic/eui'; import type { RelatedCase } from '@kbn/cases-plugin/common'; import { FormattedMessage } from '@kbn/i18n-react'; +import { CellTooltipWrapper } from '../../shared/components/cell_tooltip_wrapper'; import { CaseDetailsLink } from '../../../common/components/links'; import { CORRELATIONS_DETAILS_CASES_SECTION_TABLE_TEST_ID, @@ -29,11 +30,12 @@ const columns: Array> = [ defaultMessage="Name" /> ), - truncateText: true, render: (value: string, caseData: RelatedCase) => ( - - {caseData.title} - + + + {caseData.title} + + ), }, { @@ -45,6 +47,7 @@ const columns: Array> = [ /> ), truncateText: true, + width: '25%', }, ]; diff --git a/x-pack/plugins/security_solution/public/flyout/shared/components/cell_tooltip_wrapper.test.tsx b/x-pack/plugins/security_solution/public/flyout/shared/components/cell_tooltip_wrapper.test.tsx new file mode 100644 index 00000000000000..3e6b6d7e47f8ad --- /dev/null +++ b/x-pack/plugins/security_solution/public/flyout/shared/components/cell_tooltip_wrapper.test.tsx @@ -0,0 +1,22 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import React from 'react'; +import { render } from '@testing-library/react'; +import { CellTooltipWrapper } from './cell_tooltip_wrapper'; + +const TEST_ID = 'test-id'; +const children =

    {'test content'}

    ; + +describe('', () => { + it('should render non-expandable panel by default', () => { + const { getByTestId } = render( + {children} + ); + expect(getByTestId(TEST_ID)).toBeInTheDocument(); + }); +}); diff --git a/x-pack/plugins/security_solution/public/flyout/shared/components/cell_tooltip_wrapper.tsx b/x-pack/plugins/security_solution/public/flyout/shared/components/cell_tooltip_wrapper.tsx new file mode 100644 index 00000000000000..39bbd08fc3ba64 --- /dev/null +++ b/x-pack/plugins/security_solution/public/flyout/shared/components/cell_tooltip_wrapper.tsx @@ -0,0 +1,35 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import type { VFC, ReactElement } from 'react'; +import React from 'react'; +import { EuiToolTip } from '@elastic/eui'; + +export interface CellTooltipWrapperProps { + /** + * Value displayed in the tooltip and in the cell itself + */ + tooltip: string | ReactElement; + /** + * Tooltip anchor position + */ + anchorPosition?: 'left' | 'right' | 'top' | 'bottom'; + /** + * React components to render + */ + children: React.ReactElement; +} + +export const CellTooltipWrapper: VFC = ({ + tooltip, + anchorPosition = 'top', + children, +}) => ( + + {children} + +); From 416dabf505e8cf2941ae8dd6187af707cfac68a6 Mon Sep 17 00:00:00 2001 From: Philippe Oberti Date: Fri, 22 Sep 2023 08:47:33 +0200 Subject: [PATCH 36/72] [Security Solution] expandable flyout - increase line-height for session preview (#166932) --- .../public/flyout/right/components/session_preview.tsx | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/x-pack/plugins/security_solution/public/flyout/right/components/session_preview.tsx b/x-pack/plugins/security_solution/public/flyout/right/components/session_preview.tsx index 1bfca23f84ffad..889d0c2f62c049 100644 --- a/x-pack/plugins/security_solution/public/flyout/right/components/session_preview.tsx +++ b/x-pack/plugins/security_solution/public/flyout/right/components/session_preview.tsx @@ -8,6 +8,7 @@ import { EuiCode, EuiIcon, useEuiTheme } from '@elastic/eui'; import type { ReactElement } from 'react'; import React, { useMemo, type FC } from 'react'; +import { css } from '@emotion/react'; import { FormattedMessage } from '@kbn/i18n-react'; import { SESSION_PREVIEW_TEST_ID } from './test_ids'; import { useRightPanelContext } from '../context'; @@ -127,7 +128,12 @@ export const SessionPreview: FC = () => { }, [command, workdir]); return ( -
    +
      From 0eda41a46da91ba3b4fd90a8478e1aecb03154f0 Mon Sep 17 00:00:00 2001 From: Umberto Pepato Date: Fri, 22 Sep 2023 09:23:13 +0200 Subject: [PATCH 37/72] [RAM] Add missing privilege to alerting read operations (#166603) Closes #158957 ## Summary Adds the missing `getActionErrorLog` privilege. With the updated privileges, users with a custom Role including full access to "Actions and Connectors", "Rule Settings" and "Stack Rules" can successfully inspect errored actions' logs: ![Errored actions logs](https://github.com/elastic/kibana/assets/18363145/0d34f6a3-d586-4fe7-b987-a829de0d852d) ## To Test - Create a Role with `All` privileges granted in `Actions and Connectors`, `Rules Settings`, `Stack Rules` (under Kibana > Management) and assign it to a user - Log in with that user - Create a rule with a failing action (i.e. an Email Connector with wrong addresses) - Wait for the rule to execute (or execute it manually) - In the rule page, under `History` click the number under `Errored actions` in one of the rows of the logs table - Check that error logs are visible in the flyout --- .../alerting.test.ts | 8 ++ .../feature_privilege_builder/alerting.ts | 1 + .../tests/alerting/get_action_error_log.ts | 108 +++++++++++++++++- 3 files changed, 113 insertions(+), 4 deletions(-) diff --git a/x-pack/plugins/security/server/authorization/privileges/feature_privilege_builder/alerting.test.ts b/x-pack/plugins/security/server/authorization/privileges/feature_privilege_builder/alerting.test.ts index 86689c03ab96b1..cd919f0725a235 100644 --- a/x-pack/plugins/security/server/authorization/privileges/feature_privilege_builder/alerting.test.ts +++ b/x-pack/plugins/security/server/authorization/privileges/feature_privilege_builder/alerting.test.ts @@ -87,6 +87,7 @@ describe(`feature_privilege_builder`, () => { "alerting:alert-type/my-feature/rule/getRuleState", "alerting:alert-type/my-feature/rule/getAlertSummary", "alerting:alert-type/my-feature/rule/getExecutionLog", + "alerting:alert-type/my-feature/rule/getActionErrorLog", "alerting:alert-type/my-feature/rule/find", "alerting:alert-type/my-feature/rule/getRuleExecutionKPI", "alerting:alert-type/my-feature/rule/runSoon", @@ -174,6 +175,7 @@ describe(`feature_privilege_builder`, () => { "alerting:alert-type/my-feature/rule/getRuleState", "alerting:alert-type/my-feature/rule/getAlertSummary", "alerting:alert-type/my-feature/rule/getExecutionLog", + "alerting:alert-type/my-feature/rule/getActionErrorLog", "alerting:alert-type/my-feature/rule/find", "alerting:alert-type/my-feature/rule/getRuleExecutionKPI", "alerting:alert-type/my-feature/rule/runSoon", @@ -221,6 +223,7 @@ describe(`feature_privilege_builder`, () => { "alerting:alert-type/my-feature/rule/getRuleState", "alerting:alert-type/my-feature/rule/getAlertSummary", "alerting:alert-type/my-feature/rule/getExecutionLog", + "alerting:alert-type/my-feature/rule/getActionErrorLog", "alerting:alert-type/my-feature/rule/find", "alerting:alert-type/my-feature/rule/getRuleExecutionKPI", "alerting:alert-type/my-feature/rule/runSoon", @@ -325,6 +328,7 @@ describe(`feature_privilege_builder`, () => { "alerting:alert-type/my-feature/rule/getRuleState", "alerting:alert-type/my-feature/rule/getAlertSummary", "alerting:alert-type/my-feature/rule/getExecutionLog", + "alerting:alert-type/my-feature/rule/getActionErrorLog", "alerting:alert-type/my-feature/rule/find", "alerting:alert-type/my-feature/rule/getRuleExecutionKPI", "alerting:alert-type/my-feature/rule/runSoon", @@ -389,6 +393,7 @@ describe(`feature_privilege_builder`, () => { "alerting:alert-type/my-feature/rule/getRuleState", "alerting:alert-type/my-feature/rule/getAlertSummary", "alerting:alert-type/my-feature/rule/getExecutionLog", + "alerting:alert-type/my-feature/rule/getActionErrorLog", "alerting:alert-type/my-feature/rule/find", "alerting:alert-type/my-feature/rule/getRuleExecutionKPI", "alerting:alert-type/my-feature/rule/runSoon", @@ -412,6 +417,7 @@ describe(`feature_privilege_builder`, () => { "alerting:readonly-alert-type/my-feature/rule/getRuleState", "alerting:readonly-alert-type/my-feature/rule/getAlertSummary", "alerting:readonly-alert-type/my-feature/rule/getExecutionLog", + "alerting:readonly-alert-type/my-feature/rule/getActionErrorLog", "alerting:readonly-alert-type/my-feature/rule/find", "alerting:readonly-alert-type/my-feature/rule/getRuleExecutionKPI", "alerting:readonly-alert-type/my-feature/rule/runSoon", @@ -504,6 +510,7 @@ describe(`feature_privilege_builder`, () => { "alerting:alert-type/my-feature/rule/getRuleState", "alerting:alert-type/my-feature/rule/getAlertSummary", "alerting:alert-type/my-feature/rule/getExecutionLog", + "alerting:alert-type/my-feature/rule/getActionErrorLog", "alerting:alert-type/my-feature/rule/find", "alerting:alert-type/my-feature/rule/getRuleExecutionKPI", "alerting:alert-type/my-feature/rule/runSoon", @@ -527,6 +534,7 @@ describe(`feature_privilege_builder`, () => { "alerting:readonly-alert-type/my-feature/rule/getRuleState", "alerting:readonly-alert-type/my-feature/rule/getAlertSummary", "alerting:readonly-alert-type/my-feature/rule/getExecutionLog", + "alerting:readonly-alert-type/my-feature/rule/getActionErrorLog", "alerting:readonly-alert-type/my-feature/rule/find", "alerting:readonly-alert-type/my-feature/rule/getRuleExecutionKPI", "alerting:readonly-alert-type/my-feature/rule/runSoon", diff --git a/x-pack/plugins/security/server/authorization/privileges/feature_privilege_builder/alerting.ts b/x-pack/plugins/security/server/authorization/privileges/feature_privilege_builder/alerting.ts index 612981c9ffb0c4..871b1cfee169ef 100644 --- a/x-pack/plugins/security/server/authorization/privileges/feature_privilege_builder/alerting.ts +++ b/x-pack/plugins/security/server/authorization/privileges/feature_privilege_builder/alerting.ts @@ -22,6 +22,7 @@ const readOperations: Record = { 'getRuleState', 'getAlertSummary', 'getExecutionLog', + 'getActionErrorLog', 'find', 'getRuleExecutionKPI', 'runSoon', diff --git a/x-pack/test/alerting_api_integration/security_and_spaces/group2/tests/alerting/get_action_error_log.ts b/x-pack/test/alerting_api_integration/security_and_spaces/group2/tests/alerting/get_action_error_log.ts index c2e4084fd195c0..754adcc6c9ae25 100644 --- a/x-pack/test/alerting_api_integration/security_and_spaces/group2/tests/alerting/get_action_error_log.ts +++ b/x-pack/test/alerting_api_integration/security_and_spaces/group2/tests/alerting/get_action_error_log.ts @@ -8,13 +8,20 @@ import expect from '@kbn/expect'; import { ESTestIndexTool } from '@kbn/alerting-api-integration-helpers'; -import { Spaces } from '../../../scenarios'; -import { getUrlPrefix, ObjectRemover, getTestRuleData, getEventLog } from '../../../../common/lib'; +import { Spaces, UserAtSpaceScenarios } from '../../../scenarios'; +import { + getUrlPrefix, + ObjectRemover, + getTestRuleData, + getEventLog, + getConsumerUnauthorizedErrorMessage, +} from '../../../../common/lib'; import { FtrProviderContext } from '../../../../common/ftr_provider_context'; // eslint-disable-next-line import/no-default-export export default function createGetActionErrorLogTests({ getService }: FtrProviderContext) { const supertest = getService('supertest'); + const supertestWithoutAuth = getService('supertestWithoutAuth'); const retry = getService('retry'); const es = getService('es'); const esTestIndexTool = new ESTestIndexTool(es, retry); @@ -33,6 +40,98 @@ export default function createGetActionErrorLogTests({ getService }: FtrProvider await objectRemover.removeAll(); }); + for (const scenario of UserAtSpaceScenarios) { + const { user, space } = scenario; + describe(scenario.id, () => { + it('gets action error logs for rules with action errors with appropriate authorization', async () => { + const { body: createdConnector } = await supertest + .post(`${getUrlPrefix(space.id)}/api/actions/connector`) + .set('kbn-xsrf', 'foo') + .send({ + name: 'connector that throws', + connector_type_id: 'test.throw', + config: {}, + secrets: {}, + }) + .expect(200); + objectRemover.add(space.id, createdConnector.id, 'action', 'actions'); + + const { body: createdRule } = await supertest + .post(`${getUrlPrefix(space.id)}/api/alerting/rule`) + .set('kbn-xsrf', 'foo') + .send( + getTestRuleData({ + rule_type_id: 'test.cumulative-firing', + actions: [ + { + id: createdConnector.id, + group: 'default', + params: {}, + }, + ], + }) + ) + .expect(200); + objectRemover.add(space.id, createdRule.id, 'rule', 'alerting'); + + await waitForEvents( + createdRule.id, + 'alerting', + new Map([['execute', { gte: 1 }]]), + space.id + ); + await waitForEvents( + createdRule.id, + 'actions', + new Map([['execute', { gte: 1 }]]), + space.id + ); + + const response = await supertestWithoutAuth + .get( + `${getUrlPrefix(space.id)}/internal/alerting/rule/${ + createdRule.id + }/_action_error_log?date_start=${dateStart}` + ) + .auth(user.username, user.password); + + switch (scenario.id) { + case 'no_kibana_privileges at space1': + case 'space_1_all at space2': + expect(response.statusCode).to.eql(403); + expect(response.body).to.eql({ + error: 'Forbidden', + message: getConsumerUnauthorizedErrorMessage( + 'get', + 'test.cumulative-firing', + 'alertsFixture' + ), + statusCode: 403, + }); + break; + case 'global_read at space1': + case 'superuser at space1': + case 'space_1_all at space1': + case 'space_1_all_alerts_none_actions at space1': + case 'space_1_all_with_restricted_fixture at space1': + expect(response.statusCode).to.eql(200); + expect(response.body.totalErrors).to.eql(1); + expect(response.body.errors.length).to.eql(1); + + for (const errors of response.body.errors) { + expect(errors.type).to.equal('actions'); + expect(errors.message).to.equal( + `action execution failure: test.throw:${createdConnector.id}: connector that throws - an error occurred while running the action: this action is intended to fail; retry: true` + ); + } + break; + default: + throw new Error(`Scenario untested: ${JSON.stringify(scenario)}`); + } + }); + }); + } + it('gets action error logs from an alternate space', async () => { const { body: createdConnector } = await supertest .post(`${getUrlPrefix(Spaces[1].id)}/api/actions/connector`) @@ -99,12 +198,13 @@ export default function createGetActionErrorLogTests({ getService }: FtrProvider { gte: number; } - > + >, + spaceId = Spaces[1].id ) { await retry.try(async () => { return await getEventLog({ getService, - spaceId: Spaces[1].id, + spaceId, type: 'alert', id, provider, From 98d2766de805b63db6a1b6e0a7bc5f04e4024788 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cau=C3=AA=20Marcondes?= <55978943+cauemarcondes@users.noreply.github.com> Date: Fri, 22 Sep 2023 09:16:48 +0100 Subject: [PATCH 38/72] [Profiling-APM] Removing Profiling dependency from APM (#166253) This PR removes the Profiling dependency from APM, introduced on `8.10`. - Exposes a new service in profiling-data-access plugin - Create a new APM API that calls the new service and checks if Profiling is initialized - Move Locators from the Profiling plugin to the Observability-shared plugin - Move logic to check Profiling status (has_setup/has_data...) from Profiling server to profiling-data-access plugin - Create API tests, testing the status services based on different scenarios: - When profiling hasn't been initialized and there's no data - When profiling is initialized but has no data - When collector integration is not installed - When symbolized integration is not installed - When APM server integration is not found --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> --- .../common/profiling_status.ts | 13 + packages/kbn-profiling-utils/index.ts | 1 + x-pack/plugins/apm/kibana.jsonc | 1 - .../transaction_action_menu.test.tsx | 56 ++- .../apm_plugin/mock_apm_plugin_context.tsx | 17 + .../apm/public/hooks/use_profiling_plugin.tsx | 25 +- .../apm/server/routes/profiling/route.ts | 31 ++ .../plugins/observability_shared/kibana.jsonc | 2 +- .../locators/profiling}/flamegraph_locator.ts | 0 .../profiling}/stacktraces_locator.ts | 0 .../profiling}/topn_functions_locator.ts | 0 .../observability_shared/public/plugin.ts | 27 +- .../observability_shared/tsconfig.json | 4 +- x-pack/plugins/profiling/public/plugin.tsx | 33 +- .../server/lib/setup/cluster_settings.ts | 31 +- .../server/lib/setup/fleet_policies.ts | 92 +---- .../lib/setup/get_setup_instructions.ts | 2 +- .../server/lib/setup/security_role.ts | 21 +- .../plugins/profiling/server/routes/setup.ts | 167 +++----- x-pack/plugins/profiling/tsconfig.json | 1 - .../common/cluster_settings.ts | 37 ++ .../common/fleet_policies.ts | 106 ++++++ .../common}/get_apm_policy.ts | 2 +- .../common}/has_profiling_data.ts | 3 +- .../profiling_data_access/common/index.ts | 16 + .../common/profiling_es_client.ts | 24 ++ .../common/security_role.ts | 24 ++ .../common/setup.test.ts | 0 .../common/setup.ts | 15 +- .../profiling_data_access/kibana.jsonc | 6 +- .../profiling_data_access/server/plugin.ts | 22 +- .../server/services/get_setup_state/index.ts | 56 +++ .../server/services/register_services.ts | 15 +- .../services/search_stack_traces/index.ts | 2 +- .../server/services/status/index.ts | 80 ++++ .../profiling_data_access/server/types.ts | 13 + .../utils/create_profiling_es_client.ts | 15 +- .../profiling_data_access/tsconfig.json | 6 +- .../common/bettertest.ts | 70 ++++ .../common/config.ts | 29 +- .../common/registry.ts | 46 +-- .../tests/__snapshots__/functions.spec.snap | 2 +- .../tests/feature_controls.spec.ts | 9 +- .../tests/functions.spec.ts | 54 ++- .../tests/has_setup.spec.ts | 357 ++++++++++++++++++ .../profiling_api_integration/utils/fleet.ts | 38 ++ .../utils/profiling_data.ts | 97 +++++ x-pack/test/tsconfig.json | 1 + 48 files changed, 1243 insertions(+), 426 deletions(-) create mode 100644 packages/kbn-profiling-utils/common/profiling_status.ts rename x-pack/plugins/{profiling/public/locators => observability_shared/public/locators/profiling}/flamegraph_locator.ts (100%) rename x-pack/plugins/{profiling/public/locators => observability_shared/public/locators/profiling}/stacktraces_locator.ts (100%) rename x-pack/plugins/{profiling/public/locators => observability_shared/public/locators/profiling}/topn_functions_locator.ts (100%) create mode 100644 x-pack/plugins/profiling_data_access/common/cluster_settings.ts create mode 100644 x-pack/plugins/profiling_data_access/common/fleet_policies.ts rename x-pack/plugins/{profiling/server/lib/setup => profiling_data_access/common}/get_apm_policy.ts (89%) rename x-pack/plugins/{profiling/server/lib/setup => profiling_data_access/common}/has_profiling_data.ts (85%) create mode 100644 x-pack/plugins/profiling_data_access/common/index.ts create mode 100644 x-pack/plugins/profiling_data_access/common/profiling_es_client.ts create mode 100644 x-pack/plugins/profiling_data_access/common/security_role.ts rename x-pack/plugins/{profiling => profiling_data_access}/common/setup.test.ts (100%) rename x-pack/plugins/{profiling => profiling_data_access}/common/setup.ts (83%) create mode 100644 x-pack/plugins/profiling_data_access/server/services/get_setup_state/index.ts create mode 100644 x-pack/plugins/profiling_data_access/server/services/status/index.ts create mode 100644 x-pack/plugins/profiling_data_access/server/types.ts create mode 100644 x-pack/test/profiling_api_integration/common/bettertest.ts create mode 100644 x-pack/test/profiling_api_integration/tests/has_setup.spec.ts create mode 100644 x-pack/test/profiling_api_integration/utils/fleet.ts create mode 100644 x-pack/test/profiling_api_integration/utils/profiling_data.ts diff --git a/packages/kbn-profiling-utils/common/profiling_status.ts b/packages/kbn-profiling-utils/common/profiling_status.ts new file mode 100644 index 00000000000000..72c15a5b6a15f3 --- /dev/null +++ b/packages/kbn-profiling-utils/common/profiling_status.ts @@ -0,0 +1,13 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 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 interface ProfilingStatus { + has_setup: boolean; + has_data: boolean; + pre_8_9_1_data: boolean; + unauthorized?: boolean; +} diff --git a/packages/kbn-profiling-utils/index.ts b/packages/kbn-profiling-utils/index.ts index f5719dbc7b32d2..38ab8d11be2375 100644 --- a/packages/kbn-profiling-utils/index.ts +++ b/packages/kbn-profiling-utils/index.ts @@ -49,4 +49,5 @@ export type { StackTrace, StackTraceID, } from './common/profiling'; +export type { ProfilingStatus } from './common/profiling_status'; export type { TopNFunctions } from './common/functions'; diff --git a/x-pack/plugins/apm/kibana.jsonc b/x-pack/plugins/apm/kibana.jsonc index 5cdc440e0ff243..a72209f18fa52e 100644 --- a/x-pack/plugins/apm/kibana.jsonc +++ b/x-pack/plugins/apm/kibana.jsonc @@ -50,7 +50,6 @@ "usageCollection", "customIntegrations", // Move this to requiredPlugins after completely migrating from the Tutorials Home App "licenseManagement", - "profiling", "profilingDataAccess" ], "requiredBundles": [ diff --git a/x-pack/plugins/apm/public/components/shared/transaction_action_menu/transaction_action_menu.test.tsx b/x-pack/plugins/apm/public/components/shared/transaction_action_menu/transaction_action_menu.test.tsx index 555217d1c0b7b6..5e1b8e6b099d08 100644 --- a/x-pack/plugins/apm/public/components/shared/transaction_action_menu/transaction_action_menu.test.tsx +++ b/x-pack/plugins/apm/public/components/shared/transaction_action_menu/transaction_action_menu.test.tsx @@ -79,7 +79,8 @@ const expectInfraLocatorsToBeCalled = () => { describe('TransactionActionMenu component', () => { beforeAll(() => { jest.spyOn(hooks, 'useFetcher').mockReturnValue({ - data: [], + // return as Profiling had been initialized + data: { initialized: true }, status: hooks.FETCH_STATUS.SUCCESS, refetch: jest.fn(), }); @@ -253,6 +254,27 @@ describe('TransactionActionMenu component', () => { expect(container).toMatchSnapshot(); }); + describe('Profiling items', () => { + it('renders flamegraph item', async () => { + const component = await renderTransaction( + Transactions.transactionWithHostData + ); + expectTextsInDocument(component, ['Host flamegraph']); + }); + it('renders topN functions item', async () => { + const component = await renderTransaction( + Transactions.transactionWithHostData + ); + expectTextsInDocument(component, ['Host topN functions']); + }); + it('renders stacktraces item', async () => { + const component = await renderTransaction( + Transactions.transactionWithHostData + ); + expectTextsInDocument(component, ['Host stacktraces']); + }); + }); + describe('Custom links', () => { beforeAll(() => { // Mocks callApmAPI because it's going to be used to fecth the transaction in the custom links flyout. @@ -393,3 +415,35 @@ describe('TransactionActionMenu component', () => { }); }); }); + +describe('Profiling not initialized', () => { + beforeAll(() => { + jest.spyOn(hooks, 'useFetcher').mockReturnValue({ + // return as Profiling had not been initialized + data: { initialized: false }, + status: hooks.FETCH_STATUS.SUCCESS, + refetch: jest.fn(), + }); + }); + afterEach(() => { + jest.clearAllMocks(); + }); + it('does not render flamegraph item', async () => { + const component = await renderTransaction( + Transactions.transactionWithHostData + ); + expectTextsNotInDocument(component, ['Host flamegraph']); + }); + it('does not render topN functions item', async () => { + const component = await renderTransaction( + Transactions.transactionWithHostData + ); + expectTextsNotInDocument(component, ['Host topN functions']); + }); + it('does not render stacktraces item', async () => { + const component = await renderTransaction( + Transactions.transactionWithHostData + ); + expectTextsNotInDocument(component, ['Host stacktraces']); + }); +}); diff --git a/x-pack/plugins/apm/public/context/apm_plugin/mock_apm_plugin_context.tsx b/x-pack/plugins/apm/public/context/apm_plugin/mock_apm_plugin_context.tsx index 919e98267c8b2e..941e8568a45b70 100644 --- a/x-pack/plugins/apm/public/context/apm_plugin/mock_apm_plugin_context.tsx +++ b/x-pack/plugins/apm/public/context/apm_plugin/mock_apm_plugin_context.tsx @@ -18,6 +18,7 @@ import { MlLocatorDefinition } from '@kbn/ml-plugin/public'; import { enableComparisonByDefault } from '@kbn/observability-plugin/public'; import { sharePluginMock } from '@kbn/share-plugin/public/mocks'; import type { InfraLocators } from '@kbn/infra-plugin/common/locators'; +import { apmEnableProfilingIntegration } from '@kbn/observability-plugin/common'; import { ApmPluginContext, ApmPluginContextValue } from './apm_plugin_context'; import { ConfigSchema } from '../..'; import { createCallApmApi } from '../../services/rest/create_call_apm_api'; @@ -57,6 +58,7 @@ const mockCore = merge({}, coreStart, { value: 100000, }, [enableComparisonByDefault]: true, + [apmEnableProfilingIntegration]: true, }; return uiSettings[key]; }, @@ -108,6 +110,21 @@ const mockPlugin = { }, }, }, + observabilityShared: { + locators: { + profiling: { + flamegraphLocator: { + getRedirectUrl: () => '/profiling/flamegraphs/flamegraph', + }, + topNFunctionsLocator: { + getRedirectUrl: () => '/profiling/functions/topn', + }, + stacktracesLocator: { + getRedirectUrl: () => '/profiling/stacktraces/threads', + }, + }, + }, + }, }; export const infraLocatorsMock: InfraLocators = { diff --git a/x-pack/plugins/apm/public/hooks/use_profiling_plugin.tsx b/x-pack/plugins/apm/public/hooks/use_profiling_plugin.tsx index 829a094375d301..e28d8f22e08ffa 100644 --- a/x-pack/plugins/apm/public/hooks/use_profiling_plugin.tsx +++ b/x-pack/plugins/apm/public/hooks/use_profiling_plugin.tsx @@ -5,9 +5,9 @@ * 2.0. */ -import { useEffect, useState } from 'react'; import { apmEnableProfilingIntegration } from '@kbn/observability-plugin/common'; import { useApmPluginContext } from '../context/apm_plugin/use_apm_plugin_context'; +import { useFetcher } from './use_fetcher'; export function useProfilingPlugin() { const { plugins, core } = useApmPluginContext(); @@ -15,30 +15,19 @@ export function useProfilingPlugin() { apmEnableProfilingIntegration, false ); - const [isProfilingPluginInitialized, setIsProfilingPluginInitialized] = - useState(); - useEffect(() => { - async function fetchIsProfilingSetup() { - if (!plugins.profiling) { - setIsProfilingPluginInitialized(false); - return; - } - const resp = await plugins.profiling.hasSetup(); - setIsProfilingPluginInitialized(resp); - } - - fetchIsProfilingSetup(); - }, [plugins.profiling]); + const { data } = useFetcher((callApmApi) => { + return callApmApi('GET /internal/apm/profiling/status'); + }, []); const isProfilingAvailable = - isProfilingIntegrationEnabled && isProfilingPluginInitialized; + isProfilingIntegrationEnabled && data?.initialized; return { - isProfilingPluginInitialized, profilingLocators: isProfilingAvailable - ? plugins.profiling?.locators + ? plugins.observabilityShared.locators.profiling : undefined, + isProfilingPluginInitialized: data?.initialized, isProfilingIntegrationEnabled, isProfilingAvailable, }; diff --git a/x-pack/plugins/apm/server/routes/profiling/route.ts b/x-pack/plugins/apm/server/routes/profiling/route.ts index e87fbd9a513d61..78c605cb2f4572 100644 --- a/x-pack/plugins/apm/server/routes/profiling/route.ts +++ b/x-pack/plugins/apm/server/routes/profiling/route.ts @@ -131,7 +131,38 @@ const profilingFunctionsRoute = createApmServerRoute({ }, }); +const profilingStatusRoute = createApmServerRoute({ + endpoint: 'GET /internal/apm/profiling/status', + options: { tags: ['access:apm'] }, + handler: async (resources): Promise<{ initialized: boolean }> => { + const { context, plugins, logger } = resources; + const [esClient, profilingDataAccessStart] = await Promise.all([ + (await context.core).elasticsearch.client, + await plugins.profilingDataAccess?.start(), + ]); + if (profilingDataAccessStart) { + try { + const response = await profilingDataAccessStart?.services.getStatus({ + esClient: esClient.asCurrentUser, + soClient: (await context.core).savedObjects.client, + spaceId: ( + await plugins.spaces?.start() + )?.spacesService.getSpaceId(resources.request), + }); + + return { initialized: response.has_setup }; + } catch (e) { + // If any error happens just return as if profiling has not been initialized + logger.warn('Could not check Universal Profiling status'); + } + } + + return { initialized: false }; + }, +}); + export const profilingRouteRepository = { ...profilingFlamegraphRoute, + ...profilingStatusRoute, ...profilingFunctionsRoute, }; diff --git a/x-pack/plugins/observability_shared/kibana.jsonc b/x-pack/plugins/observability_shared/kibana.jsonc index f4e97551031bff..e1d5b14d23932f 100644 --- a/x-pack/plugins/observability_shared/kibana.jsonc +++ b/x-pack/plugins/observability_shared/kibana.jsonc @@ -7,7 +7,7 @@ "server": false, "browser": true, "configPath": ["xpack", "observability_shared"], - "requiredPlugins": ["cases", "guidedOnboarding", "uiActions", "embeddable"], + "requiredPlugins": ["cases", "guidedOnboarding", "uiActions", "embeddable", "share"], "optionalPlugins": [], "requiredBundles": ["data", "inspector", "kibanaReact", "kibanaUtils"], "extraPublicDirs": ["common"] diff --git a/x-pack/plugins/profiling/public/locators/flamegraph_locator.ts b/x-pack/plugins/observability_shared/public/locators/profiling/flamegraph_locator.ts similarity index 100% rename from x-pack/plugins/profiling/public/locators/flamegraph_locator.ts rename to x-pack/plugins/observability_shared/public/locators/profiling/flamegraph_locator.ts diff --git a/x-pack/plugins/profiling/public/locators/stacktraces_locator.ts b/x-pack/plugins/observability_shared/public/locators/profiling/stacktraces_locator.ts similarity index 100% rename from x-pack/plugins/profiling/public/locators/stacktraces_locator.ts rename to x-pack/plugins/observability_shared/public/locators/profiling/stacktraces_locator.ts diff --git a/x-pack/plugins/profiling/public/locators/topn_functions_locator.ts b/x-pack/plugins/observability_shared/public/locators/profiling/topn_functions_locator.ts similarity index 100% rename from x-pack/plugins/profiling/public/locators/topn_functions_locator.ts rename to x-pack/plugins/observability_shared/public/locators/profiling/topn_functions_locator.ts diff --git a/x-pack/plugins/observability_shared/public/plugin.ts b/x-pack/plugins/observability_shared/public/plugin.ts index b2f886a2368d71..550259184dfb19 100644 --- a/x-pack/plugins/observability_shared/public/plugin.ts +++ b/x-pack/plugins/observability_shared/public/plugin.ts @@ -6,15 +6,22 @@ */ import { BehaviorSubject } from 'rxjs'; - -import type { CoreStart, Plugin } from '@kbn/core/public'; +import type { CoreStart, Plugin, CoreSetup } from '@kbn/core/public'; import type { GuidedOnboardingPluginStart } from '@kbn/guided-onboarding-plugin/public'; import { CasesUiStart } from '@kbn/cases-plugin/public'; import { SpacesPluginStart } from '@kbn/spaces-plugin/public'; import type { EmbeddableStart } from '@kbn/embeddable-plugin/public'; +import type { SharePluginSetup, SharePluginStart } from '@kbn/share-plugin/public'; import { createNavigationRegistry } from './components/page_template/helpers/navigation_registry'; import { createLazyObservabilityPageTemplate } from './components/page_template'; import { updateGlobalNavigation } from './services/update_global_navigation'; +import { FlamegraphLocatorDefinition } from './locators/profiling/flamegraph_locator'; +import { TopNFunctionsLocatorDefinition } from './locators/profiling/topn_functions_locator'; +import { StacktracesLocatorDefinition } from './locators/profiling/stacktraces_locator'; + +export interface ObservabilitySharedSetup { + share: SharePluginSetup; +} export interface ObservabilitySharedStart { spaces?: SpacesPluginStart; @@ -22,6 +29,7 @@ export interface ObservabilitySharedStart { guidedOnboarding: GuidedOnboardingPluginStart; setIsSidebarEnabled: (isEnabled: boolean) => void; embeddable: EmbeddableStart; + share: SharePluginStart; } export type ObservabilitySharedPluginSetup = ReturnType; @@ -35,8 +43,21 @@ export class ObservabilitySharedPlugin implements Plugin { this.isSidebarEnabled$ = new BehaviorSubject(true); } - public setup() { + public setup(coreSetup: CoreSetup, pluginsSetup: ObservabilitySharedSetup) { return { + locators: { + profiling: { + flamegraphLocator: pluginsSetup.share.url.locators.create( + new FlamegraphLocatorDefinition() + ), + topNFunctionsLocator: pluginsSetup.share.url.locators.create( + new TopNFunctionsLocatorDefinition() + ), + stacktracesLocator: pluginsSetup.share.url.locators.create( + new StacktracesLocatorDefinition() + ), + }, + }, navigation: { registerSections: this.navigationRegistry.registerSections, }, diff --git a/x-pack/plugins/observability_shared/tsconfig.json b/x-pack/plugins/observability_shared/tsconfig.json index f5ca4094ee961e..ee7efc921b6aa9 100644 --- a/x-pack/plugins/observability_shared/tsconfig.json +++ b/x-pack/plugins/observability_shared/tsconfig.json @@ -33,7 +33,9 @@ "@kbn/kibana-utils-plugin", "@kbn/shared-ux-router", "@kbn/embeddable-plugin", - "@kbn/profiling-utils" + "@kbn/profiling-utils", + "@kbn/utility-types", + "@kbn/share-plugin" ], "exclude": ["target/**/*"] } diff --git a/x-pack/plugins/profiling/public/plugin.tsx b/x-pack/plugins/profiling/public/plugin.tsx index 5534519e93877f..d888ba6ce97843 100644 --- a/x-pack/plugins/profiling/public/plugin.tsx +++ b/x-pack/plugins/profiling/public/plugin.tsx @@ -17,13 +17,10 @@ import type { NavigationSection } from '@kbn/observability-shared-plugin/public' import type { Location } from 'history'; import { BehaviorSubject, combineLatest, from, map } from 'rxjs'; import { registerEmbeddables } from './embeddables/register_embeddables'; -import { FlamegraphLocatorDefinition } from './locators/flamegraph_locator'; -import { StacktracesLocatorDefinition } from './locators/stacktraces_locator'; -import { TopNFunctionsLocatorDefinition } from './locators/topn_functions_locator'; import { getServices } from './services'; import type { ProfilingPluginPublicSetupDeps, ProfilingPluginPublicStartDeps } from './types'; -export type ProfilingPluginSetup = ReturnType; +export type ProfilingPluginSetup = void; export type ProfilingPluginStart = void; export class ProfilingPlugin implements Plugin { @@ -133,33 +130,7 @@ export class ProfilingPlugin implements Plugin { registerEmbeddables(pluginsSetup.embeddable); - return { - locators: { - flamegraphLocator: pluginsSetup.share.url.locators.create( - new FlamegraphLocatorDefinition() - ), - topNFunctionsLocator: pluginsSetup.share.url.locators.create( - new TopNFunctionsLocatorDefinition() - ), - stacktracesLocator: pluginsSetup.share.url.locators.create( - new StacktracesLocatorDefinition() - ), - }, - hasSetup: async () => { - try { - const response = (await coreSetup.http.get('/internal/profiling/setup/es_resources')) as { - has_setup: boolean; - has_data: boolean; - unauthorized: boolean; - }; - - return response.has_setup; - } catch (e) { - // If any error happens while checking return as it has not been set up - return false; - } - }, - }; + return {}; } public start(core: CoreStart) { diff --git a/x-pack/plugins/profiling/server/lib/setup/cluster_settings.ts b/x-pack/plugins/profiling/server/lib/setup/cluster_settings.ts index dde0b33da62912..3d838bc7a5c31b 100644 --- a/x-pack/plugins/profiling/server/lib/setup/cluster_settings.ts +++ b/x-pack/plugins/profiling/server/lib/setup/cluster_settings.ts @@ -5,22 +5,8 @@ * 2.0. */ +import { MAX_BUCKETS } from '@kbn/profiling-data-access-plugin/common'; import { ProfilingSetupOptions } from './types'; -import { PartialSetupState } from '../../../common/setup'; - -const MAX_BUCKETS = 150000; - -export async function validateMaximumBuckets({ - client, -}: ProfilingSetupOptions): Promise { - const settings = await client.getEsClient().cluster.getSettings({}); - const maxBuckets = settings.persistent.search?.max_buckets; - return { - settings: { - configured: maxBuckets === MAX_BUCKETS.toString(), - }, - }; -} export async function setMaximumBuckets({ client }: ProfilingSetupOptions) { await client.getEsClient().cluster.putSettings({ @@ -32,21 +18,6 @@ export async function setMaximumBuckets({ client }: ProfilingSetupOptions) { }); } -export async function validateResourceManagement({ - client, -}: ProfilingSetupOptions): Promise { - const statusResponse = await client.profilingStatus(); - return { - resource_management: { - enabled: statusResponse.resource_management.enabled, - }, - resources: { - created: statusResponse.resources.created, - pre_8_9_1_data: statusResponse.resources.pre_8_9_1_data, - }, - }; -} - export async function enableResourceManagement({ client }: ProfilingSetupOptions) { await client.getEsClient().cluster.putSettings({ persistent: { diff --git a/x-pack/plugins/profiling/server/lib/setup/fleet_policies.ts b/x-pack/plugins/profiling/server/lib/setup/fleet_policies.ts index ccba170b5fed9e..326ebc19dd9f1d 100644 --- a/x-pack/plugins/profiling/server/lib/setup/fleet_policies.ts +++ b/x-pack/plugins/profiling/server/lib/setup/fleet_policies.ts @@ -5,53 +5,18 @@ * 2.0. */ -import { SavedObjectsClientContract } from '@kbn/core/server'; -import { PackagePolicyClient } from '@kbn/fleet-plugin/server'; import { fetchFindLatestPackageOrThrow } from '@kbn/fleet-plugin/server/services/epm/registry'; +import { + COLLECTOR_PACKAGE_POLICY_NAME, + ELASTIC_CLOUD_APM_POLICY, + SYMBOLIZER_PACKAGE_POLICY_NAME, + getApmPolicy, +} from '@kbn/profiling-data-access-plugin/common'; import { omit } from 'lodash'; import { PackageInputType } from '../..'; -import { PartialSetupState } from '../../../common/setup'; -import { ELASTIC_CLOUD_APM_POLICY, getApmPolicy } from './get_apm_policy'; import { ProfilingSetupOptions } from './types'; const CLOUD_AGENT_POLICY_ID = 'policy-elastic-agent-on-cloud'; -const COLLECTOR_PACKAGE_POLICY_NAME = 'elastic-universal-profiling-collector'; -const SYMBOLIZER_PACKAGE_POLICY_NAME = 'elastic-universal-profiling-symbolizer'; - -async function getPackagePolicy({ - soClient, - packagePolicyClient, - packageName, -}: { - packagePolicyClient: PackagePolicyClient; - soClient: SavedObjectsClientContract; - packageName: string; -}) { - const packagePolicies = await packagePolicyClient.list(soClient, {}); - return packagePolicies.items.find((pkg) => pkg.name === packageName); -} - -export async function getCollectorPolicy({ - soClient, - packagePolicyClient, -}: { - packagePolicyClient: PackagePolicyClient; - soClient: SavedObjectsClientContract; -}) { - return getPackagePolicy({ - soClient, - packagePolicyClient, - packageName: COLLECTOR_PACKAGE_POLICY_NAME, - }); -} - -export async function validateCollectorPackagePolicy({ - soClient, - packagePolicyClient, -}: ProfilingSetupOptions): Promise { - const collectorPolicy = await getCollectorPolicy({ soClient, packagePolicyClient }); - return { policies: { collector: { installed: !!collectorPolicy } } }; -} export function generateSecretToken() { let result = ''; @@ -126,28 +91,6 @@ export async function createCollectorPackagePolicy({ }); } -export async function getSymbolizerPolicy({ - soClient, - packagePolicyClient, -}: { - packagePolicyClient: PackagePolicyClient; - soClient: SavedObjectsClientContract; -}) { - return getPackagePolicy({ - soClient, - packagePolicyClient, - packageName: SYMBOLIZER_PACKAGE_POLICY_NAME, - }); -} - -export async function validateSymbolizerPackagePolicy({ - soClient, - packagePolicyClient, -}: ProfilingSetupOptions): Promise { - const symbolizerPackagePolicy = await getSymbolizerPolicy({ soClient, packagePolicyClient }); - return { policies: { symbolizer: { installed: !!symbolizerPackagePolicy } } }; -} - export async function createSymbolizerPackagePolicy({ client, soClient, @@ -185,29 +128,6 @@ export async function createSymbolizerPackagePolicy({ }); } -export async function validateProfilingInApmPackagePolicy({ - soClient, - packagePolicyClient, -}: ProfilingSetupOptions): Promise { - try { - const apmPolicy = await getApmPolicy({ packagePolicyClient, soClient }); - return { - policies: { - apm: { - profilingEnabled: !!( - apmPolicy && apmPolicy?.inputs[0].config?.['apm-server'].value?.profiling - ), - }, - }, - }; - } catch (e) { - // In case apm integration is not available ignore the error and return as profiling is not enabled on the integration - return { - policies: { apm: { profilingEnabled: false } }, - }; - } -} - export async function removeProfilingFromApmPackagePolicy({ client, soClient, diff --git a/x-pack/plugins/profiling/server/lib/setup/get_setup_instructions.ts b/x-pack/plugins/profiling/server/lib/setup/get_setup_instructions.ts index f21098492e8e85..64b857f93de271 100644 --- a/x-pack/plugins/profiling/server/lib/setup/get_setup_instructions.ts +++ b/x-pack/plugins/profiling/server/lib/setup/get_setup_instructions.ts @@ -8,7 +8,7 @@ import { SavedObjectsClientContract } from '@kbn/core/server'; import { PackagePolicyClient } from '@kbn/fleet-plugin/server'; import { fetchFindLatestPackageOrThrow } from '@kbn/fleet-plugin/server/services/epm/registry'; -import { getCollectorPolicy, getSymbolizerPolicy } from './fleet_policies'; +import { getCollectorPolicy, getSymbolizerPolicy } from '@kbn/profiling-data-access-plugin/common'; export interface SetupDataCollectionInstructions { collector: { diff --git a/x-pack/plugins/profiling/server/lib/setup/security_role.ts b/x-pack/plugins/profiling/server/lib/setup/security_role.ts index 1827bf73e5d2aa..b578c2ef2cff6c 100644 --- a/x-pack/plugins/profiling/server/lib/setup/security_role.ts +++ b/x-pack/plugins/profiling/server/lib/setup/security_role.ts @@ -5,24 +5,11 @@ * 2.0. */ +import { + METADATA_VERSION, + PROFILING_READER_ROLE_NAME, +} from '@kbn/profiling-data-access-plugin/common'; import { ProfilingSetupOptions } from './types'; -import { PartialSetupState } from '../../../common/setup'; - -const PROFILING_READER_ROLE_NAME = 'profiling-reader'; -const METADATA_VERSION = 1; - -export async function validateSecurityRole({ - client, -}: ProfilingSetupOptions): Promise { - const esClient = client.getEsClient(); - const roles = await esClient.security.getRole(); - const profilingRole = roles[PROFILING_READER_ROLE_NAME]; - return { - permissions: { - configured: !!profilingRole && profilingRole.metadata.version === METADATA_VERSION, - }, - }; -} export async function setSecurityRole({ client }: ProfilingSetupOptions) { const esClient = client.getEsClient(); diff --git a/x-pack/plugins/profiling/server/routes/setup.ts b/x-pack/plugins/profiling/server/routes/setup.ts index 1ce7d8d056201c..45a5f9d691307b 100644 --- a/x-pack/plugins/profiling/server/routes/setup.ts +++ b/x-pack/plugins/profiling/server/routes/setup.ts @@ -8,29 +8,14 @@ import { DEFAULT_SPACE_ID } from '@kbn/spaces-plugin/common'; import { RouteRegisterParameters } from '.'; import { getRoutePaths } from '../../common'; -import { - areResourcesSetup, - createDefaultSetupState, - mergePartialSetupStates, -} from '../../common/setup'; -import { - enableResourceManagement, - setMaximumBuckets, - validateMaximumBuckets, - validateResourceManagement, -} from '../lib/setup/cluster_settings'; +import { enableResourceManagement, setMaximumBuckets } from '../lib/setup/cluster_settings'; import { createCollectorPackagePolicy, createSymbolizerPackagePolicy, removeProfilingFromApmPackagePolicy, - validateCollectorPackagePolicy, - validateProfilingInApmPackagePolicy, - validateSymbolizerPackagePolicy, } from '../lib/setup/fleet_policies'; import { getSetupInstructions } from '../lib/setup/get_setup_instructions'; -import { hasProfilingData } from '../lib/setup/has_profiling_data'; -import { setSecurityRole, validateSecurityRole } from '../lib/setup/security_role'; -import { ProfilingSetupOptions } from '../lib/setup/types'; +import { setSecurityRole } from '../lib/setup/security_role'; import { handleRouteHandlerError } from '../utils/handle_route_error_handler'; import { getClient } from './compat'; @@ -52,82 +37,15 @@ export function registerSetupRoute({ try { const esClient = await getClient(context); const core = await context.core; - const clientWithDefaultAuth = createProfilingEsClient({ - esClient, - request, - useDefaultAuth: true, - }); - const clientWithProfilingAuth = createProfilingEsClient({ - esClient, - request, - useDefaultAuth: false, - }); - const setupOptions: ProfilingSetupOptions = { - client: clientWithDefaultAuth, - logger, - packagePolicyClient: dependencies.start.fleet.packagePolicyService, + const profilingStatus = await dependencies.start.profilingDataAccess.services.getStatus({ + esClient, soClient: core.savedObjects.client, - spaceId: - dependencies.setup.spaces?.spacesService?.getSpaceId(request) ?? DEFAULT_SPACE_ID, - isCloudEnabled: dependencies.setup.cloud.isCloudEnabled, - config: dependencies.config, - }; - - const state = createDefaultSetupState(); - state.cloud.available = dependencies.setup.cloud.isCloudEnabled; - - if (!state.cloud.available) { - const msg = `Elastic Cloud is required to set up Elasticsearch and Fleet for Universal Profiling`; - logger.error(msg); - return response.custom({ - statusCode: 500, - body: { - message: msg, - }, - }); - } - const verifyFunctions = [ - validateMaximumBuckets, - validateResourceManagement, - validateSecurityRole, - validateCollectorPackagePolicy, - validateSymbolizerPackagePolicy, - validateProfilingInApmPackagePolicy, - ]; - - const partialStates = await Promise.all([ - ...verifyFunctions.map((fn) => fn(setupOptions)), - hasProfilingData({ - ...setupOptions, - client: clientWithProfilingAuth, - }), - ]); - - const mergedState = mergePartialSetupStates(state, partialStates); - - return response.ok({ - body: { - has_setup: areResourcesSetup(mergedState), - has_data: mergedState.data.available, - pre_8_9_1_data: mergedState.resources.pre_8_9_1_data, - }, + spaceId: dependencies.setup.spaces?.spacesService?.getSpaceId(request), }); + + return response.ok({ body: profilingStatus }); } catch (error) { - // We cannot fully check the status of all resources - // to make sure Profiling has been set up and has data - // for users with monitor privileges. This privileges - // is needed to call the profiling ES plugin for example. - if (error?.meta?.statusCode === 403) { - return response.ok({ - body: { - has_setup: true, - pre_8_9_1_data: false, - has_data: true, - unauthorized: true, - }, - }); - } return handleRouteHandlerError({ error, logger, @@ -146,6 +64,19 @@ export function registerSetupRoute({ }, async (context, request, response) => { try { + const isCloudEnabled = dependencies.setup.cloud.isCloudEnabled; + + if (!isCloudEnabled) { + const msg = `Elastic Cloud is required to set up Elasticsearch and Fleet for Universal Profiling`; + logger.error(msg); + return response.custom({ + statusCode: 500, + body: { + message: msg, + }, + }); + } + const esClient = await getClient(context); const core = await context.core; const clientWithDefaultAuth = createProfilingEsClient({ @@ -153,53 +84,37 @@ export function registerSetupRoute({ request, useDefaultAuth: true, }); - const setupOptions: ProfilingSetupOptions = { + const clientWithProfilingAuth = createProfilingEsClient({ + esClient, + request, + useDefaultAuth: false, + }); + + const commonParams = { client: clientWithDefaultAuth, logger, packagePolicyClient: dependencies.start.fleet.packagePolicyService, soClient: core.savedObjects.client, spaceId: dependencies.setup.spaces?.spacesService?.getSpaceId(request) ?? DEFAULT_SPACE_ID, - isCloudEnabled: dependencies.setup.cloud.isCloudEnabled, - config: dependencies.config, + isCloudEnabled, }; - const state = createDefaultSetupState(); - state.cloud.available = dependencies.setup.cloud.isCloudEnabled; - - if (!state.cloud.available) { - const msg = `Elastic Cloud is required to set up Elasticsearch and Fleet for Universal Profiling`; - logger.error(msg); - return response.custom({ - statusCode: 500, - body: { - message: msg, - }, - }); - } - - const partialStates = await Promise.all( - [ - validateResourceManagement, - validateSecurityRole, - validateMaximumBuckets, - validateCollectorPackagePolicy, - validateSymbolizerPackagePolicy, - validateProfilingInApmPackagePolicy, - ].map((fn) => fn(setupOptions)) + const setupState = await dependencies.start.profilingDataAccess.services.getSetupState( + commonParams, + clientWithProfilingAuth ); - const mergedState = mergePartialSetupStates(state, partialStates); const executeAdminFunctions = [ - ...(mergedState.resource_management.enabled ? [] : [enableResourceManagement]), - ...(mergedState.permissions.configured ? [] : [setSecurityRole]), - ...(mergedState.settings.configured ? [] : [setMaximumBuckets]), + ...(setupState.resource_management.enabled ? [] : [enableResourceManagement]), + ...(setupState.permissions.configured ? [] : [setSecurityRole]), + ...(setupState.settings.configured ? [] : [setMaximumBuckets]), ]; const executeViewerFunctions = [ - ...(mergedState.policies.collector.installed ? [] : [createCollectorPackagePolicy]), - ...(mergedState.policies.symbolizer.installed ? [] : [createSymbolizerPackagePolicy]), - ...(mergedState.policies.apm.profilingEnabled + ...(setupState.policies.collector.installed ? [] : [createCollectorPackagePolicy]), + ...(setupState.policies.symbolizer.installed ? [] : [createSymbolizerPackagePolicy]), + ...(setupState.policies.apm.profilingEnabled ? [removeProfilingFromApmPackagePolicy] : []), ]; @@ -208,8 +123,12 @@ export function registerSetupRoute({ return response.ok(); } - await Promise.all(executeAdminFunctions.map((fn) => fn(setupOptions))); - await Promise.all(executeViewerFunctions.map((fn) => fn(setupOptions))); + const setupParams = { + ...commonParams, + config: dependencies.config, + }; + await Promise.all(executeAdminFunctions.map((fn) => fn(setupParams))); + await Promise.all(executeViewerFunctions.map((fn) => fn(setupParams))); if (dependencies.telemetryUsageCounter) { dependencies.telemetryUsageCounter.incrementCounter({ diff --git a/x-pack/plugins/profiling/tsconfig.json b/x-pack/plugins/profiling/tsconfig.json index b5de94dc4f5594..60c06119bfa676 100644 --- a/x-pack/plugins/profiling/tsconfig.json +++ b/x-pack/plugins/profiling/tsconfig.json @@ -45,7 +45,6 @@ "@kbn/share-plugin", "@kbn/observability-shared-plugin", "@kbn/licensing-plugin", - "@kbn/utility-types", "@kbn/usage-collection-plugin", "@kbn/observability-ai-assistant-plugin", "@kbn/profiling-data-access-plugin", diff --git a/x-pack/plugins/profiling_data_access/common/cluster_settings.ts b/x-pack/plugins/profiling_data_access/common/cluster_settings.ts new file mode 100644 index 00000000000000..a1e92ab1c996f8 --- /dev/null +++ b/x-pack/plugins/profiling_data_access/common/cluster_settings.ts @@ -0,0 +1,37 @@ +/* + * Copyright 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 { PartialSetupState, ProfilingSetupOptions } from './setup'; + +export const MAX_BUCKETS = 150000; + +export async function validateMaximumBuckets({ + client, +}: ProfilingSetupOptions): Promise { + const settings = await client.getEsClient().cluster.getSettings({}); + const maxBuckets = settings.persistent.search?.max_buckets; + return { + settings: { + configured: maxBuckets === MAX_BUCKETS.toString(), + }, + }; +} + +export async function validateResourceManagement({ + client, +}: ProfilingSetupOptions): Promise { + const statusResponse = await client.profilingStatus(); + return { + resource_management: { + enabled: statusResponse.resource_management.enabled, + }, + resources: { + created: statusResponse.resources.created, + pre_8_9_1_data: statusResponse.resources.pre_8_9_1_data, + }, + }; +} diff --git a/x-pack/plugins/profiling_data_access/common/fleet_policies.ts b/x-pack/plugins/profiling_data_access/common/fleet_policies.ts new file mode 100644 index 00000000000000..c3c489563b8acb --- /dev/null +++ b/x-pack/plugins/profiling_data_access/common/fleet_policies.ts @@ -0,0 +1,106 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { SavedObjectsClientContract } from '@kbn/core/server'; +import type { PackagePolicyClient } from '@kbn/fleet-plugin/server'; +import { getApmPolicy } from './get_apm_policy'; +import { PartialSetupState, ProfilingSetupOptions } from './setup'; + +export const COLLECTOR_PACKAGE_POLICY_NAME = 'elastic-universal-profiling-collector'; +export const SYMBOLIZER_PACKAGE_POLICY_NAME = 'elastic-universal-profiling-symbolizer'; + +async function getPackagePolicy({ + soClient, + packagePolicyClient, + packageName, +}: { + packagePolicyClient: PackagePolicyClient; + soClient: SavedObjectsClientContract; + packageName: string; +}) { + const packagePolicies = await packagePolicyClient.list(soClient, {}); + return packagePolicies.items.find((pkg) => pkg.name === packageName); +} + +export async function getCollectorPolicy({ + soClient, + packagePolicyClient, +}: { + packagePolicyClient: PackagePolicyClient; + soClient: SavedObjectsClientContract; +}) { + return getPackagePolicy({ + soClient, + packagePolicyClient, + packageName: COLLECTOR_PACKAGE_POLICY_NAME, + }); +} + +export async function validateCollectorPackagePolicy({ + soClient, + packagePolicyClient, +}: ProfilingSetupOptions): Promise { + const collectorPolicy = await getCollectorPolicy({ soClient, packagePolicyClient }); + return { policies: { collector: { installed: !!collectorPolicy } } }; +} + +export function generateSecretToken() { + let result = ''; + const characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'; + + for (let i = 0; i < 16; i++) { + const randomIndex = Math.floor(Math.random() * characters.length); + result += characters.charAt(randomIndex); + } + + return result; +} + +export async function getSymbolizerPolicy({ + soClient, + packagePolicyClient, +}: { + packagePolicyClient: PackagePolicyClient; + soClient: SavedObjectsClientContract; +}) { + return getPackagePolicy({ + soClient, + packagePolicyClient, + packageName: SYMBOLIZER_PACKAGE_POLICY_NAME, + }); +} + +export async function validateSymbolizerPackagePolicy({ + soClient, + packagePolicyClient, +}: ProfilingSetupOptions): Promise { + const symbolizerPackagePolicy = await getSymbolizerPolicy({ soClient, packagePolicyClient }); + return { policies: { symbolizer: { installed: !!symbolizerPackagePolicy } } }; +} + +export async function validateProfilingInApmPackagePolicy({ + soClient, + packagePolicyClient, +}: ProfilingSetupOptions): Promise { + try { + const apmPolicy = await getApmPolicy({ packagePolicyClient, soClient }); + return { + policies: { + apm: { + profilingEnabled: !!( + apmPolicy && apmPolicy?.inputs[0].config?.['apm-server'].value?.profiling + ), + }, + }, + }; + } catch (e) { + // In case apm integration is not available ignore the error and return as profiling is not enabled on the integration + return { + policies: { apm: { profilingEnabled: false } }, + }; + } +} diff --git a/x-pack/plugins/profiling/server/lib/setup/get_apm_policy.ts b/x-pack/plugins/profiling_data_access/common/get_apm_policy.ts similarity index 89% rename from x-pack/plugins/profiling/server/lib/setup/get_apm_policy.ts rename to x-pack/plugins/profiling_data_access/common/get_apm_policy.ts index ecc23f42ac99c9..8631b6480878f0 100644 --- a/x-pack/plugins/profiling/server/lib/setup/get_apm_policy.ts +++ b/x-pack/plugins/profiling_data_access/common/get_apm_policy.ts @@ -6,7 +6,7 @@ */ import { SavedObjectsClientContract } from '@kbn/core/server'; -import { PackagePolicyClient } from '@kbn/fleet-plugin/server'; +import type { PackagePolicyClient } from '@kbn/fleet-plugin/server'; export const ELASTIC_CLOUD_APM_POLICY = 'elastic-cloud-apm'; diff --git a/x-pack/plugins/profiling/server/lib/setup/has_profiling_data.ts b/x-pack/plugins/profiling_data_access/common/has_profiling_data.ts similarity index 85% rename from x-pack/plugins/profiling/server/lib/setup/has_profiling_data.ts rename to x-pack/plugins/profiling_data_access/common/has_profiling_data.ts index 11a755a18450a6..13ed8a28305435 100644 --- a/x-pack/plugins/profiling/server/lib/setup/has_profiling_data.ts +++ b/x-pack/plugins/profiling_data_access/common/has_profiling_data.ts @@ -5,8 +5,7 @@ * 2.0. */ -import { PartialSetupState } from '../../../common/setup'; -import { ProfilingSetupOptions } from './types'; +import { PartialSetupState, ProfilingSetupOptions } from './setup'; export async function hasProfilingData({ client, diff --git a/x-pack/plugins/profiling_data_access/common/index.ts b/x-pack/plugins/profiling_data_access/common/index.ts new file mode 100644 index 00000000000000..8e654f7a851449 --- /dev/null +++ b/x-pack/plugins/profiling_data_access/common/index.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 { getApmPolicy, ELASTIC_CLOUD_APM_POLICY } from './get_apm_policy'; +export { MAX_BUCKETS } from './cluster_settings'; +export { METADATA_VERSION, PROFILING_READER_ROLE_NAME } from './security_role'; +export { + getCollectorPolicy, + getSymbolizerPolicy, + COLLECTOR_PACKAGE_POLICY_NAME, + SYMBOLIZER_PACKAGE_POLICY_NAME, +} from './fleet_policies'; diff --git a/x-pack/plugins/profiling_data_access/common/profiling_es_client.ts b/x-pack/plugins/profiling_data_access/common/profiling_es_client.ts new file mode 100644 index 00000000000000..efc612d5590ef8 --- /dev/null +++ b/x-pack/plugins/profiling_data_access/common/profiling_es_client.ts @@ -0,0 +1,24 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { QueryDslQueryContainer } from '@elastic/elasticsearch/lib/api/typesWithBodyKey'; +import { ElasticsearchClient } from '@kbn/core/server'; +import type { ESSearchRequest, InferSearchResponseOf } from '@kbn/es-types'; +import type { ProfilingStatusResponse, StackTraceResponse } from '@kbn/profiling-utils'; + +export interface ProfilingESClient { + search( + operationName: string, + searchRequest: TSearchRequest + ): Promise>; + profilingStacktraces({}: { + query: QueryDslQueryContainer; + sampleSize: number; + }): Promise; + profilingStatus(): Promise; + getEsClient(): ElasticsearchClient; +} diff --git a/x-pack/plugins/profiling_data_access/common/security_role.ts b/x-pack/plugins/profiling_data_access/common/security_role.ts new file mode 100644 index 00000000000000..ed6cf1dbd4e62c --- /dev/null +++ b/x-pack/plugins/profiling_data_access/common/security_role.ts @@ -0,0 +1,24 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { PartialSetupState, ProfilingSetupOptions } from './setup'; + +export const PROFILING_READER_ROLE_NAME = 'profiling-reader'; +export const METADATA_VERSION = 1; + +export async function validateSecurityRole({ + client, +}: ProfilingSetupOptions): Promise { + const esClient = client.getEsClient(); + const roles = await esClient.security.getRole(); + const profilingRole = roles[PROFILING_READER_ROLE_NAME]; + return { + permissions: { + configured: !!profilingRole && profilingRole.metadata.version === METADATA_VERSION, + }, + }; +} diff --git a/x-pack/plugins/profiling/common/setup.test.ts b/x-pack/plugins/profiling_data_access/common/setup.test.ts similarity index 100% rename from x-pack/plugins/profiling/common/setup.test.ts rename to x-pack/plugins/profiling_data_access/common/setup.test.ts diff --git a/x-pack/plugins/profiling/common/setup.ts b/x-pack/plugins/profiling_data_access/common/setup.ts similarity index 83% rename from x-pack/plugins/profiling/common/setup.ts rename to x-pack/plugins/profiling_data_access/common/setup.ts index facae98f250127..d3411ea9ee020a 100644 --- a/x-pack/plugins/profiling/common/setup.ts +++ b/x-pack/plugins/profiling_data_access/common/setup.ts @@ -4,9 +4,20 @@ * 2.0; you may not use this file except in compliance with the Elastic License * 2.0. */ - -import { merge } from 'lodash'; import type { RecursivePartial } from '@elastic/eui'; +import { Logger, SavedObjectsClientContract } from '@kbn/core/server'; +import type { PackagePolicyClient } from '@kbn/fleet-plugin/server'; +import { merge } from 'lodash'; +import { ProfilingESClient } from './profiling_es_client'; + +export interface ProfilingSetupOptions { + client: ProfilingESClient; + soClient: SavedObjectsClientContract; + packagePolicyClient: PackagePolicyClient; + logger: Logger; + spaceId: string; + isCloudEnabled: boolean; +} export interface SetupState { cloud: { diff --git a/x-pack/plugins/profiling_data_access/kibana.jsonc b/x-pack/plugins/profiling_data_access/kibana.jsonc index 3f0254ba92647d..654cb93a0460c6 100644 --- a/x-pack/plugins/profiling_data_access/kibana.jsonc +++ b/x-pack/plugins/profiling_data_access/kibana.jsonc @@ -7,7 +7,11 @@ "server": true, "browser": false, "configPath": ["xpack", "profiling"], - "requiredPlugins": ["data"], + "requiredPlugins": [ + "data", + "fleet", + "cloud" + ], "optionalPlugins": [], "requiredBundles": [] } diff --git a/x-pack/plugins/profiling_data_access/server/plugin.ts b/x-pack/plugins/profiling_data_access/server/plugin.ts index 23d72f39caee64..12705b9508c305 100644 --- a/x-pack/plugins/profiling_data_access/server/plugin.ts +++ b/x-pack/plugins/profiling_data_access/server/plugin.ts @@ -5,19 +5,30 @@ * 2.0. */ -import type { CoreSetup, CoreStart, Plugin, PluginInitializerContext } from '@kbn/core/server'; +import type { + CoreSetup, + CoreStart, + Logger, + Plugin, + PluginInitializerContext, +} from '@kbn/core/server'; import { ProfilingConfig } from '.'; import { registerServices } from './services/register_services'; import { createProfilingEsClient } from './utils/create_profiling_es_client'; +import { ProfilingPluginStartDeps } from './types'; export type ProfilingDataAccessPluginSetup = ReturnType; export type ProfilingDataAccessPluginStart = ReturnType; export class ProfilingDataAccessPlugin implements Plugin { - constructor(private readonly initializerContext: PluginInitializerContext) {} + private readonly logger: Logger; + + constructor(private readonly initializerContext: PluginInitializerContext) { + this.logger = initializerContext.logger.get(); + } public setup(core: CoreSetup) {} - public start(core: CoreStart) { + public start(core: CoreStart, plugins: ProfilingPluginStartDeps) { const config = this.initializerContext.config.get(); const profilingSpecificEsClient = config.elasticsearch @@ -37,6 +48,11 @@ export class ProfilingDataAccessPlugin implements Plugin { return createProfilingEsClient({ esClient }); }, + logger: this.logger, + deps: { + fleet: plugins.fleet, + cloud: plugins.cloud, + }, }); // called after all plugins are set up diff --git a/x-pack/plugins/profiling_data_access/server/services/get_setup_state/index.ts b/x-pack/plugins/profiling_data_access/server/services/get_setup_state/index.ts new file mode 100644 index 00000000000000..9110883900c276 --- /dev/null +++ b/x-pack/plugins/profiling_data_access/server/services/get_setup_state/index.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 { + validateMaximumBuckets, + validateResourceManagement, +} from '../../../common/cluster_settings'; +import { + validateCollectorPackagePolicy, + validateProfilingInApmPackagePolicy, + validateSymbolizerPackagePolicy, +} from '../../../common/fleet_policies'; +import { hasProfilingData } from '../../../common/has_profiling_data'; +import { ProfilingESClient } from '../../../common/profiling_es_client'; +import { validateSecurityRole } from '../../../common/security_role'; +import { + ProfilingSetupOptions, + createDefaultSetupState, + mergePartialSetupStates, +} from '../../../common/setup'; +import { RegisterServicesParams } from '../register_services'; + +export async function getSetupState( + options: ProfilingSetupOptions, + clientWithProfilingAuth: ProfilingESClient +) { + const state = createDefaultSetupState(); + state.cloud.available = options.isCloudEnabled; + + const verifyFunctions = [ + validateMaximumBuckets, + validateResourceManagement, + validateSecurityRole, + validateCollectorPackagePolicy, + validateSymbolizerPackagePolicy, + validateProfilingInApmPackagePolicy, + ]; + + const partialStates = await Promise.all([ + ...verifyFunctions.map((fn) => fn(options)), + hasProfilingData({ + ...options, + client: clientWithProfilingAuth, + }), + ]); + + return mergePartialSetupStates(state, partialStates); +} + +export function createGetSetupState(params: RegisterServicesParams) { + return getSetupState; +} diff --git a/x-pack/plugins/profiling_data_access/server/services/register_services.ts b/x-pack/plugins/profiling_data_access/server/services/register_services.ts index 371e998d3398dd..095f8e1826794d 100644 --- a/x-pack/plugins/profiling_data_access/server/services/register_services.ts +++ b/x-pack/plugins/profiling_data_access/server/services/register_services.ts @@ -5,9 +5,13 @@ * 2.0. */ -import { ElasticsearchClient } from '@kbn/core/server'; +import { CloudStart } from '@kbn/cloud-plugin/server'; +import { ElasticsearchClient, Logger } from '@kbn/core/server'; +import { FleetStartContract } from '@kbn/fleet-plugin/server'; import { createFetchFlamechart } from './fetch_flamechart'; -import { ProfilingESClient } from '../utils/create_profiling_es_client'; +import { createGetStatusService } from './status'; +import { createGetSetupState } from './get_setup_state'; +import { ProfilingESClient } from '../../common/profiling_es_client'; import { createFetchFunctions } from './functions'; export interface RegisterServicesParams { @@ -15,11 +19,18 @@ export interface RegisterServicesParams { esClient: ElasticsearchClient; useDefaultAuth?: boolean; }) => ProfilingESClient; + logger: Logger; + deps: { + fleet: FleetStartContract; + cloud: CloudStart; + }; } export function registerServices(params: RegisterServicesParams) { return { fetchFlamechartData: createFetchFlamechart(params), + getStatus: createGetStatusService(params), + getSetupState: createGetSetupState(params), fetchFunction: createFetchFunctions(params), }; } diff --git a/x-pack/plugins/profiling_data_access/server/services/search_stack_traces/index.ts b/x-pack/plugins/profiling_data_access/server/services/search_stack_traces/index.ts index 3585086bff69ba..33cb1c6c8dc264 100644 --- a/x-pack/plugins/profiling_data_access/server/services/search_stack_traces/index.ts +++ b/x-pack/plugins/profiling_data_access/server/services/search_stack_traces/index.ts @@ -6,7 +6,7 @@ */ import { decodeStackTraceResponse } from '@kbn/profiling-utils'; -import { ProfilingESClient } from '../../utils/create_profiling_es_client'; +import { ProfilingESClient } from '../../../common/profiling_es_client'; import { kqlQuery } from '../../utils/query'; export async function searchStackTraces({ diff --git a/x-pack/plugins/profiling_data_access/server/services/status/index.ts b/x-pack/plugins/profiling_data_access/server/services/status/index.ts new file mode 100644 index 00000000000000..6aea8b1037bd60 --- /dev/null +++ b/x-pack/plugins/profiling_data_access/server/services/status/index.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 { ElasticsearchClient, SavedObjectsClientContract } from '@kbn/core/server'; +import { ProfilingStatus } from '@kbn/profiling-utils'; +import { DEFAULT_SPACE_ID } from '@kbn/spaces-plugin/common'; +import { getSetupState } from '../get_setup_state'; +import { RegisterServicesParams } from '../register_services'; +import { ProfilingSetupOptions, areResourcesSetup } from '../../../common/setup'; + +interface HasSetupParams { + soClient: SavedObjectsClientContract; + esClient: ElasticsearchClient; + spaceId?: string; +} + +export function createGetStatusService({ + createProfilingEsClient, + deps, + logger, +}: RegisterServicesParams) { + return async ({ esClient, soClient, spaceId }: HasSetupParams): Promise => { + try { + const isCloudEnabled = deps.cloud.isCloudEnabled; + if (!isCloudEnabled) { + // When not on cloud just return that is has not set up and has no data + return { + has_setup: false, + has_data: false, + pre_8_9_1_data: false, + }; + } + + const clientWithDefaultAuth = createProfilingEsClient({ + esClient, + useDefaultAuth: true, + }); + const clientWithProfilingAuth = createProfilingEsClient({ + esClient, + useDefaultAuth: false, + }); + + const setupOptions: ProfilingSetupOptions = { + client: clientWithDefaultAuth, + logger, + packagePolicyClient: deps.fleet.packagePolicyService, + soClient, + spaceId: spaceId ?? DEFAULT_SPACE_ID, + isCloudEnabled, + }; + + const setupState = await getSetupState(setupOptions, clientWithProfilingAuth); + + return { + has_setup: areResourcesSetup(setupState), + has_data: setupState.data.available, + pre_8_9_1_data: setupState.resources.pre_8_9_1_data, + }; + } catch (error) { + // We cannot fully check the status of all resources + // to make sure Profiling has been set up and has data + // for users with monitor privileges. This privileges + // is needed to call the profiling ES plugin for example. + if (error?.meta?.statusCode === 403 || error?.originalError?.meta?.statusCode === 403) { + return { + has_setup: true, + pre_8_9_1_data: false, + has_data: true, + unauthorized: true, + }; + } + + throw error; + } + }; +} diff --git a/x-pack/plugins/profiling_data_access/server/types.ts b/x-pack/plugins/profiling_data_access/server/types.ts new file mode 100644 index 00000000000000..4092b18c6b953f --- /dev/null +++ b/x-pack/plugins/profiling_data_access/server/types.ts @@ -0,0 +1,13 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ +import { CloudStart } from '@kbn/cloud-plugin/server'; +import { FleetStartContract } from '@kbn/fleet-plugin/server'; + +export interface ProfilingPluginStartDeps { + fleet: FleetStartContract; + cloud: CloudStart; +} diff --git a/x-pack/plugins/profiling_data_access/server/utils/create_profiling_es_client.ts b/x-pack/plugins/profiling_data_access/server/utils/create_profiling_es_client.ts index 4b7f785bb6f3f1..c35ee17a64d32f 100644 --- a/x-pack/plugins/profiling_data_access/server/utils/create_profiling_es_client.ts +++ b/x-pack/plugins/profiling_data_access/server/utils/create_profiling_es_client.ts @@ -5,26 +5,13 @@ * 2.0. */ -import { QueryDslQueryContainer } from '@elastic/elasticsearch/lib/api/typesWithBodyKey'; import { ElasticsearchClient } from '@kbn/core/server'; import type { ESSearchRequest, InferSearchResponseOf } from '@kbn/es-types'; import type { ProfilingStatusResponse, StackTraceResponse } from '@kbn/profiling-utils'; +import { ProfilingESClient } from '../../common/profiling_es_client'; import { unwrapEsResponse } from './unwrap_es_response'; import { withProfilingSpan } from './with_profiling_span'; -export interface ProfilingESClient { - search( - operationName: string, - searchRequest: TSearchRequest - ): Promise>; - profilingStacktraces({}: { - query: QueryDslQueryContainer; - sampleSize: number; - }): Promise; - profilingStatus(): Promise; - getEsClient(): ElasticsearchClient; -} - export function createProfilingEsClient({ esClient, }: { diff --git a/x-pack/plugins/profiling_data_access/tsconfig.json b/x-pack/plugins/profiling_data_access/tsconfig.json index 9075978c5a9273..ccd0d3e54e8166 100644 --- a/x-pack/plugins/profiling_data_access/tsconfig.json +++ b/x-pack/plugins/profiling_data_access/tsconfig.json @@ -4,6 +4,7 @@ "outDir": "target/types" }, "include": [ + "common/**/*", "server/**/*", "jest.config.js" ], @@ -16,6 +17,9 @@ "@kbn/es-query", "@kbn/es-types", "@kbn/apm-utils", - "@kbn/profiling-utils" + "@kbn/profiling-utils", + "@kbn/fleet-plugin", + "@kbn/cloud-plugin", + "@kbn/spaces-plugin", ] } diff --git a/x-pack/test/profiling_api_integration/common/bettertest.ts b/x-pack/test/profiling_api_integration/common/bettertest.ts new file mode 100644 index 00000000000000..ca679a24539aca --- /dev/null +++ b/x-pack/test/profiling_api_integration/common/bettertest.ts @@ -0,0 +1,70 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { format } from 'url'; +import supertest from 'supertest'; +import request from 'superagent'; + +type HttpMethod = 'get' | 'post' | 'put' | 'delete'; + +export type BetterTest = (options: { + pathname: string; + query?: Record; + method?: HttpMethod; + body?: any; +}) => Promise<{ status: number; body: T }>; + +/* + * This is a wrapper around supertest that throws an error if the response status is not 200. + * This is useful for tests that expect a 200 response + * It also makes it easier to debug tests that fail because of a 500 response. + */ +export function getBettertest(st: supertest.SuperTest): BetterTest { + return async ({ pathname, method = 'get', query, body }) => { + const url = format({ pathname, query }); + + let res: request.Response; + if (body) { + res = await st[method](url).send(body).set('kbn-xsrf', 'true'); + } else { + res = await st[method](url).set('kbn-xsrf', 'true'); + } + + // supertest doesn't throw on http errors + if (res?.status !== 200 && res?.status !== 202) { + throw new BetterTestError(res); + } + + return res; + }; +} + +type ErrorResponse = Omit & { + body: { + statusCode: number; + error: string; + message: string; + attributes: object; + }; +}; + +export class BetterTestError extends Error { + res: ErrorResponse; + + constructor(res: request.Response) { + // @ts-expect-error + const req = res.req as any; + super( + `Unhandled BetterTestError: +Status: "${res.status}" +Path: "${req.method} ${req.path}" +Body: ${JSON.stringify(res.body)}` + ); + + this.res = res; + } +} diff --git a/x-pack/test/profiling_api_integration/common/config.ts b/x-pack/test/profiling_api_integration/common/config.ts index edb17c9b6c69df..52755a7cba0370 100644 --- a/x-pack/test/profiling_api_integration/common/config.ts +++ b/x-pack/test/profiling_api_integration/common/config.ts @@ -5,26 +5,24 @@ * 2.0. */ -import { format, UrlObject } from 'url'; import { FtrConfigProviderContext } from '@kbn/test'; import supertest from 'supertest'; -import { getRoutePaths } from '@kbn/profiling-plugin/common'; +import { format, UrlObject } from 'url'; import { ProfilingFtrConfigName } from '../configs'; +import { createProfilingApiClient } from './api_supertest'; +import { createProfilingUsers } from './create_profiling_users'; +import { + PROFILING_TEST_PASSWORD, + ProfilingUsername, +} from './create_profiling_users/authentication'; import { FtrProviderContext, InheritedFtrProviderContext, InheritedServices, } from './ftr_provider_context'; import { RegistryProvider } from './registry'; -import { createProfilingApiClient } from './api_supertest'; -import { - ProfilingUsername, - PROFILING_TEST_PASSWORD, -} from './create_profiling_users/authentication'; -import { createProfilingUsers } from './create_profiling_users'; export type CreateTestConfig = ReturnType; -const profilingRoutePaths = getRoutePaths(); export async function getProfilingApiClient({ kibanaServer, @@ -112,19 +110,6 @@ export function createTestConfig( await supertest(kibanaServerUrl).post('/api/fleet/setup').set('kbn-xsrf', 'foo'); - const result = await adminUser({ - endpoint: `GET ${profilingRoutePaths.HasSetupESResources}`, - }); - if (!result.body.has_setup) { - // eslint-disable-next-line no-console - console.log('Setting up Universal Profiling'); - await adminUser({ - endpoint: `POST ${profilingRoutePaths.HasSetupESResources}`, - }); - // eslint-disable-next-line no-console - console.log('Universal Profiling set up'); - } - return { noAccessUser: await getProfilingApiClient({ kibanaServer, diff --git a/x-pack/test/profiling_api_integration/common/registry.ts b/x-pack/test/profiling_api_integration/common/registry.ts index 807c0da7e2f906..b6cf058e249cc9 100644 --- a/x-pack/test/profiling_api_integration/common/registry.ts +++ b/x-pack/test/profiling_api_integration/common/registry.ts @@ -9,12 +9,10 @@ import { joinByKey } from '@kbn/apm-plugin/common/utils/join_by_key'; import { maybe } from '@kbn/apm-plugin/common/utils/maybe'; import callsites from 'callsites'; import { castArray, groupBy } from 'lodash'; -import Path from 'path'; -import fs from 'fs'; import { ProfilingFtrConfigName } from '../configs'; +import { getBettertest } from './bettertest'; import { FtrProviderContext } from './ftr_provider_context'; - -const esArchiversPath = Path.posix.join(__dirname, 'fixtures', 'es_archiver', 'profiling'); +import { cleanUpProfilingData } from '../utils/profiling_data'; interface RunCondition { config: ProfilingFtrConfigName; @@ -22,6 +20,9 @@ interface RunCondition { export function RegistryProvider({ getService }: FtrProviderContext) { const profilingFtrConfig = getService('profilingFtrConfig'); + const supertest = getService('supertest'); + const bettertest = getBettertest(supertest); + const es = getService('es'); const callbacks: Array< @@ -97,16 +98,6 @@ export function RegistryProvider({ getService }: FtrProviderContext) { const logger = getService('log'); - const logWithTimer = () => { - const start = process.hrtime(); - - return (message: string) => { - const diff = process.hrtime(start); - const time = `${Math.round(diff[0] * 1000 + diff[1] / 1e6)}ms`; - logger.info(`(${time}) ${message}`); - }; - }; - const groups = joinByKey(callbacks, ['config'], (a, b) => ({ ...a, ...b, @@ -126,36 +117,11 @@ export function RegistryProvider({ getService }: FtrProviderContext) { groupsForConfig.forEach((group) => { const { runs } = group; - const runBefore = async () => { - const log = logWithTimer(); - const content = fs.readFileSync(`${esArchiversPath}/data.json`, 'utf8'); - log(`Loading profiling data`); - await es.bulk({ operations: content.split('\n'), refresh: 'wait_for' }); - log('Loaded profiling data'); - }; - const runAfter = async () => { - const log = logWithTimer(); - log(`Unloading Profiling data`); - const indices = await es.cat.indices({ format: 'json' }); - const profilingIndices = indices - .filter((index) => index.index !== undefined) - .map((index) => index.index) - .filter((index) => { - return index!.startsWith('profiling') || index!.startsWith('.profiling'); - }) as string[]; - await Promise.all([ - ...profilingIndices.map((index) => es.indices.delete({ index })), - es.indices.deleteDataStream({ - name: 'profiling-events*', - }), - ]); - log('Unloaded Profiling data'); + await cleanUpProfilingData({ es, bettertest, logger }); }; describe('Loading profiling data', () => { - before(runBefore); - runs.forEach((run) => { run.cb(); }); diff --git a/x-pack/test/profiling_api_integration/tests/__snapshots__/functions.spec.snap b/x-pack/test/profiling_api_integration/tests/__snapshots__/functions.spec.snap index f5c9cb456cf0d5..4d444750bd6ebd 100644 --- a/x-pack/test/profiling_api_integration/tests/__snapshots__/functions.spec.snap +++ b/x-pack/test/profiling_api_integration/tests/__snapshots__/functions.spec.snap @@ -1,6 +1,6 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP -exports[`Profiling API tests functions.spec.ts cloud Loading profiling data Functions api returns correct result 1`] = ` +exports[`Profiling API tests functions.spec.ts cloud Loading profiling data Functions api With data returns correct result 1`] = ` Object { "SamplingRate": 1, "TopN": Array [ diff --git a/x-pack/test/profiling_api_integration/tests/feature_controls.spec.ts b/x-pack/test/profiling_api_integration/tests/feature_controls.spec.ts index 8c751272002185..fcbf38864c64d4 100644 --- a/x-pack/test/profiling_api_integration/tests/feature_controls.spec.ts +++ b/x-pack/test/profiling_api_integration/tests/feature_controls.spec.ts @@ -10,6 +10,8 @@ import { getRoutePaths } from '@kbn/profiling-plugin/common'; import { ProfilingApiError } from '../common/api_supertest'; import { getProfilingApiClient } from '../common/config'; import { FtrProviderContext } from '../common/ftr_provider_context'; +import { setupProfiling } from '../utils/profiling_data'; +import { getBettertest } from '../common/bettertest'; const profilingRoutePaths = getRoutePaths(); @@ -17,7 +19,8 @@ export default function featureControlsTests({ getService }: FtrProviderContext) const registry = getService('registry'); const profilingApiClient = getService('profilingApiClient'); const log = getService('log'); - + const supertest = getService('supertest'); + const bettertest = getBettertest(supertest); const start = encodeURIComponent(new Date(Date.now() - 10000).valueOf()); const end = encodeURIComponent(new Date().valueOf()); @@ -111,7 +114,9 @@ export default function featureControlsTests({ getService }: FtrProviderContext) } registry.when('Profiling feature controls', { config: 'cloud' }, () => { - before(async () => {}); + before(async () => { + await setupProfiling(bettertest, log); + }); it(`returns forbidden for users with no access to profiling APIs`, async () => { await executeRequests({ runAsUser: profilingApiClient.noAccessUser, diff --git a/x-pack/test/profiling_api_integration/tests/functions.spec.ts b/x-pack/test/profiling_api_integration/tests/functions.spec.ts index d2b9d4d9237e0f..5f4f1b47288cf7 100644 --- a/x-pack/test/profiling_api_integration/tests/functions.spec.ts +++ b/x-pack/test/profiling_api_integration/tests/functions.spec.ts @@ -9,39 +9,55 @@ import { getRoutePaths } from '@kbn/profiling-plugin/common'; import { TopNFunctions } from '@kbn/profiling-utils'; import expect from '@kbn/expect'; import { FtrProviderContext } from '../common/ftr_provider_context'; +import { loadProfilingData, setupProfiling } from '../utils/profiling_data'; +import { getBettertest } from '../common/bettertest'; const profilingRoutePaths = getRoutePaths(); export default function featureControlsTests({ getService }: FtrProviderContext) { const registry = getService('registry'); const profilingApiClient = getService('profilingApiClient'); + const log = getService('log'); + const supertest = getService('supertest'); + const bettertest = getBettertest(supertest); + const es = getService('es'); const start = new Date('2023-03-17T01:00:00.000Z').getTime(); const end = new Date('2023-03-17T01:05:00.000Z').getTime(); registry.when('Functions api', { config: 'cloud' }, () => { - let functions: TopNFunctions; before(async () => { - const response = await profilingApiClient.adminUser({ - endpoint: `GET ${profilingRoutePaths.TopNFunctions}`, - params: { - query: { - timeFrom: start, - timeTo: end, - kuery: '', - startIndex: 0, - endIndex: 5, + await setupProfiling(bettertest, log); + await loadProfilingData(es, log); + }); + + describe('With data', () => { + let functions: TopNFunctions; + before(async () => { + await setupProfiling(bettertest, log); + await loadProfilingData(es, log); + const response = await profilingApiClient.adminUser({ + endpoint: `GET ${profilingRoutePaths.TopNFunctions}`, + params: { + query: { + timeFrom: start, + timeTo: end, + kuery: '', + startIndex: 0, + endIndex: 5, + }, }, - }, + }); + functions = response.body as TopNFunctions; + }); + + it(`returns correct result`, async () => { + expect(functions.TopN.length).to.equal(5); + expect(functions.TotalCount).to.equal(3599); + expect(functions.selfCPU).to.equal(397); + expect(functions.totalCPU).to.equal(399); + expectSnapshot(functions).toMatch(); }); - functions = response.body as TopNFunctions; - }); - it(`returns correct result`, async () => { - expect(functions.TopN.length).to.equal(5); - expect(functions.TotalCount).to.equal(3599); - expect(functions.selfCPU).to.equal(397); - expect(functions.totalCPU).to.equal(399); - expectSnapshot(functions).toMatch(); }); }); } diff --git a/x-pack/test/profiling_api_integration/tests/has_setup.spec.ts b/x-pack/test/profiling_api_integration/tests/has_setup.spec.ts new file mode 100644 index 00000000000000..08da57c97ff2ca --- /dev/null +++ b/x-pack/test/profiling_api_integration/tests/has_setup.spec.ts @@ -0,0 +1,357 @@ +/* + * Copyright 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 { getRoutePaths } from '@kbn/profiling-plugin/common'; +import { ProfilingStatus } from '@kbn/profiling-utils'; +import { getBettertest } from '../common/bettertest'; +import { FtrProviderContext } from '../common/ftr_provider_context'; +import { deletePackagePolicy, getProfilingPackagePolicyIds } from '../utils/fleet'; +import { loadProfilingData, setupProfiling } from '../utils/profiling_data'; + +const profilingRoutePaths = getRoutePaths(); + +export default function featureControlsTests({ getService }: FtrProviderContext) { + const registry = getService('registry'); + const profilingApiClient = getService('profilingApiClient'); + const supertest = getService('supertest'); + const bettertest = getBettertest(supertest); + const logger = getService('log'); + const es = getService('es'); + + registry.when('Profiling status check', { config: 'cloud' }, () => { + describe('Profiling is not set up and no data is loaded', () => { + describe('Admin user', () => { + let statusCheck: ProfilingStatus; + before(async () => { + const response = await profilingApiClient.adminUser({ + endpoint: `GET ${profilingRoutePaths.HasSetupESResources}`, + }); + statusCheck = response.body; + }); + it(`has not been set up`, async () => { + expect(statusCheck.has_setup).to.be(false); + }); + + it(`does not have data`, async () => { + expect(statusCheck.has_data).to.be(false); + }); + + it(`does not have pre 8.9.1 data`, async () => { + expect(statusCheck.pre_8_9_1_data).to.be(false); + }); + }); + + describe('Viewer user', () => { + let statusCheck: ProfilingStatus; + before(async () => { + const response = await profilingApiClient.readUser({ + endpoint: `GET ${profilingRoutePaths.HasSetupESResources}`, + }); + statusCheck = response.body; + }); + it(`has been set up`, async () => { + expect(statusCheck.has_setup).to.be(true); + }); + + it(`has data`, async () => { + expect(statusCheck.has_data).to.be(true); + }); + + it(`does not have pre 8.9.1 data`, async () => { + expect(statusCheck.pre_8_9_1_data).to.be(false); + }); + + it(`is unauthorized to fully check profiling status `, async () => { + expect(statusCheck.unauthorized).to.be(true); + }); + }); + }); + + describe('Collector integration is not installed', () => { + let collectorId: string | undefined; + before(async () => { + await setupProfiling(bettertest, logger); + const response = await getProfilingPackagePolicyIds(bettertest); + collectorId = response.collectorId; + if (collectorId) { + await deletePackagePolicy(bettertest, collectorId); + } + }); + + it('expectes a collector integration to exist', () => { + expect(collectorId).not.to.be(undefined); + }); + + describe('Admin user', () => { + let statusCheck: ProfilingStatus; + before(async () => { + const response = await profilingApiClient.adminUser({ + endpoint: `GET ${profilingRoutePaths.HasSetupESResources}`, + }); + statusCheck = response.body; + }); + it(`has not been set up`, async () => { + expect(statusCheck.has_setup).to.be(false); + }); + + it(`does not have data`, async () => { + expect(statusCheck.has_data).to.be(false); + }); + + it(`does not have pre 8.9.1 data`, async () => { + expect(statusCheck.pre_8_9_1_data).to.be(false); + }); + }); + + describe('Viewer user', () => { + let statusCheck: ProfilingStatus; + before(async () => { + const response = await profilingApiClient.readUser({ + endpoint: `GET ${profilingRoutePaths.HasSetupESResources}`, + }); + statusCheck = response.body; + }); + it(`has been set up`, async () => { + expect(statusCheck.has_setup).to.be(true); + }); + + it(`has data`, async () => { + expect(statusCheck.has_data).to.be(true); + }); + + it(`does not have pre 8.9.1 data`, async () => { + expect(statusCheck.pre_8_9_1_data).to.be(false); + }); + + it(`is unauthorized to fully check profiling status `, async () => { + expect(statusCheck.unauthorized).to.be(true); + }); + }); + }); + + describe('Symbolizer integration is not installed', () => { + let symbolizerId: string | undefined; + before(async () => { + await setupProfiling(bettertest, logger); + const response = await getProfilingPackagePolicyIds(bettertest); + symbolizerId = response.symbolizerId; + if (symbolizerId) { + await deletePackagePolicy(bettertest, symbolizerId); + } + }); + + it('expectes a symbolizer integration to exist', () => { + expect(symbolizerId).not.to.be(undefined); + }); + + describe('Admin user', () => { + let statusCheck: ProfilingStatus; + before(async () => { + const response = await profilingApiClient.adminUser({ + endpoint: `GET ${profilingRoutePaths.HasSetupESResources}`, + }); + statusCheck = response.body; + }); + it(`has not been set up`, async () => { + expect(statusCheck.has_setup).to.be(false); + }); + + it(`does not have data`, async () => { + expect(statusCheck.has_data).to.be(false); + }); + + it(`does not have pre 8.9.1 data`, async () => { + expect(statusCheck.pre_8_9_1_data).to.be(false); + }); + }); + + describe('Viewer user', () => { + let statusCheck: ProfilingStatus; + before(async () => { + const response = await profilingApiClient.readUser({ + endpoint: `GET ${profilingRoutePaths.HasSetupESResources}`, + }); + statusCheck = response.body; + }); + it(`has been set up`, async () => { + expect(statusCheck.has_setup).to.be(true); + }); + + it(`has data`, async () => { + expect(statusCheck.has_data).to.be(true); + }); + + it(`does not have pre 8.9.1 data`, async () => { + expect(statusCheck.pre_8_9_1_data).to.be(false); + }); + + it(`is unauthorized to fully check profiling status `, async () => { + expect(statusCheck.unauthorized).to.be(true); + }); + }); + }); + + describe('APM integration is not installed', () => { + before(async () => { + await setupProfiling(bettertest, logger); + await deletePackagePolicy(bettertest, 'elastic-cloud-apm'); + }); + + describe('Admin user', () => { + let statusCheck: ProfilingStatus; + before(async () => { + const response = await profilingApiClient.adminUser({ + endpoint: `GET ${profilingRoutePaths.HasSetupESResources}`, + }); + statusCheck = response.body; + }); + it(`has been set up`, async () => { + expect(statusCheck.has_setup).to.be(true); + }); + + it(`does not have data`, async () => { + expect(statusCheck.has_data).to.be(false); + }); + + it(`does not have pre 8.9.1 data`, async () => { + expect(statusCheck.pre_8_9_1_data).to.be(false); + }); + }); + + describe('Viewer user', () => { + let statusCheck: ProfilingStatus; + before(async () => { + const response = await profilingApiClient.readUser({ + endpoint: `GET ${profilingRoutePaths.HasSetupESResources}`, + }); + statusCheck = response.body; + }); + it(`has been set up`, async () => { + expect(statusCheck.has_setup).to.be(true); + }); + + it(`has data`, async () => { + expect(statusCheck.has_data).to.be(true); + }); + + it(`does not have pre 8.9.1 data`, async () => { + expect(statusCheck.pre_8_9_1_data).to.be(false); + }); + + it(`is unauthorized to fully check profiling status `, async () => { + expect(statusCheck.unauthorized).to.be(true); + }); + }); + }); + + describe('Profiling is set up', () => { + before(async () => { + await setupProfiling(bettertest, logger); + }); + + describe('without data', () => { + describe('Admin user', () => { + let statusCheck: ProfilingStatus; + before(async () => { + const response = await profilingApiClient.adminUser({ + endpoint: `GET ${profilingRoutePaths.HasSetupESResources}`, + }); + statusCheck = response.body; + }); + it(`has been set up`, async () => { + expect(statusCheck.has_setup).to.be(true); + }); + + it(`does not have data`, async () => { + expect(statusCheck.has_data).to.be(false); + }); + + it(`does not have pre 8.9.1 data`, async () => { + expect(statusCheck.pre_8_9_1_data).to.be(false); + }); + }); + + describe('Viewer user', () => { + let statusCheck: ProfilingStatus; + before(async () => { + const response = await profilingApiClient.readUser({ + endpoint: `GET ${profilingRoutePaths.HasSetupESResources}`, + }); + statusCheck = response.body; + }); + it(`has been set up`, async () => { + expect(statusCheck.has_setup).to.be(true); + }); + + it(`has data`, async () => { + expect(statusCheck.has_data).to.be(true); + }); + + it(`does not have pre 8.9.1 data`, async () => { + expect(statusCheck.pre_8_9_1_data).to.be(false); + }); + + it(`is unauthorized to fully check profiling status `, async () => { + expect(statusCheck.unauthorized).to.be(true); + }); + }); + }); + + describe('with data', () => { + before(async () => { + await loadProfilingData(es, logger); + }); + describe('Admin user', () => { + let statusCheck: ProfilingStatus; + before(async () => { + const response = await profilingApiClient.adminUser({ + endpoint: `GET ${profilingRoutePaths.HasSetupESResources}`, + }); + statusCheck = response.body; + }); + it(`has been set up`, async () => { + expect(statusCheck.has_setup).to.be(true); + }); + + it(`does not have data`, async () => { + expect(statusCheck.has_data).to.be(true); + }); + + it(`does not have pre 8.9.1 data`, async () => { + expect(statusCheck.pre_8_9_1_data).to.be(false); + }); + }); + + describe('Viewer user', () => { + let statusCheck: ProfilingStatus; + before(async () => { + const response = await profilingApiClient.readUser({ + endpoint: `GET ${profilingRoutePaths.HasSetupESResources}`, + }); + statusCheck = response.body; + }); + it(`has been set up`, async () => { + expect(statusCheck.has_setup).to.be(true); + }); + + it(`has data`, async () => { + expect(statusCheck.has_data).to.be(true); + }); + + it(`does not have pre 8.9.1 data`, async () => { + expect(statusCheck.pre_8_9_1_data).to.be(false); + }); + + it(`is unauthorized to fully check profiling status `, async () => { + expect(statusCheck.unauthorized).to.be(true); + }); + }); + }); + }); + }); +} diff --git a/x-pack/test/profiling_api_integration/utils/fleet.ts b/x-pack/test/profiling_api_integration/utils/fleet.ts new file mode 100644 index 00000000000000..2bd04429304359 --- /dev/null +++ b/x-pack/test/profiling_api_integration/utils/fleet.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 { PackagePolicy } from '@kbn/fleet-plugin/common'; +import { + COLLECTOR_PACKAGE_POLICY_NAME, + SYMBOLIZER_PACKAGE_POLICY_NAME, +} from '@kbn/profiling-data-access-plugin/common'; +import { BetterTest } from '../common/bettertest'; + +export async function deletePackagePolicy(bettertest: BetterTest, packagePolicyId: string) { + return bettertest({ + pathname: `/api/fleet/package_policies/delete`, + method: 'post', + body: { packagePolicyIds: [packagePolicyId] }, + }); +} + +export async function getProfilingPackagePolicyIds(bettertest: BetterTest) { + const response = await bettertest<{ items: PackagePolicy[] }>({ + pathname: '/api/fleet/package_policies', + method: 'get', + }); + + const collector = response.body.items.find((item) => item.name === COLLECTOR_PACKAGE_POLICY_NAME); + const symbolizer = response.body.items.find( + (item) => item.name === SYMBOLIZER_PACKAGE_POLICY_NAME + ); + + return { + collectorId: collector?.id, + symbolizerId: symbolizer?.id, + }; +} diff --git a/x-pack/test/profiling_api_integration/utils/profiling_data.ts b/x-pack/test/profiling_api_integration/utils/profiling_data.ts new file mode 100644 index 00000000000000..c0e8a2b05dac91 --- /dev/null +++ b/x-pack/test/profiling_api_integration/utils/profiling_data.ts @@ -0,0 +1,97 @@ +/* + * Copyright 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 { Client } from '@elastic/elasticsearch'; +import { getRoutePaths } from '@kbn/profiling-plugin/common'; +import { ProfilingStatus } from '@kbn/profiling-utils'; +import { ToolingLog } from '@kbn/tooling-log'; +import fs from 'fs'; +import Path from 'path'; +import { BetterTest } from '../common/bettertest'; +import { deletePackagePolicy, getProfilingPackagePolicyIds } from './fleet'; + +const profilingRoutePaths = getRoutePaths(); + +const esArchiversPath = Path.posix.join( + __dirname, + '..', + 'common', + 'fixtures', + 'es_archiver', + 'profiling' +); + +function logWithTimer(logger: ToolingLog) { + const start = process.hrtime(); + + return (message: string) => { + const diff = process.hrtime(start); + const time = `${Math.round(diff[0] * 1000 + diff[1] / 1e6)}ms`; + logger.info(`(${time}) ${message}`); + }; +} + +export async function cleanUpProfilingData({ + es, + bettertest, + logger, +}: { + es: Client; + bettertest: BetterTest; + logger: ToolingLog; +}) { + const log = logWithTimer(logger); + log(`Unloading Profiling data`); + + const [indices, { collectorId, symbolizerId }] = await Promise.all([ + es.cat.indices({ format: 'json' }), + getProfilingPackagePolicyIds(bettertest), + ]); + + const profilingIndices = indices + .filter((index) => index.index !== undefined) + .map((index) => index.index) + .filter((index) => { + return index!.startsWith('profiling') || index!.startsWith('.profiling'); + }) as string[]; + + await Promise.all([ + ...profilingIndices.map((index) => es.indices.delete({ index })), + es.indices.deleteDataStream({ + name: 'profiling-events*', + }), + collectorId ? deletePackagePolicy(bettertest, collectorId) : Promise.resolve(), + symbolizerId ? deletePackagePolicy(bettertest, symbolizerId) : Promise.resolve(), + ]); + log('Unloaded Profiling data'); +} + +export async function setupProfiling(bettertest: BetterTest, logger: ToolingLog) { + const log = logWithTimer(logger); + const response = await bettertest({ + method: 'get', + pathname: profilingRoutePaths.HasSetupESResources, + }); + + if (response.body.has_setup) { + log(`Skipping Universal Profiling set up, already set up`); + } else { + log(`Setting up Universal Profiling`); + await bettertest({ + method: 'post', + pathname: profilingRoutePaths.HasSetupESResources, + }); + log(`Universal Profiling set up`); + } +} + +export async function loadProfilingData(es: Client, logger: ToolingLog) { + const log = logWithTimer(logger); + log(`Loading profiling data`); + const content = fs.readFileSync(`${esArchiversPath}/data.json`, 'utf8'); + await es.bulk({ operations: content.split('\n'), refresh: 'wait_for' }); + log('Loaded profiling data'); +} diff --git a/x-pack/test/tsconfig.json b/x-pack/test/tsconfig.json index bfa2bfdb2a2756..93d4866ef09333 100644 --- a/x-pack/test/tsconfig.json +++ b/x-pack/test/tsconfig.json @@ -142,5 +142,6 @@ "@kbn/stack-alerts-plugin", "@kbn/apm-data-access-plugin", "@kbn/profiling-utils", + "@kbn/profiling-data-access-plugin", ] } From 3ff82f2c17e532fed5d5544ed9bbae4f6e7331af Mon Sep 17 00:00:00 2001 From: Julia Bardi <90178898+juliaElastic@users.noreply.github.com> Date: Fri, 22 Sep 2023 10:20:05 +0200 Subject: [PATCH 39/72] [Fleet] fix index template from datastream name (#166941) ## Summary Resolve https://github.com/elastic/kibana/issues/164269 Some context why I picked this up now: https://github.com/elastic/kibana/issues/162772#issuecomment-1728031080 To verify: - Make sure 8.8+ apm package is installed - Create data stream `PUT _data_stream/metrics-apm.app.default-default` - Reinstall apm package from API or UI - Check kibana info logs, expect to not see simulate template error and rollover like below ``` [2023-09-21T15:54:36.559+02:00][INFO ][plugins.fleet] Mappings update for metrics-apm.app.default-default failed due to ResponseError: illegal_argument_exception Root causes: illegal_argument_exception: unable to simulate template [metrics-apm.app.default] that does not exist [2023-09-21T15:54:36.559+02:00][INFO ][plugins.fleet] Triggering a rollover for metrics-apm.app.default-default ``` ### Checklist - [x] [Unit or functional tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html) were updated or added to match the most common scenarios --- .../epm/elasticsearch/template/template.ts | 16 ++++-- .../apis/epm/install_hidden_datastreams.ts | 57 ++++++++++++++++++- 2 files changed, 67 insertions(+), 6 deletions(-) diff --git a/x-pack/plugins/fleet/server/services/epm/elasticsearch/template/template.ts b/x-pack/plugins/fleet/server/services/epm/elasticsearch/template/template.ts index 7949c9ab98a71d..3e9363fa9828fa 100644 --- a/x-pack/plugins/fleet/server/services/epm/elasticsearch/template/template.ts +++ b/x-pack/plugins/fleet/server/services/epm/elasticsearch/template/template.ts @@ -534,9 +534,15 @@ export function generateTemplateName(dataStream: RegistryDataStream): string { /** * Given a data stream name, return the indexTemplate name */ -function dataStreamNameToIndexTemplateName(dataStreamName: string): string { - const [type, dataset] = dataStreamName.split('-'); // ignore namespace at the end - return [type, dataset].join('-'); +async function getIndexTemplate( + esClient: ElasticsearchClient, + dataStreamName: string +): Promise { + const dataStream = await esClient.indices.getDataStream({ + name: dataStreamName, + expand_wildcards: ['open', 'hidden'], + }); + return dataStream.data_streams[0].template; } export function generateTemplateIndexPattern(dataStream: RegistryDataStream): string { @@ -757,9 +763,9 @@ const updateExistingDataStream = async ({ let lifecycle: any; try { - const simulateResult = await retryTransientEsErrors(() => + const simulateResult = await retryTransientEsErrors(async () => esClient.indices.simulateTemplate({ - name: dataStreamNameToIndexTemplateName(dataStreamName), + name: await getIndexTemplate(esClient, dataStreamName), }) ); diff --git a/x-pack/test/fleet_api_integration/apis/epm/install_hidden_datastreams.ts b/x-pack/test/fleet_api_integration/apis/epm/install_hidden_datastreams.ts index c734af44b36f49..93b30775170dc7 100644 --- a/x-pack/test/fleet_api_integration/apis/epm/install_hidden_datastreams.ts +++ b/x-pack/test/fleet_api_integration/apis/epm/install_hidden_datastreams.ts @@ -23,7 +23,7 @@ export default function (providerContext: FtrProviderContext) { skipIfNoDockerRegistry(providerContext); setupFleetAndAgents(providerContext); - after(async () => { + afterEach(async () => { await deletePackage('apm', '8.8.0'); }); @@ -88,5 +88,60 @@ export default function (providerContext: FtrProviderContext) { // datastream rolled over expect(Object.keys(ds).length).greaterThan(1); }); + + it('should not rollover datastreams when successfully updated mappings', async function () { + await supertest + .post(`/api/fleet/epm/packages/apm/8.8.0`) + .set('kbn-xsrf', 'xxxx') + .send({ force: true }) + .expect(200); + + await es.index({ + index: 'metrics-apm.app.default-default', + document: { + '@timestamp': '2023-05-30T07:50:00.000Z', + agent: { + name: 'go', + }, + data_stream: { + dataset: 'metrics-apm.app.default', + namespace: 'default', + type: 'metrics', + }, + ecs: { + version: '8.8.0-dev', + }, + event: { + agent_id_status: 'missing', + ingested: '2023-05-30T07:57:12Z', + }, + observer: { + hostname: '047e282994fb', + type: 'apm-server', + version: '8.8.0', + }, + }, + }); + + let ds = await es.indices.get({ + index: 'metrics-apm.app.default*', + expand_wildcards: ['open', 'hidden'], + }); + const indicesBefore = Object.keys(ds).length; + + await supertest + .post(`/api/fleet/epm/packages/apm/8.8.0`) + .set('kbn-xsrf', 'xxxx') + .send({ force: true }) + .expect(200); + + ds = await es.indices.get({ + index: 'metrics-apm.app.default*', + expand_wildcards: ['open', 'hidden'], + }); + const indicesAfter = Object.keys(ds).length; + // datastream did not roll over + expect(indicesAfter).equal(indicesBefore); + }); }); } From d52c5a15fdd9e3c8502fbb75378295c5c7649cc6 Mon Sep 17 00:00:00 2001 From: Luke G <11671118+lgestc@users.noreply.github.com> Date: Fri, 22 Sep 2023 10:23:50 +0200 Subject: [PATCH 40/72] [Security Solution] Fix missing hash in sync to url (#166847) ## Summary This PR fixes the root cause for https://github.com/elastic/kibana/issues/166686 and https://github.com/elastic/kibana/issues/166774 @angorayc @machadoum ### Checklist Delete any items that are not applicable to this PR. - [x] [Unit or functional tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html) were updated or added to match the most common scenarios --- packages/kbn-url-state/index.test.ts | 31 ++++++++++++++++--- packages/kbn-url-state/use_sync_to_url.ts | 9 ++++-- .../url/use_sync_flyout_state_with_url.tsx | 15 +++++++-- 3 files changed, 45 insertions(+), 10 deletions(-) diff --git a/packages/kbn-url-state/index.test.ts b/packages/kbn-url-state/index.test.ts index 33dc285e100e54..e2a85e58902f1c 100644 --- a/packages/kbn-url-state/index.test.ts +++ b/packages/kbn-url-state/index.test.ts @@ -23,6 +23,7 @@ describe('useSyncToUrl', () => { window.location = { ...originalLocation, search: '', + hash: '', }; window.history = { ...originalHistory, @@ -65,9 +66,30 @@ describe('useSyncToUrl', () => { ); }); + it('should should not alter the location hash', () => { + const key = 'testKey'; + const valueToSerialize = { test: 'value' }; + window.location.hash = '#should_be_there'; + + const { result } = renderHook(() => useSyncToUrl(key, jest.fn())); + + act(() => { + result.current(valueToSerialize); + }); + + expect(window.history.replaceState).toHaveBeenCalledWith( + { path: expect.any(String) }, + '', + '/#should_be_there?testKey=%28test%3Avalue%29' + ); + }); + it('should clear the value from the query string on unmount', () => { const key = 'testKey'; + // Location should have a key to clear + window.location.search = `?${key}=${encode({ test: 'value' })}`; + const { unmount } = renderHook(() => useSyncToUrl(key, jest.fn())); act(() => { @@ -85,6 +107,9 @@ describe('useSyncToUrl', () => { const key = 'testKey'; const restore = jest.fn(); + // Location should have a key to clear + window.location.search = `?${key}=${encode({ test: 'value' })}`; + renderHook(() => useSyncToUrl(key, restore, true)); act(() => { @@ -92,10 +117,6 @@ describe('useSyncToUrl', () => { }); expect(window.history.replaceState).toHaveBeenCalledTimes(1); - expect(window.history.replaceState).toHaveBeenCalledWith( - { path: expect.any(String) }, - '', - '/?' - ); + expect(window.history.replaceState).toHaveBeenCalledWith({ path: expect.any(String) }, '', '/'); }); }); diff --git a/packages/kbn-url-state/use_sync_to_url.ts b/packages/kbn-url-state/use_sync_to_url.ts index e38f9bc688a8b1..e6f1531980f752 100644 --- a/packages/kbn-url-state/use_sync_to_url.ts +++ b/packages/kbn-url-state/use_sync_to_url.ts @@ -55,10 +55,15 @@ export const useSyncToUrl = ( searchParams.delete(key); } - const newSearch = searchParams.toString(); + const stringifiedSearchParams = searchParams.toString(); + const newSearch = stringifiedSearchParams.length > 0 ? `?${stringifiedSearchParams}` : ''; + + if (window.location.search === newSearch) { + return; + } // Update query string without unnecessary re-render - const newUrl = `${window.location.pathname}?${newSearch}`; + const newUrl = `${window.location.pathname}${window.location.hash}${newSearch}`; window.history.replaceState({ path: newUrl }, '', newUrl); }, [key] diff --git a/x-pack/plugins/security_solution/public/flyout/shared/hooks/url/use_sync_flyout_state_with_url.tsx b/x-pack/plugins/security_solution/public/flyout/shared/hooks/url/use_sync_flyout_state_with_url.tsx index 554cf1d417994b..c78aecf44d84e9 100644 --- a/x-pack/plugins/security_solution/public/flyout/shared/hooks/url/use_sync_flyout_state_with_url.tsx +++ b/x-pack/plugins/security_solution/public/flyout/shared/hooks/url/use_sync_flyout_state_with_url.tsx @@ -22,9 +22,18 @@ type FlyoutState = Parameters[0]; export const useSyncFlyoutStateWithUrl = () => { const flyoutApi = useRef(null); - const syncStateToUrl = useSyncToUrl(FLYOUT_URL_PARAM, (data) => { - flyoutApi.current?.openFlyout(data); - }); + const handleRestoreFlyout = useCallback( + (state?: FlyoutState) => { + if (!state) { + return; + } + + flyoutApi.current?.openFlyout(state); + }, + [flyoutApi] + ); + + const syncStateToUrl = useSyncToUrl(FLYOUT_URL_PARAM, handleRestoreFlyout); // This should be bound to flyout changed and closed events. // When flyout is closed, url state is cleared From 7eb34b2f3875afe9b176e77e332978d44c6e920c Mon Sep 17 00:00:00 2001 From: Carlos Crespo Date: Fri, 22 Sep 2023 10:57:27 +0200 Subject: [PATCH 41/72] [Infra UI] Fix redirection to Node Details page from Inventory UI (#166821) fixes https://github.com/elastic/kibana/issues/166818 fixes https://github.com/elastic/kibana/issues/164164 ## Summary This PR fixes the redirection to Node Details page from the Inventory UI https://github.com/elastic/kibana/assets/2767137/38fcc79c-12e4-42ed-8230-712227815731 flaky test runner: https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/3202 ### How to test - Setup a local Kibana instance, pointing to a oblt cluster - Navigate to `Infrastructure` - Change the node type to `Kubernetes Pods` - Click on a pod and from the context menu, click on `Kubernetes Pod metrics` --- .../components/waffle/node_context_menu.tsx | 7 ++- .../test/functional/apps/infra/constants.ts | 4 ++ .../test/functional/apps/infra/home_page.ts | 56 +++++++++++++++++-- .../page_objects/infra_home_page.ts | 26 ++++++++- 4 files changed, 82 insertions(+), 11 deletions(-) diff --git a/x-pack/plugins/infra/public/pages/metrics/inventory_view/components/waffle/node_context_menu.tsx b/x-pack/plugins/infra/public/pages/metrics/inventory_view/components/waffle/node_context_menu.tsx index 1aef6ff5631924..f27c4e8f2aba45 100644 --- a/x-pack/plugins/infra/public/pages/metrics/inventory_view/components/waffle/node_context_menu.tsx +++ b/x-pack/plugins/infra/public/pages/metrics/inventory_view/components/waffle/node_context_menu.tsx @@ -78,7 +78,7 @@ export const NodeContextMenu: React.FC = withTheme const nodeDetailMenuItemLinkProps = useLinkProps({ ...getNodeDetailUrl({ - assetType: node.type, + assetType: nodeType, assetId: node.id, search: { from: nodeDetailFrom, @@ -171,7 +171,10 @@ export const NodeContextMenu: React.FC = withTheme )} - + diff --git a/x-pack/test/functional/apps/infra/constants.ts b/x-pack/test/functional/apps/infra/constants.ts index 26698db8ebf343..fcead1cf9dc269 100644 --- a/x-pack/test/functional/apps/infra/constants.ts +++ b/x-pack/test/functional/apps/infra/constants.ts @@ -29,6 +29,9 @@ export const DATES = { kubernetesSectionStartDate: '2023-09-19T07:20:00.000Z', kubernetesSectionEndDate: '2023-09-19T07:21:00.000Z', }, + pods: { + withData: '01/20/2022 5:10:00 PM', + }, stream: { startWithData: '2018-10-17T19:42:22.000Z', endWithData: '2018-10-17T19:57:21.000Z', @@ -47,6 +50,7 @@ export const ML_JOB_IDS = [ export const HOSTS_LINK_LOCAL_STORAGE_KEY = 'inventoryUI:hostsLinkClicked'; +export const INVENTORY_PATH = 'metrics/inventory'; export const NODE_DETAILS_PATH = 'detail/host'; export const HOSTS_VIEW_PATH = 'metrics/hosts'; diff --git a/x-pack/test/functional/apps/infra/home_page.ts b/x-pack/test/functional/apps/infra/home_page.ts index 8c63587f238896..d5d2ad2cb8b84b 100644 --- a/x-pack/test/functional/apps/infra/home_page.ts +++ b/x-pack/test/functional/apps/infra/home_page.ts @@ -8,10 +8,11 @@ import expect from '@kbn/expect'; import { KUBERNETES_TOUR_STORAGE_KEY } from '@kbn/infra-plugin/public/pages/metrics/inventory_view/components/kubernetes_tour'; import { FtrProviderContext } from '../../ftr_provider_context'; -import { DATES } from './constants'; +import { DATES, INVENTORY_PATH } from './constants'; const DATE_WITH_DATA = DATES.metricsAndLogs.hosts.withData; const DATE_WITHOUT_DATA = DATES.metricsAndLogs.hosts.withoutData; +const DATE_WITH_POD_WITH_DATA = DATES.metricsAndLogs.pods.withData; export default ({ getPageObjects, getService }: FtrProviderContext) => { const esArchiver = getService('esArchiver'); @@ -21,8 +22,15 @@ export default ({ getPageObjects, getService }: FtrProviderContext) => { const kibanaServer = getService('kibanaServer'); const testSubjects = getService('testSubjects'); - // Failing: See https://github.com/elastic/kibana/issues/164164 - describe.skip('Home page', function () { + const returnTo = async (path: string, timeout = 2000) => + retry.waitForWithTimeout('returned to inventory', timeout, async () => { + await browser.goBack(); + await pageObjects.header.waitUntilLoadingHasFinished(); + const currentUrl = await browser.getCurrentUrl(); + return !!currentUrl.match(path); + }); + + describe('Home page', function () { this.tags('includeFirefox'); before(async () => { await kibanaServer.savedObjects.cleanStandardList(); @@ -51,20 +59,19 @@ export default ({ getPageObjects, getService }: FtrProviderContext) => { ); await pageObjects.infraHome.waitForLoading(); await pageObjects.header.waitUntilLoadingHasFinished(); - - const documentTitle = await browser.getTitle(); - expect(documentTitle).to.contain('Uh oh - Observability - Elastic'); }); }); describe('with metrics present', () => { before(async () => { await esArchiver.load('x-pack/test/functional/es_archives/infra/metrics_and_logs'); + await esArchiver.load('x-pack/test/functional/es_archives/infra/8.0.0/pods_only'); await pageObjects.common.navigateToApp('infraOps'); await pageObjects.infraHome.waitForLoading(); }); after(async () => { await esArchiver.unload('x-pack/test/functional/es_archives/infra/metrics_and_logs'); + await esArchiver.unload('x-pack/test/functional/es_archives/infra/8.0.0/pods_only'); await browser.removeLocalStorageItem(KUBERNETES_TOUR_STORAGE_KEY); }); @@ -203,6 +210,43 @@ export default ({ getPageObjects, getService }: FtrProviderContext) => { it('toggles the inventory switcher', async () => { await pageObjects.infraHome.toggleInventorySwitcher(); }); + + describe('Redirect to Node Details page', () => { + before(async () => { + await pageObjects.common.navigateToApp('infraOps'); + await pageObjects.infraHome.waitForLoading(); + }); + + it('Should redirect to Host Details page', async () => { + await pageObjects.infraHome.goToTime(DATE_WITH_DATA); + await pageObjects.infraHome.goToHost(); + await pageObjects.infraHome.clickOnFirstNode(); + await pageObjects.infraHome.clickOnNodeDetailsFlyoutOpenAsPage(); + + await retry.tryForTime(3 * 1000, async () => { + const documentTitle = await browser.getTitle(); + expect(documentTitle).to.contain( + 'demo-stack-redis-01 - Infrastructure - Observability - Elastic' + ); + }); + + await returnTo(INVENTORY_PATH); + }); + + it('Should redirect to Node Details page', async () => { + await pageObjects.infraHome.goToTime(DATE_WITH_POD_WITH_DATA); + await pageObjects.infraHome.goToPods(); + await pageObjects.infraHome.clickOnFirstNode(); + await pageObjects.infraHome.clickOnGoToNodeDetails(); + + await retry.tryForTime(3 * 1000, async () => { + const documentTitle = await browser.getTitle(); + expect(documentTitle).to.contain('pod-0 - Infrastructure - Observability - Elastic'); + }); + + await returnTo(INVENTORY_PATH); + }); + }); }); describe('alerts flyouts', () => { diff --git a/x-pack/test/functional/page_objects/infra_home_page.ts b/x-pack/test/functional/page_objects/infra_home_page.ts index d7a2b86b2d5a37..2f3d0209d857fd 100644 --- a/x-pack/test/functional/page_objects/infra_home_page.ts +++ b/x-pack/test/functional/page_objects/infra_home_page.ts @@ -87,6 +87,28 @@ export function InfraHomePageProvider({ getService, getPageObjects }: FtrProvide return Promise.all(promises); }, + async getFirstNode() { + const nodes = await testSubjects.findAll('nodeContainer'); + return nodes[0]; + }, + + async clickOnFirstNode() { + const firstNode = await this.getFirstNode(); + firstNode.click(); + }, + + async clickOnGoToNodeDetails() { + await retry.try(async () => { + await testSubjects.click('viewAssetDetailsContextMenuItem'); + }); + }, + + async clickOnNodeDetailsFlyoutOpenAsPage() { + await retry.try(async () => { + await testSubjects.click('infraNodeContextPopoverOpenAsPageButton'); + }); + }, + async sortNodesBy(sort: string) { await testSubjects.click('waffleSortByDropdown'); if (sort === 'value') { @@ -175,9 +197,7 @@ export function InfraHomePageProvider({ getService, getPageObjects }: FtrProvide await testSubjects.click('openInventorySwitcher'); await testSubjects.find('goToHost'); await testSubjects.click('openInventorySwitcher'); - return retry.tryForTime(2 * 1000, async () => { - return testSubjects.missingOrFail('goToHost'); - }); + await testSubjects.missingOrFail('goToHost', { timeout: 10 * 1000 }); }, async goToHost() { From f5ab4979a9a6a1140ad9c1f8f74dfaf3094f5246 Mon Sep 17 00:00:00 2001 From: Shahzad Date: Fri, 22 Sep 2023 12:24:39 +0200 Subject: [PATCH 42/72] [Synthetics] Fix confusing labels for status alert toggle (#166918) ## Summary Fix confusing labels for status alert toggle removed the Disabled wording from toggle image --- .../monitor_add_edit/form/field_config.tsx | 20 ++++++------------- .../translations/translations/fr-FR.json | 2 -- .../translations/translations/ja-JP.json | 2 -- .../translations/translations/zh-CN.json | 2 -- 4 files changed, 6 insertions(+), 20 deletions(-) diff --git a/x-pack/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/form/field_config.tsx b/x-pack/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/form/field_config.tsx index a7ab9c4e7d56f0..05860378fca341 100644 --- a/x-pack/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/form/field_config.tsx +++ b/x-pack/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/form/field_config.tsx @@ -514,13 +514,9 @@ export const FIELD = (readOnly?: boolean): FieldMap => ({ formState.defaultValues?.[ConfigKey.MONITOR_SOURCE_TYPE] === SourceType.PROJECT; return { id: 'syntheticsMonitorConfigIsAlertEnabled', - label: field?.value - ? i18n.translate('xpack.synthetics.monitorConfig.enabledAlerting.label', { - defaultMessage: 'Disable status alerts on this monitor', - }) - : i18n.translate('xpack.synthetics.monitorConfig.disabledAlerting.label', { - defaultMessage: 'Enable status alerts on this monitor', - }), + label: i18n.translate('xpack.synthetics.monitorConfig.disabledAlerting.label', { + defaultMessage: 'Enable status alerts on this monitor', + }), checked: field?.value || false, onChange: async (event) => { setValue(AlertConfigKey.STATUS_ENABLED, !!event.target.checked); @@ -541,13 +537,9 @@ export const FIELD = (readOnly?: boolean): FieldMap => ({ formState.defaultValues?.[ConfigKey.MONITOR_SOURCE_TYPE] === SourceType.PROJECT; return { id: 'syntheticsMonitorConfigIsTlsAlertEnabled', - label: field?.value - ? i18n.translate('xpack.synthetics.monitorConfig.edit.alertTlsEnabled.label', { - defaultMessage: 'Disable TLS alerts on this monitor.', - }) - : i18n.translate('xpack.synthetics.monitorConfig.create.alertTlsEnabled.label', { - defaultMessage: 'Enable TLS alerts on this monitor.', - }), + label: i18n.translate('xpack.synthetics.monitorConfig.create.alertTlsEnabled.label', { + defaultMessage: 'Enable TLS alerts on this monitor.', + }), checked: field?.value || false, onChange: async (event) => { setValue(AlertConfigKey.TLS_ENABLED, !!event.target.checked); diff --git a/x-pack/plugins/translations/translations/fr-FR.json b/x-pack/plugins/translations/translations/fr-FR.json index 05fb32bab24fe7..150f72792a8615 100644 --- a/x-pack/plugins/translations/translations/fr-FR.json +++ b/x-pack/plugins/translations/translations/fr-FR.json @@ -36623,10 +36623,8 @@ "xpack.synthetics.monitorConfig.clientKeyPassphrase.label": "Phrase secrรจte de la clรฉ de client", "xpack.synthetics.monitorConfig.create.alertTlsEnabled.label": "Activez les alertes TLS sur ce moniteur.", "xpack.synthetics.monitorConfig.customTLS.label": "Utiliser la configuration TLS personnalisรฉe", - "xpack.synthetics.monitorConfig.edit.alertTlsEnabled.label": "La dรฉsactivation arrรชte les alertes TLS sur ce moniteur.", "xpack.synthetics.monitorConfig.edit.enabled.label": "Une fois dรฉsactivรฉ, le moniteur nโ€™exรฉcute aucun test. Vous pouvez lโ€™activer ร  tout moment.", "xpack.synthetics.monitorConfig.enabled.label": "Activer le moniteur", - "xpack.synthetics.monitorConfig.enabledAlerting.label": "Activer les alertes de statut", "xpack.synthetics.monitorConfig.frequency.helpText": "ร€ quelle frรฉquence voulez-vous exรฉcuter ce testย ? Les frรฉquences les plus รฉlevรฉes augmenteront votre coรปt total.", "xpack.synthetics.monitorConfig.frequency.label": "Frรฉquence", "xpack.synthetics.monitorConfig.hostsICMP.label": "Hรดte", diff --git a/x-pack/plugins/translations/translations/ja-JP.json b/x-pack/plugins/translations/translations/ja-JP.json index 13413d07021041..41096d8c2e990b 100644 --- a/x-pack/plugins/translations/translations/ja-JP.json +++ b/x-pack/plugins/translations/translations/ja-JP.json @@ -36622,10 +36622,8 @@ "xpack.synthetics.monitorConfig.clientKeyPassphrase.label": "ใ‚ฏใƒฉใ‚คใ‚ขใƒณใƒˆใ‚ญใƒผใƒ‘ใ‚นใƒ•ใƒฌใƒผใ‚บ", "xpack.synthetics.monitorConfig.create.alertTlsEnabled.label": "ใ“ใฎใƒขใƒ‹ใ‚ฟใƒผใงTLSใ‚ขใƒฉใƒผใƒˆใ‚’ๆœ‰ๅŠนๅŒ–ใ—ใพใ™ใ€‚", "xpack.synthetics.monitorConfig.customTLS.label": "ใ‚ซใ‚นใ‚ฟใƒ TLSๆง‹ๆˆใ‚’ไฝฟ็”จ", - "xpack.synthetics.monitorConfig.edit.alertTlsEnabled.label": "็„กๅŠนๅŒ–ใ™ใ‚‹ใจใ€ใ“ใฎใƒขใƒ‹ใ‚ฟใƒผใงTLSใ‚ขใƒฉใƒผใƒˆใ‚’ๅœๆญขใ—ใพใ™ใ€‚", "xpack.synthetics.monitorConfig.edit.enabled.label": "็„กๅŠนๅŒ–ใ™ใ‚‹ใจใ€ใƒขใƒ‹ใ‚ฟใƒผใฏใƒ†ใ‚นใƒˆใ‚’ๅฎŸ่กŒใ—ใพใ›ใ‚“ใ€‚ใ„ใคใงใ‚‚ๆœ‰ๅŠนๅŒ–ใงใใพใ™ใ€‚", "xpack.synthetics.monitorConfig.enabled.label": "ใƒขใƒ‹ใ‚ฟใƒผใ‚’ๆœ‰ๅŠนใซใ™ใ‚‹", - "xpack.synthetics.monitorConfig.enabledAlerting.label": "ใ‚นใƒ†ใƒผใ‚ฟใ‚นใ‚ขใƒฉใƒผใƒˆใ‚’ๆœ‰ๅŠนใซใ™ใ‚‹", "xpack.synthetics.monitorConfig.frequency.helpText": "ใ“ใฎใƒ†ใ‚นใƒˆใ‚’ใฉใฎ็จ‹ๅบฆใฎ้ ปๅบฆใงๅฎŸ่กŒใ—ใพใ™ใ‹๏ผŸ้ ปๅบฆใŒ้ซ˜ใ„ใปใฉใ€ๅˆ่จˆใ‚ณใ‚นใƒˆใŒไธŠใŒใ‚Šใพใ™ใ€‚", "xpack.synthetics.monitorConfig.frequency.label": "้ ปๅบฆ", "xpack.synthetics.monitorConfig.hostsICMP.label": "ใƒ›ใ‚นใƒˆ", diff --git a/x-pack/plugins/translations/translations/zh-CN.json b/x-pack/plugins/translations/translations/zh-CN.json index 7153e939084aa3..b17bf98b8ad3ac 100644 --- a/x-pack/plugins/translations/translations/zh-CN.json +++ b/x-pack/plugins/translations/translations/zh-CN.json @@ -36616,10 +36616,8 @@ "xpack.synthetics.monitorConfig.clientKeyPassphrase.label": "ๅฎขๆˆท็ซฏๅฏ†้’ฅๅฏ†็ ", "xpack.synthetics.monitorConfig.create.alertTlsEnabled.label": "ๅœจๆญค็›‘ๆต‹ไธŠๅฏ็”จ TLS ๅ‘Š่ญฆใ€‚", "xpack.synthetics.monitorConfig.customTLS.label": "ไฝฟ็”จๅฎšๅˆถ TLS ้…็ฝฎ", - "xpack.synthetics.monitorConfig.edit.alertTlsEnabled.label": "็ฆ็”จไผšๅœจๆญค็›‘ๆต‹ไธŠๅœๆญข TLS ๅ‘Š่ญฆใ€‚", "xpack.synthetics.monitorConfig.edit.enabled.label": "ๅฆ‚ๆžœ็ฆ็”จ๏ผŒๅˆ™ๆญค็›‘ๆต‹ไธไผš่ฟ่กŒไปปไฝ•ๆต‹่ฏ•ใ€‚ๆ‚จๅฏไปฅ้šๆ—ถๅฏ็”จ่ฏฅ้กนใ€‚", "xpack.synthetics.monitorConfig.enabled.label": "ๅฏ็”จ็›‘ๆต‹", - "xpack.synthetics.monitorConfig.enabledAlerting.label": "ๅฏ็”จ็Šถๆ€ๅ‘Š่ญฆ", "xpack.synthetics.monitorConfig.frequency.helpText": "ๆ‚จ่ฆๅคšไน…่ฟ่กŒๆญคๆต‹่ฏ•ไธ€ๆฌก๏ผŸ้ข‘็Ž‡่ถŠ้ซ˜๏ผŒๆ€ปๆˆๆœฌ่ถŠ้ซ˜ใ€‚", "xpack.synthetics.monitorConfig.frequency.label": "้ข‘็Ž‡", "xpack.synthetics.monitorConfig.hostsICMP.label": "ไธปๆœบ", From 2091870c5d1316053d62298b6a4889f3b275225f Mon Sep 17 00:00:00 2001 From: Yngrid Coello Date: Fri, 22 Sep 2023 12:42:19 +0200 Subject: [PATCH 43/72] [Logs onboarding] Getting elastic-agent version from fleet (#166920) Closes https://github.com/elastic/kibana/issues/165657. In https://github.com/elastic/kibana/pull/166811 we exposed the value of latest agent version available, with this PR we are aiming to use that value as the `elastic-agent` version used in the installation script of onboarding flow. ### How to test 1. Enter [System logs onboarding](https://yngrdyn-deploy-kiban-pr166920.kb.us-west2.gcp.elastic-cloud.com/app/observabilityOnboarding/systemLogs) 2. Verify the elastic agent version in the installation script image 3. Go to the [console](https://yngrdyn-deploy-kiban-pr166920.kb.us-west2.gcp.elastic-cloud.com/app/dev_tools#/console) 4. Execute `GET /` 5. Verify Kibana version As you can see the kibana version is an snapshot but the elastic agent version proposed is the latest one released `8.10.1` allowing us to construct a valid download url like https://artifacts.elastic.co/downloads/beats/elastic-agent/8.10.1-linux-x86_64.tar.gz --- .../observability_onboarding/server/plugin.ts | 5 ++++- .../server/routes/logs/route.ts | 18 ++++++++++++++++-- .../observability_onboarding/server/types.ts | 6 ++++++ .../observability_onboarding/tsconfig.json | 3 ++- 4 files changed, 28 insertions(+), 4 deletions(-) diff --git a/x-pack/plugins/observability_onboarding/server/plugin.ts b/x-pack/plugins/observability_onboarding/server/plugin.ts index 6ed20935398ab3..44aac3df2e5a44 100644 --- a/x-pack/plugins/observability_onboarding/server/plugin.ts +++ b/x-pack/plugins/observability_onboarding/server/plugin.ts @@ -46,7 +46,10 @@ export class ObservabilityOnboardingPlugin } public setup( - core: CoreSetup, + core: CoreSetup< + ObservabilityOnboardingPluginStartDependencies, + ObservabilityOnboardingPluginStart + >, plugins: ObservabilityOnboardingPluginSetupDependencies ) { this.logger.debug('observability_onboarding: Setup'); diff --git a/x-pack/plugins/observability_onboarding/server/routes/logs/route.ts b/x-pack/plugins/observability_onboarding/server/routes/logs/route.ts index 085f7cece0d8a4..a11dcd918f3edb 100644 --- a/x-pack/plugins/observability_onboarding/server/routes/logs/route.ts +++ b/x-pack/plugins/observability_onboarding/server/routes/logs/route.ts @@ -40,9 +40,23 @@ const installShipperSetupRoute = createObservabilityOnboardingServerRoute({ scriptDownloadUrl: string; elasticAgentVersion: string; }> { - const { core, plugins } = resources; + const { core, plugins, kibanaVersion } = resources; const coreStart = await core.start(); + const fleetPluginStart = await plugins.fleet.start(); + const agentClient = fleetPluginStart.agentService.asInternalUser; + + // If undefined, we will follow fleet's strategy to select latest available version: + // for serverless we will use the latest published version, for statefull we will use + // current Kibana version. If false, irrespective of fleet flags and logic, we are + // explicitly deciding to not append the current version. + const includeCurrentVersion = kibanaVersion.endsWith('-SNAPSHOT') + ? false + : undefined; + + const elasticAgentVersion = + await agentClient.getLatestAgentAvailableVersion(includeCurrentVersion); + const kibanaUrl = core.setup.http.basePath.publicBaseUrl ?? // priority given to server.publicBaseUrl plugins.cloud?.setup?.kibanaUrl ?? // then cloud id @@ -53,7 +67,7 @@ const installShipperSetupRoute = createObservabilityOnboardingServerRoute({ return { apiEndpoint, scriptDownloadUrl, - elasticAgentVersion: '8.9.1', + elasticAgentVersion, }; }, }); diff --git a/x-pack/plugins/observability_onboarding/server/types.ts b/x-pack/plugins/observability_onboarding/server/types.ts index 93113a5043904c..6823a0087c950d 100644 --- a/x-pack/plugins/observability_onboarding/server/types.ts +++ b/x-pack/plugins/observability_onboarding/server/types.ts @@ -11,6 +11,10 @@ import { PluginSetup as DataPluginSetup, PluginStart as DataPluginStart, } from '@kbn/data-plugin/server'; +import { + FleetSetupContract, + FleetStartContract, +} from '@kbn/fleet-plugin/server'; import { ObservabilityPluginSetup } from '@kbn/observability-plugin/server'; import { UsageCollectionSetup } from '@kbn/usage-collection-plugin/server'; @@ -19,6 +23,7 @@ export interface ObservabilityOnboardingPluginSetupDependencies { observability: ObservabilityPluginSetup; cloud: CloudSetup; usageCollection: UsageCollectionSetup; + fleet: FleetSetupContract; } export interface ObservabilityOnboardingPluginStartDependencies { @@ -26,6 +31,7 @@ export interface ObservabilityOnboardingPluginStartDependencies { observability: undefined; cloud: CloudStart; usageCollection: undefined; + fleet: FleetStartContract; } // eslint-disable-next-line @typescript-eslint/no-empty-interface diff --git a/x-pack/plugins/observability_onboarding/tsconfig.json b/x-pack/plugins/observability_onboarding/tsconfig.json index 4e1e2bacdf4377..4730fbe2560090 100644 --- a/x-pack/plugins/observability_onboarding/tsconfig.json +++ b/x-pack/plugins/observability_onboarding/tsconfig.json @@ -32,7 +32,8 @@ "@kbn/use-tracked-promise", "@kbn/custom-integrations", "@kbn/share-plugin", - "@kbn/deeplinks-observability" + "@kbn/deeplinks-observability", + "@kbn/fleet-plugin", ], "exclude": [ "target/**/*", From e2a715707163833e0429c17a2eaff518389486e7 Mon Sep 17 00:00:00 2001 From: Alex Szabo Date: Fri, 22 Sep 2023 14:21:01 +0200 Subject: [PATCH 44/72] [RAM] Correct renamed function after a race-condition merge (#167026) ## Summary There was an accidental race-condition on a variable re-name and usage between https://github.com/elastic/kibana/pull/166032 & https://github.com/elastic/kibana/pull/166603. This PR intends to correct that. --- .../group2/tests/alerting/get_action_error_log.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/x-pack/test/alerting_api_integration/security_and_spaces/group2/tests/alerting/get_action_error_log.ts b/x-pack/test/alerting_api_integration/security_and_spaces/group2/tests/alerting/get_action_error_log.ts index 754adcc6c9ae25..dc45a480164665 100644 --- a/x-pack/test/alerting_api_integration/security_and_spaces/group2/tests/alerting/get_action_error_log.ts +++ b/x-pack/test/alerting_api_integration/security_and_spaces/group2/tests/alerting/get_action_error_log.ts @@ -14,7 +14,7 @@ import { ObjectRemover, getTestRuleData, getEventLog, - getConsumerUnauthorizedErrorMessage, + getUnauthorizedErrorMessage, } from '../../../../common/lib'; import { FtrProviderContext } from '../../../../common/ftr_provider_context'; @@ -101,7 +101,7 @@ export default function createGetActionErrorLogTests({ getService }: FtrProvider expect(response.statusCode).to.eql(403); expect(response.body).to.eql({ error: 'Forbidden', - message: getConsumerUnauthorizedErrorMessage( + message: getUnauthorizedErrorMessage( 'get', 'test.cumulative-firing', 'alertsFixture' From 884bcb262514c9253a8df597a88a4950ad13397c Mon Sep 17 00:00:00 2001 From: Stratoula Kalafateli Date: Fri, 22 Sep 2023 15:59:59 +0300 Subject: [PATCH 45/72] [ES|QL] Fixes error in new metric when breakdown is a number (#167018) ## Summary In ES|QL we don't have field formatters. We just have the type of the field (number/date etc). If you are in Discover and write a query which returns only one column/row then the new metric is suggested. image If for whatever reason the user goes to breakdown and selects the same number variable (try_new) the chart will fail to render and you will see in the console an error. This happens because EC wait the title to be string but here as we don't have field formatters this is number and fails. --- .../expression_metric/public/components/metric_vis.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/plugins/chart_expressions/expression_metric/public/components/metric_vis.tsx b/src/plugins/chart_expressions/expression_metric/public/components/metric_vis.tsx index cb352fe883152e..109079f43fb8f7 100644 --- a/src/plugins/chart_expressions/expression_metric/public/components/metric_vis.tsx +++ b/src/plugins/chart_expressions/expression_metric/public/components/metric_vis.tsx @@ -184,7 +184,7 @@ export const MetricVis = ({ const baseMetric: MetricWNumber = { value, valueFormatter: formatPrimaryMetric, - title, + title: String(title), subtitle, icon: config.metric?.icon ? getIcon(config.metric?.icon) : undefined, extra: ( From f52ca02a3da343f9c4edb5e05d6a7b09c52cbbd1 Mon Sep 17 00:00:00 2001 From: Maxim Palenov Date: Fri, 22 Sep 2023 06:42:41 -0700 Subject: [PATCH 46/72] [Security Solution] Unskip related integrations Cypress tests in ESS (#166659) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit **Related to: https://github.com/elastic/kibana/issues/165359** **Resolves: https://github.com/elastic/kibana/issues/165504** ## Summary This PR unskips skipped rule integrations ESS tests. ## Details Besides just unskipping ESS tests this PR simplifies the test by fetching alert data from the ES directly instead of using multiple steps in UI to validate an expected field has an expected value. ## Flaky test runner ESS [related_integrations.cy.ts 100 runs](https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/3199) ๐ŸŸข --- .../related_integrations.cy.ts | 52 ++++--------- .../cypress/tasks/api_calls/alerts.ts | 77 +++++++++++++++++++ .../cypress/tasks/common.ts | 3 +- .../cypress/tasks/integrations.ts | 18 ++++- 4 files changed, 110 insertions(+), 40 deletions(-) create mode 100644 x-pack/test/security_solution_cypress/cypress/tasks/api_calls/alerts.ts diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/related_integrations/related_integrations.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/related_integrations/related_integrations.cy.ts index b115d93dfd7e85..85640b8c06ad2c 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/related_integrations/related_integrations.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/related_integrations/related_integrations.cy.ts @@ -7,11 +7,9 @@ import { omit } from 'lodash'; import { PerformRuleInstallationResponseBody } from '@kbn/security-solution-plugin/common/api/detection_engine'; -import { filterBy, openTable } from '../../../../tasks/rule_details_flyout'; import { generateEvent } from '../../../../objects/event'; import { createDocument, deleteDataStream } from '../../../../tasks/api_calls/elasticsearch'; import { createRuleAssetSavedObject } from '../../../../helpers/rules'; -import { FIELD } from '../../../../screens/alerts_details'; import { INTEGRATION_LINK, INTEGRATION_STATUS } from '../../../../screens/rule_details'; import { INTEGRATIONS_POPOVER, @@ -34,7 +32,6 @@ import { visitSecurityDetectionRulesPage, visitWithoutDateRange, } from '../../../../tasks/login'; -import { expandFirstAlert } from '../../../../tasks/alerts'; import { waitForAlertsToPopulate } from '../../../../tasks/create_new_rule'; import { installIntegrations, @@ -46,6 +43,7 @@ import { } from '../../../../tasks/alerts_detection_rules'; import { ruleDetailsUrl } from '../../../../urls/navigation'; import { enablesRule, waitForPageToBeLoaded } from '../../../../tasks/rule_details'; +import { fetchRuleAlerts } from '../../../../tasks/api_calls/alerts'; // TODO: https://github.com/elastic/kibana/issues/161540 describe('Related integrations', { tags: ['@ess', '@serverless', '@brokenInServerless'] }, () => { @@ -190,12 +188,10 @@ describe('Related integrations', { tags: ['@ess', '@serverless', '@brokenInServe }); }); - // TODO: https://github.com/elastic/kibana/issues/161540 - // Flaky in serverless tests - // @brokenInServerless tag is not working so a skip was needed - describe.skip('rule details', { tags: ['@brokenInServerless'] }, () => { + describe('rule details', () => { beforeEach(() => { visitFirstInstalledPrebuiltRuleDetailsPage(); + waitForPageToBeLoaded(PREBUILT_RULE_NAME); }); it('should display the integrations in the definition section', () => { @@ -212,42 +208,26 @@ describe('Related integrations', { tags: ['@ess', '@serverless', '@brokenInServe }); }); - it('the alerts generated should have a "kibana.alert.rule.parameters.related_integrations" field containing the integrations', () => { - const RELATED_INTEGRATION_FIELD = 'kibana.alert.rule.parameters.related_integrations'; + const RELATED_INTEGRATION_FIELD = 'kibana.alert.rule.parameters.related_integrations'; + it(`the alerts generated should have a "${RELATED_INTEGRATION_FIELD}" field containing the integrations`, () => { deleteDataStream(DATA_STREAM_NAME); createDocument(DATA_STREAM_NAME, generateEvent()); - waitForPageToBeLoaded(PREBUILT_RULE_NAME); enablesRule(); waitForAlertsToPopulate(); - expandFirstAlert(); - openTable(); - filterBy(RELATED_INTEGRATION_FIELD); - - cy.get(FIELD(RELATED_INTEGRATION_FIELD)) - .invoke('text') - .then((stringValue) => { - // Integrations are displayed in the flyout as a string with a format like so: - // '{"package":"aws","version":"1.17.0","integration":"unknown"}{"package":"mock","version":"1.1.0"}{"package":"system","version":"1.17.0"}' - // We need to parse it to an array of valid objects before we can compare it to the expected value - // Otherwise, the test might fail because of the order of the properties in the objects in the string - const jsonStringArray = stringValue.split('}{'); - - const validJsonStringArray = createValidJsonStringArray(jsonStringArray); - - const parsedIntegrations = validJsonStringArray.map((jsonString) => - JSON.parse(jsonString) - ); - - RULE_RELATED_INTEGRATIONS.forEach((integration) => { - expect(parsedIntegrations).to.deep.include({ - package: integration.package, - version: integration.version, - ...(integration.integration ? { integration: integration.integration } : {}), - }); - }); + + fetchRuleAlerts({ + ruleId: 'rule_1', + fields: [RELATED_INTEGRATION_FIELD], + size: 1, + }).then((alertsResponse) => { + expect(alertsResponse.body.hits.hits[0].fields).to.deep.equal({ + [RELATED_INTEGRATION_FIELD]: RULE_RELATED_INTEGRATIONS.map((x) => + omit(x, ['installed', 'enabled']) + ), }); + }); }); }); }); diff --git a/x-pack/test/security_solution_cypress/cypress/tasks/api_calls/alerts.ts b/x-pack/test/security_solution_cypress/cypress/tasks/api_calls/alerts.ts new file mode 100644 index 00000000000000..43d9952b9b376e --- /dev/null +++ b/x-pack/test/security_solution_cypress/cypress/tasks/api_calls/alerts.ts @@ -0,0 +1,77 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { + RuleObjectId, + RuleSignatureId, +} from '@kbn/security-solution-plugin/common/api/detection_engine'; +import { rootRequest } from '../common'; + +export const DEFAULT_ALERTS_INDEX_PATTERN = '.alerts-security.alerts-*'; + +interface FetchRuleAlertsParams { + ruleId: RuleObjectId | RuleSignatureId; + fields: string[]; + size?: number; +} + +interface AlertFields { + fields: Record; +} + +interface AlertsResponse { + hits: { + total: { + value: number; + }; + hits: AlertFields[]; + }; +} + +/** + * Returns rule's generated alerts + * + * @param ruleId a rule id representing either RuleObjectId (Saved Object id) or RuleSignatureId (rule_id) + * @param fields fields to fetch (fetch only fields you need to do assertions on) + * @param size a number of alerts to fetch + * + * @returns rule's generated alerts + */ +export function fetchRuleAlerts({ + ruleId, + fields, + size, +}: FetchRuleAlertsParams): Cypress.Chainable> { + return rootRequest({ + method: 'GET', + url: `${Cypress.env('ELASTICSEARCH_URL')}/${DEFAULT_ALERTS_INDEX_PATTERN}/_search`, + body: { + query: { + bool: { + should: [ + { + term: { + 'kibana.alert.rule.rule_id': ruleId, + }, + }, + { + term: { + 'kibana.alert.rule.uuid': ruleId, + }, + }, + ], + }, + }, + fields, + sort: { + '@timestamp': 'desc', + }, + size, + _source: false, + }, + }); +} diff --git a/x-pack/test/security_solution_cypress/cypress/tasks/common.ts b/x-pack/test/security_solution_cypress/cypress/tasks/common.ts index a3bcf265455f55..7e45afcc42c49d 100644 --- a/x-pack/test/security_solution_cypress/cypress/tasks/common.ts +++ b/x-pack/test/security_solution_cypress/cypress/tasks/common.ts @@ -10,6 +10,7 @@ import { ELASTIC_HTTP_VERSION_HEADER } from '@kbn/core-http-common'; import { KIBANA_LOADING_ICON } from '../screens/security_header'; import { EUI_BASIC_TABLE_LOADING } from '../screens/common/controls'; import { deleteAllDocuments } from './api_calls/elasticsearch'; +import { DEFAULT_ALERTS_INDEX_PATTERN } from './api_calls/alerts'; const primaryButton = 0; @@ -135,7 +136,7 @@ export const deleteAlertsAndRules = () => { }, }); - deleteAllDocuments('.lists-*,.items-*,.alerts-security.alerts-*'); + deleteAllDocuments(`.lists-*,.items-*,${DEFAULT_ALERTS_INDEX_PATTERN}`); }; export const deleteTimelines = () => { diff --git a/x-pack/test/security_solution_cypress/cypress/tasks/integrations.ts b/x-pack/test/security_solution_cypress/cypress/tasks/integrations.ts index c7da263d42f42f..eeef97682b9c7f 100644 --- a/x-pack/test/security_solution_cypress/cypress/tasks/integrations.ts +++ b/x-pack/test/security_solution_cypress/cypress/tasks/integrations.ts @@ -56,7 +56,11 @@ export function installIntegrations({ packages, force: true, }, - headers: { 'kbn-xsrf': 'cypress-creds', 'x-elastic-internal-origin': 'security-solution' }, + headers: { + 'kbn-xsrf': 'cypress-creds', + 'x-elastic-internal-origin': 'security-solution', + 'elastic-api-version': '2023-10-31', + }, }); // Install agent and package policies @@ -64,7 +68,11 @@ export function installIntegrations({ method: 'POST', url: `${AGENT_POLICY_API_ROUTES.CREATE_PATTERN}?sys_monitoring=true`, body: agentPolicy, - headers: { 'kbn-xsrf': 'cypress-creds', 'x-elastic-internal-origin': 'security-solution' }, + headers: { + 'kbn-xsrf': 'cypress-creds', + 'x-elastic-internal-origin': 'security-solution', + 'elastic-api-version': '2023-10-31', + }, }).then((response) => { const packagePolicyWithAgentPolicyId: PackagePolicy = { ...packagePolicy, @@ -75,7 +83,11 @@ export function installIntegrations({ method: 'POST', url: PACKAGE_POLICY_API_ROUTES.CREATE_PATTERN, body: packagePolicyWithAgentPolicyId, - headers: { 'kbn-xsrf': 'cypress-creds', 'x-elastic-internal-origin': 'security-solution' }, + headers: { + 'kbn-xsrf': 'cypress-creds', + 'x-elastic-internal-origin': 'security-solution', + 'elastic-api-version': '2023-10-31', + }, }); }); } From cdaa3d3851514f646e23a7485302d096237b2803 Mon Sep 17 00:00:00 2001 From: Walter Rafelsberger Date: Fri, 22 Sep 2023 17:13:38 +0200 Subject: [PATCH 47/72] [ML] Transforms: Enable SLO transforms installer on CI (#165470) ## Summary This enables the installer for SLO transforms on CI. - For the `many_fields_transform` performance journey, it will then look for the "Create transform" on top of the table instead of the "Create your first transform" button. Command to test the performance journey: `node scripts/run_performance.js --journey-path x-pack/performance/journeys/many_fields_transform.ts --skip-warmup` - For the functional tests that assert the empty transform list, this adds a command to delete all transforms before running those tests. --- x-pack/performance/journeys/many_fields_transform.ts | 4 ++-- .../observability/server/services/slo/slo_installer.ts | 2 +- x-pack/plugins/transform/public/app/hooks/use_index_data.ts | 2 ++ .../apps/transform/permissions/full_transform_access.ts | 4 ++++ .../apps/transform/permissions/read_transform_access.ts | 4 ++++ .../functional/apps/upgrade_assistant/deprecation_pages.ts | 4 ++-- x-pack/test/functional/config.upgrade_assistant.ts | 2 +- 7 files changed, 16 insertions(+), 6 deletions(-) diff --git a/x-pack/performance/journeys/many_fields_transform.ts b/x-pack/performance/journeys/many_fields_transform.ts index 6fe945914c3587..14187c20e5c594 100644 --- a/x-pack/performance/journeys/many_fields_transform.ts +++ b/x-pack/performance/journeys/many_fields_transform.ts @@ -15,11 +15,11 @@ export const journey = new Journey({ .step('Go to Transforms', async ({ page, kbnUrl, kibanaPage }) => { await page.goto(kbnUrl.get(`app/management/data/transform`)); await kibanaPage.waitForHeader(); - await page.waitForSelector(subj('transformCreateFirstButton')); + await page.waitForSelector(subj('transformButtonCreate')); await page.waitForSelector(subj('globalLoadingIndicator-hidden')); }) .step('Go to data view selection', async ({ page }) => { - const createButtons = page.locator(subj('transformCreateFirstButton')); + const createButtons = page.locator(subj('transformButtonCreate')); await createButtons.first().click(); await page.waitForSelector(subj('savedObjectsFinderTable')); }) diff --git a/x-pack/plugins/observability/server/services/slo/slo_installer.ts b/x-pack/plugins/observability/server/services/slo/slo_installer.ts index 44c2a7752e3154..bdee31f62912dc 100644 --- a/x-pack/plugins/observability/server/services/slo/slo_installer.ts +++ b/x-pack/plugins/observability/server/services/slo/slo_installer.ts @@ -22,7 +22,7 @@ export class DefaultSLOInstaller implements SLOInstaller { ) {} public async install() { - if (this.isInstalling || process.env.CI) { + if (this.isInstalling) { return; } this.isInstalling = true; diff --git a/x-pack/plugins/transform/public/app/hooks/use_index_data.ts b/x-pack/plugins/transform/public/app/hooks/use_index_data.ts index 4534552f6b405d..471146f583dc8c 100644 --- a/x-pack/plugins/transform/public/app/hooks/use_index_data.ts +++ b/x-pack/plugins/transform/public/app/hooks/use_index_data.ts @@ -310,6 +310,8 @@ export const useIndexData = ( if ( dataGrid.status === INDEX_STATUS.LOADED && dataViewFields !== undefined && + Array.isArray(histogramsForFieldsData) && + histogramsForFieldsData.length > 0 && loadIndexDataStartTime.current !== undefined ) { const loadIndexDataDuration = window.performance.now() - loadIndexDataStartTime.current; diff --git a/x-pack/test/functional/apps/transform/permissions/full_transform_access.ts b/x-pack/test/functional/apps/transform/permissions/full_transform_access.ts index 4969832b3600e0..2e7779767eacab 100644 --- a/x-pack/test/functional/apps/transform/permissions/full_transform_access.ts +++ b/x-pack/test/functional/apps/transform/permissions/full_transform_access.ts @@ -17,6 +17,10 @@ export default function ({ getService }: FtrProviderContext) { describe('with no data loaded', function () { before(async () => { await transform.securityUI.loginAsTransformPowerUser(); + + // For this test to work, make sure there are no pre-existing transform present. + // For example, solutions might set up transforms automatically. + await transform.api.cleanTransformIndices(); }); after(async () => { diff --git a/x-pack/test/functional/apps/transform/permissions/read_transform_access.ts b/x-pack/test/functional/apps/transform/permissions/read_transform_access.ts index 918cd5c144a84e..4e715d4f074670 100644 --- a/x-pack/test/functional/apps/transform/permissions/read_transform_access.ts +++ b/x-pack/test/functional/apps/transform/permissions/read_transform_access.ts @@ -17,6 +17,10 @@ export default function ({ getService }: FtrProviderContext) { describe('with no data loaded', function () { before(async () => { await transform.securityUI.loginAsTransformViewer(); + + // For this test to work, make sure there are no pre-existing transform present. + // For example, solutions might set up transforms automatically. + await transform.api.cleanTransformIndices(); }); after(async () => { diff --git a/x-pack/test/functional/apps/upgrade_assistant/deprecation_pages.ts b/x-pack/test/functional/apps/upgrade_assistant/deprecation_pages.ts index 19b4fad72d2726..0167ed424850ec 100644 --- a/x-pack/test/functional/apps/upgrade_assistant/deprecation_pages.ts +++ b/x-pack/test/functional/apps/upgrade_assistant/deprecation_pages.ts @@ -27,7 +27,7 @@ export default function upgradeAssistantFunctionalTests({ try { /** * Trigger "Total shards" ES Upgrade readiness check - * the number of shards in the test cluster is 25-27 + * the number of shards in the test cluster is 25-29 * so 5 max shards per node should trigger this check * on both local and CI environments. */ @@ -53,7 +53,7 @@ export default function upgradeAssistantFunctionalTests({ persistent: { cluster: { // initial cluster setting from x-pack/test/functional/config.upgrade_assistant.js - max_shards_per_node: 27, + max_shards_per_node: 29, }, }, }, diff --git a/x-pack/test/functional/config.upgrade_assistant.ts b/x-pack/test/functional/config.upgrade_assistant.ts index a9e0a447a29612..fee6504ae57b4b 100644 --- a/x-pack/test/functional/config.upgrade_assistant.ts +++ b/x-pack/test/functional/config.upgrade_assistant.ts @@ -31,7 +31,7 @@ export default async function ({ readConfigFile }: FtrConfigProviderContext) { 'cluster.routing.allocation.disk.threshold_enabled=true', // make sure disk thresholds are enabled for UA cluster testing 'cluster.routing.allocation.disk.watermark.low=30%', 'cluster.info.update.interval=10s', - 'cluster.max_shards_per_node=27', + 'cluster.max_shards_per_node=29', ], }, }; From 213ef5686b80d3cd8e48d5a4d194f8721664bb2b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yulia=20=C4=8Cech?= <6585477+yuliacech@users.noreply.github.com> Date: Fri, 22 Sep 2023 17:19:02 +0200 Subject: [PATCH 48/72] [Index Management] Fix encoding issue on index details page (#166882) ## Summary Fixes https://github.com/elastic/kibana/issues/166100 This PR adds a workaround fix for the new index details page when opening for index names with special characters, for example `test_index%`. Because of how encoding/decoding works, we can't use the index name as a part of the url like `/indices/${indexName}` (see for more details). Instead we have to pass the index name in a query parameter like `/indices/index_details?indexName=${indexName}. The downside of this workaround is that the url semantics doesn't reflect that the index name is mandatory for the page to work. Once https://github.com/elastic/kibana/issues/132600 is resolved, we should revert this workaround and use the index name as a url segment again. Note for reviewers: The jest tests for this fix are part of https://github.com/elastic/kibana/pull/165705 ### How to test 1. Add `xpack.index_management.dev.enableIndexDetailsPage: true` to the file `config/kibana.dev.yml` to enable the new index details page 2. Navigate to Index Management and use the "create index" button 3. Type a name with special characters, for example `test%` 4. Click the new index name in the list and check that the details page and all tabs work 5. Also reload the page completely and check that the page still loads correctly --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> Co-authored-by: Alison Goryachev --- .../index_details_page.helpers.ts | 36 ++-- .../index_details_page.test.tsx | 104 ++++++---- .../common/constants/home_sections.ts | 21 ++ .../common/constants/index.ts | 2 + .../public/application/app.tsx | 4 +- .../data_stream_list/data_stream_list.tsx | 2 +- .../public/application/sections/home/home.tsx | 15 +- .../public/application/sections/home/index.ts | 2 +- .../index_list/details_page/details_page.tsx | 179 ++++++++++-------- .../details_page/details_page_mappings.tsx | 7 +- .../details_page/details_page_settings.tsx | 13 +- .../details_page/details_page_stats.tsx | 13 +- .../home/index_list/details_page/index.ts | 2 +- .../sections/home/index_list/index_list.tsx | 3 +- .../public/application/services/routing.ts | 10 + 15 files changed, 229 insertions(+), 184 deletions(-) create mode 100644 x-pack/plugins/index_management/common/constants/home_sections.ts diff --git a/x-pack/plugins/index_management/__jest__/client_integration/index_details_page/index_details_page.helpers.ts b/x-pack/plugins/index_management/__jest__/client_integration/index_details_page/index_details_page.helpers.ts index 9c7e3e1efbe4a2..a390232cd81c5e 100644 --- a/x-pack/plugins/index_management/__jest__/client_integration/index_details_page/index_details_page.helpers.ts +++ b/x-pack/plugins/index_management/__jest__/client_integration/index_details_page/index_details_page.helpers.ts @@ -13,24 +13,23 @@ import { } from '@kbn/test-jest-helpers'; import { HttpSetup } from '@kbn/core/public'; import { act } from 'react-dom/test-utils'; -import { - IndexDetailsPage, - IndexDetailsSection, -} from '../../../public/application/sections/home/index_list/details_page'; + +import { IndexDetailsSection } from '../../../common/constants'; +import { IndexDetailsPage } from '../../../public/application/sections/home/index_list/details_page'; import { WithAppDependencies } from '../helpers'; import { testIndexName } from './mocks'; let routerMock: typeof reactRouterMock; -const testBedConfig: AsyncTestBedConfig = { +const getTestBedConfig = (initialEntry?: string): AsyncTestBedConfig => ({ memoryRouter: { - initialEntries: [`/indices/${testIndexName}`], - componentRoutePath: `/indices/:indexName/:indexDetailsSection?`, + initialEntries: [initialEntry ?? `/indices/index_details?indexName=${testIndexName}`], + componentRoutePath: `/indices/index_details`, onRouter: (router) => { routerMock = router; }, }, doMountAsync: true, -}; +}); export interface IndexDetailsPageTestBed extends TestBed { routerMock: typeof reactRouterMock; @@ -67,6 +66,7 @@ export interface IndexDetailsPageTestBed extends TestBed { errorSection: { isDisplayed: () => boolean; clickReloadButton: () => Promise; + noIndexNameMessageIsDisplayed: () => boolean; }; stats: { getCodeBlockContent: () => string; @@ -85,13 +85,18 @@ export interface IndexDetailsPageTestBed extends TestBed { }; } -export const setup = async ( - httpSetup: HttpSetup, - overridingDependencies: any = {} -): Promise => { +export const setup = async ({ + httpSetup, + dependencies = {}, + initialEntry, +}: { + httpSetup: HttpSetup; + dependencies?: any; + initialEntry?: string; +}): Promise => { const initTestBed = registerTestBed( - WithAppDependencies(IndexDetailsPage, httpSetup, overridingDependencies), - testBedConfig + WithAppDependencies(IndexDetailsPage, httpSetup, dependencies), + getTestBedConfig(initialEntry) ); const testBed = await initTestBed(); const { find, component, exists } = testBed; @@ -106,6 +111,9 @@ export const setup = async ( }); component.update(); }, + noIndexNameMessageIsDisplayed: () => { + return exists('indexDetailsNoIndexNameError'); + }, }; const getHeader = () => { return component.find('[data-test-subj="indexDetailsHeader"] h1').text(); diff --git a/x-pack/plugins/index_management/__jest__/client_integration/index_details_page/index_details_page.test.tsx b/x-pack/plugins/index_management/__jest__/client_integration/index_details_page/index_details_page.test.tsx index 99ec128d9cc672..6d9f2bc7daac7b 100644 --- a/x-pack/plugins/index_management/__jest__/client_integration/index_details_page/index_details_page.test.tsx +++ b/x-pack/plugins/index_management/__jest__/client_integration/index_details_page/index_details_page.test.tsx @@ -8,11 +8,14 @@ import { setupEnvironment } from '../helpers'; import { IndexDetailsPageTestBed, setup } from './index_details_page.helpers'; import { act } from 'react-dom/test-utils'; + +import React from 'react'; +import { IndexDetailsSection } from '../../../common/constants'; +import { API_BASE_PATH, INTERNAL_API_BASE_PATH } from '../../../common'; import { breadcrumbService, IndexManagementBreadcrumb, } from '../../../public/application/services/breadcrumbs'; -import { IndexDetailsSection } from '../../../public/application/sections/home/index_list/details_page'; import { testIndexEditableSettings, testIndexMappings, @@ -21,8 +24,6 @@ import { testIndexSettings, testIndexStats, } from './mocks'; -import { API_BASE_PATH, INTERNAL_API_BASE_PATH } from '../../../common'; -import React from 'react'; jest.mock('@kbn/kibana-react-plugin/public', () => { const original = jest.requireActual('@kbn/kibana-react-plugin/public'); @@ -57,10 +58,13 @@ describe('', () => { httpRequestsMockHelpers.setLoadIndexSettingsResponse(testIndexName, testIndexSettings); await act(async () => { - testBed = await setup(httpSetup, { - url: { - locators: { - get: () => ({ navigate: jest.fn() }), + testBed = await setup({ + httpSetup, + dependencies: { + url: { + locators: { + get: () => ({ navigate: jest.fn() }), + }, }, }, }); @@ -75,7 +79,7 @@ describe('', () => { message: `Data for index ${testIndexName} was not found`, }); await act(async () => { - testBed = await setup(httpSetup); + testBed = await setup({ httpSetup }); }); testBed.component.update(); @@ -91,6 +95,19 @@ describe('', () => { await testBed.actions.errorSection.clickReloadButton(); expect(httpSetup.get).toHaveBeenCalledTimes(numberOfRequests + 1); }); + + it('renders an error section when no index name is provided', async () => { + // already sent 2 requests while setting up the component + const numberOfRequests = 2; + expect(httpSetup.get).toHaveBeenCalledTimes(numberOfRequests); + await act(async () => { + testBed = await setup({ httpSetup, initialEntry: '/indices/index_details' }); + }); + testBed.component.update(); + expect(testBed.actions.errorSection.noIndexNameMessageIsDisplayed()).toBe(true); + // no extra http request was sent + expect(httpSetup.get).toHaveBeenCalledTimes(numberOfRequests); + }); }); describe('Stats tab', () => { @@ -138,7 +155,7 @@ describe('', () => { ); await act(async () => { - testBed = await setup(httpSetup); + testBed = await setup({ httpSetup }); }); testBed.component.update(); @@ -148,8 +165,11 @@ describe('', () => { it('hides index stats tab if enableIndexStats===false', async () => { await act(async () => { - testBed = await setup(httpSetup, { - config: { enableIndexStats: false }, + testBed = await setup({ + httpSetup, + dependencies: { + config: { enableIndexStats: false }, + }, }); }); testBed.component.update(); @@ -164,7 +184,7 @@ describe('', () => { message: 'Error', }); await act(async () => { - testBed = await setup(httpSetup); + testBed = await setup({ httpSetup }); }); testBed.component.update(); @@ -213,8 +233,11 @@ describe('', () => { it('hides index stats from detail panels if enableIndexStats===false', async () => { await act(async () => { - testBed = await setup(httpSetup, { - config: { enableIndexStats: false }, + testBed = await setup({ + httpSetup, + dependencies: { + config: { enableIndexStats: false }, + }, }); }); testBed.component.update(); @@ -226,10 +249,13 @@ describe('', () => { describe('extension service summary', () => { it('renders all summaries added to the extension service', async () => { await act(async () => { - testBed = await setup(httpSetup, { - services: { - extensionsService: { - summaries: [() => test, () => test2], + testBed = await setup({ + httpSetup, + dependencies: { + services: { + extensionsService: { + summaries: [() => test, () => test2], + }, }, }, }); @@ -241,10 +267,13 @@ describe('', () => { it(`doesn't render empty panels if the summary renders null`, async () => { await act(async () => { - testBed = await setup(httpSetup, { - services: { - extensionsService: { - summaries: [() => null], + testBed = await setup({ + httpSetup, + dependencies: { + services: { + extensionsService: { + summaries: [() => null], + }, }, }, }); @@ -255,10 +284,13 @@ describe('', () => { it(`doesn't render anything when no summaries added to the extension service`, async () => { await act(async () => { - testBed = await setup(httpSetup, { - services: { - extensionsService: { - summaries: [], + testBed = await setup({ + httpSetup, + dependencies: { + services: { + extensionsService: { + summaries: [], + }, }, }, }); @@ -269,12 +301,6 @@ describe('', () => { }); }); - it('documents tab', async () => { - await testBed.actions.clickIndexDetailsTab(IndexDetailsSection.Documents); - const tabContent = testBed.actions.getActiveTabContent(); - expect(tabContent).toEqual('Documents'); - }); - describe('Mappings tab', () => { it('updates the breadcrumbs to index details mappings', async () => { await testBed.actions.clickIndexDetailsTab(IndexDetailsSection.Mappings); @@ -315,7 +341,7 @@ describe('', () => { message: `Was not able to load mappings`, }); await act(async () => { - testBed = await setup(httpSetup); + testBed = await setup({ httpSetup }); }); testBed.component.update(); @@ -377,7 +403,7 @@ describe('', () => { message: `Was not able to load settings`, }); await act(async () => { - testBed = await setup(httpSetup); + testBed = await setup({ httpSetup }); }); testBed.component.update(); @@ -451,12 +477,6 @@ describe('', () => { }); }); - it('pipelines tab', async () => { - await testBed.actions.clickIndexDetailsTab(IndexDetailsSection.Pipelines); - const tabContent = testBed.actions.getActiveTabContent(); - expect(tabContent).toEqual('Pipelines'); - }); - it('navigates back to indices', async () => { jest.spyOn(testBed.routerMock.history, 'push'); await testBed.actions.clickBackToIndicesButton(); @@ -496,7 +516,7 @@ describe('', () => { }); await act(async () => { - testBed = await setup(httpSetup); + testBed = await setup({ httpSetup }); }); testBed.component.update(); @@ -589,7 +609,7 @@ describe('', () => { }); await act(async () => { - testBed = await setup(httpSetup); + testBed = await setup({ httpSetup }); }); testBed.component.update(); diff --git a/x-pack/plugins/index_management/common/constants/home_sections.ts b/x-pack/plugins/index_management/common/constants/home_sections.ts new file mode 100644 index 00000000000000..c4bb72691dcde8 --- /dev/null +++ b/x-pack/plugins/index_management/common/constants/home_sections.ts @@ -0,0 +1,21 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +export enum Section { + Indices = 'indices', + DataStreams = 'data_streams', + IndexTemplates = 'templates', + ComponentTemplates = 'component_templates', + EnrichPolicies = 'enrich_policies', +} + +export enum IndexDetailsSection { + Overview = 'overview', + Mappings = 'mappings', + Settings = 'settings', + Stats = 'stats', +} diff --git a/x-pack/plugins/index_management/common/constants/index.ts b/x-pack/plugins/index_management/common/constants/index.ts index 786dad4a5e375f..16972f187707a2 100644 --- a/x-pack/plugins/index_management/common/constants/index.ts +++ b/x-pack/plugins/index_management/common/constants/index.ts @@ -53,3 +53,5 @@ export { } from './ui_metric'; export { MAJOR_VERSION } from './plugin'; + +export { Section, IndexDetailsSection } from './home_sections'; diff --git a/x-pack/plugins/index_management/public/application/app.tsx b/x-pack/plugins/index_management/public/application/app.tsx index 163af333e72478..1fc9dd26e4cdea 100644 --- a/x-pack/plugins/index_management/public/application/app.tsx +++ b/x-pack/plugins/index_management/public/application/app.tsx @@ -12,8 +12,8 @@ import { Redirect } from 'react-router-dom'; import { Router, Routes, Route } from '@kbn/shared-ux-router'; import { ScopedHistory } from '@kbn/core/public'; -import { UIM_APP_LOAD } from '../../common/constants'; -import { IndexManagementHome, homeSections, Section } from './sections/home'; +import { UIM_APP_LOAD, Section } from '../../common/constants'; +import { IndexManagementHome, homeSections } from './sections/home'; import { TemplateCreate } from './sections/template_create'; import { TemplateClone } from './sections/template_clone'; import { TemplateEdit } from './sections/template_edit'; diff --git a/x-pack/plugins/index_management/public/application/sections/home/data_stream_list/data_stream_list.tsx b/x-pack/plugins/index_management/public/application/sections/home/data_stream_list/data_stream_list.tsx index 140fb2a4282ee4..04a5a4a20f491f 100644 --- a/x-pack/plugins/index_management/public/application/sections/home/data_stream_list/data_stream_list.tsx +++ b/x-pack/plugins/index_management/public/application/sections/home/data_stream_list/data_stream_list.tsx @@ -32,11 +32,11 @@ import { APP_WRAPPER_CLASS, useExecutionContext, } from '../../../../shared_imports'; +import { Section } from '../../../../../common/constants'; import { useAppContext } from '../../../app_context'; import { useLoadDataStreams } from '../../../services/api'; import { breadcrumbService, IndexManagementBreadcrumb } from '../../../services/breadcrumbs'; import { documentationService } from '../../../services/documentation'; -import { Section } from '../home'; import { DataStreamTable } from './data_stream_table'; import { DataStreamDetailPanel } from './data_stream_detail_panel'; import { filterDataStreams, isSelectedDataStreamHidden } from '../../../lib/data_streams'; diff --git a/x-pack/plugins/index_management/public/application/sections/home/home.tsx b/x-pack/plugins/index_management/public/application/sections/home/home.tsx index 15717a6acb7e3f..f5e6cf85002fef 100644 --- a/x-pack/plugins/index_management/public/application/sections/home/home.tsx +++ b/x-pack/plugins/index_management/public/application/sections/home/home.tsx @@ -10,6 +10,8 @@ import { RouteComponentProps } from 'react-router-dom'; import { Routes, Route } from '@kbn/shared-ux-router'; import { FormattedMessage } from '@kbn/i18n-react'; import { EuiButtonEmpty, EuiPageHeader, EuiSpacer } from '@elastic/eui'; + +import { Section } from '../../../../common/constants'; import { documentationService } from '../../services/documentation'; import { useAppContext } from '../../app_context'; import { ComponentTemplateList } from '../../components/component_templates'; @@ -19,14 +21,6 @@ import { IndexDetailsPage } from './index_list/details_page'; import { DataStreamList } from './data_stream_list'; import { TemplateList } from './template_list'; -export enum Section { - Indices = 'indices', - DataStreams = 'data_streams', - IndexTemplates = 'templates', - ComponentTemplates = 'component_templates', - EnrichPolicies = 'enrich_policies', -} - export const homeSections = [ Section.Indices, Section.DataStreams, @@ -157,10 +151,7 @@ export const IndexManagementHome: React.FunctionComponent - + indexManagementTabs} /> diff --git a/x-pack/plugins/index_management/public/application/sections/home/index.ts b/x-pack/plugins/index_management/public/application/sections/home/index.ts index 4ea8ac7906f979..db6dd2942bfe87 100644 --- a/x-pack/plugins/index_management/public/application/sections/home/index.ts +++ b/x-pack/plugins/index_management/public/application/sections/home/index.ts @@ -5,4 +5,4 @@ * 2.0. */ -export { IndexManagementHome, Section, homeSections } from './home'; +export { IndexManagementHome, homeSections } from './home'; diff --git a/x-pack/plugins/index_management/public/application/sections/home/index_list/details_page/details_page.tsx b/x-pack/plugins/index_management/public/application/sections/home/index_list/details_page/details_page.tsx index 33378fc138c04e..d59aeab60bff0e 100644 --- a/x-pack/plugins/index_management/public/application/sections/home/index_list/details_page/details_page.tsx +++ b/x-pack/plugins/index_management/public/application/sections/home/index_list/details_page/details_page.tsx @@ -5,10 +5,9 @@ * 2.0. */ -import React, { useCallback, useEffect, useMemo, useState } from 'react'; +import React, { useCallback, useEffect, useMemo, useState, FunctionComponent } from 'react'; import { css } from '@emotion/react'; -import { Redirect, RouteComponentProps } from 'react-router-dom'; -import { Route, Routes } from '@kbn/shared-ux-router'; +import { RouteComponentProps } from 'react-router-dom'; import { FormattedMessage } from '@kbn/i18n-react'; import { EuiPageHeader, @@ -16,16 +15,20 @@ import { EuiPageHeaderProps, EuiPageSection, EuiButton, + EuiPageTemplate, + EuiText, + EuiCode, } from '@elastic/eui'; import { SectionLoading } from '@kbn/es-ui-shared-plugin/public'; +import { Section, IndexDetailsSection } from '../../../../../../common/constants'; +import { getIndexDetailsLink } from '../../../../services/routing'; import { Index } from '../../../../../../common'; import { INDEX_OPEN } from '../../../../../../common/constants'; import { Error } from '../../../../../shared_imports'; import { loadIndex } from '../../../../services'; import { useAppContext } from '../../../../app_context'; import { DiscoverLink } from '../../../../lib/discover_link'; -import { Section } from '../../home'; import { DetailsPageError } from './details_page_error'; import { ManageIndexButton } from './manage_index_button'; import { DetailsPageStats } from './details_page_stats'; @@ -33,14 +36,6 @@ import { DetailsPageMappings } from './details_page_mappings'; import { DetailsPageOverview } from './details_page_overview'; import { DetailsPageSettings } from './details_page_settings'; -export enum IndexDetailsSection { - Overview = 'overview', - Documents = 'documents', - Mappings = 'mappings', - Settings = 'settings', - Pipelines = 'pipelines', - Stats = 'stats', -} const defaultTabs = [ { id: IndexDetailsSection.Overview, @@ -48,12 +43,6 @@ const defaultTabs = [ ), }, - { - id: IndexDetailsSection.Documents, - name: ( - - ), - }, { id: IndexDetailsSection.Mappings, name: ( @@ -66,12 +55,6 @@ const defaultTabs = [ ), }, - { - id: IndexDetailsSection.Pipelines, - name: ( - - ), - }, ]; const statsTab = { @@ -79,29 +62,64 @@ const statsTab = { name: , }; -export const DetailsPage: React.FunctionComponent< - RouteComponentProps<{ indexName: string; indexDetailsSection: IndexDetailsSection }> -> = ({ - match: { - params: { indexName, indexDetailsSection }, - }, - history, +const getSelectedTabContent = ({ + tab, + index, + indexName, +}: { + tab: IndexDetailsSection; + index?: Index | null; + indexName: string; }) => { + // if there is no index data, the tab content won't be rendered, so it's safe to return null here + if (!index) { + return null; + } + switch (tab) { + case IndexDetailsSection.Overview: + return ; + case IndexDetailsSection.Mappings: + return ; + case IndexDetailsSection.Settings: + return ( + + ); + case IndexDetailsSection.Stats: + return ; + default: + return ; + } +}; +export const DetailsPage: FunctionComponent< + RouteComponentProps<{ indexName: string; indexDetailsSection: IndexDetailsSection }> +> = ({ location: { search }, history }) => { const { config } = useAppContext(); + const queryParams = useMemo(() => new URLSearchParams(search), [search]); + const indexName = queryParams.get('indexName') ?? ''; + const tab = queryParams.get('tab') ?? IndexDetailsSection.Overview; + let indexDetailsSection = IndexDetailsSection.Overview; + if (Object.values(IndexDetailsSection).includes(tab as IndexDetailsSection)) { + indexDetailsSection = tab as IndexDetailsSection; + } + const [isLoading, setIsLoading] = useState(false); const [error, setError] = useState(null); const [index, setIndex] = useState(); - + const selectedTabContent = useMemo(() => { + return getSelectedTabContent({ tab: indexDetailsSection, index, indexName }); + }, [index, indexDetailsSection, indexName]); const fetchIndexDetails = useCallback(async () => { - setIsLoading(true); - try { - const { data, error: loadingError } = await loadIndex(indexName); - setIsLoading(false); - setError(loadingError); - setIndex(data); - } catch (e) { - setIsLoading(false); - setError(e); + if (indexName) { + setIsLoading(true); + try { + const { data, error: loadingError } = await loadIndex(indexName); + setIsLoading(false); + setError(loadingError); + setIndex(data); + } catch (e) { + setIsLoading(false); + setError(e); + } } }, [indexName]); @@ -111,7 +129,7 @@ export const DetailsPage: React.FunctionComponent< const onSectionChange = useCallback( (newSection: IndexDetailsSection) => { - return history.push(encodeURI(`/indices/${indexName}/${newSection}`)); + return history.push(getIndexDetailsLink(indexName, newSection)); }, [history, indexName] ); @@ -123,15 +141,43 @@ export const DetailsPage: React.FunctionComponent< const headerTabs = useMemo(() => { const visibleTabs = config.enableIndexStats ? [...defaultTabs, statsTab] : defaultTabs; - return visibleTabs.map((tab) => ({ - onClick: () => onSectionChange(tab.id), - isSelected: tab.id === indexDetailsSection, - key: tab.id, - 'data-test-subj': `indexDetailsTab-${tab.id}`, - label: tab.name, + return visibleTabs.map((visibleTab) => ({ + onClick: () => onSectionChange(visibleTab.id), + isSelected: visibleTab.id === indexDetailsSection, + key: visibleTab.id, + 'data-test-subj': `indexDetailsTab-${visibleTab.id}`, + label: visibleTab.name, })); }, [indexDetailsSection, onSectionChange, config]); + if (!indexName) { + return ( + + + + } + body={ + + indexName, + }} + /> + + } + /> + ); + } if (isLoading && !index) { return ( @@ -187,42 +233,7 @@ export const DetailsPage: React.FunctionComponent< height: 100%; `} > - - } - /> -
    Documents
    } - /> - - ) => ( - - )} - /> -
    Pipelines
    } - /> - {config.enableIndexStats && ( - ) => ( - - )} - /> - )} - -
    + {selectedTabContent}
    ); diff --git a/x-pack/plugins/index_management/public/application/sections/home/index_list/details_page/details_page_mappings.tsx b/x-pack/plugins/index_management/public/application/sections/home/index_list/details_page/details_page_mappings.tsx index 146524e35de045..8bd7b8639a9628 100644 --- a/x-pack/plugins/index_management/public/application/sections/home/index_list/details_page/details_page_mappings.tsx +++ b/x-pack/plugins/index_management/public/application/sections/home/index_list/details_page/details_page_mappings.tsx @@ -20,17 +20,12 @@ import { EuiTitle, } from '@elastic/eui'; import { css } from '@emotion/react'; -import { RouteComponentProps } from 'react-router-dom'; import { FormattedMessage } from '@kbn/i18n-react'; import { SectionLoading } from '@kbn/es-ui-shared-plugin/public'; import { useLoadIndexMappings, documentationService } from '../../../../services'; import { breadcrumbService, IndexManagementBreadcrumb } from '../../../../services/breadcrumbs'; -export const DetailsPageMappings: FunctionComponent> = ({ - match: { - params: { indexName }, - }, -}) => { +export const DetailsPageMappings: FunctionComponent<{ indexName: string }> = ({ indexName }) => { const { isLoading, data, error, resendRequest } = useLoadIndexMappings(indexName); useEffect(() => { diff --git a/x-pack/plugins/index_management/public/application/sections/home/index_list/details_page/details_page_settings.tsx b/x-pack/plugins/index_management/public/application/sections/home/index_list/details_page/details_page_settings.tsx index ef7e59f43e6a32..08e210cf1683c7 100644 --- a/x-pack/plugins/index_management/public/application/sections/home/index_list/details_page/details_page_settings.tsx +++ b/x-pack/plugins/index_management/public/application/sections/home/index_list/details_page/details_page_settings.tsx @@ -6,7 +6,6 @@ */ import React, { FunctionComponent, useEffect } from 'react'; -import { RouteComponentProps } from 'react-router-dom'; import { EuiButton, EuiPageTemplate, EuiSpacer, EuiText } from '@elastic/eui'; import { SectionLoading } from '@kbn/es-ui-shared-plugin/public'; import { FormattedMessage } from '@kbn/i18n-react'; @@ -15,14 +14,10 @@ import { useLoadIndexSettings } from '../../../../services'; import { breadcrumbService, IndexManagementBreadcrumb } from '../../../../services/breadcrumbs'; import { DetailsPageSettingsContent } from './details_page_settings_content'; -export const DetailsPageSettings: FunctionComponent< - RouteComponentProps<{ indexName: string }> & { isIndexOpen: boolean } -> = ({ - match: { - params: { indexName }, - }, - isIndexOpen, -}) => { +export const DetailsPageSettings: FunctionComponent<{ + indexName: string; + isIndexOpen: boolean; +}> = ({ indexName, isIndexOpen }) => { const { isLoading, data, error, resendRequest } = useLoadIndexSettings(indexName); useEffect(() => { diff --git a/x-pack/plugins/index_management/public/application/sections/home/index_list/details_page/details_page_stats.tsx b/x-pack/plugins/index_management/public/application/sections/home/index_list/details_page/details_page_stats.tsx index 4c18804b0aee5d..b8551eee25a3da 100644 --- a/x-pack/plugins/index_management/public/application/sections/home/index_list/details_page/details_page_stats.tsx +++ b/x-pack/plugins/index_management/public/application/sections/home/index_list/details_page/details_page_stats.tsx @@ -6,7 +6,6 @@ */ import React, { FunctionComponent, useState, useCallback, useEffect } from 'react'; -import { RouteComponentProps } from 'react-router-dom'; import { FormattedMessage } from '@kbn/i18n-react'; import { EuiSpacer, @@ -29,16 +28,8 @@ import { SectionLoading, Error } from '../../../../../shared_imports'; import { loadIndexStatistics, documentationService } from '../../../../services'; import { breadcrumbService, IndexManagementBreadcrumb } from '../../../../services/breadcrumbs'; -interface Props { - isIndexOpen: boolean; -} - -export const DetailsPageStats: FunctionComponent< - RouteComponentProps<{ indexName: string }> & Props -> = ({ - match: { - params: { indexName }, - }, +export const DetailsPageStats: FunctionComponent<{ indexName: string; isIndexOpen: boolean }> = ({ + indexName, isIndexOpen, }) => { const [isLoading, setIsLoading] = useState(false); diff --git a/x-pack/plugins/index_management/public/application/sections/home/index_list/details_page/index.ts b/x-pack/plugins/index_management/public/application/sections/home/index_list/details_page/index.ts index dd87a626cc90e1..b80f65823d0304 100644 --- a/x-pack/plugins/index_management/public/application/sections/home/index_list/details_page/index.ts +++ b/x-pack/plugins/index_management/public/application/sections/home/index_list/details_page/index.ts @@ -5,4 +5,4 @@ * 2.0. */ -export { DetailsPage as IndexDetailsPage, IndexDetailsSection } from './details_page'; +export { DetailsPage as IndexDetailsPage } from './details_page'; diff --git a/x-pack/plugins/index_management/public/application/sections/home/index_list/index_list.tsx b/x-pack/plugins/index_management/public/application/sections/home/index_list/index_list.tsx index 48f5436eafedf5..4bd4c02b2e98cf 100644 --- a/x-pack/plugins/index_management/public/application/sections/home/index_list/index_list.tsx +++ b/x-pack/plugins/index_management/public/application/sections/home/index_list/index_list.tsx @@ -9,6 +9,7 @@ import React, { useCallback, useEffect } from 'react'; import { RouteComponentProps } from 'react-router-dom'; import { ScopedHistory } from '@kbn/core/public'; +import { getIndexDetailsLink } from '../../../services/routing'; import { APP_WRAPPER_CLASS, useExecutionContext } from '../../../../shared_imports'; import { breadcrumbService, IndexManagementBreadcrumb } from '../../../services/breadcrumbs'; import { useAppContext } from '../../../app_context'; @@ -32,7 +33,7 @@ export const IndexList: React.FunctionComponent = ({ histor const openDetailPanel = useCallback( (indexName: string) => { - return history.push(encodeURI(`/indices/${indexName}`)); + return history.push(getIndexDetailsLink(indexName)); }, [history] ); diff --git a/x-pack/plugins/index_management/public/application/services/routing.ts b/x-pack/plugins/index_management/public/application/services/routing.ts index 3eb8dc74155d60..3fd56644240752 100644 --- a/x-pack/plugins/index_management/public/application/services/routing.ts +++ b/x-pack/plugins/index_management/public/application/services/routing.ts @@ -5,6 +5,8 @@ * 2.0. */ +import { Section, IndexDetailsSection } from '../../../common/constants'; + export const getTemplateListLink = () => `/templates`; export const getTemplateDetailsLink = (name: string, isLegacy?: boolean) => { @@ -54,3 +56,11 @@ export const getIndexListUri = (filter?: string, includeHiddenIndices?: boolean) export const getDataStreamDetailsLink = (name: string) => { return encodeURI(`/data_streams/${encodeURIComponent(name)}`); }; + +export const getIndexDetailsLink = (indexName: string, tab?: IndexDetailsSection) => { + let link = `/${Section.Indices}/index_details?indexName=${encodeURIComponent(indexName)}`; + if (tab) { + link = `${link}&tab=${tab}`; + } + return link; +}; From 101bd8d83563cc53eff2fe1d979d2d7c99eea81c Mon Sep 17 00:00:00 2001 From: GitStart <1501599+gitstart@users.noreply.github.com> Date: Fri, 22 Sep 2023 16:55:34 +0100 Subject: [PATCH 49/72] [Search Profiler] Migrate all usages of EuiPage*_Deprecated (#163131) --- .../public/application/_app.scss | 4 - .../searchprofiler/public/application/app.tsx | 74 ++++++++----------- 2 files changed, 32 insertions(+), 46 deletions(-) diff --git a/x-pack/plugins/searchprofiler/public/application/_app.scss b/x-pack/plugins/searchprofiler/public/application/_app.scss index 3c163fa8fefec3..1b7b44e28bc628 100644 --- a/x-pack/plugins/searchprofiler/public/application/_app.scss +++ b/x-pack/plugins/searchprofiler/public/application/_app.scss @@ -17,10 +17,6 @@ height: 100%; } - &__pageBodyContentBody { - height: 100%; - } - &__pageContentBodyContent { height: 100%; } diff --git a/x-pack/plugins/searchprofiler/public/application/app.tsx b/x-pack/plugins/searchprofiler/public/application/app.tsx index c48ce018e2cdbd..321b2a167a38ca 100644 --- a/x-pack/plugins/searchprofiler/public/application/app.tsx +++ b/x-pack/plugins/searchprofiler/public/application/app.tsx @@ -8,15 +8,7 @@ import { i18n } from '@kbn/i18n'; import React, { useCallback } from 'react'; -import { - EuiPage, - EuiPageBody, - EuiPageContent_Deprecated as EuiPageContent, - EuiPageContentBody_Deprecated as EuiPageContentBody, - EuiFlexGroup, - EuiFlexItem, - EuiSpacer, -} from '@elastic/eui'; +import { EuiPage, EuiPageBody, EuiFlexGroup, EuiFlexItem, EuiSpacer, EuiPanel } from '@elastic/eui'; import { SearchProfilerTabs, @@ -95,39 +87,37 @@ export const App = () => { {renderLicenseWarning()} - - - - - - - - - - {renderProfileTreeArea()} - - - - {highlightDetails ? ( - dispatch({ type: 'setHighlightDetails', value: null })} - /> - ) : null} - - + + + + + + + + + {renderProfileTreeArea()} + + + + {highlightDetails ? ( + dispatch({ type: 'setHighlightDetails', value: null })} + /> + ) : null} + From 1f74f2394045b1830440420d9beccefaae74fdc3 Mon Sep 17 00:00:00 2001 From: Gloria Hornero Date: Fri, 22 Sep 2023 18:26:21 +0200 Subject: [PATCH 50/72] [Security Solution] Preparing Cypress to be able to execute on a real serverless environment (#166905) Co-authored-by: YulNaumenko Co-authored-by: Sergi Massaneda --- .../test/security_solution_cypress/config.ts | 2 -- .../cypress/cypress.config.ts | 1 + .../cypress/cypress_ci.config.ts | 1 + .../cypress/cypress_ci_serverless.config.ts | 1 + .../cypress/cypress_serverless.config.ts | 1 + .../cypress/support/es_archiver.ts | 19 ++++++++++++++++--- .../cypress/tasks/login.ts | 2 +- .../security_solution_cypress/package.json | 3 +++ .../test/security_solution_cypress/runner.ts | 1 - .../serverless_config.ts | 2 -- 10 files changed, 24 insertions(+), 9 deletions(-) diff --git a/x-pack/test/security_solution_cypress/config.ts b/x-pack/test/security_solution_cypress/config.ts index 040f92eb7945ef..21259c2d289e2d 100644 --- a/x-pack/test/security_solution_cypress/config.ts +++ b/x-pack/test/security_solution_cypress/config.ts @@ -34,8 +34,6 @@ export default async function ({ readConfigFile }: FtrConfigProviderContext) { ...xpackFunctionalTestsConfig.get('kbnTestServer'), serverArgs: [ ...xpackFunctionalTestsConfig.get('kbnTestServer.serverArgs'), - '--csp.strict=false', - '--csp.warnLegacyBrowsers=false', '--usageCollection.uiCounters.enabled=false', // define custom kibana server args here `--elasticsearch.ssl.certificateAuthorities=${CA_CERT_PATH}`, diff --git a/x-pack/test/security_solution_cypress/cypress/cypress.config.ts b/x-pack/test/security_solution_cypress/cypress/cypress.config.ts index 1d158df5352662..d7f0bbc7a02541 100644 --- a/x-pack/test/security_solution_cypress/cypress/cypress.config.ts +++ b/x-pack/test/security_solution_cypress/cypress/cypress.config.ts @@ -27,6 +27,7 @@ export default defineCypressConfig({ e2e: { experimentalRunAllSpecs: true, experimentalMemoryManagement: true, + experimentalCspAllowList: ['default-src', 'script-src', 'script-src-elem'], setupNodeEvents(on, config) { esArchiver(on, config); // eslint-disable-next-line @typescript-eslint/no-var-requires diff --git a/x-pack/test/security_solution_cypress/cypress/cypress_ci.config.ts b/x-pack/test/security_solution_cypress/cypress/cypress_ci.config.ts index fe15c610cd7cf2..efb3b64d36f4d1 100644 --- a/x-pack/test/security_solution_cypress/cypress/cypress_ci.config.ts +++ b/x-pack/test/security_solution_cypress/cypress/cypress_ci.config.ts @@ -35,6 +35,7 @@ export default defineCypressConfig({ e2e: { baseUrl: 'http://localhost:5601', experimentalMemoryManagement: true, + experimentalCspAllowList: ['default-src', 'script-src', 'script-src-elem'], specPattern: './cypress/e2e/**/*.cy.ts', setupNodeEvents(on, config) { esArchiver(on, config); diff --git a/x-pack/test/security_solution_cypress/cypress/cypress_ci_serverless.config.ts b/x-pack/test/security_solution_cypress/cypress/cypress_ci_serverless.config.ts index eafcd67682a68b..3a1be3ed0221ab 100644 --- a/x-pack/test/security_solution_cypress/cypress/cypress_ci_serverless.config.ts +++ b/x-pack/test/security_solution_cypress/cypress/cypress_ci_serverless.config.ts @@ -34,6 +34,7 @@ export default defineCypressConfig({ viewportWidth: 1680, e2e: { baseUrl: 'http://localhost:5601', + experimentalCspAllowList: ['default-src', 'script-src', 'script-src-elem'], experimentalMemoryManagement: true, specPattern: './cypress/e2e/**/*.cy.ts', setupNodeEvents(on, config) { diff --git a/x-pack/test/security_solution_cypress/cypress/cypress_serverless.config.ts b/x-pack/test/security_solution_cypress/cypress/cypress_serverless.config.ts index d172248fb406a1..b925e18a834788 100644 --- a/x-pack/test/security_solution_cypress/cypress/cypress_serverless.config.ts +++ b/x-pack/test/security_solution_cypress/cypress/cypress_serverless.config.ts @@ -26,6 +26,7 @@ export default defineCypressConfig({ grepTags: '@serverless --@brokenInServerless --@skipInServerless', }, e2e: { + experimentalCspAllowList: ['default-src', 'script-src', 'script-src-elem'], experimentalRunAllSpecs: true, experimentalMemoryManagement: true, setupNodeEvents(on, config) { diff --git a/x-pack/test/security_solution_cypress/cypress/support/es_archiver.ts b/x-pack/test/security_solution_cypress/cypress/support/es_archiver.ts index 6fcbebf0a377ea..fc0d3836ffe4da 100644 --- a/x-pack/test/security_solution_cypress/cypress/support/es_archiver.ts +++ b/x-pack/test/security_solution_cypress/cypress/support/es_archiver.ts @@ -18,17 +18,30 @@ export const esArchiver = ( ): EsArchiver => { const log = new ToolingLog({ level: 'verbose', writeTo: process.stdout }); - const isServerless = config.env.IS_SERVERLESS; + const isSnapshotServerless = config.env.IS_SERVERLESS; + const isCloudServerless = config.env.CLOUD_SERVERLESS; + + const serverlessCloudUser = { + username: 'elastic', + password: config.env.ELASTICSEARCH_PASSWORD, + }; + + let authOverride; + if (!isSnapshotServerless) { + authOverride = isCloudServerless ? serverlessCloudUser : systemIndicesSuperuser; + } const client = createEsClientForTesting({ esUrl: Url.format(config.env.ELASTICSEARCH_URL), // Use system indices user so tests can write to system indices - authOverride: !isServerless ? systemIndicesSuperuser : undefined, + authOverride, }); + const kibanaUrl = config.env.KIBANA_URL || config.env.BASE_URL; + const kbnClient = new KbnClient({ log, - url: config.env.BASE_URL as string, + url: kibanaUrl as string, ...(config.env.ELASTICSEARCH_URL.includes('https') ? { certificateAuthorities: [Fs.readFileSync(CA_CERT_PATH)] } : {}), diff --git a/x-pack/test/security_solution_cypress/cypress/tasks/login.ts b/x-pack/test/security_solution_cypress/cypress/tasks/login.ts index 1383bcb4e9d712..ef6fcb07691e7c 100644 --- a/x-pack/test/security_solution_cypress/cypress/tasks/login.ts +++ b/x-pack/test/security_solution_cypress/cypress/tasks/login.ts @@ -143,8 +143,8 @@ const loginWithUsernameAndPassword = (username: string, password: string) => { throw Error(`Cypress config baseUrl not set!`); } + // Programmatically authenticate without interacting with the Kibana login page. const headers = { 'kbn-xsrf': 'cypress-creds', 'x-elastic-internal-origin': 'security-solution' }; - // programmatically authenticate without interacting with the Kibana login page cy.request({ headers, url: `${baseUrl}/internal/security/login_state` }).then( (loginState) => { const basicProvider = loginState.body.selector.providers.find( diff --git a/x-pack/test/security_solution_cypress/package.json b/x-pack/test/security_solution_cypress/package.json index f4be9a442b3ef5..9f24b0dfd443df 100644 --- a/x-pack/test/security_solution_cypress/package.json +++ b/x-pack/test/security_solution_cypress/package.json @@ -18,8 +18,11 @@ "junit:merge": "../../../node_modules/.bin/mochawesome-merge ../../../target/kibana-security-solution/cypress/results/mochawesome*.json > ../../../target/kibana-security-solution/cypress/results/output.json && ../../../node_modules/.bin/marge ../../../target/kibana-security-solution/cypress/results/output.json --reportDir ../../../target/kibana-security-solution/cypress/results && yarn junit:transform && mkdir -p ../../../target/junit && cp ../../../target/kibana-security-solution/cypress/results/*.xml ../../../target/junit/", "junit:transform": "node ../../plugins/security_solution/scripts/junit_transformer --pathPattern '../../../target/kibana-security-solution/cypress/results/*.xml' --rootDirectory ../../../ --reportName 'Security Solution Cypress' --writeInPlace", "cypress:serverless": "TZ=UTC NODE_OPTIONS=--openssl-legacy-provider node ../../plugins/security_solution/scripts/start_cypress_parallel --config-file ../../test/security_solution_cypress/cypress/cypress_ci_serverless.config.ts --ftr-config-file ../../test/security_solution_cypress/serverless_config", + "cypress:cloud:serverless": "TZ=UTC NODE_OPTIONS=--openssl-legacy-provider NODE_TLS_REJECT_UNAUTHORIZED=0 ../../../node_modules/.bin/cypress", + "cypress:open:cloud:serverless": "yarn cypress:cloud:serverless open --config-file ./cypress/cypress_serverless.config.ts --env CLOUD_SERVERLESS=true", "cypress:open:serverless": "yarn cypress:serverless open --config-file ../../test/security_solution_cypress/cypress/cypress_serverless.config.ts --spec './cypress/e2e/**/*.cy.ts'", "cypress:run:serverless": "yarn cypress:serverless --spec './cypress/e2e/!(investigations|explore)/**/*.cy.ts'", + "cypress:run:cloud:serverless": "yarn cypress:cloud:serverless run --config-file ./cypress/cypress_ci_serverless.config.ts --env CLOUD_SERVERLESS=true", "cypress:investigations:run:serverless": "yarn cypress:serverless --spec './cypress/e2e/investigations/**/*.cy.ts'", "cypress:explore:run:serverless": "yarn cypress:serverless --spec './cypress/e2e/explore/**/*.cy.ts'", "cypress:changed-specs-only:serverless": "yarn cypress:serverless --changed-specs-only --env burn=2", diff --git a/x-pack/test/security_solution_cypress/runner.ts b/x-pack/test/security_solution_cypress/runner.ts index 6e70f9364eff2e..049ef0de6b727f 100644 --- a/x-pack/test/security_solution_cypress/runner.ts +++ b/x-pack/test/security_solution_cypress/runner.ts @@ -15,7 +15,6 @@ export async function SecuritySolutionConfigurableCypressTestRunner({ getService, }: FtrProviderContext) { const config = getService('config'); - return { FORCE_COLOR: '1', BASE_URL: Url.format(config.get('servers.kibana')), diff --git a/x-pack/test/security_solution_cypress/serverless_config.ts b/x-pack/test/security_solution_cypress/serverless_config.ts index 3eb7046633c75a..d0ee1613f6e4cc 100644 --- a/x-pack/test/security_solution_cypress/serverless_config.ts +++ b/x-pack/test/security_solution_cypress/serverless_config.ts @@ -27,8 +27,6 @@ export default async function ({ readConfigFile }: FtrConfigProviderContext) { ...svlSharedConfig.get('kbnTestServer'), serverArgs: [ ...svlSharedConfig.get('kbnTestServer.serverArgs'), - '--csp.strict=false', - '--csp.warnLegacyBrowsers=false', '--serverless=security', '--xpack.encryptedSavedObjects.encryptionKey="abcdefghijklmnopqrstuvwxyz123456"', `--xpack.securitySolutionServerless.productTypes=${JSON.stringify([ From d16abe3e445a3e0b2f71b91e4fbe6141e0e6a528 Mon Sep 17 00:00:00 2001 From: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> Date: Fri, 22 Sep 2023 12:42:10 -0400 Subject: [PATCH 51/72] skip failing test suite (#167073) --- .../feature_controls/upgrade_assistant_security.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/x-pack/test/functional/apps/upgrade_assistant/feature_controls/upgrade_assistant_security.ts b/x-pack/test/functional/apps/upgrade_assistant/feature_controls/upgrade_assistant_security.ts index a7c883733ea135..efe97f40d16122 100644 --- a/x-pack/test/functional/apps/upgrade_assistant/feature_controls/upgrade_assistant_security.ts +++ b/x-pack/test/functional/apps/upgrade_assistant/feature_controls/upgrade_assistant_security.ts @@ -14,7 +14,8 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) { const appsMenu = getService('appsMenu'); const managementMenu = getService('managementMenu'); - describe('security', function () { + // Failing: See https://github.com/elastic/kibana/issues/167073 + describe.skip('security', function () { this.tags('upgradeAssistant'); before(async () => { await PageObjects.common.navigateToApp('home'); From 13b37aaa47a687ffdb8c3d285a4bbf0f73d55825 Mon Sep 17 00:00:00 2001 From: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> Date: Fri, 22 Sep 2023 13:51:15 -0400 Subject: [PATCH 52/72] skip failing test suite (#167076) --- x-pack/test/profiling_api_integration/tests/has_setup.spec.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/x-pack/test/profiling_api_integration/tests/has_setup.spec.ts b/x-pack/test/profiling_api_integration/tests/has_setup.spec.ts index 08da57c97ff2ca..5046eb8c9c556f 100644 --- a/x-pack/test/profiling_api_integration/tests/has_setup.spec.ts +++ b/x-pack/test/profiling_api_integration/tests/has_setup.spec.ts @@ -24,7 +24,8 @@ export default function featureControlsTests({ getService }: FtrProviderContext) const es = getService('es'); registry.when('Profiling status check', { config: 'cloud' }, () => { - describe('Profiling is not set up and no data is loaded', () => { + // Failing: See https://github.com/elastic/kibana/issues/167076 + describe.skip('Profiling is not set up and no data is loaded', () => { describe('Admin user', () => { let statusCheck: ProfilingStatus; before(async () => { From 5c7b57c88a75149b3dd2099bfd8563f71818af3c Mon Sep 17 00:00:00 2001 From: Maxim Palenov Date: Fri, 22 Sep 2023 12:01:00 -0700 Subject: [PATCH 53/72] [Security Solution] Refactor Cypress tests navigation utilities (#166201) **Relates to:** https://github.com/elastic/kibana/issues/153645 ## Summary This PR makes refactoring of navigation utilities and constants to make it transparent and be able to specify correct ownership later on. ## Motivation Engineers need to add new tests and maintain the older ones. Base building blocks of this are constants and utility functions in particular URL constants and `visit()` and `visitWithoutDataRange()` functions. It turned out a simple `visit()` helper function also passes `timerange` as a query param while only some tests need it. Having it as a base utility function (as the name suggests) it also gets used in the new code while `visitWithoutDateRange()` should be preferred. On top of that URL constants are combined in one file without clear ownership and contain a mix of legacy and new urls with some parts looking outdated as navigating to the url causes redirecting to a specific page. Having only relevant URL constants in a common file will help to reduce confusion. As the next step constants should be split into files/folders with clear ownership. Also having `visit()` adding no extra params (besides common for ALL the tests) will make the intention clear. Whenever a time range is needed `visitWithTimeRange()` can be used (ideally accepting a time range defined in a test). And the same stays true for any other pages, e.g. rule details page can have a utility `visitRuleDetailsPage(id: string)` containing some general waiting logic so the following actions operate on a loaded page. ## Details As a step towards clearness and transparent ownership this PR performs refactoring of `x-pack/test/security_solution_cypress/cypress/urls/navigation.ts` and `x-pack/test/security_solution_cypress/cypress/tasks/login.ts` files. The following has been done - all url constants in `x-pack/test/security_solution_cypress/cypress/urls/navigation.ts` were checked and updated to remove duplications, avoid redirections and grouped - legacy urls were moved to the only one test using them to test compatibility (`x-pack/test/security_solution_cypress/cypress/e2e/urls/compatibility.cy.ts`) - `visit()` was renamed to `visitWithTimeRange()` - `visitWithoutDateRange()` was renamed to `visit()` - `visit()` was refactored to accept a query string ## Next steps It's expected teams decompose `x-pack/test/security_solution_cypress/cypress/urls/navigation.ts` into feature specific file(s)/folder(s) with assigned owners. There is no 100% chance a generic wait for a page to be loaded helper function meet requirements for each page. It makes sense to consider adding per feature `visitFeatureAPage()` helper function containing assertions for the page to be loaded. `visitRuleDetailsPage(id: string)` was added for this purpose while waiting for page to be loaded functionality is omitted in this PR to reduce a number of changes. --- .../data_sources/create_runtime_field.cy.ts | 9 +- .../cypress/e2e/data_sources/sourcerer.cy.ts | 9 +- .../e2e/data_sources/sourcerer_timeline.cy.ts | 7 +- .../e2e/data_sources/sourcerer_timeline.ts | 7 +- .../e2e/detection_alerts/alert_tags.cy.ts | 5 +- .../e2e/detection_alerts/alerts_charts.cy.ts | 5 +- ...ts_detection_callouts_index_outdated.cy.ts | 18 +-- .../detection_alerts/cti_enrichments.cy.ts | 8 +- .../e2e/detection_alerts/enrichments.cy.ts | 5 +- .../missing_privileges_callout.cy.ts | 15 ++- .../ransomware_detection.cy.ts | 7 +- .../ransomware_prevention.cy.ts | 7 +- ...t_rules_install_update_authorization.cy.ts | 11 +- ..._rules_install_update_error_handling.cy.ts | 5 +- ...built_rules_install_update_workflows.cy.ts | 5 +- .../prebuilt_rules_management.cy.ts | 7 +- .../prebuilt_rules_notifications.cy.ts | 15 +-- .../rule_actions/rule_actions.cy.ts | 7 +- .../rule_creation/custom_query_rule.cy.ts | 26 ++-- .../custom_query_rule_data_view.cy.ts | 9 +- .../custom_saved_query_rule.cy.ts | 35 +++--- .../event_correlation_rule.cy.ts | 9 +- .../rule_creation/indicator_match_rule.cy.ts | 31 +++-- .../rule_creation/machine_learning_rule.cy.ts | 7 +- .../rule_creation/new_terms_rule.cy.ts | 7 +- .../rule_creation/override.cy.ts | 7 +- .../rule_creation/threshold_rule.cy.ts | 7 +- .../authorization/all_rules_read_only.cy.ts | 5 +- .../maintenance_window_callout.cy.ts | 7 +- .../related_integrations.cy.ts | 33 ++--- .../bulk_actions/bulk_duplicate_rules.cy.ts | 5 +- .../bulk_actions/bulk_edit_rules.cy.ts | 5 +- .../bulk_edit_rules_actions.cy.ts | 7 +- .../bulk_edit_rules_data_view.cy.ts | 7 +- .../import_export/export_rule.cy.ts | 7 +- .../import_export/import_rules.cy.ts | 7 +- .../rule_actions/snoozing/rule_snoozing.cy.ts | 34 +++-- .../rules_table_auto_refresh.cy.ts | 12 +- .../rules_table/rules_table_filtering.cy.ts | 7 +- .../rules_table/rules_table_links.cy.ts | 7 +- .../rules_table_persistent_state.cy.ts | 46 ++++--- .../rules_table/rules_table_selection.cy.ts | 7 +- .../rules_table/rules_table_sorting.cy.ts | 9 +- .../value_lists/value_lists.cy.ts | 13 +- .../entity_analytics_management_page.cy.ts | 3 +- .../endpoint_exceptions.cy.ts | 13 +- .../auto_populate_with_alert_data.cy.ts | 9 +- .../closing_all_matching_alerts.cy.ts | 6 +- .../exceptions/entry/flyout_validation.cy.ts | 6 +- .../entry/multiple_conditions.cy.ts | 10 +- .../e2e/exceptions/entry/use_value_list.cy.ts | 14 ++- .../add_edit_endpoint_exception.cy.ts | 10 +- .../add_edit_exception.cy.ts | 8 +- .../add_edit_exception_data_view.cy.ts | 6 +- .../rule_details_flow/read_only_view.cy.ts | 5 +- .../list_detail_page/list_details.cy.ts | 11 +- .../manage_exceptions.cy.ts | 12 +- .../duplicate_lists.cy.ts | 5 +- .../filter_table.cy.ts | 5 +- .../import_lists.cy.ts | 5 +- .../manage_lists.cy.ts | 7 +- .../read_only.cy.ts | 6 +- .../explore/cases/attach_alert_to_case.cy.ts | 5 +- .../e2e/explore/cases/attach_timeline.cy.ts | 3 +- .../e2e/explore/cases/connector_options.cy.ts | 5 +- .../e2e/explore/cases/connectors.cy.ts | 5 +- .../cypress/e2e/explore/cases/creation.cy.ts | 7 +- .../e2e/explore/cases/privileges.cy.ts | 3 +- .../dashboards/enable_risk_score.cy.ts | 5 +- .../explore/dashboards/entity_analytics.cy.ts | 23 ++-- ...y_analytics_serverless_splash_screen.cy.ts | 5 +- .../dashboards/upgrade_risk_score.cy.ts | 7 +- .../e2e/explore/filters/pinned_filters.cy.ts | 7 +- .../e2e/explore/guided_onboarding/tour.cy.ts | 3 +- .../e2e/explore/host_details/risk_tab.cy.ts | 3 +- .../e2e/explore/hosts/events_viewer.cy.ts | 11 +- .../e2e/explore/hosts/host_risk_tab.cy.ts | 7 +- .../e2e/explore/hosts/hosts_risk_column.cy.ts | 7 +- .../e2e/explore/network/hover_actions.cy.ts | 5 +- .../e2e/explore/network/overflow_items.cy.ts | 5 +- .../e2e/explore/overview/overview.cy.ts | 9 +- .../e2e/explore/pagination/pagination.cy.ts | 11 +- .../e2e/explore/users/user_details.cy.ts | 5 +- .../e2e/explore/users/users_tabs.cy.ts | 3 +- .../cypress/e2e/header/navigation.cy.ts | 17 +-- .../cypress/e2e/header/search_bar.cy.ts | 7 +- .../cypress/e2e/inspect/inspect_button.cy.ts | 3 +- .../alerts/alert_table_action_column.cy.ts | 5 +- .../alerts/alert_table_controls.cy.ts | 3 +- .../alerts/alerts_cell_actions.cy.ts | 3 +- .../alerts/alerts_details.cy.ts | 22 ++-- .../alerts/building_block_alerts.cy.ts | 9 +- .../alerts/changing_alert_status.cy.ts | 3 +- .../alerts/detection_page_filters.cy.ts | 11 +- .../alerts/event_rendered_view.cy.ts | 3 +- ...etails_left_panel_analyzer_graph_tab.cy.ts | 3 +- ..._details_left_panel_correlations_tab.cy.ts | 3 +- ...lert_details_left_panel_entities_tab.cy.ts | 3 +- ...details_left_panel_investigation_tab.cy.ts | 3 +- ...rt_details_left_panel_prevalence_tab.cy.ts | 3 +- ...lert_details_left_panel_response_tab.cy.ts | 3 +- ..._details_left_panel_session_view_tab.cy.ts | 3 +- ...s_left_panel_threat_intelligence_tab.cy.ts | 3 +- ...s_preview_panel_alert_reason_preview.cy.ts | 3 +- ...t_details_preview_panel_rule_preview.cy.ts | 3 +- .../alert_details_right_panel.cy.ts | 3 +- .../alert_details_right_panel_json_tab.cy.ts | 3 +- ...ert_details_right_panel_overview_tab.cy.ts | 3 +- .../alert_details_right_panel_table_tab.cy.ts | 3 +- .../alert_details_url_sync.cy.ts | 3 +- .../alerts/investigate_in_timeline.cy.ts | 7 +- .../investigations/alerts/navigation.cy.ts | 5 +- .../e2e/investigations/alerts/resolver.cy.ts | 5 +- .../dasbhoards/detection_response.cy.ts | 7 +- .../timeline_templates/creation.cy.ts | 7 +- .../timeline_templates/export.cy.ts | 5 +- .../timelines/bulk_add_to_timeline.cy.ts | 11 +- .../timelines/correlation_tab.cy.ts | 5 +- .../investigations/timelines/creation.cy.ts | 11 +- .../timelines/data_providers.cy.ts | 7 +- .../timelines/discover/cell_actions.cy.ts | 5 +- .../timelines/discover/discover_state.cy.ts | 5 +- .../timelines/discover/search_filter.cy.ts | 5 +- .../e2e/investigations/timelines/export.cy.ts | 7 +- .../timelines/fields_browser.cy.ts | 9 +- .../timelines/flyout_button.cy.ts | 7 +- .../timelines/full_screen.cy.ts | 7 +- .../investigations/timelines/inspect.cy.ts | 7 +- .../timelines/local_storage.cy.ts | 7 +- .../investigations/timelines/notes_tab.cy.ts | 7 +- .../timelines/open_timeline.cy.ts | 7 +- .../investigations/timelines/overview.cy.tsx | 5 +- .../investigations/timelines/pagination.cy.ts | 7 +- .../investigations/timelines/query_tab.cy.ts | 7 +- .../timelines/row_renderers.cy.ts | 7 +- .../timelines/search_or_filter.cy.ts | 9 +- .../timelines/toggle_column.cy.ts | 7 +- .../timelines/unsaved_timeline.cy.ts | 13 +- .../investigations/timelines/url_state.cy.ts | 11 +- .../cypress/e2e/ml/ml_conditional_links.cy.ts | 45 +++---- .../cypress/e2e/overview/cti_link_panel.cy.ts | 3 +- .../cypress/e2e/urls/compatibility.cy.ts | 54 ++++---- .../cypress/e2e/urls/not_found.cy.ts | 31 ++--- .../cypress/e2e/urls/state.cy.ts | 37 +++--- .../cypress/screens/inspect.ts | 4 +- .../cypress/tasks/alerts.ts | 4 +- .../tasks/api_calls/risk_scores/index.ts | 6 +- .../cypress/tasks/edit_rule.ts | 7 ++ .../cypress/tasks/entity_analytics.ts | 5 +- .../cypress/tasks/login.ts | 117 +----------------- .../cypress/tasks/navigation.ts | 109 ++++++++++++++++ .../cypress/tasks/rule_details.ts | 12 ++ .../cypress/tasks/rules_management.ts | 16 +++ .../cypress/tasks/sourcerer.ts | 8 +- .../cypress/urls/edit_rule.ts | 10 ++ .../cypress/urls/navigation.ts | 65 ++++------ .../cypress/urls/rule_details.ts | 16 +++ .../cypress/urls/rules_management.ts | 9 ++ 158 files changed, 926 insertions(+), 765 deletions(-) create mode 100644 x-pack/test/security_solution_cypress/cypress/tasks/navigation.ts create mode 100644 x-pack/test/security_solution_cypress/cypress/tasks/rules_management.ts create mode 100644 x-pack/test/security_solution_cypress/cypress/urls/edit_rule.ts create mode 100644 x-pack/test/security_solution_cypress/cypress/urls/rule_details.ts create mode 100644 x-pack/test/security_solution_cypress/cypress/urls/rules_management.ts diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/data_sources/create_runtime_field.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/data_sources/create_runtime_field.cy.ts index f78670bc14b4f5..78ed47f8786655 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/data_sources/create_runtime_field.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/data_sources/create_runtime_field.cy.ts @@ -5,11 +5,12 @@ * 2.0. */ -import { login, visit } from '../../tasks/login'; +import { login } from '../../tasks/login'; +import { visitWithTimeRange } from '../../tasks/navigation'; import { openTimelineUsingToggle } from '../../tasks/security_main'; import { openTimelineFieldsBrowser, populateTimeline } from '../../tasks/timeline'; -import { HOSTS_URL, ALERTS_URL } from '../../urls/navigation'; +import { hostsUrl, ALERTS_URL } from '../../urls/navigation'; import { createRule } from '../../tasks/api_calls/rules'; @@ -40,7 +41,7 @@ describe( }); it('adds field to alert table', () => { - visit(ALERTS_URL); + visitWithTimeRange(ALERTS_URL); createRule(getNewRule()); refreshPage(); waitForAlertsToPopulate(); @@ -50,7 +51,7 @@ describe( }); it('adds field to timeline', () => { - visit(HOSTS_URL); + visitWithTimeRange(hostsUrl('allHosts')); openTimelineUsingToggle(); populateTimeline(); openTimelineFieldsBrowser(); diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/data_sources/sourcerer.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/data_sources/sourcerer.cy.ts index 77206d714c9603..0d70bf4dcd3d1e 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/data_sources/sourcerer.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/data_sources/sourcerer.cy.ts @@ -7,9 +7,10 @@ import { DEFAULT_INDEX_PATTERN } from '@kbn/security-solution-plugin/common/constants'; -import { login, loginWithUser, visit, visitWithUser } from '../../tasks/login'; +import { login, loginWithUser } from '../../tasks/login'; +import { visitWithTimeRange, visitWithUser } from '../../tasks/navigation'; -import { HOSTS_URL } from '../../urls/navigation'; +import { hostsUrl } from '../../urls/navigation'; import { addIndexToDefault, deselectSourcererOptions, @@ -49,7 +50,7 @@ describe('Sourcerer', { tags: ['@ess', '@serverless', '@skipInServerless'] }, () }); it(`role(s) ${secReadCasesAllUser.roles.join()} shows error when user does not have permissions`, () => { loginWithUser(secReadCasesAllUser); - visitWithUser(HOSTS_URL, secReadCasesAllUser); + visitWithUser(hostsUrl('allHosts'), secReadCasesAllUser); cy.get(TOASTER).should('have.text', 'Write role required to generate data'); }); }); @@ -60,7 +61,7 @@ describe('Sourcerer', { tags: ['@ess', '@serverless', '@skipInServerless'] }, () beforeEach(() => { cy.clearLocalStorage(); login(); - visit(HOSTS_URL); + visitWithTimeRange(hostsUrl('allHosts')); }); it('correctly loads SIEM data view', () => { diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/data_sources/sourcerer_timeline.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/data_sources/sourcerer_timeline.cy.ts index 69244ddce38f6c..22729c9e7661e2 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/data_sources/sourcerer_timeline.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/data_sources/sourcerer_timeline.cy.ts @@ -10,7 +10,8 @@ import { DEFAULT_INDEX_PATTERN, } from '@kbn/security-solution-plugin/common/constants'; -import { login, visit } from '../../tasks/login'; +import { login } from '../../tasks/login'; +import { visitWithTimeRange } from '../../tasks/navigation'; import { TIMELINES_URL } from '../../urls/navigation'; import { @@ -43,7 +44,7 @@ describe.skip('Timeline scope', { tags: ['@ess', '@serverless', '@brokenInServer beforeEach(() => { cy.clearLocalStorage(); login(); - visit(TIMELINES_URL); + visitWithTimeRange(TIMELINES_URL); }); it('correctly loads SIEM data view', () => { @@ -108,7 +109,7 @@ describe.skip('Timeline scope', { tags: ['@ess', '@serverless', '@brokenInServer beforeEach(() => { login(); - visit(TIMELINES_URL); + visitWithTimeRange(TIMELINES_URL); refreshUntilAlertsIndexExists(); }); diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/data_sources/sourcerer_timeline.ts b/x-pack/test/security_solution_cypress/cypress/e2e/data_sources/sourcerer_timeline.ts index 979cf8c657b12c..42679447405397 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/data_sources/sourcerer_timeline.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/data_sources/sourcerer_timeline.ts @@ -10,7 +10,8 @@ import { DEFAULT_INDEX_PATTERN, } from '@kbn/security-solution-plugin/common/constants'; -import { login, visit } from '../../tasks/login'; +import { login } from '../../tasks/login'; +import { visitWithTimeRange } from '../../tasks/navigation'; import { TIMELINES_URL } from '../../urls/navigation'; import { @@ -43,7 +44,7 @@ describe('Timeline scope', { tags: ['@ess', '@serverless', '@brokenInServerless' beforeEach(() => { cy.clearLocalStorage(); login(); - visit(TIMELINES_URL); + visitWithTimeRange(TIMELINES_URL); }); it('correctly loads SIEM data view', () => { @@ -108,7 +109,7 @@ describe('Timeline scope', { tags: ['@ess', '@serverless', '@brokenInServerless' beforeEach(() => { login(); - visit(TIMELINES_URL); + visitWithTimeRange(TIMELINES_URL); refreshUntilAlertsIndexExists(); }); diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/detection_alerts/alert_tags.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/detection_alerts/alert_tags.cy.ts index 48c7f49c14868b..ff8e890ab9966d 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/detection_alerts/alert_tags.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/detection_alerts/alert_tags.cy.ts @@ -14,7 +14,8 @@ import { } from '../../tasks/alerts'; import { createRule } from '../../tasks/api_calls/rules'; import { cleanKibana, deleteAlertsAndRules } from '../../tasks/common'; -import { login, visit } from '../../tasks/login'; +import { login } from '../../tasks/login'; +import { visitWithTimeRange } from '../../tasks/navigation'; import { ALERTS_URL } from '../../urls/navigation'; import { waitForAlertsToPopulate } from '../../tasks/create_new_rule'; import { @@ -36,7 +37,7 @@ describe('Alert tagging', { tags: ['@ess', '@serverless', '@brokenInServerless'] deleteAlertsAndRules(); cy.task('esArchiverLoad', { archiveName: 'endpoint' }); createRule(getNewRule({ rule_id: 'new custom rule' })); - visit(ALERTS_URL); + visitWithTimeRange(ALERTS_URL); waitForAlertsToPopulate(); }); diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/detection_alerts/alerts_charts.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/detection_alerts/alerts_charts.cy.ts index 2c00882fb15db9..f5055f7c8770cc 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/detection_alerts/alerts_charts.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/detection_alerts/alerts_charts.cy.ts @@ -16,7 +16,8 @@ import { } from '../../tasks/alerts'; import { createRule } from '../../tasks/api_calls/rules'; import { cleanKibana } from '../../tasks/common'; -import { login, visit } from '../../tasks/login'; +import { login } from '../../tasks/login'; +import { visitWithTimeRange } from '../../tasks/navigation'; import { ALERTS_URL } from '../../urls/navigation'; import { GLOBAL_SEARCH_BAR_FILTER_ITEM, @@ -38,7 +39,7 @@ describe( beforeEach(() => { login(); createRule(getNewRule({ rule_id: 'new custom rule' })); - visit(ALERTS_URL); + visitWithTimeRange(ALERTS_URL); selectAlertsHistogram(); }); diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/detection_alerts/alerts_detection_callouts_index_outdated.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/detection_alerts/alerts_detection_callouts_index_outdated.cy.ts index d751f2a68812b8..686edd1bf4f817 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/detection_alerts/alerts_detection_callouts_index_outdated.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/detection_alerts/alerts_detection_callouts_index_outdated.cy.ts @@ -7,11 +7,15 @@ import { ROLES } from '@kbn/security-solution-plugin/common/test'; -import { DETECTIONS_RULE_MANAGEMENT_URL, ALERTS_URL, ruleDetailsUrl } from '../../urls/navigation'; +import { ALERTS_URL } from '../../urls/navigation'; +import { RULES_MANAGEMENT_URL } from '../../urls/rules_management'; +import { ruleDetailsUrl } from '../../urls/rule_details'; import { getNewRule } from '../../objects/rule'; import { PAGE_TITLE } from '../../screens/common/page'; -import { login, visitWithoutDateRange, waitForPageWithoutDateRange } from '../../tasks/login'; +import { login } from '../../tasks/login'; +import { visit } from '../../tasks/navigation'; + import { createRule, deleteCustomRule } from '../../tasks/api_calls/rules'; import { getCallOut, @@ -21,7 +25,7 @@ import { const loadPageAsPlatformEngineerUser = (url: string) => { login(ROLES.soc_manager); - waitForPageWithoutDateRange(url, ROLES.soc_manager); + visit(url, { role: ROLES.soc_manager }); waitForPageTitleToBeShown(); }; @@ -38,7 +42,7 @@ describe( // First, we have to open the app on behalf of a privileged user in order to initialize it. // Otherwise the app will be disabled and show a "welcome"-like page. login(); - visitWithoutDateRange(ALERTS_URL); + visit(ALERTS_URL); waitForPageTitleToBeShown(); }); @@ -70,7 +74,7 @@ describe( context('On Rules Management page', () => { beforeEach(() => { - loadPageAsPlatformEngineerUser(DETECTIONS_RULE_MANAGEMENT_URL); + loadPageAsPlatformEngineerUser(RULES_MANAGEMENT_URL); }); it('We show 1 primary callout of need admin', () => { @@ -119,7 +123,7 @@ describe( context('On Rules Management page', () => { beforeEach(() => { - loadPageAsPlatformEngineerUser(DETECTIONS_RULE_MANAGEMENT_URL); + loadPageAsPlatformEngineerUser(RULES_MANAGEMENT_URL); }); it('We show 1 primary callout of need admin', () => { @@ -168,7 +172,7 @@ describe( context('On Rules Management page', () => { beforeEach(() => { - loadPageAsPlatformEngineerUser(DETECTIONS_RULE_MANAGEMENT_URL); + loadPageAsPlatformEngineerUser(RULES_MANAGEMENT_URL); }); it('We show 1 primary callout of need admin', () => { diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/detection_alerts/cti_enrichments.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/detection_alerts/cti_enrichments.cy.ts index 90226eca02e528..04de2c6ac6b355 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/detection_alerts/cti_enrichments.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/detection_alerts/cti_enrichments.cy.ts @@ -8,7 +8,7 @@ import { disableExpandableFlyout } from '../../tasks/api_calls/kibana_advanced_settings'; import { getNewThreatIndicatorRule, indicatorRuleMatchingDoc } from '../../objects/rule'; import { cleanKibana } from '../../tasks/common'; -import { login, visitWithoutDateRange } from '../../tasks/login'; +import { login } from '../../tasks/login'; import { JSON_TEXT, TABLE_CELL, @@ -23,9 +23,7 @@ import { TIMELINE_FIELD } from '../../screens/rule_details'; import { expandFirstAlert, setEnrichmentDates, viewThreatIntelTab } from '../../tasks/alerts'; import { createRule } from '../../tasks/api_calls/rules'; import { openJsonView, openThreatIndicatorDetails } from '../../tasks/alerts_details'; - -import { ruleDetailsUrl } from '../../urls/navigation'; -import { addsFieldsToTimeline } from '../../tasks/rule_details'; +import { addsFieldsToTimeline, visitRuleDetailsPage } from '../../tasks/rule_details'; // TODO: https://github.com/elastic/kibana/issues/161539 describe('CTI Enrichment', { tags: ['@ess', '@serverless', '@brokenInServerless'] }, () => { @@ -47,7 +45,7 @@ describe('CTI Enrichment', { tags: ['@ess', '@serverless', '@brokenInServerless' beforeEach(() => { login(); createRule({ ...getNewThreatIndicatorRule(), rule_id: 'rule_testing', enabled: true }).then( - (rule) => visitWithoutDateRange(ruleDetailsUrl(rule.body.id)) + (rule) => visitRuleDetailsPage(rule.body.id) ); }); diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/detection_alerts/enrichments.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/detection_alerts/enrichments.cy.ts index 393123650c388b..38a16a82254451 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/detection_alerts/enrichments.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/detection_alerts/enrichments.cy.ts @@ -26,7 +26,8 @@ import { } from '../../tasks/alerts'; import { disableExpandableFlyout } from '../../tasks/api_calls/kibana_advanced_settings'; -import { login, visit } from '../../tasks/login'; +import { login } from '../../tasks/login'; +import { visitWithTimeRange } from '../../tasks/navigation'; import { ALERTS_URL } from '../../urls/navigation'; @@ -48,7 +49,7 @@ describe('Enrichment', { tags: ['@ess', '@serverless', '@brokenInServerless'] }, deleteAlertsAndRules(); createRule(getNewRule({ rule_id: 'rule1' })); login(); - visit(ALERTS_URL); + visitWithTimeRange(ALERTS_URL); waitForAlertsToPopulate(); }); diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/detection_alerts/missing_privileges_callout.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/detection_alerts/missing_privileges_callout.cy.ts index a4e74d40dc9228..e12dabe0445984 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/detection_alerts/missing_privileges_callout.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/detection_alerts/missing_privileges_callout.cy.ts @@ -7,11 +7,13 @@ import { ROLES } from '@kbn/security-solution-plugin/common/test'; -import { DETECTIONS_RULE_MANAGEMENT_URL, ALERTS_URL, ruleDetailsUrl } from '../../urls/navigation'; +import { ALERTS_URL } from '../../urls/navigation'; +import { RULES_MANAGEMENT_URL } from '../../urls/rules_management'; import { getNewRule } from '../../objects/rule'; import { PAGE_TITLE } from '../../screens/common/page'; -import { login, visitWithoutDateRange, waitForPageWithoutDateRange } from '../../tasks/login'; +import { login } from '../../tasks/login'; +import { visit } from '../../tasks/navigation'; import { createRule, deleteCustomRule } from '../../tasks/api_calls/rules'; import { getCallOut, @@ -19,16 +21,17 @@ import { dismissCallOut, MISSING_PRIVILEGES_CALLOUT, } from '../../tasks/common/callouts'; +import { ruleDetailsUrl } from '../../urls/rule_details'; const loadPageAsReadOnlyUser = (url: string) => { login(ROLES.reader); - waitForPageWithoutDateRange(url, ROLES.reader); + visit(url, { role: ROLES.reader }); waitForPageTitleToBeShown(); }; const loadPageAsPlatformEngineer = (url: string) => { login(ROLES.platform_engineer); - waitForPageWithoutDateRange(url, ROLES.platform_engineer); + visit(url, { role: ROLES.platform_engineer }); waitForPageTitleToBeShown(); }; @@ -47,7 +50,7 @@ describe('Detections > Callouts', { tags: ['@ess', '@skipInServerless'] }, () => // First, we have to open the app on behalf of a privileged user in order to initialize it. // Otherwise the app will be disabled and show a "welcome"-like page. login(); - visitWithoutDateRange(ALERTS_URL); + visit(ALERTS_URL); waitForPageTitleToBeShown(); }); @@ -115,7 +118,7 @@ describe('Detections > Callouts', { tags: ['@ess', '@skipInServerless'] }, () => context('On Rules Management page', () => { beforeEach(() => { login(ROLES.platform_engineer); - loadPageAsPlatformEngineer(DETECTIONS_RULE_MANAGEMENT_URL); + loadPageAsPlatformEngineer(RULES_MANAGEMENT_URL); }); it('We show no callout', () => { diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/detection_alerts/ransomware_detection.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/detection_alerts/ransomware_detection.cy.ts index 7c7cd582baa3bf..807144f30f0876 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/detection_alerts/ransomware_detection.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/detection_alerts/ransomware_detection.cy.ts @@ -6,7 +6,8 @@ */ import { waitForAlertsToPopulate } from '../../tasks/create_new_rule'; -import { login, visit } from '../../tasks/login'; +import { login } from '../../tasks/login'; +import { visitWithTimeRange } from '../../tasks/navigation'; import { ALERTS_URL, TIMELINES_URL } from '../../urls/navigation'; import { ALERTS_HISTOGRAM_SERIES, ALERT_RULE_NAME, MESSAGE } from '../../screens/alerts'; @@ -30,7 +31,7 @@ describe( describe('Ransomware display in Alerts Section', () => { beforeEach(() => { login(); - visit(ALERTS_URL); + visitWithTimeRange(ALERTS_URL); waitForAlertsToPopulate(); }); @@ -54,7 +55,7 @@ describe( describe('Ransomware in Timelines', () => { before(() => { login(); - visit(TIMELINES_URL); + visitWithTimeRange(TIMELINES_URL); createTimeline(); }); diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/detection_alerts/ransomware_prevention.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/detection_alerts/ransomware_prevention.cy.ts index 8c62fb19293170..fa4a647ae7f201 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/detection_alerts/ransomware_prevention.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/detection_alerts/ransomware_prevention.cy.ts @@ -6,7 +6,8 @@ */ import { waitForAlertsToPopulate } from '../../tasks/create_new_rule'; -import { login, visit } from '../../tasks/login'; +import { login } from '../../tasks/login'; +import { visitWithTimeRange } from '../../tasks/navigation'; import { ALERTS_URL, TIMELINES_URL } from '../../urls/navigation'; import { ALERTS_HISTOGRAM_SERIES, ALERT_RULE_NAME, MESSAGE } from '../../screens/alerts'; @@ -36,7 +37,7 @@ describe( describe('Ransomware display in Alerts Section', () => { beforeEach(() => { login(); - visit(ALERTS_URL); + visitWithTimeRange(ALERTS_URL); waitForAlertsToPopulate(); }); @@ -60,7 +61,7 @@ describe( describe('Ransomware in Timelines', () => { beforeEach(() => { login(); - visit(TIMELINES_URL); + visitWithTimeRange(TIMELINES_URL); createTimeline(); }); diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/prebuilt_rules/prebuilt_rules_install_update_authorization.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/prebuilt_rules/prebuilt_rules_install_update_authorization.cy.ts index 19684d539c287e..63e1aa776cd07a 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/prebuilt_rules/prebuilt_rules_install_update_authorization.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/prebuilt_rules/prebuilt_rules_install_update_authorization.cy.ts @@ -15,8 +15,9 @@ import { ROLES } from '@kbn/security-solution-plugin/common/test'; import { createRuleAssetSavedObject } from '../../../helpers/rules'; import { createAndInstallMockedPrebuiltRules } from '../../../tasks/api_calls/prebuilt_rules'; import { resetRulesTableState, deleteAlertsAndRules } from '../../../tasks/common'; -import { login, waitForPageWithoutDateRange } from '../../../tasks/login'; -import { SECURITY_DETECTIONS_RULES_URL } from '../../../urls/navigation'; +import { login } from '../../../tasks/login'; +import { visit } from '../../../tasks/navigation'; +import { RULES_MANAGEMENT_URL } from '../../../urls/rules_management'; import { ADD_ELASTIC_RULES_BTN, getInstallSingleRuleButtonByRuleId, @@ -52,7 +53,7 @@ const UPDATED_RULE_2 = createRuleAssetSavedObject({ const loadPageAsReadOnlyUser = (url: string) => { login(ROLES.reader); - waitForPageWithoutDateRange(url, ROLES.reader); + visit(url, { role: ROLES.reader }); }; // TODO: https://github.com/elastic/kibana/issues/164451 We should find a way to make this spec work in Serverless @@ -81,7 +82,7 @@ describe( beforeEach(() => { // Now login with read-only user in preparation for test createAndInstallMockedPrebuiltRules({ rules: [RULE_1, RULE_2], installToKibana: false }); - loadPageAsReadOnlyUser(SECURITY_DETECTIONS_RULES_URL); + loadPageAsReadOnlyUser(RULES_MANAGEMENT_URL); }); it('should not be able to install prebuilt rules', () => { @@ -108,7 +109,7 @@ describe( installToKibana: false, }); // Now login with read-only user in preparation for test - loadPageAsReadOnlyUser(SECURITY_DETECTIONS_RULES_URL); + loadPageAsReadOnlyUser(RULES_MANAGEMENT_URL); }); it('should not be able to upgrade prebuilt rules', () => { diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/prebuilt_rules/prebuilt_rules_install_update_error_handling.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/prebuilt_rules/prebuilt_rules_install_update_error_handling.cy.ts index b1bdae3ae49f5c..be7d8192413f06 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/prebuilt_rules/prebuilt_rules_install_update_error_handling.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/prebuilt_rules/prebuilt_rules_install_update_error_handling.cy.ts @@ -8,7 +8,7 @@ import { createRuleAssetSavedObject } from '../../../helpers/rules'; import { createAndInstallMockedPrebuiltRules } from '../../../tasks/api_calls/prebuilt_rules'; import { resetRulesTableState, deleteAlertsAndRules, reload } from '../../../tasks/common'; -import { login, visitSecurityDetectionRulesPage } from '../../../tasks/login'; +import { login } from '../../../tasks/login'; import { addElasticRulesButtonClick, assertRuleAvailableForInstallAndInstallOne, @@ -21,6 +21,7 @@ import { assertRuleUpgradeAvailableAndUpgradeAll, ruleUpdatesTabClick, } from '../../../tasks/prebuilt_rules'; +import { visitRulesManagementTable } from '../../../tasks/rules_management'; // TODO: https://github.com/elastic/kibana/issues/161540 describe( @@ -33,7 +34,7 @@ describe( deleteAlertsAndRules(); cy.task('esArchiverResetKibana'); - visitSecurityDetectionRulesPage(); + visitRulesManagementTable(); }); describe('Installation of prebuilt rules - Should fail gracefully with toast error message when', () => { diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/prebuilt_rules/prebuilt_rules_install_update_workflows.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/prebuilt_rules/prebuilt_rules_install_update_workflows.cy.ts index a4fb84d557d3fd..e960a83bf91345 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/prebuilt_rules/prebuilt_rules_install_update_workflows.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/prebuilt_rules/prebuilt_rules_install_update_workflows.cy.ts @@ -25,7 +25,7 @@ import { createAndInstallMockedPrebuiltRules, } from '../../../tasks/api_calls/prebuilt_rules'; import { resetRulesTableState, deleteAlertsAndRules, reload } from '../../../tasks/common'; -import { login, visitSecurityDetectionRulesPage } from '../../../tasks/login'; +import { login } from '../../../tasks/login'; import { addElasticRulesButtonClick, assertRuleAvailableForInstallAndInstallOne, @@ -38,6 +38,7 @@ import { assertRuleUpgradeAvailableAndUpgradeAll, ruleUpdatesTabClick, } from '../../../tasks/prebuilt_rules'; +import { visitRulesManagementTable } from '../../../tasks/rules_management'; // TODO: https://github.com/elastic/kibana/issues/161540 describe( @@ -50,7 +51,7 @@ describe( deleteAlertsAndRules(); cy.task('esArchiverResetKibana'); - visitSecurityDetectionRulesPage(); + visitRulesManagementTable(); }); describe('Installation of prebuilt rules package via Fleet', () => { diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/prebuilt_rules/prebuilt_rules_management.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/prebuilt_rules/prebuilt_rules_management.cy.ts index 00e38335792ce0..16658abb09041a 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/prebuilt_rules/prebuilt_rules_management.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/prebuilt_rules/prebuilt_rules_management.cy.ts @@ -40,8 +40,9 @@ import { deleteAlertsAndRules, deletePrebuiltRulesAssets, } from '../../../tasks/common'; -import { login, visitWithoutDateRange } from '../../../tasks/login'; -import { DETECTIONS_RULE_MANAGEMENT_URL } from '../../../urls/navigation'; +import { login } from '../../../tasks/login'; +import { visit } from '../../../tasks/navigation'; +import { RULES_MANAGEMENT_URL } from '../../../urls/rules_management'; const rules = Array.from(Array(5)).map((_, i) => { return createRuleAssetSavedObject({ @@ -61,7 +62,7 @@ describe('Prebuilt rules', { tags: ['@ess', '@serverless', '@skipInServerless'] deleteAlertsAndRules(); deletePrebuiltRulesAssets(); preventPrebuiltRulesPackageInstallation(); - visitWithoutDateRange(DETECTIONS_RULE_MANAGEMENT_URL); + visit(RULES_MANAGEMENT_URL); createAndInstallMockedPrebuiltRules({ rules }); cy.reload(); waitForPrebuiltDetectionRulesToBeLoaded(); diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/prebuilt_rules/prebuilt_rules_notifications.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/prebuilt_rules/prebuilt_rules_notifications.cy.ts index 3ee378f12f3d37..6c7fedf38d24f6 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/prebuilt_rules/prebuilt_rules_notifications.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/prebuilt_rules/prebuilt_rules_notifications.cy.ts @@ -22,7 +22,8 @@ import { reload, deletePrebuiltRulesAssets, } from '../../../tasks/common'; -import { login, visitSecurityDetectionRulesPage } from '../../../tasks/login'; +import { login } from '../../../tasks/login'; +import { visitRulesManagementTable } from '../../../tasks/rules_management'; const RULE_1 = createRuleAssetSavedObject({ name: 'Test rule 1', @@ -44,7 +45,7 @@ describe( describe('No notifications', () => { it('should NOT display install or update notifications when no prebuilt assets and no rules are installed', () => { - visitSecurityDetectionRulesPage(); + visitRulesManagementTable(); cy.get(ADD_ELASTIC_RULES_EMPTY_PROMPT_BTN).should('be.visible'); @@ -56,7 +57,7 @@ describe( it('should NOT display install or update notifications when latest rules are installed', () => { createAndInstallMockedPrebuiltRules({ rules: [RULE_1], installToKibana: true }); - visitSecurityDetectionRulesPage(); + visitRulesManagementTable(); /* Assert that there are no installation or update notifications */ /* Add Elastic Rules button should not contain a number badge */ @@ -73,7 +74,7 @@ describe( describe('Rules installation notification when no rules have been installed', () => { beforeEach(() => { - visitSecurityDetectionRulesPage(); + visitRulesManagementTable(); }); it('should notify user about prebuilt rules available for installation', () => { @@ -101,7 +102,7 @@ describe( rules: [RULE_2, RULE_3], installToKibana: false, }); - visitSecurityDetectionRulesPage(); + visitRulesManagementTable(); }); }); @@ -138,7 +139,7 @@ describe( version: 2, }); createAndInstallMockedPrebuiltRules({ rules: [UPDATED_RULE], installToKibana: false }); - visitSecurityDetectionRulesPage(); + visitRulesManagementTable(); reload(); }); }); @@ -172,7 +173,7 @@ describe( rules: [RULE_2, UPDATED_RULE], installToKibana: false, }); - visitSecurityDetectionRulesPage(); + visitRulesManagementTable(); }); }); diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_actions/rule_actions.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_actions/rule_actions.cy.ts index f835f6801dedc4..dba23548e5d206 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_actions/rule_actions.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_actions/rule_actions.cy.ts @@ -23,9 +23,10 @@ import { fillRuleAction, fillScheduleRuleAndContinue, } from '../../../tasks/create_new_rule'; -import { login, visit } from '../../../tasks/login'; +import { login } from '../../../tasks/login'; +import { visit } from '../../../tasks/navigation'; -import { RULE_CREATION } from '../../../urls/navigation'; +import { CREATE_RULE_URL } from '../../../urls/navigation'; // TODO: https://github.com/elastic/kibana/issues/161539 describe( @@ -53,7 +54,7 @@ describe( const expectedJson = JSON.parse(actions.connectors[0].document); it('Indexes a new document after the index action is triggered', function () { - visit(RULE_CREATION); + visit(CREATE_RULE_URL); fillDefineCustomRuleAndContinue(rule); fillAboutRuleAndContinue(rule); fillScheduleRuleAndContinue(rule); diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_creation/custom_query_rule.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_creation/custom_query_rule.cy.ts index 31c05a10118002..b3e1c238af659c 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_creation/custom_query_rule.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_creation/custom_query_rule.cy.ts @@ -105,15 +105,17 @@ import { importSavedQuery, waitForAlertsToPopulate, } from '../../../tasks/create_new_rule'; -import { saveEditedRule } from '../../../tasks/edit_rule'; +import { saveEditedRule, visitEditRulePage } from '../../../tasks/edit_rule'; +import { login } from '../../../tasks/login'; +import { visitWithTimeRange } from '../../../tasks/navigation'; import { - login, - visit, - visitSecurityDetectionRulesPage, - visitWithoutDateRange, -} from '../../../tasks/login'; -import { enablesRule, getDetails, waitForTheRuleToBeExecuted } from '../../../tasks/rule_details'; -import { ruleDetailsUrl, ruleEditUrl, RULE_CREATION } from '../../../urls/navigation'; + enablesRule, + getDetails, + visitRuleDetailsPage, + waitForTheRuleToBeExecuted, +} from '../../../tasks/rule_details'; +import { CREATE_RULE_URL } from '../../../urls/navigation'; +import { visitRulesManagementTable } from '../../../tasks/rules_management'; // TODO: https://github.com/elastic/kibana/issues/161539 describe('Custom query rules', { tags: ['@ess', '@serverless', '@brokenInServerless'] }, () => { @@ -132,7 +134,7 @@ describe('Custom query rules', { tags: ['@ess', '@serverless', '@brokenInServerl }); it('Creates and enables a new rule', function () { - visit(RULE_CREATION); + visitWithTimeRange(CREATE_RULE_URL); cy.log('Filling define section'); importSavedQuery(this.timelineId); @@ -258,7 +260,7 @@ describe('Custom query rules', { tags: ['@ess', '@serverless', '@brokenInServerl ); createRule(getExistingRule({ rule_id: 'rule3', name: 'Rule 1', enabled: false })); login(); - visitSecurityDetectionRulesPage(); + visitRulesManagementTable(); }); it('Deletes one rule', () => { @@ -356,7 +358,7 @@ describe('Custom query rules', { tags: ['@ess', '@serverless', '@brokenInServerl deleteConnectors(); login(); createRule(getExistingRule({ rule_id: 'rule1', enabled: true })).then((rule) => - visitWithoutDateRange(ruleDetailsUrl(rule.body.id)) + visitRuleDetailsPage(rule.body.id) ); }); @@ -379,7 +381,7 @@ describe('Custom query rules', { tags: ['@ess', '@serverless', '@brokenInServerl deleteConnectors(); login(); createRule(getExistingRule({ rule_id: 'rule1', enabled: true })).then((rule) => - visitWithoutDateRange(ruleEditUrl(rule.body.id)) + visitEditRulePage(rule.body.id) ); }); diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_creation/custom_query_rule_data_view.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_creation/custom_query_rule_data_view.cy.ts index 6d9785ec7ac003..5c23d4dab1b3a5 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_creation/custom_query_rule_data_view.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_creation/custom_query_rule_data_view.cy.ts @@ -62,10 +62,11 @@ import { waitForAlertsToPopulate, } from '../../../tasks/create_new_rule'; -import { login, visit } from '../../../tasks/login'; +import { login } from '../../../tasks/login'; +import { visit } from '../../../tasks/navigation'; import { getDetails, waitForTheRuleToBeExecuted } from '../../../tasks/rule_details'; -import { RULE_CREATION } from '../../../urls/navigation'; +import { CREATE_RULE_URL } from '../../../urls/navigation'; // TODO: https://github.com/elastic/kibana/issues/161539 describe('Custom query rules', { tags: ['@ess', '@serverless', '@brokenInServerless'] }, () => { @@ -91,7 +92,7 @@ describe('Custom query rules', { tags: ['@ess', '@serverless', '@brokenInServerl }); it('Creates and enables a new rule', function () { - visit(RULE_CREATION); + visit(CREATE_RULE_URL); fillDefineCustomRuleAndContinue(rule); fillAboutRuleAndContinue(rule); fillScheduleRuleAndContinue(rule); @@ -149,7 +150,7 @@ describe('Custom query rules', { tags: ['@ess', '@serverless', '@brokenInServerl }); it('Creates and edits a new rule with a data view', function () { - visit(RULE_CREATION); + visit(CREATE_RULE_URL); fillDefineCustomRuleAndContinue(rule); cy.get(RULE_NAME_INPUT).clear(); cy.get(RULE_NAME_INPUT).type(rule.name); diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_creation/custom_saved_query_rule.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_creation/custom_saved_query_rule.cy.ts index 5e0dc286a36acf..a2abf05ecab40c 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_creation/custom_saved_query_rule.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_creation/custom_saved_query_rule.cy.ts @@ -34,17 +34,18 @@ import { checkLoadQueryDynamically, uncheckLoadQueryDynamically, } from '../../../tasks/create_new_rule'; -import { saveEditedRule } from '../../../tasks/edit_rule'; -import { login, visit, visitWithoutDateRange } from '../../../tasks/login'; -import { assertDetailsNotExist, getDetails } from '../../../tasks/rule_details'; +import { saveEditedRule, visitEditRulePage } from '../../../tasks/edit_rule'; +import { login } from '../../../tasks/login'; +import { visit } from '../../../tasks/navigation'; +import { + assertDetailsNotExist, + getDetails, + visitRuleDetailsPage, +} from '../../../tasks/rule_details'; import { createRule } from '../../../tasks/api_calls/rules'; -import { - ruleDetailsUrl, - ruleEditUrl, - RULE_CREATION, - SECURITY_DETECTIONS_RULES_URL, -} from '../../../urls/navigation'; +import { CREATE_RULE_URL } from '../../../urls/navigation'; +import { RULES_MANAGEMENT_URL } from '../../../urls/rules_management'; const savedQueryName = 'custom saved query'; const savedQueryQuery = 'process.name: test'; @@ -66,7 +67,7 @@ describe('Saved query rules', { tags: ['@ess', '@serverless', '@brokenInServerle it('Creates saved query rule', function () { const rule = getSavedQueryRule(); createSavedQuery(savedQueryName, savedQueryQuery, savedQueryFilterKey); - visit(RULE_CREATION); + visit(CREATE_RULE_URL); selectAndLoadSavedQuery(savedQueryName, savedQueryQuery); @@ -113,7 +114,7 @@ describe('Saved query rules', { tags: ['@ess', '@serverless', '@brokenInServerle saved_id: 'non-existent', query: undefined, }) - ).then((rule) => visitWithoutDateRange(ruleDetailsUrl(rule.body.id))); + ).then((rule) => visitRuleDetailsPage(rule.body.id)); }); it('Shows error toast on details page when saved query can not be loaded', function () { @@ -128,7 +129,7 @@ describe('Saved query rules', { tags: ['@ess', '@serverless', '@brokenInServerle saved_id: 'non-existent', query: undefined, }) - ).then((rule) => visitWithoutDateRange(ruleEditUrl(rule.body.id))); + ).then((rule) => visitEditRulePage(rule.body.id)); }); it('Shows validation error on rule edit when saved query can not be loaded', function () { @@ -157,7 +158,7 @@ describe('Saved query rules', { tags: ['@ess', '@serverless', '@brokenInServerle context('Editing', () => { it('Allows to update query rule as saved_query rule type', () => { createSavedQuery(savedQueryName, savedQueryQuery); - createRule(getNewRule()).then((rule) => visitWithoutDateRange(ruleEditUrl(rule.body.id))); + createRule(getNewRule()).then((rule) => visitEditRulePage(rule.body.id)); selectAndLoadSavedQuery(savedQueryName, savedQueryQuery); checkLoadQueryDynamically(); @@ -181,7 +182,7 @@ describe('Saved query rules', { tags: ['@ess', '@serverless', '@brokenInServerle createSavedQuery(savedQueryName, savedQueryQuery).then((response) => { cy.log(JSON.stringify(response.body, null, 2)); createRule(getSavedQueryRule({ saved_id: response.body.id, query: undefined })).then( - (rule) => visitWithoutDateRange(ruleEditUrl(rule.body.id)) + (rule) => visitEditRulePage(rule.body.id) ); }); @@ -206,7 +207,7 @@ describe('Saved query rules', { tags: ['@ess', '@serverless', '@brokenInServerle it('Allows to update saved_query rule with non-existent query by adding custom query', () => { const expectedCustomTestQuery = 'random test query'; createRule(getSavedQueryRule({ saved_id: 'non-existent', query: undefined })).then((rule) => - visitWithoutDateRange(ruleEditUrl(rule.body.id)) + visitEditRulePage(rule.body.id) ); uncheckLoadQueryDynamically(); @@ -229,10 +230,10 @@ describe('Saved query rules', { tags: ['@ess', '@serverless', '@brokenInServerle it('Allows to update saved_query rule with non-existent query by selecting another saved query', () => { createSavedQuery(savedQueryName, savedQueryQuery); createRule(getSavedQueryRule({ saved_id: 'non-existent', query: undefined })).then((rule) => - visitWithoutDateRange(ruleEditUrl(rule.body.id)) + visitEditRulePage(rule.body.id) ); - visit(SECURITY_DETECTIONS_RULES_URL); + visit(RULES_MANAGEMENT_URL); editFirstRule(); uncheckLoadQueryDynamically(); diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_creation/event_correlation_rule.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_creation/event_correlation_rule.cy.ts index 545af73b8a065f..66c506e0f21570 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_creation/event_correlation_rule.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_creation/event_correlation_rule.cy.ts @@ -52,9 +52,10 @@ import { selectEqlRuleType, waitForAlertsToPopulate, } from '../../../tasks/create_new_rule'; -import { login, visit } from '../../../tasks/login'; +import { login } from '../../../tasks/login'; +import { visit } from '../../../tasks/navigation'; -import { RULE_CREATION } from '../../../urls/navigation'; +import { CREATE_RULE_URL } from '../../../urls/navigation'; // TODO: https://github.com/elastic/kibana/issues/161539 describe('EQL rules', { tags: ['@ess', '@serverless', '@brokenInServerless'] }, () => { @@ -78,7 +79,7 @@ describe('EQL rules', { tags: ['@ess', '@serverless', '@brokenInServerless'] }, const expectedNumberOfAlerts = '2 alerts'; it('Creates and enables a new EQL rule', function () { - visit(RULE_CREATION); + visit(CREATE_RULE_URL); selectEqlRuleType(); fillDefineEqlRuleAndContinue(rule); fillAboutRuleAndContinue(rule); @@ -155,7 +156,7 @@ describe('EQL rules', { tags: ['@ess', '@serverless', '@brokenInServerless'] }, it('Creates and enables a new EQL rule with a sequence', function () { login(); - visit(RULE_CREATION); + visit(CREATE_RULE_URL); selectEqlRuleType(); fillDefineEqlRuleAndContinue(rule); fillAboutRuleAndContinue(rule); diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_creation/indicator_match_rule.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_creation/indicator_match_rule.cy.ts index d093e9c37f33d3..8d581d69edb950 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_creation/indicator_match_rule.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_creation/indicator_match_rule.cy.ts @@ -101,18 +101,17 @@ import { SCHEDULE_LOOKBACK_UNITS_INPUT, } from '../../../screens/create_new_rule'; import { goBackToRuleDetails } from '../../../tasks/edit_rule'; -import { login, visitWithoutDateRange } from '../../../tasks/login'; +import { login } from '../../../tasks/login'; +import { visit } from '../../../tasks/navigation'; import { goBackToRulesTable, getDetails, waitForTheRuleToBeExecuted, + visitRuleDetailsPage, } from '../../../tasks/rule_details'; -import { - DETECTIONS_RULE_MANAGEMENT_URL, - ruleDetailsUrl, - RULE_CREATION, -} from '../../../urls/navigation'; +import { CREATE_RULE_URL } from '../../../urls/navigation'; +import { RULES_MANAGEMENT_URL } from '../../../urls/rules_management'; const DEFAULT_THREAT_MATCH_QUERY = '@timestamp >= "now-30d/d"'; @@ -138,7 +137,7 @@ describe('indicator match', { tags: ['@ess', '@serverless', '@brokenInServerless describe('Index patterns', () => { beforeEach(() => { login(); - visitWithoutDateRange(RULE_CREATION); + visit(CREATE_RULE_URL); selectIndicatorMatchType(); }); @@ -162,7 +161,7 @@ describe('indicator match', { tags: ['@ess', '@serverless', '@brokenInServerless describe('Indicator index patterns', () => { beforeEach(() => { login(); - visitWithoutDateRange(RULE_CREATION); + visit(CREATE_RULE_URL); selectIndicatorMatchType(); }); @@ -184,7 +183,7 @@ describe('indicator match', { tags: ['@ess', '@serverless', '@brokenInServerless describe('custom query input', () => { beforeEach(() => { login(); - visitWithoutDateRange(RULE_CREATION); + visit(CREATE_RULE_URL); selectIndicatorMatchType(); }); @@ -201,7 +200,7 @@ describe('indicator match', { tags: ['@ess', '@serverless', '@brokenInServerless describe('custom indicator query input', () => { beforeEach(() => { login(); - visitWithoutDateRange(RULE_CREATION); + visit(CREATE_RULE_URL); selectIndicatorMatchType(); }); @@ -219,7 +218,7 @@ describe('indicator match', { tags: ['@ess', '@serverless', '@brokenInServerless beforeEach(() => { login(); const rule = getNewThreatIndicatorRule(); - visitWithoutDateRange(RULE_CREATION); + visit(CREATE_RULE_URL); selectIndicatorMatchType(); if (rule.index) { fillIndexAndIndicatorIndexPattern(rule.index, rule.threat_index); @@ -414,7 +413,7 @@ describe('indicator match', { tags: ['@ess', '@serverless', '@brokenInServerless describe('Schedule', () => { it('IM rule has 1h time interval and lookback by default', () => { login(); - visitWithoutDateRange(RULE_CREATION); + visit(CREATE_RULE_URL); selectIndicatorMatchType(); fillDefineIndicatorMatchRuleAndContinue(getNewThreatIndicatorRule()); fillAboutRuleAndContinue(getNewThreatIndicatorRule()); @@ -430,7 +429,7 @@ describe('indicator match', { tags: ['@ess', '@serverless', '@brokenInServerless describe('Generating signals', () => { it('Creates and enables a new Indicator Match rule', () => { const rule = getNewThreatIndicatorRule(); - visitWithoutDateRange(RULE_CREATION); + visit(CREATE_RULE_URL); selectIndicatorMatchType(); fillDefineIndicatorMatchRuleAndContinue(rule); fillAboutRuleAndContinue(rule); @@ -504,7 +503,7 @@ describe('indicator match', { tags: ['@ess', '@serverless', '@brokenInServerless loadPrepackagedTimelineTemplates(); createRule(getNewThreatIndicatorRule({ rule_id: 'rule_testing', enabled: true })).then( - (rule) => visitWithoutDateRange(ruleDetailsUrl(rule.body.id)) + (rule) => visitRuleDetailsPage(rule.body.id) ); waitForAlertsToPopulate(); @@ -544,7 +543,7 @@ describe('indicator match', { tags: ['@ess', '@serverless', '@brokenInServerless describe('on rule editing page', () => { beforeEach(() => { createRule(TESTED_RULE_DATA); - visitWithoutDateRange(DETECTIONS_RULE_MANAGEMENT_URL); + visit(RULES_MANAGEMENT_URL); disableAutoRefresh(); }); @@ -565,7 +564,7 @@ describe('indicator match', { tags: ['@ess', '@serverless', '@brokenInServerless describe('on rule details page', () => { beforeEach(() => { createRule(getNewThreatIndicatorRule(TESTED_RULE_DATA)).then((rule) => - visitWithoutDateRange(ruleDetailsUrl(rule.body.id)) + visitRuleDetailsPage(rule.body.id) ); }); diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_creation/machine_learning_rule.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_creation/machine_learning_rule.cy.ts index cb820c60c12029..38f977f6c309f0 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_creation/machine_learning_rule.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_creation/machine_learning_rule.cy.ts @@ -49,9 +49,10 @@ import { fillScheduleRuleAndContinue, selectMachineLearningRuleType, } from '../../../tasks/create_new_rule'; -import { login, visitWithoutDateRange } from '../../../tasks/login'; +import { login } from '../../../tasks/login'; +import { visit } from '../../../tasks/navigation'; -import { RULE_CREATION } from '../../../urls/navigation'; +import { CREATE_RULE_URL } from '../../../urls/navigation'; // TODO: https://github.com/elastic/kibana/issues/161539 describe('Machine Learning rules', { tags: ['@ess', '@serverless', '@brokenInServerless'] }, () => { @@ -67,7 +68,7 @@ describe('Machine Learning rules', { tags: ['@ess', '@serverless', '@brokenInSer beforeEach(() => { login(); - visitWithoutDateRange(RULE_CREATION); + visit(CREATE_RULE_URL); }); it('Creates and enables a new ml rule', () => { diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_creation/new_terms_rule.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_creation/new_terms_rule.cy.ts index 132b6d71295e8a..91a815823ad419 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_creation/new_terms_rule.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_creation/new_terms_rule.cy.ts @@ -54,9 +54,10 @@ import { selectNewTermsRuleType, waitForAlertsToPopulate, } from '../../../tasks/create_new_rule'; -import { login, visit } from '../../../tasks/login'; +import { login } from '../../../tasks/login'; +import { visit } from '../../../tasks/navigation'; -import { RULE_CREATION } from '../../../urls/navigation'; +import { CREATE_RULE_URL } from '../../../urls/navigation'; // TODO: https://github.com/elastic/kibana/issues/161539 describe('New Terms rules', { tags: ['@ess', '@serverless', '@brokenInServerless'] }, () => { @@ -79,7 +80,7 @@ describe('New Terms rules', { tags: ['@ess', '@serverless', '@brokenInServerless }); it('Creates and enables a new terms rule', function () { - visit(RULE_CREATION); + visit(CREATE_RULE_URL); selectNewTermsRuleType(); fillDefineNewTermsRuleAndContinue(rule); fillAboutRuleAndContinue(rule); diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_creation/override.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_creation/override.cy.ts index 46d01f6b836392..b438d43a256363 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_creation/override.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_creation/override.cy.ts @@ -56,10 +56,11 @@ import { fillScheduleRuleAndContinue, waitForAlertsToPopulate, } from '../../../tasks/create_new_rule'; -import { login, visitWithoutDateRange } from '../../../tasks/login'; +import { login } from '../../../tasks/login'; +import { visit } from '../../../tasks/navigation'; import { getDetails, waitForTheRuleToBeExecuted } from '../../../tasks/rule_details'; -import { RULE_CREATION } from '../../../urls/navigation'; +import { CREATE_RULE_URL } from '../../../urls/navigation'; // TODO: https://github.com/elastic/kibana/issues/161539 describe('Rules override', { tags: ['@ess', '@serverless', '@brokenInServerless'] }, () => { @@ -76,7 +77,7 @@ describe('Rules override', { tags: ['@ess', '@serverless', '@brokenInServerless' }); it('Creates and enables a new custom rule with override option', function () { - visitWithoutDateRange(RULE_CREATION); + visit(CREATE_RULE_URL); fillDefineCustomRuleAndContinue(rule); fillAboutRuleWithOverrideAndContinue(rule); fillScheduleRuleAndContinue(rule); diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_creation/threshold_rule.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_creation/threshold_rule.cy.ts index 1828455992207c..1b4122606c1027 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_creation/threshold_rule.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_creation/threshold_rule.cy.ts @@ -54,9 +54,10 @@ import { selectThresholdRuleType, waitForAlertsToPopulate, } from '../../../tasks/create_new_rule'; -import { login, visitWithoutDateRange } from '../../../tasks/login'; +import { login } from '../../../tasks/login'; +import { visit } from '../../../tasks/navigation'; -import { RULE_CREATION } from '../../../urls/navigation'; +import { CREATE_RULE_URL } from '../../../urls/navigation'; // TODO: https://github.com/elastic/kibana/issues/161539 describe('Threshold rules', { tags: ['@ess', '@serverless', '@brokenInServerless'] }, () => { @@ -74,7 +75,7 @@ describe('Threshold rules', { tags: ['@ess', '@serverless', '@brokenInServerless beforeEach(() => { deleteAlertsAndRules(); login(); - visitWithoutDateRange(RULE_CREATION); + visit(CREATE_RULE_URL); }); it('Creates and enables a new threshold rule', () => { diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/authorization/all_rules_read_only.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/authorization/all_rules_read_only.cy.ts index 28fce3db9d55b1..9b7ef2a116b307 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/authorization/all_rules_read_only.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/authorization/all_rules_read_only.cy.ts @@ -22,7 +22,8 @@ import { waitForCallOutToBeShown, MISSING_PRIVILEGES_CALLOUT, } from '../../../../tasks/common/callouts'; -import { login, visitSecurityDetectionRulesPage } from '../../../../tasks/login'; +import { login } from '../../../../tasks/login'; +import { visitRulesManagementTable } from '../../../../tasks/rules_management'; // TODO: https://github.com/elastic/kibana/issues/164451 We should find a way to make this spec work in Serverless // TODO: https://github.com/elastic/kibana/issues/161540 @@ -34,7 +35,7 @@ describe('All rules - read only', { tags: ['@ess', '@serverless', '@skipInServer beforeEach(() => { login(ROLES.reader); - visitSecurityDetectionRulesPage(ROLES.reader); + visitRulesManagementTable(ROLES.reader); cy.get(RULE_NAME).should('have.text', getNewRule().name); }); diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/maintenance_windows/maintenance_window_callout.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/maintenance_windows/maintenance_window_callout.cy.ts index 1ba764c09000d6..355347dedb91a5 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/maintenance_windows/maintenance_window_callout.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/maintenance_windows/maintenance_window_callout.cy.ts @@ -9,8 +9,9 @@ import { INTERNAL_ALERTING_API_MAINTENANCE_WINDOW_PATH } from '@kbn/alerting-plu import type { MaintenanceWindowCreateBody } from '@kbn/alerting-plugin/common'; import type { AsApiContract } from '@kbn/alerting-plugin/server/routes/lib'; import { cleanKibana } from '../../../../tasks/common'; -import { login, visit } from '../../../../tasks/login'; -import { DETECTIONS_RULE_MANAGEMENT_URL } from '../../../../urls/navigation'; +import { login } from '../../../../tasks/login'; +import { visit } from '../../../../tasks/navigation'; +import { RULES_MANAGEMENT_URL } from '../../../../urls/rules_management'; // TODO: https://github.com/elastic/kibana/issues/161540 describe( @@ -55,7 +56,7 @@ describe( }); it('Displays the callout when there are running maintenance windows', () => { - visit(DETECTIONS_RULE_MANAGEMENT_URL); + visit(RULES_MANAGEMENT_URL); cy.contains('Maintenance window is running'); }); diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/related_integrations/related_integrations.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/related_integrations/related_integrations.cy.ts index 85640b8c06ad2c..4b375058247088 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/related_integrations/related_integrations.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/related_integrations/related_integrations.cy.ts @@ -27,11 +27,8 @@ import { enableRelatedIntegrations, } from '../../../../tasks/api_calls/kibana_advanced_settings'; import { deleteAlertsAndRules } from '../../../../tasks/common'; -import { - login, - visitSecurityDetectionRulesPage, - visitWithoutDateRange, -} from '../../../../tasks/login'; +import { login } from '../../../../tasks/login'; +import { visitRulesManagementTable } from '../../../../tasks/rules_management'; import { waitForAlertsToPopulate } from '../../../../tasks/create_new_rule'; import { installIntegrations, @@ -41,9 +38,12 @@ import { disableAutoRefresh, openIntegrationsPopover, } from '../../../../tasks/alerts_detection_rules'; -import { ruleDetailsUrl } from '../../../../urls/navigation'; -import { enablesRule, waitForPageToBeLoaded } from '../../../../tasks/rule_details'; import { fetchRuleAlerts } from '../../../../tasks/api_calls/alerts'; +import { + enablesRule, + visitRuleDetailsPage, + waitForPageToBeLoaded, +} from '../../../../tasks/rule_details'; // TODO: https://github.com/elastic/kibana/issues/161540 describe('Related integrations', { tags: ['@ess', '@serverless', '@brokenInServerless'] }, () => { @@ -85,7 +85,7 @@ describe('Related integrations', { tags: ['@ess', '@serverless', '@brokenInServe describe('integrations not installed', () => { describe('rules management table', () => { beforeEach(() => { - visitSecurityDetectionRulesPage(); + visitRulesManagementTable(); disableAutoRefresh(); }); @@ -153,7 +153,7 @@ describe('Related integrations', { tags: ['@ess', '@serverless', '@brokenInServe describe('rules management table', () => { beforeEach(() => { - visitSecurityDetectionRulesPage(); + visitRulesManagementTable(); disableAutoRefresh(); }); @@ -243,7 +243,7 @@ describe('Related integrations', { tags: ['@ess', '@serverless', '@brokenInServe describe('rules management table', () => { beforeEach(() => { - visitSecurityDetectionRulesPage(); + visitRulesManagementTable(); disableAutoRefresh(); }); @@ -283,7 +283,7 @@ function addAndInstallPrebuiltRules(rules: Array): function visitFirstInstalledPrebuiltRuleDetailsPage(): void { cy.get>( `@${INSTALLED_PREBUILT_RULES_RESPONSE_ALIAS}` - ).then((response) => visitWithoutDateRange(ruleDetailsUrl(response.body.results.created[0].id))); + ).then((response) => visitRuleDetailsPage(response.body.results.created[0].id)); } interface IntegrationDefinition { @@ -406,14 +406,3 @@ const AWS_PACKAGE_POLICY: PackagePolicyWithoutAgentPolicyId = { }, }, }; - -const createValidJsonStringArray = (jsonStringArray: string[]) => - jsonStringArray.map((jsonString, index) => { - if (index === 0) { - return `${jsonString}}`; - } else if (index === jsonStringArray.length - 1) { - return `{${jsonString}`; - } else { - return `{${jsonString}}`; - } - }); diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/rule_actions/bulk_actions/bulk_duplicate_rules.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/rule_actions/bulk_actions/bulk_duplicate_rules.cy.ts index 0771f384e132bb..02a77d227a4c5f 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/rule_actions/bulk_actions/bulk_duplicate_rules.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/rule_actions/bulk_actions/bulk_duplicate_rules.cy.ts @@ -17,7 +17,8 @@ import { duplicateSelectedRulesWithNonExpiredExceptions, } from '../../../../../tasks/rules_bulk_actions'; import { goToExceptionsTab, viewExpiredExceptionItems } from '../../../../../tasks/rule_details'; -import { login, visitSecurityDetectionRulesPage } from '../../../../../tasks/login'; +import { login } from '../../../../../tasks/login'; +import { visitRulesManagementTable } from '../../../../../tasks/rules_management'; import { createRule } from '../../../../../tasks/api_calls/rules'; import { @@ -103,7 +104,7 @@ describe( ]); }); - visitSecurityDetectionRulesPage(); + visitRulesManagementTable(); disableAutoRefresh(); }); diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/rule_actions/bulk_actions/bulk_edit_rules.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/rule_actions/bulk_actions/bulk_edit_rules.cy.ts index e51bd3a73bde31..f6f4263d8c2be8 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/rule_actions/bulk_actions/bulk_edit_rules.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/rule_actions/bulk_actions/bulk_edit_rules.cy.ts @@ -74,7 +74,8 @@ import { import { createRuleAssetSavedObject } from '../../../../../helpers/rules'; import { hasIndexPatterns, getDetails } from '../../../../../tasks/rule_details'; -import { login, visitSecurityDetectionRulesPage } from '../../../../../tasks/login'; +import { login } from '../../../../../tasks/login'; +import { visitRulesManagementTable } from '../../../../../tasks/rules_management'; import { createRule } from '../../../../../tasks/api_calls/rules'; import { loadPrepackagedTimelineTemplates } from '../../../../../tasks/api_calls/timelines'; import { @@ -165,7 +166,7 @@ describe( }) ); - visitSecurityDetectionRulesPage(); + visitRulesManagementTable(); disableAutoRefresh(); }); diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/rule_actions/bulk_actions/bulk_edit_rules_actions.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/rule_actions/bulk_actions/bulk_edit_rules_actions.cy.ts index a2575f825dd75e..fb54b040051394 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/rule_actions/bulk_actions/bulk_edit_rules_actions.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/rule_actions/bulk_actions/bulk_edit_rules_actions.cy.ts @@ -49,7 +49,8 @@ import { openBulkEditRuleActionsForm, openBulkActionsMenu, } from '../../../../../tasks/rules_bulk_actions'; -import { login, visitSecurityDetectionRulesPage } from '../../../../../tasks/login'; +import { login } from '../../../../../tasks/login'; +import { visitRulesManagementTable } from '../../../../../tasks/rules_management'; import { createRule } from '../../../../../tasks/api_calls/rules'; import { createSlackConnector } from '../../../../../tasks/api_calls/connectors'; @@ -150,7 +151,7 @@ describe( context('Restricted action privileges', () => { it("User with no privileges can't add rule actions", () => { login(ROLES.hunter_no_actions); - visitSecurityDetectionRulesPage(ROLES.hunter_no_actions); + visitRulesManagementTable(ROLES.hunter_no_actions); expectManagementTableRules([ ruleNameToAssert, @@ -176,7 +177,7 @@ describe( context('All actions privileges', () => { beforeEach(() => { login(); - visitSecurityDetectionRulesPage(); + visitRulesManagementTable(); disableAutoRefresh(); expectManagementTableRules([ diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/rule_actions/bulk_actions/bulk_edit_rules_data_view.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/rule_actions/bulk_actions/bulk_edit_rules_data_view.cy.ts index 23e708a47462f8..b5c696da0c5ac9 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/rule_actions/bulk_actions/bulk_edit_rules_data_view.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/rule_actions/bulk_actions/bulk_edit_rules_data_view.cy.ts @@ -35,7 +35,8 @@ import { getDetails, assertDetailsNotExist, } from '../../../../../tasks/rule_details'; -import { login, visitSecurityDetectionRulesPage } from '../../../../../tasks/login'; +import { login } from '../../../../../tasks/login'; +import { visitRulesManagementTable } from '../../../../../tasks/rules_management'; import { createRule } from '../../../../../tasks/api_calls/rules'; import { cleanKibana, deleteAlertsAndRules, postDataView } from '../../../../../tasks/common'; @@ -119,7 +120,7 @@ describe( createRule(TESTED_TERMS_RULE_DATA); createRule(TESTED_CUSTOM_QUERY_RULE_DATA_2); - visitSecurityDetectionRulesPage(); + visitRulesManagementTable(); disableAutoRefresh(); expectManagementTableRules([ @@ -271,7 +272,7 @@ describe( createRule(TESTED_CUSTOM_QUERY_RULE_DATA_WITH_DATAVIEW); createRule(TESTED_CUSTOM_QUERY_RULE_DATA_WITHOUT_DATAVIEW); - visitSecurityDetectionRulesPage(); + visitRulesManagementTable(); disableAutoRefresh(); expectManagementTableRules(['with dataview', 'no data view']); diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/rule_actions/import_export/export_rule.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/rule_actions/import_export/export_rule.cy.ts index 050c944c42d2df..2e1f4ec1524cf2 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/rule_actions/import_export/export_rule.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/rule_actions/import_export/export_rule.cy.ts @@ -35,9 +35,10 @@ import { deleteAlertsAndRules, reload, } from '../../../../../tasks/common'; -import { login, visitWithoutDateRange } from '../../../../../tasks/login'; +import { login } from '../../../../../tasks/login'; +import { visit } from '../../../../../tasks/navigation'; -import { DETECTIONS_RULE_MANAGEMENT_URL } from '../../../../../urls/navigation'; +import { RULES_MANAGEMENT_URL } from '../../../../../urls/rules_management'; import { createAndInstallMockedPrebuiltRules, getAvailablePrebuiltRulesCount, @@ -72,7 +73,7 @@ describe('Export rules', { tags: ['@ess', '@serverless', '@brokenInServerless'] cy.intercept('POST', '/api/detection_engine/rules/_bulk_action').as('bulk_action'); // Prevent installation of whole prebuilt rules package, use mock prebuilt rules instead preventPrebuiltRulesPackageInstallation(); - visitWithoutDateRange(DETECTIONS_RULE_MANAGEMENT_URL); + visit(RULES_MANAGEMENT_URL); createRule(getNewRule({ name: 'Rule to export', enabled: false })).as('ruleResponse'); }); diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/rule_actions/import_export/import_rules.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/rule_actions/import_export/import_rules.cy.ts index 147148b724d7ee..6c0bbb01931302 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/rule_actions/import_export/import_rules.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/rule_actions/import_export/import_rules.cy.ts @@ -12,9 +12,10 @@ import { importRulesWithOverwriteAll, } from '../../../../../tasks/alerts_detection_rules'; import { cleanKibana, deleteAlertsAndRules, reload } from '../../../../../tasks/common'; -import { login, visitWithoutDateRange } from '../../../../../tasks/login'; +import { login } from '../../../../../tasks/login'; +import { visit } from '../../../../../tasks/navigation'; -import { DETECTIONS_RULE_MANAGEMENT_URL } from '../../../../../urls/navigation'; +import { RULES_MANAGEMENT_URL } from '../../../../../urls/rules_management'; const RULES_TO_IMPORT_FILENAME = 'cypress/fixtures/7_16_rules.ndjson'; // TODO: https://github.com/elastic/kibana/issues/161540 @@ -27,7 +28,7 @@ describe('Import rules', { tags: ['@ess', '@serverless', '@brokenInServerless'] login(); deleteAlertsAndRules(); cy.intercept('POST', '/api/detection_engine/rules/_import*').as('import'); - visitWithoutDateRange(DETECTIONS_RULE_MANAGEMENT_URL); + visit(RULES_MANAGEMENT_URL); }); it('Imports a custom rule with exceptions', function () { diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/rule_actions/snoozing/rule_snoozing.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/rule_actions/snoozing/rule_snoozing.cy.ts index b5121bda97b0e7..2b1daa66013d7c 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/rule_actions/snoozing/rule_snoozing.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/rule_actions/snoozing/rule_snoozing.cy.ts @@ -10,13 +10,9 @@ import type { RuleResponse } from '@kbn/security-solution-plugin/common/api/dete import { createRule, snoozeRule as snoozeRuleViaAPI } from '../../../../../tasks/api_calls/rules'; import { cleanKibana, deleteAlertsAndRules, deleteConnectors } from '../../../../../tasks/common'; -import { - login, - visitSecurityDetectionRulesPage, - visitWithoutDateRange, -} from '../../../../../tasks/login'; +import { login } from '../../../../../tasks/login'; +import { visitRulesManagementTable } from '../../../../../tasks/rules_management'; import { getNewRule } from '../../../../../objects/rule'; -import { ruleDetailsUrl, ruleEditUrl } from '../../../../../urls/navigation'; import { internalAlertingSnoozeRule } from '../../../../../urls/routes'; import { RULES_MANAGEMENT_TABLE, RULE_NAME } from '../../../../../screens/alerts_detection_rules'; import { @@ -38,10 +34,10 @@ import { importRules, } from '../../../../../tasks/alerts_detection_rules'; import { goToActionsStepTab } from '../../../../../tasks/create_new_rule'; -import { goToRuleEditSettings } from '../../../../../tasks/rule_details'; +import { goToRuleEditSettings, visitRuleDetailsPage } from '../../../../../tasks/rule_details'; import { actionFormSelector } from '../../../../../screens/common/rule_actions'; import { addEmailConnectorAndRuleAction } from '../../../../../tasks/common/rule_actions'; -import { saveEditedRule } from '../../../../../tasks/edit_rule'; +import { saveEditedRule, visitEditRulePage } from '../../../../../tasks/edit_rule'; import { DISABLED_SNOOZE_BADGE } from '../../../../../screens/rule_snoozing'; import { TOOLTIP } from '../../../../../screens/common'; @@ -62,7 +58,7 @@ describe('rule snoozing', { tags: ['@ess', '@serverless', '@skipInServerless'] } it('ensures the rule is snoozed on the rules management page, rule details page and rule editing page', () => { createRule(getNewRule({ name: 'Test on all pages', enabled: false })); - visitSecurityDetectionRulesPage(); + visitRulesManagementTable(); disableAutoRefresh(); snoozeRuleInTable({ @@ -87,7 +83,7 @@ describe('rule snoozing', { tags: ['@ess', '@serverless', '@skipInServerless'] } it('snoozes a rule without actions for 3 hours', () => { createRule(getNewRule({ name: 'Test rule without actions', enabled: false })); - visitSecurityDetectionRulesPage(); + visitRulesManagementTable(); disableAutoRefresh(); snoozeRuleInTable({ @@ -107,7 +103,7 @@ describe('rule snoozing', { tags: ['@ess', '@serverless', '@skipInServerless'] } it('snoozes a rule with actions for 2 days', () => { createRuleWithActions({ name: 'Test rule with actions' }, createRule); - visitSecurityDetectionRulesPage(); + visitRulesManagementTable(); disableAutoRefresh(); snoozeRuleInTable({ @@ -127,7 +123,7 @@ describe('rule snoozing', { tags: ['@ess', '@serverless', '@skipInServerless'] } it('unsnoozes a rule with actions', () => { createSnoozedRule(getNewRule({ name: 'Snoozed rule' })); - visitSecurityDetectionRulesPage(); + visitRulesManagementTable(); disableAutoRefresh(); unsnoozeRuleInTable({ @@ -145,7 +141,7 @@ describe('rule snoozing', { tags: ['@ess', '@serverless', '@skipInServerless'] } it('ensures snooze settings persist after page reload', () => { createRule(getNewRule({ name: 'Test persistence', enabled: false })); - visitSecurityDetectionRulesPage(); + visitRulesManagementTable(); disableAutoRefresh(); snoozeRuleInTable({ @@ -166,13 +162,13 @@ describe('rule snoozing', { tags: ['@ess', '@serverless', '@skipInServerless'] } it('ensures a duplicated rule is not snoozed', () => { createRule(getNewRule({ name: 'Test rule', enabled: false })); - visitSecurityDetectionRulesPage(); + visitRulesManagementTable(); disableAutoRefresh(); duplicateFirstRule(); // Make sure rules table is shown as it navigates to rule editing page after successful duplication - visitSecurityDetectionRulesPage(); + visitRulesManagementTable(); disableAutoRefresh(); expectRuleUnsnoozedInTable({ @@ -189,7 +185,7 @@ describe('rule snoozing', { tags: ['@ess', '@serverless', '@skipInServerless'] } it('adds an action to a snoozed rule', () => { createSnoozedRule(getNewRule({ name: 'Snoozed rule' })).then(({ body: rule }) => { - visitWithoutDateRange(ruleEditUrl(rule.id)); + visitEditRulePage(rule.id); goToActionsStepTab(); addEmailConnectorAndRuleAction('abc@example.com', 'Test action'); @@ -209,7 +205,7 @@ describe('rule snoozing', { tags: ['@ess', '@serverless', '@skipInServerless'] } }); it('ensures imported rules are unsnoozed', () => { - visitSecurityDetectionRulesPage(); + visitRulesManagementTable(); importRules(RULES_TO_IMPORT_FILENAME); @@ -231,7 +227,7 @@ describe('rule snoozing', { tags: ['@ess', '@serverless', '@skipInServerless'] } statusCode: 500, }); - visitWithoutDateRange(ruleDetailsUrl(rule.id)); + visitRuleDetailsPage(rule.id); }); cy.get(DISABLED_SNOOZE_BADGE).trigger('mouseover'); @@ -243,7 +239,7 @@ describe('rule snoozing', { tags: ['@ess', '@serverless', '@skipInServerless'] } createRule(getNewRule({ name: 'Test rule', enabled: false })).then(({ body: rule }) => { cy.intercept('POST', internalAlertingSnoozeRule(rule.id), { forceNetworkError: true }); - visitWithoutDateRange(ruleDetailsUrl(rule.id)); + visitRuleDetailsPage(rule.id); }); snoozeRule('3 days'); diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/rules_table/rules_table_auto_refresh.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/rules_table/rules_table_auto_refresh.cy.ts index 35e6e596131ec0..815e4a6bd51760 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/rules_table/rules_table_auto_refresh.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/rules_table/rules_table_auto_refresh.cy.ts @@ -5,6 +5,7 @@ * 2.0. */ +import { visitRulesManagementTable } from '../../../../tasks/rules_management'; import { REFRESH_RULES_STATUS, RULES_TABLE_AUTOREFRESH_INDICATOR, @@ -24,9 +25,8 @@ import { getRuleRow, setRulesTableAutoRefreshIntervalSetting, } from '../../../../tasks/alerts_detection_rules'; -import { login, visit, visitWithoutDateRange } from '../../../../tasks/login'; +import { login } from '../../../../tasks/login'; -import { DETECTIONS_RULE_MANAGEMENT_URL } from '../../../../urls/navigation'; import { createRule } from '../../../../tasks/api_calls/rules'; import { cleanKibana } from '../../../../tasks/common'; import { getNewRule } from '../../../../objects/rule'; @@ -54,7 +54,7 @@ describe( }); it('gets deactivated when any rule selected and activated after rules unselected', () => { - visit(DETECTIONS_RULE_MANAGEMENT_URL); + visitRulesManagementTable(); expectNumberOfRules(RULES_MANAGEMENT_TABLE, 1); @@ -75,7 +75,7 @@ describe( describe('when enabled', () => { beforeEach(() => { mockGlobalClock(); - visitWithoutDateRange(DETECTIONS_RULE_MANAGEMENT_URL); + visitRulesManagementTable(); expectNumberOfRules(RULES_MANAGEMENT_TABLE, 1); }); @@ -101,7 +101,7 @@ describe( describe('when disabled', () => { beforeEach(() => { mockGlobalClock(); - visitWithoutDateRange(DETECTIONS_RULE_MANAGEMENT_URL); + visitRulesManagementTable(); expectNumberOfRules(RULES_MANAGEMENT_TABLE, 1); }); @@ -148,7 +148,7 @@ describe( describe('when one rule is selected', () => { it('does NOT refresh after refresh interval has passed', () => { mockGlobalClock(); - visitWithoutDateRange(DETECTIONS_RULE_MANAGEMENT_URL); + visitRulesManagementTable(); expectNumberOfRules(RULES_MANAGEMENT_TABLE, 1); diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/rules_table/rules_table_filtering.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/rules_table/rules_table_filtering.cy.ts index d6cf2c415297cd..537bd67d98aae5 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/rules_table/rules_table_filtering.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/rules_table/rules_table_filtering.cy.ts @@ -6,7 +6,8 @@ */ import { cleanKibana, resetRulesTableState, deleteAlertsAndRules } from '../../../../tasks/common'; -import { login, visitSecurityDetectionRulesPage } from '../../../../tasks/login'; +import { login } from '../../../../tasks/login'; +import { visitRulesManagementTable } from '../../../../tasks/rules_management'; import { expectRulesWithExecutionStatus, filterByExecutionStatus, @@ -89,7 +90,7 @@ describe('Rules table: filtering', { tags: ['@ess', '@serverless', '@skipInServe waitForRulesToFinishExecution(['successful_rule', 'warning_rule', 'failed_rule'], new Date()); - visitSecurityDetectionRulesPage(); + visitRulesManagementTable(); disableAutoRefresh(); // Initial table state - before filtering by status @@ -140,7 +141,7 @@ describe('Rules table: filtering', { tags: ['@ess', '@serverless', '@skipInServe }); it('filter by different tags', () => { - visitSecurityDetectionRulesPage(); + visitRulesManagementTable(); expectManagementTableRules(['Rule 1', 'Rule 2', 'Rule 3']); diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/rules_table/rules_table_links.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/rules_table/rules_table_links.cy.ts index a568bbefe7fae8..22c9e18f53735a 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/rules_table/rules_table_links.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/rules_table/rules_table_links.cy.ts @@ -9,8 +9,9 @@ import { getNewRule } from '../../../../objects/rule'; import { RULES_MONITORING_TAB, RULE_NAME } from '../../../../screens/alerts_detection_rules'; import { createRule } from '../../../../tasks/api_calls/rules'; import { cleanKibana, deleteAlertsAndRules } from '../../../../tasks/common'; -import { login, visitWithoutDateRange } from '../../../../tasks/login'; -import { DETECTIONS_RULE_MANAGEMENT_URL } from '../../../../urls/navigation'; +import { login } from '../../../../tasks/login'; +import { visit } from '../../../../tasks/navigation'; +import { RULES_MANAGEMENT_URL } from '../../../../urls/rules_management'; // TODO: https://github.com/elastic/kibana/issues/161540 // Flaky in serverless tests @@ -23,7 +24,7 @@ describe('Rules table: links', { tags: ['@ess', '@serverless', '@skipInServerles login(); deleteAlertsAndRules(); createRule(getNewRule({ rule_id: 'rule1', enabled: false })); - visitWithoutDateRange(DETECTIONS_RULE_MANAGEMENT_URL); + visit(RULES_MANAGEMENT_URL); }); it('should render correct link for rule name - rules', () => { diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/rules_table/rules_table_persistent_state.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/rules_table/rules_table_persistent_state.cy.ts index c2b2d6e746a009..9b6aca45a51b2d 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/rules_table/rules_table_persistent_state.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/rules_table/rules_table_persistent_state.cy.ts @@ -8,14 +8,10 @@ import { encode } from '@kbn/rison'; import { cleanKibana, resetRulesTableState } from '../../../../tasks/common'; -import { login, visit } from '../../../../tasks/login'; -import { - DASHBOARDS_URL, - KIBANA_HOME, - SECURITY_DETECTIONS_RULES_MANAGEMENT_URL, - SECURITY_DETECTIONS_RULES_MONITORING_URL, - SECURITY_DETECTIONS_RULES_URL, -} from '../../../../urls/navigation'; +import { login } from '../../../../tasks/login'; +import { visit } from '../../../../tasks/navigation'; +import { DASHBOARDS_URL, KIBANA_HOME } from '../../../../urls/navigation'; +import { RULES_MANAGEMENT_URL, RULES_MONITORING_URL } from '../../../../urls/rules_management'; import { getNewRule } from '../../../../objects/rule'; import { filterByCustomRules, @@ -62,7 +58,7 @@ function createTestRules(): void { } function visitRulesTableWithState(urlTableState: Record): void { - visit(SECURITY_DETECTIONS_RULES_MANAGEMENT_URL, { qs: { rulesTable: encode(urlTableState) } }); + visit(RULES_MANAGEMENT_URL, { visitOptions: { qs: { rulesTable: encode(urlTableState) } } }); } function setStorageState(storageTableState: Record): void { @@ -121,7 +117,7 @@ describe( { tags: ['@ess', '@serverless', '@brokenInServerless'] }, () => { it('activates management tab by default', () => { - visit(SECURITY_DETECTIONS_RULES_URL); + visit(RULES_MANAGEMENT_URL); expectRulesManagementTab(); }); @@ -174,7 +170,7 @@ describe( perPage: 10, }); - visit(SECURITY_DETECTIONS_RULES_MANAGEMENT_URL); + visit(RULES_MANAGEMENT_URL); expectRulesManagementTab(); expectFilterSearchTerm('test'); @@ -214,7 +210,7 @@ describe( describe('and on the rules management tab', () => { beforeEach(() => { login(); - visit(SECURITY_DETECTIONS_RULES_MANAGEMENT_URL); + visit(RULES_MANAGEMENT_URL); }); it('persists after reloading the page', () => { @@ -245,7 +241,7 @@ describe( goToTablePage(2); visit(DASHBOARDS_URL); - visit(SECURITY_DETECTIONS_RULES_MANAGEMENT_URL); + visit(RULES_MANAGEMENT_URL); expectRulesManagementTab(); expectRulesTableState(); @@ -257,7 +253,7 @@ describe( goToTablePage(2); visit(KIBANA_HOME); - visit(SECURITY_DETECTIONS_RULES_MANAGEMENT_URL); + visit(RULES_MANAGEMENT_URL); expectRulesManagementTab(); expectRulesTableState(); @@ -268,7 +264,7 @@ describe( describe('and on the rules monitoring tab', () => { beforeEach(() => { login(); - visit(SECURITY_DETECTIONS_RULES_MONITORING_URL); + visit(RULES_MONITORING_URL); }); it('persists the selected tab', () => { @@ -319,7 +315,7 @@ describe( perPage: 5, }); - visit(SECURITY_DETECTIONS_RULES_MANAGEMENT_URL); + visit(RULES_MANAGEMENT_URL); expectRulesTableState(); expectTablePage(1); @@ -331,7 +327,7 @@ describe( describe('and on the rules management tab', () => { beforeEach(() => { login(); - visit(SECURITY_DETECTIONS_RULES_MANAGEMENT_URL); + visit(RULES_MANAGEMENT_URL); }); it('persists after clearing the session storage', () => { @@ -352,7 +348,7 @@ describe( changeRulesTableState(); goToTablePage(2); - visit(SECURITY_DETECTIONS_RULES_MANAGEMENT_URL); + visit(RULES_MANAGEMENT_URL); expectRulesManagementTab(); expectRulesTableState(); @@ -365,7 +361,7 @@ describe( describe('and on the rules management tab', () => { beforeEach(() => { login(); - visit(SECURITY_DETECTIONS_RULES_MANAGEMENT_URL); + visit(RULES_MANAGEMENT_URL); }); it('persists after corrupting the session storage data', () => { @@ -386,7 +382,7 @@ describe( changeRulesTableState(); goToTablePage(2); - visit(SECURITY_DETECTIONS_RULES_MANAGEMENT_URL, { qs: { rulesTable: '(!invalid)' } }); + visit(RULES_MANAGEMENT_URL, { visitOptions: { qs: { rulesTable: '(!invalid)' } } }); expectRulesManagementTab(); expectRulesTableState(); @@ -397,10 +393,12 @@ describe( changeRulesTableState(); goToTablePage(2); - visit(SECURITY_DETECTIONS_RULES_MANAGEMENT_URL, { - qs: { rulesTable: '(!invalid)' }, - onBeforeLoad: (win) => { - win.sessionStorage.setItem('securitySolution.rulesTable', '!invalid'); + visit(RULES_MANAGEMENT_URL, { + visitOptions: { + qs: { rulesTable: '(!invalid)' }, + onBeforeLoad: (win) => { + win.sessionStorage.setItem('securitySolution.rulesTable', '!invalid'); + }, }, }); diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/rules_table/rules_table_selection.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/rules_table/rules_table_selection.cy.ts index 383718c646f9d5..fa005860233e5b 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/rules_table/rules_table_selection.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/rules_table/rules_table_selection.cy.ts @@ -21,8 +21,9 @@ import { createAndInstallMockedPrebuiltRules, } from '../../../../tasks/api_calls/prebuilt_rules'; import { cleanKibana } from '../../../../tasks/common'; -import { login, visitWithoutDateRange } from '../../../../tasks/login'; -import { DETECTIONS_RULE_MANAGEMENT_URL } from '../../../../urls/navigation'; +import { login } from '../../../../tasks/login'; +import { visit } from '../../../../tasks/navigation'; +import { RULES_MANAGEMENT_URL } from '../../../../urls/rules_management'; const RULE_1 = createRuleAssetSavedObject({ name: 'Test rule 1', @@ -47,7 +48,7 @@ describe.skip( login(); /* Create and install two mock rules */ createAndInstallMockedPrebuiltRules({ rules: [RULE_1, RULE_2] }); - visitWithoutDateRange(DETECTIONS_RULE_MANAGEMENT_URL); + visit(RULES_MANAGEMENT_URL); waitForPrebuiltDetectionRulesToBeLoaded(); }); diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/rules_table/rules_table_sorting.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/rules_table/rules_table_sorting.cy.ts index f132f89b248a19..95ecee687092b0 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/rules_table/rules_table_sorting.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/rules_table/rules_table_sorting.cy.ts @@ -18,9 +18,10 @@ import { getRulesManagementTableRows, waitForRuleToUpdate, } from '../../../../tasks/alerts_detection_rules'; -import { login, visit } from '../../../../tasks/login'; +import { login } from '../../../../tasks/login'; +import { visit } from '../../../../tasks/navigation'; -import { DETECTIONS_RULE_MANAGEMENT_URL } from '../../../../urls/navigation'; +import { RULES_MANAGEMENT_URL } from '../../../../urls/rules_management'; import { createRule } from '../../../../tasks/api_calls/rules'; import { cleanKibana } from '../../../../tasks/common'; import { @@ -52,7 +53,7 @@ describe('Rules table: sorting', { tags: ['@ess', '@serverless', '@brokenInServe }); it('Sorts by enabled rules', () => { - visit(DETECTIONS_RULE_MANAGEMENT_URL); + visit(RULES_MANAGEMENT_URL); enableRule(SECOND_RULE); waitForRuleToUpdate(); @@ -72,7 +73,7 @@ describe('Rules table: sorting', { tags: ['@ess', '@serverless', '@brokenInServe createRule(getNewRule({ name: 'Test a rule', rule_id: '5', enabled: false })); createRule(getNewRule({ name: 'Not same as first rule', rule_id: '6', enabled: false })); - visit(DETECTIONS_RULE_MANAGEMENT_URL); + visit(RULES_MANAGEMENT_URL); setRowsPerPageTo(5); cy.get(RULES_MANAGEMENT_TABLE).find(TABLE_FIRST_PAGE).should('have.attr', 'aria-current'); diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/value_lists/value_lists.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/value_lists/value_lists.cy.ts index 7a2c6aeb35a229..faa82b4fc6cdfc 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/value_lists/value_lists.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/value_lists/value_lists.cy.ts @@ -7,8 +7,9 @@ import { ROLES } from '@kbn/security-solution-plugin/common/test'; -import { login, visitWithoutDateRange } from '../../../tasks/login'; -import { DETECTIONS_RULE_MANAGEMENT_URL } from '../../../urls/navigation'; +import { login } from '../../../tasks/login'; +import { visit } from '../../../tasks/navigation'; +import { RULES_MANAGEMENT_URL } from '../../../urls/rules_management'; import { createListsIndex, waitForValueListsModalToBeLoaded, @@ -31,10 +32,6 @@ import { } from '../../../screens/lists'; import { refreshIndex } from '../../../tasks/api_calls/elasticsearch'; -const TEXT_LIST_FILE_NAME = 'value_list.txt'; -const IPS_LIST_FILE_NAME = 'ip_list.txt'; -const CIDRS_LIST_FILE_NAME = 'cidr_list.txt'; - // TODO: https://github.com/elastic/kibana/issues/161539 // FLAKY: https://github.com/elastic/kibana/issues/165699 describe('value lists', { tags: ['@ess', '@serverless', '@skipInServerless'] }, () => { @@ -48,7 +45,7 @@ describe('value lists', { tags: ['@ess', '@serverless', '@skipInServerless'] }, KNOWN_VALUE_LIST_FILES.CIDRs, ]); createListsIndex(); - visitWithoutDateRange(DETECTIONS_RULE_MANAGEMENT_URL); + visit(RULES_MANAGEMENT_URL); waitForListsIndex(); waitForValueListsModalToBeLoaded(); }); @@ -272,7 +269,7 @@ describe('value lists', { tags: ['@ess', '@serverless', '@skipInServerless'] }, () => { it('Does not allow a t1 analyst user to upload a value list', () => { login(ROLES.t1_analyst); - visitWithoutDateRange(DETECTIONS_RULE_MANAGEMENT_URL, ROLES.t1_analyst); + visit(RULES_MANAGEMENT_URL, { role: ROLES.t1_analyst }); cy.get(VALUE_LISTS_MODAL_ACTIVATOR).should('have.attr', 'disabled'); }); } diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/entity_analytics/entity_analytics_management_page.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/entity_analytics/entity_analytics_management_page.cy.ts index fca7699af78437..272a548bee6661 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/entity_analytics/entity_analytics_management_page.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/entity_analytics/entity_analytics_management_page.cy.ts @@ -19,7 +19,8 @@ import { import { deleteRiskScore, installRiskScoreModule } from '../../tasks/api_calls/risk_scores'; import { RiskScoreEntity } from '../../tasks/risk_scores/common'; -import { login, visit } from '../../tasks/login'; +import { login } from '../../tasks/login'; +import { visit } from '../../tasks/navigation'; import { cleanKibana } from '../../tasks/common'; import { ENTITY_ANALYTICS_MANAGEMENT_URL } from '../../urls/navigation'; import { getNewRule } from '../../objects/rule'; diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/alerts_table_flow/endpoint_exceptions.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/alerts_table_flow/endpoint_exceptions.cy.ts index 184152c8c5bfdb..da3c0a435e1de7 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/alerts_table_flow/endpoint_exceptions.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/alerts_table_flow/endpoint_exceptions.cy.ts @@ -13,11 +13,10 @@ import { openAddEndpointExceptionFromFirstAlert, waitForAlerts, } from '../../../tasks/alerts'; -import { login, visitWithoutDateRange } from '../../../tasks/login'; +import { login } from '../../../tasks/login'; import { getEndpointRule } from '../../../objects/rule'; import { createRule } from '../../../tasks/api_calls/rules'; import { waitForAlertsToPopulate } from '../../../tasks/create_new_rule'; -import { ruleDetailsUrl } from '../../../urls/navigation'; import { addExceptionEntryFieldValueAndSelectSuggestion, addExceptionEntryFieldValueValue, @@ -34,7 +33,11 @@ import { EXCEPTION_CARD_ITEM_NAME, EXCEPTION_ITEM_VIEWER_CONTAINER, } from '../../../screens/exceptions'; -import { goToEndpointExceptionsTab, waitForTheRuleToBeExecuted } from '../../../tasks/rule_details'; +import { + goToEndpointExceptionsTab, + visitRuleDetailsPage, + waitForTheRuleToBeExecuted, +} from '../../../tasks/rule_details'; // TODO: https://github.com/elastic/kibana/issues/161539 // See https://github.com/elastic/kibana/issues/163967 @@ -53,9 +56,7 @@ describe.skip( deleteAlertsAndRules(); cy.task('esArchiverLoad', { archiveName: 'endpoint' }); - createRule(getEndpointRule()).then((rule) => - visitWithoutDateRange(ruleDetailsUrl(rule.body.id)) - ); + createRule(getEndpointRule()).then((rule) => visitRuleDetailsPage(rule.body.id)); waitForTheRuleToBeExecuted(); waitForAlertsToPopulate(); diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/alerts_table_flow/rule_exceptions/auto_populate_with_alert_data.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/alerts_table_flow/rule_exceptions/auto_populate_with_alert_data.cy.ts index 41a4dd607ffe67..c2a7d9715087dd 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/alerts_table_flow/rule_exceptions/auto_populate_with_alert_data.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/alerts_table_flow/rule_exceptions/auto_populate_with_alert_data.cy.ts @@ -23,10 +23,9 @@ import { validateHighlightedFieldsPopulatedAsExceptionConditions, validateEmptyExceptionConditionField, } from '../../../../tasks/exceptions'; -import { login, visitWithoutDateRange } from '../../../../tasks/login'; -import { goToExceptionsTab } from '../../../../tasks/rule_details'; +import { login } from '../../../../tasks/login'; +import { goToExceptionsTab, visitRuleDetailsPage } from '../../../../tasks/rule_details'; -import { ruleDetailsUrl } from '../../../../urls/navigation'; import { deleteAlertsAndRules } from '../../../../tasks/common'; import { ADD_AND_BTN, @@ -52,9 +51,7 @@ describe.skip( cy.task('esArchiverResetKibana'); cy.task('esArchiverLoad', { archiveName: 'endpoint' }); login(); - createRule(getEndpointRule()).then((rule) => - visitWithoutDateRange(ruleDetailsUrl(rule.body.id)) - ); + createRule(getEndpointRule()).then((rule) => visitRuleDetailsPage(rule.body.id)); waitForAlertsToPopulate(); }); diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/alerts_table_flow/rule_exceptions/closing_all_matching_alerts.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/alerts_table_flow/rule_exceptions/closing_all_matching_alerts.cy.ts index 6efdc2e8c515b6..2219cd8c8ed17a 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/alerts_table_flow/rule_exceptions/closing_all_matching_alerts.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/alerts_table_flow/rule_exceptions/closing_all_matching_alerts.cy.ts @@ -11,8 +11,8 @@ import { waitForAlerts, } from '../../../../tasks/alerts'; import { deleteAlertsAndRules, postDataView } from '../../../../tasks/common'; -import { login, visitWithoutDateRange } from '../../../../tasks/login'; -import { ruleDetailsUrl } from '../../../../urls/navigation'; +import { login } from '../../../../tasks/login'; +import { visitRuleDetailsPage } from '../../../../tasks/rule_details'; import { createRule } from '../../../../tasks/api_calls/rules'; import { getNewRule } from '../../../../objects/rule'; import { LOADING_INDICATOR } from '../../../../screens/security_header'; @@ -46,7 +46,7 @@ describe('Close matching Alerts ', { tags: ['@ess', '@serverless', '@skipInServe interval: '10s', rule_id: 'rule_testing', }) - ).then((rule) => visitWithoutDateRange(ruleDetailsUrl(rule.body.id))); + ).then((rule) => visitRuleDetailsPage(rule.body.id)); waitForAlertsToPopulate(); }); diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/entry/flyout_validation.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/entry/flyout_validation.cy.ts index 97df23c521181c..9d8661edd4415c 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/entry/flyout_validation.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/entry/flyout_validation.cy.ts @@ -10,11 +10,12 @@ import { getNewRule } from '../../../objects/rule'; import { RULE_STATUS } from '../../../screens/create_new_rule'; import { createRule } from '../../../tasks/api_calls/rules'; -import { login, visitWithoutDateRange } from '../../../tasks/login'; +import { login } from '../../../tasks/login'; import { openExceptionFlyoutFromEmptyViewerPrompt, goToExceptionsTab, openEditException, + visitRuleDetailsPage, } from '../../../tasks/rule_details'; import { addExceptionEntryFieldMatchAnyValue, @@ -46,7 +47,6 @@ import { FIELD_INPUT_PARENT, } from '../../../screens/exceptions'; -import { ruleDetailsUrl } from '../../../urls/navigation'; import { deleteAlertsAndRules, reload } from '../../../tasks/common'; import { createExceptionList, @@ -94,7 +94,7 @@ describe.skip('Exceptions flyout', { tags: ['@ess', '@serverless', '@skipInServe }, ], }) - ).then((rule) => visitWithoutDateRange(ruleDetailsUrl(rule.body.id, 'rule_exceptions'))) + ).then((rule) => visitRuleDetailsPage(rule.body.id, { tab: 'rule_exceptions' })) ); cy.get(RULE_STATUS).should('have.text', 'โ€”'); }); diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/entry/multiple_conditions.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/entry/multiple_conditions.cy.ts index 8da64aebc92d9d..bc976221ffd6df 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/entry/multiple_conditions.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/entry/multiple_conditions.cy.ts @@ -8,8 +8,11 @@ import { getNewRule } from '../../../objects/rule'; import { createRule } from '../../../tasks/api_calls/rules'; -import { login, visitWithoutDateRange } from '../../../tasks/login'; -import { openExceptionFlyoutFromEmptyViewerPrompt } from '../../../tasks/rule_details'; +import { login } from '../../../tasks/login'; +import { + openExceptionFlyoutFromEmptyViewerPrompt, + visitRuleDetailsPage, +} from '../../../tasks/rule_details'; import { addExceptionFlyoutItemName, addTwoAndedConditions, @@ -22,7 +25,6 @@ import { EXCEPTION_ITEM_VIEWER_CONTAINER, } from '../../../screens/exceptions'; -import { ruleDetailsUrl } from '../../../urls/navigation'; import { deleteAlertsAndRules } from '../../../tasks/common'; // TODO: https://github.com/elastic/kibana/issues/161539 @@ -44,7 +46,7 @@ describe( index: ['exceptions*'], exceptions_list: [], rule_id: '2', - }).then((rule) => visitWithoutDateRange(ruleDetailsUrl(rule.body.id, 'rule_exceptions'))); + }).then((rule) => visitRuleDetailsPage(rule.body.id, { tab: 'rule_exceptions' })); }); after(() => { diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/entry/use_value_list.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/entry/use_value_list.cy.ts index ff571faa014680..e3274b83bc6e31 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/entry/use_value_list.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/entry/use_value_list.cy.ts @@ -12,11 +12,15 @@ import { addExceptionFlyoutItemName, submitNewExceptionItem, } from '../../../tasks/exceptions'; -import { openExceptionFlyoutFromEmptyViewerPrompt } from '../../../tasks/rule_details'; +import { + openExceptionFlyoutFromEmptyViewerPrompt, + visitRuleDetailsPage, +} from '../../../tasks/rule_details'; import { getNewRule } from '../../../objects/rule'; import { cleanKibana } from '../../../tasks/common'; -import { login, visitWithoutDateRange } from '../../../tasks/login'; -import { DETECTIONS_RULE_MANAGEMENT_URL, ruleDetailsUrl } from '../../../urls/navigation'; +import { login } from '../../../tasks/login'; +import { visit } from '../../../tasks/navigation'; +import { RULES_MANAGEMENT_URL } from '../../../urls/rules_management'; import { createListsIndex, waitForListsIndex, @@ -37,7 +41,7 @@ import { } from '../../../screens/exceptions'; const goToRulesAndOpenValueListModal = () => { - visitWithoutDateRange(DETECTIONS_RULE_MANAGEMENT_URL); + visit(RULES_MANAGEMENT_URL); waitForListsIndex(); waitForValueListsModalToBeLoaded(); openValueListsModal(); @@ -64,7 +68,7 @@ describe( rule_id: '2', enabled: false, }) - ).then((rule) => visitWithoutDateRange(ruleDetailsUrl(rule.body.id, 'rule_exceptions'))); + ).then((rule) => visitRuleDetailsPage(rule.body.id, { tab: 'rule_exceptions' })); }); afterEach(() => { diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/rule_details_flow/add_edit_endpoint_exception.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/rule_details_flow/add_edit_endpoint_exception.cy.ts index c5a1a8e25b3377..c570c6a559589f 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/rule_details_flow/add_edit_endpoint_exception.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/rule_details_flow/add_edit_endpoint_exception.cy.ts @@ -8,11 +8,12 @@ import { getNewRule } from '../../../objects/rule'; import { createRule } from '../../../tasks/api_calls/rules'; -import { login, visitWithoutDateRange } from '../../../tasks/login'; +import { login } from '../../../tasks/login'; import { openEditException, openExceptionFlyoutFromEmptyViewerPrompt, searchForExceptionItem, + visitRuleDetailsPage, waitForPageToBeLoaded as waitForRuleDetailsPageToBeLoaded, } from '../../../tasks/rule_details'; import { @@ -25,7 +26,6 @@ import { submitNewExceptionItem, } from '../../../tasks/exceptions'; -import { ruleDetailsUrl } from '../../../urls/navigation'; import { deleteAlertsAndRules } from '../../../tasks/common'; import { NO_EXCEPTIONS_EXIST_PROMPT, @@ -86,9 +86,7 @@ describe( rule_id: '2', enabled: false, }) - ).then((rule) => - visitWithoutDateRange(ruleDetailsUrl(rule.body.id, 'endpoint_exceptions')) - ); + ).then((rule) => visitRuleDetailsPage(rule.body.id, { tab: 'endpoint_exceptions' })); }); }); @@ -170,7 +168,7 @@ describe( enabled: false, }) ).then((rule) => { - visitWithoutDateRange(ruleDetailsUrl(rule.body.id, 'endpoint_exceptions')); + visitRuleDetailsPage(rule.body.id, { tab: 'endpoint_exceptions' }); waitForRuleDetailsPageToBeLoaded('Rule with exceptions'); }); }); diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/rule_details_flow/add_edit_exception.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/rule_details_flow/add_edit_exception.cy.ts index 2f3d10a0b3ceeb..3d5c1dd37bfe4a 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/rule_details_flow/add_edit_exception.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/rule_details_flow/add_edit_exception.cy.ts @@ -14,7 +14,7 @@ import { goToClosedAlertsOnRuleDetailsPage, goToOpenedAlertsOnRuleDetailsPage, } from '../../../tasks/alerts'; -import { login, visitWithoutDateRange } from '../../../tasks/login'; +import { login } from '../../../tasks/login'; import { addExceptionFlyoutFromViewerHeader, goToAlertsTab, @@ -23,6 +23,7 @@ import { openExceptionFlyoutFromEmptyViewerPrompt, removeException, searchForExceptionItem, + visitRuleDetailsPage, waitForTheRuleToBeExecuted, } from '../../../tasks/rule_details'; import { @@ -36,7 +37,6 @@ import { submitEditedExceptionItem, submitNewExceptionItem, } from '../../../tasks/exceptions'; -import { ruleDetailsUrl } from '../../../urls/navigation'; import { deleteAlertsAndRules } from '../../../tasks/common'; import { NO_EXCEPTIONS_EXIST_PROMPT, @@ -121,7 +121,7 @@ describe( ], rule_id: '2', }) - ).then((rule) => visitWithoutDateRange(ruleDetailsUrl(rule.body.id, 'rule_exceptions'))); + ).then((rule) => visitRuleDetailsPage(rule.body.id, { tab: 'rule_exceptions' })); }); }); @@ -259,7 +259,7 @@ describe( interval: '10s', rule_id: 'rule_testing', }) - ).then((rule) => visitWithoutDateRange(ruleDetailsUrl(rule.body.id, 'rule_exceptions'))); + ).then((rule) => visitRuleDetailsPage(rule.body.id, { tab: 'rule_exceptions' })); }); afterEach(() => { diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/rule_details_flow/add_edit_exception_data_view.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/rule_details_flow/add_edit_exception_data_view.cy.ts index 07fd7dd56e5c09..6751b79e2c2e60 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/rule_details_flow/add_edit_exception_data_view.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/rule_details_flow/add_edit_exception_data_view.cy.ts @@ -17,17 +17,17 @@ import { editExceptionFlyoutItemName, submitEditedExceptionItem, } from '../../../tasks/exceptions'; -import { login, visitWithoutDateRange } from '../../../tasks/login'; +import { login } from '../../../tasks/login'; import { addFirstExceptionFromRuleDetails, goToAlertsTab, goToExceptionsTab, openEditException, removeException, + visitRuleDetailsPage, waitForTheRuleToBeExecuted, } from '../../../tasks/rule_details'; -import { ruleDetailsUrl } from '../../../urls/navigation'; import { postDataView, deleteAlertsAndRules } from '../../../tasks/common'; import { NO_EXCEPTIONS_EXIST_PROMPT, @@ -69,7 +69,7 @@ describe( interval: '10s', rule_id: 'rule_testing', }) - ).then((rule) => visitWithoutDateRange(ruleDetailsUrl(rule.body.id))); + ).then((rule) => visitRuleDetailsPage(rule.body.id)); waitForAlertsToPopulate(); }); diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/rule_details_flow/read_only_view.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/rule_details_flow/read_only_view.cy.ts index 85f0a201283822..b8a0e539e12efa 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/rule_details_flow/read_only_view.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/rule_details_flow/read_only_view.cy.ts @@ -9,7 +9,8 @@ import { ROLES } from '@kbn/security-solution-plugin/common/test'; import { getExceptionList } from '../../../objects/exception'; import { getNewRule } from '../../../objects/rule'; import { createRule } from '../../../tasks/api_calls/rules'; -import { login, visitSecurityDetectionRulesPage } from '../../../tasks/login'; +import { login } from '../../../tasks/login'; +import { visitRulesManagementTable } from '../../../tasks/rules_management'; import { goToExceptionsTab, goToAlertsTab } from '../../../tasks/rule_details'; import { goToRuleDetailsOf } from '../../../tasks/alerts_detection_rules'; import { deleteAlertsAndRules } from '../../../tasks/common'; @@ -55,7 +56,7 @@ describe('Exceptions viewer read only', { tags: ['@ess', '@skipInServerless'] }, }); login(ROLES.reader); - visitSecurityDetectionRulesPage(ROLES.reader); + visitRulesManagementTable(ROLES.reader); goToRuleDetailsOf('Test exceptions rule'); goToExceptionsTab(); }); diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/shared_exception_lists_management/list_detail_page/list_details.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/shared_exception_lists_management/list_detail_page/list_details.cy.ts index 2c5ccd93f3cab6..d19fed884344a7 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/shared_exception_lists_management/list_detail_page/list_details.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/shared_exception_lists_management/list_detail_page/list_details.cy.ts @@ -8,7 +8,8 @@ import { getExceptionList } from '../../../../objects/exception'; import { getNewRule } from '../../../../objects/rule'; -import { login, visitWithoutDateRange } from '../../../../tasks/login'; +import { login } from '../../../../tasks/login'; +import { visit } from '../../../../tasks/navigation'; import { createRule } from '../../../../tasks/api_calls/rules'; import { EXCEPTIONS_URL, exceptionsListDetailsUrl } from '../../../../urls/navigation'; import { @@ -70,11 +71,11 @@ describe( beforeEach(() => { login(); - visitWithoutDateRange(EXCEPTIONS_URL); + visit(EXCEPTIONS_URL); }); it('Should edit list details', () => { - visitWithoutDateRange(exceptionsListDetailsUrl(getExceptionList1().list_id)); + visit(exceptionsListDetailsUrl(getExceptionList1().list_id)); waitForExceptionListDetailToBeLoaded(); // Check list details are loaded cy.get(EXCEPTIONS_LIST_MANAGEMENT_NAME).should('have.text', LIST_NAME); @@ -91,7 +92,7 @@ describe( cy.get(EXCEPTIONS_LIST_MANAGEMENT_DESCRIPTION).should('have.text', UPDATED_LIST_DESCRIPTION); // Ensure that list details changes persisted - visitWithoutDateRange(exceptionsListDetailsUrl(getExceptionList1().list_id)); + visit(exceptionsListDetailsUrl(getExceptionList1().list_id)); cy.get(EXCEPTIONS_LIST_MANAGEMENT_NAME).should('have.text', UPDATED_LIST_NAME); cy.get(EXCEPTIONS_LIST_MANAGEMENT_DESCRIPTION).should('have.text', UPDATED_LIST_DESCRIPTION); @@ -102,7 +103,7 @@ describe( cy.get(EXCEPTIONS_LIST_MANAGEMENT_DESCRIPTION).should('have.text', 'Add a description'); // Ensure description removal persisted - visitWithoutDateRange(exceptionsListDetailsUrl(getExceptionList1().list_id)); + visit(exceptionsListDetailsUrl(getExceptionList1().list_id)); cy.get(EXCEPTIONS_LIST_MANAGEMENT_DESCRIPTION).should('have.text', 'Add a description'); }); diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/shared_exception_lists_management/manage_exceptions.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/shared_exception_lists_management/manage_exceptions.cy.ts index 0c5523e42a9eed..d6e61120d7dd9f 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/shared_exception_lists_management/manage_exceptions.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/shared_exception_lists_management/manage_exceptions.cy.ts @@ -7,7 +7,8 @@ import type { RuleResponse } from '@kbn/security-solution-plugin/common/api/detection_engine'; import { getNewRule } from '../../../objects/rule'; -import { login, visitWithoutDateRange } from '../../../tasks/login'; +import { login } from '../../../tasks/login'; +import { visit } from '../../../tasks/navigation'; import { createRule } from '../../../tasks/api_calls/rules'; import { addExceptionFlyoutItemName, @@ -20,7 +21,7 @@ import { submitNewExceptionItem, deleteFirstExceptionItemInListDetailPage, } from '../../../tasks/exceptions'; -import { EXCEPTIONS_URL, ruleDetailsUrl } from '../../../urls/navigation'; +import { EXCEPTIONS_URL } from '../../../urls/navigation'; import { CONFIRM_BTN, @@ -36,6 +37,7 @@ import { findSharedExceptionListItemsByName, waitForExceptionsTableToBeLoaded, } from '../../../tasks/exceptions_table'; +import { visitRuleDetailsPage } from '../../../tasks/rule_details'; // TODO: https://github.com/elastic/kibana/issues/161539 // FLAKY: https://github.com/elastic/kibana/issues/165795 @@ -49,7 +51,7 @@ describe( createRule(getNewRule()).as('createdRule'); login(); - visitWithoutDateRange(EXCEPTIONS_URL); + visit(EXCEPTIONS_URL); waitForExceptionsTableToBeLoaded(); }); @@ -87,7 +89,7 @@ describe( // Navigate to Rule details page cy.get>('@createdRule').then((rule) => - visitWithoutDateRange(ruleDetailsUrl(rule.body.id, 'rule_exceptions')) + visitRuleDetailsPage(rule.body.id, { tab: 'rule_exceptions' }) ); // Only one Exception should generated @@ -107,7 +109,7 @@ describe( cy.get(EXCEPTIONS_LIST_MANAGEMENT_NAME).should('have.text', EXCEPTION_LIST_NAME); // Go back to Shared Exception List - visitWithoutDateRange(EXCEPTIONS_URL); + visit(EXCEPTIONS_URL); // Click on "Create shared exception list" button on the header // Click on "Create exception item" diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/shared_exception_lists_management/shared_exception_list_page/duplicate_lists.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/shared_exception_lists_management/shared_exception_list_page/duplicate_lists.cy.ts index f28b1fc2ed25ac..6d72a754be39a1 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/shared_exception_lists_management/shared_exception_list_page/duplicate_lists.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/shared_exception_lists_management/shared_exception_list_page/duplicate_lists.cy.ts @@ -14,7 +14,8 @@ import { findSharedExceptionListItemsByName, waitForExceptionsTableToBeLoaded, } from '../../../../tasks/exceptions_table'; -import { login, visitWithoutDateRange } from '../../../../tasks/login'; +import { login } from '../../../../tasks/login'; +import { visit } from '../../../../tasks/navigation'; import { EXCEPTIONS_URL } from '../../../../urls/navigation'; import { createExceptionList, @@ -106,7 +107,7 @@ describe('Duplicate List', { tags: ['@ess', '@serverless', '@skipInServerless'] ], expire_time: futureDate, }); - visitWithoutDateRange(EXCEPTIONS_URL); + visit(EXCEPTIONS_URL); waitForExceptionsTableToBeLoaded(); }); diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/shared_exception_lists_management/shared_exception_list_page/filter_table.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/shared_exception_lists_management/shared_exception_list_page/filter_table.cy.ts index 6f8411c2d5ada4..99d5caa7072682 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/shared_exception_lists_management/shared_exception_list_page/filter_table.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/shared_exception_lists_management/shared_exception_list_page/filter_table.cy.ts @@ -18,7 +18,8 @@ import { searchForExceptionList, clearSearchSelection, } from '../../../../tasks/exceptions_table'; -import { login, visitWithoutDateRange } from '../../../../tasks/login'; +import { login } from '../../../../tasks/login'; +import { visit } from '../../../../tasks/navigation'; import { EXCEPTIONS_URL } from '../../../../urls/navigation'; const EXCEPTION_LIST_NAME = 'My test list'; @@ -60,7 +61,7 @@ describe('Filter Lists', { tags: ['@ess', '@serverless', '@skipInServerless'] }, // Create exception list not used by any rules createExceptionList(getExceptionList1(), getExceptionList1().list_id); login(); - visitWithoutDateRange(EXCEPTIONS_URL); + visit(EXCEPTIONS_URL); }); it('Filters exception lists on search', () => { diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/shared_exception_lists_management/shared_exception_list_page/import_lists.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/shared_exception_lists_management/shared_exception_list_page/import_lists.cy.ts index 7d24c9009e31d7..99996fcf5fdaf8 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/shared_exception_lists_management/shared_exception_list_page/import_lists.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/shared_exception_lists_management/shared_exception_list_page/import_lists.cy.ts @@ -17,7 +17,8 @@ import { validateImportExceptionListWentSuccessfully, validateImportExceptionListFailedBecauseExistingListFound, } from '../../../../tasks/exceptions_table'; -import { login, visitWithoutDateRange } from '../../../../tasks/login'; +import { login } from '../../../../tasks/login'; +import { visit } from '../../../../tasks/navigation'; import { EXCEPTIONS_URL } from '../../../../urls/navigation'; // TODO: https://github.com/elastic/kibana/issues/161539 @@ -29,7 +30,7 @@ describe('Import Lists', { tags: ['@ess', '@serverless', '@skipInServerless'] }, }); beforeEach(() => { login(); - visitWithoutDateRange(EXCEPTIONS_URL); + visit(EXCEPTIONS_URL); waitForExceptionsTableToBeLoaded(); cy.intercept(/(\/api\/exception_lists\/_import)/).as('import'); }); diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/shared_exception_lists_management/shared_exception_list_page/manage_lists.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/shared_exception_lists_management/shared_exception_list_page/manage_lists.cy.ts index b740eb5d9d63e9..3a5e40766d72f9 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/shared_exception_lists_management/shared_exception_list_page/manage_lists.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/shared_exception_lists_management/shared_exception_list_page/manage_lists.cy.ts @@ -10,7 +10,8 @@ import { expectedExportedExceptionList, getExceptionList } from '../../../../obj import { getNewRule } from '../../../../objects/rule'; import { createRule } from '../../../../tasks/api_calls/rules'; -import { login, visitWithoutDateRange, waitForPageWithoutDateRange } from '../../../../tasks/login'; +import { login } from '../../../../tasks/login'; +import { visit } from '../../../../tasks/navigation'; import { EXCEPTIONS_URL } from '../../../../urls/navigation'; import { @@ -82,7 +83,7 @@ describe( beforeEach(() => { login(); - visitWithoutDateRange(EXCEPTIONS_URL); + visit(EXCEPTIONS_URL); waitForExceptionsTableToBeLoaded(); }); @@ -133,7 +134,7 @@ describe( }); it('Deletes exception list with rule reference', () => { - waitForPageWithoutDateRange(EXCEPTIONS_URL); + visit(EXCEPTIONS_URL); waitForExceptionsTableToBeLoaded(); // Using cy.contains because we do not care about the exact text, diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/shared_exception_lists_management/shared_exception_list_page/read_only.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/shared_exception_lists_management/shared_exception_list_page/read_only.cy.ts index d028f5a3949c10..1a76dbd026f743 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/shared_exception_lists_management/shared_exception_list_page/read_only.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/shared_exception_lists_management/shared_exception_list_page/read_only.cy.ts @@ -4,6 +4,7 @@ * 2.0; you may not use this file except in compliance with the Elastic License * 2.0. */ + import { ROLES } from '@kbn/security-solution-plugin/common/test'; import { getExceptionList } from '../../../../objects/exception'; @@ -18,7 +19,8 @@ import { waitForCallOutToBeShown, MISSING_PRIVILEGES_CALLOUT, } from '../../../../tasks/common/callouts'; -import { login, visitWithoutDateRange } from '../../../../tasks/login'; +import { login } from '../../../../tasks/login'; +import { visit } from '../../../../tasks/navigation'; import { EXCEPTIONS_URL } from '../../../../urls/navigation'; // TODO: https://github.com/elastic/kibana/issues/161539 Do we need to run it in Serverless? @@ -34,7 +36,7 @@ describe('Shared exception lists - read only', { tags: ['@ess', '@skipInServerle createExceptionList(getExceptionList(), getExceptionList().list_id); login(ROLES.reader); - visitWithoutDateRange(EXCEPTIONS_URL, ROLES.reader); + visit(EXCEPTIONS_URL, { role: ROLES.reader }); // Using cy.contains because we do not care about the exact text, // just checking number of lists shown diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/explore/cases/attach_alert_to_case.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/explore/cases/attach_alert_to_case.cy.ts index bb84c0a8004e43..0d9253ff2bd307 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/explore/cases/attach_alert_to_case.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/explore/cases/attach_alert_to_case.cy.ts @@ -12,7 +12,8 @@ import { expandFirstAlertActions } from '../../../tasks/alerts'; import { createRule } from '../../../tasks/api_calls/rules'; import { cleanKibana } from '../../../tasks/common'; import { waitForAlertsToPopulate } from '../../../tasks/create_new_rule'; -import { login, visit, waitForPageWithoutDateRange } from '../../../tasks/login'; +import { login } from '../../../tasks/login'; +import { visit } from '../../../tasks/navigation'; import { ALERTS_URL } from '../../../urls/navigation'; import { ATTACH_ALERT_TO_CASE_BUTTON, ATTACH_TO_NEW_CASE_BUTTON } from '../../../screens/alerts'; @@ -20,7 +21,7 @@ import { LOADING_INDICATOR } from '../../../screens/security_header'; const loadDetectionsPage = (role: ROLES) => { login(role); - waitForPageWithoutDateRange(ALERTS_URL, role); + visit(ALERTS_URL, { role }); waitForAlertsToPopulate(); }; diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/explore/cases/attach_timeline.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/explore/cases/attach_timeline.cy.ts index c7b63a8790b5f0..fbcaaf22dc0c02 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/explore/cases/attach_timeline.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/explore/cases/attach_timeline.cy.ts @@ -5,7 +5,8 @@ * 2.0. */ -import { login, visitTimeline } from '../../../tasks/login'; +import { login } from '../../../tasks/login'; +import { visitTimeline } from '../../../tasks/navigation'; import { attachTimelineToNewCase, attachTimelineToExistingCase, diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/explore/cases/connector_options.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/explore/cases/connector_options.cy.ts index 21650dffb29127..77deb29731726e 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/explore/cases/connector_options.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/explore/cases/connector_options.cy.ts @@ -5,7 +5,8 @@ * 2.0. */ -import { login, visitWithoutDateRange } from '../../../tasks/login'; +import { login } from '../../../tasks/login'; +import { visit } from '../../../tasks/navigation'; import { getCase1, getConnectorIds, @@ -77,7 +78,7 @@ describe( }); it('Correct incident fields show when connector is changed', () => { - visitWithoutDateRange(CASES_URL); + visit(CASES_URL); goToCreateNewCase(); fillCasesMandatoryfields(getCase1()); fillJiraConnectorOptions(getJiraConnectorOptions()); diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/explore/cases/connectors.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/explore/cases/connectors.cy.ts index fb80591bcd4e87..d61b24d67c223d 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/explore/cases/connectors.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/explore/cases/connectors.cy.ts @@ -16,7 +16,8 @@ import { openAddNewConnectorOption, verifyNewConnectorSelected, } from '../../../tasks/configure_cases'; -import { login, visitWithoutDateRange } from '../../../tasks/login'; +import { login } from '../../../tasks/login'; +import { visit } from '../../../tasks/navigation'; import { CASES_URL } from '../../../urls/navigation'; @@ -92,7 +93,7 @@ describe('Cases connectors', { tags: ['@ess', '@serverless'] }, () => { }); it('Configures a new connector', () => { - visitWithoutDateRange(CASES_URL); + visit(CASES_URL); goToEditExternalConnection(); openAddNewConnectorOption(); addServiceNowConnector(snConnector); diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/explore/cases/creation.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/explore/cases/creation.cy.ts index 4fb7a624bf9279..ca279e69f336c5 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/explore/cases/creation.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/explore/cases/creation.cy.ts @@ -49,7 +49,8 @@ import { fillCasesMandatoryfields, filterStatusOpen, } from '../../../tasks/create_new_case'; -import { loginWithUser, visit, visitWithoutDateRange } from '../../../tasks/login'; +import { loginWithUser } from '../../../tasks/login'; +import { visit, visitWithTimeRange } from '../../../tasks/navigation'; import { CASES_URL, OVERVIEW_URL } from '../../../urls/navigation'; @@ -72,7 +73,7 @@ describe.skip('Cases', { tags: ['@ess', '@serverless', '@brokenInServerless'] }, it('Creates a new case with timeline and opens the timeline', function () { loginWithUser({ username: 'elastic', password: 'changeme' }); - visitWithoutDateRange(CASES_URL); + visit(CASES_URL); goToCreateNewCase(); fillCasesMandatoryfields(this.mycase); attachTimeline(this.mycase); @@ -122,7 +123,7 @@ describe.skip('Cases', { tags: ['@ess', '@serverless', '@brokenInServerless'] }, cy.get(TIMELINE_DESCRIPTION).contains(this.mycase.timeline.description); cy.get(TIMELINE_QUERY).should('have.text', this.mycase.timeline.query); - visit(OVERVIEW_URL); + visitWithTimeRange(OVERVIEW_URL); cy.get(OVERVIEW_CASE_NAME).should('have.text', this.mycase.name); cy.get(OVERVIEW_CASE_DESCRIPTION).should( 'have.text', diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/explore/cases/privileges.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/explore/cases/privileges.cy.ts index e4d35947d142c0..7db79bd4467778 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/explore/cases/privileges.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/explore/cases/privileges.cy.ts @@ -17,7 +17,8 @@ import { fillCasesMandatoryfields, filterStatusOpen, } from '../../../tasks/create_new_case'; -import { login, loginWithUser, visitWithUser } from '../../../tasks/login'; +import { login, loginWithUser } from '../../../tasks/login'; +import { visitWithUser } from '../../../tasks/navigation'; import { createUsersAndRoles, deleteUsersAndRoles, diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/explore/dashboards/enable_risk_score.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/explore/dashboards/enable_risk_score.cy.ts index 576533600b9dc0..18dce59372d0e7 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/explore/dashboards/enable_risk_score.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/explore/dashboards/enable_risk_score.cy.ts @@ -20,7 +20,8 @@ import { import { findSavedObjects } from '../../../tasks/api_calls/risk_scores/saved_objects'; import { createRule } from '../../../tasks/api_calls/rules'; import { cleanKibana } from '../../../tasks/common'; -import { login, visit } from '../../../tasks/login'; +import { login } from '../../../tasks/login'; +import { visitWithTimeRange } from '../../../tasks/navigation'; import { clickEnableRiskScore } from '../../../tasks/risk_scores'; import { RiskScoreEntity } from '../../../tasks/risk_scores/common'; import { @@ -44,7 +45,7 @@ describe('Enable risk scores', { tags: ['@ess', '@serverless', '@brokenInServerl login(); deleteRiskScore({ riskScoreEntity: RiskScoreEntity.host, spaceId }); deleteRiskScore({ riskScoreEntity: RiskScoreEntity.user, spaceId }); - visit(ENTITY_ANALYTICS_URL); + visitWithTimeRange(ENTITY_ANALYTICS_URL); }); afterEach(() => { diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/explore/dashboards/entity_analytics.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/explore/dashboards/entity_analytics.cy.ts index 07c14cf9f5e8f2..77557f3b3b3112 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/explore/dashboards/entity_analytics.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/explore/dashboards/entity_analytics.cy.ts @@ -5,7 +5,8 @@ * 2.0. */ -import { login, visit } from '../../../tasks/login'; +import { login } from '../../../tasks/login'; +import { visitWithTimeRange } from '../../../tasks/navigation'; import { ALERTS_URL, ENTITY_ANALYTICS_URL } from '../../../urls/navigation'; @@ -63,7 +64,7 @@ describe('Entity Analytics Dashboard', { tags: ['@ess', '@brokenInServerless'] } describe('Without data', () => { beforeEach(() => { login(); - visit(ENTITY_ANALYTICS_URL); + visitWithTimeRange(ENTITY_ANALYTICS_URL); }); it('shows enable host risk button', () => { @@ -83,7 +84,7 @@ describe('Entity Analytics Dashboard', { tags: ['@ess', '@brokenInServerless'] } beforeEach(() => { login(); - visit(ENTITY_ANALYTICS_URL); + visitWithTimeRange(ENTITY_ANALYTICS_URL); }); after(() => { @@ -108,7 +109,7 @@ describe('Entity Analytics Dashboard', { tags: ['@ess', '@brokenInServerless'] } beforeEach(() => { login(); - visit(ENTITY_ANALYTICS_URL); + visitWithTimeRange(ENTITY_ANALYTICS_URL); }); after(() => { @@ -132,7 +133,7 @@ describe('Entity Analytics Dashboard', { tags: ['@ess', '@brokenInServerless'] } beforeEach(() => { login(); - visit(ENTITY_ANALYTICS_URL); + visitWithTimeRange(ENTITY_ANALYTICS_URL); }); after(() => { @@ -177,9 +178,9 @@ describe('Entity Analytics Dashboard', { tags: ['@ess', '@brokenInServerless'] } beforeEach(() => { login(); - visit(ALERTS_URL); + visitWithTimeRange(ALERTS_URL); waitForAlertsToPopulate(); - visit(ENTITY_ANALYTICS_URL); + visitWithTimeRange(ENTITY_ANALYTICS_URL); }); after(() => { @@ -220,7 +221,7 @@ describe('Entity Analytics Dashboard', { tags: ['@ess', '@brokenInServerless'] } beforeEach(() => { login(); - visit(ENTITY_ANALYTICS_URL); + visitWithTimeRange(ENTITY_ANALYTICS_URL); }); after(() => { @@ -265,9 +266,9 @@ describe('Entity Analytics Dashboard', { tags: ['@ess', '@brokenInServerless'] } beforeEach(() => { login(); - visit(ALERTS_URL); + visitWithTimeRange(ALERTS_URL); waitForAlertsToPopulate(); - visit(ENTITY_ANALYTICS_URL); + visitWithTimeRange(ENTITY_ANALYTICS_URL); }); after(() => { @@ -306,7 +307,7 @@ describe('Entity Analytics Dashboard', { tags: ['@ess', '@brokenInServerless'] } before(() => { cy.task('esArchiverLoad', { archiveName: 'network' }); login(); - visit(ENTITY_ANALYTICS_URL); + visitWithTimeRange(ENTITY_ANALYTICS_URL); cy.get(ANOMALIES_TABLE).should('be.visible'); waitForAnomaliesToBeLoaded(); }); diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/explore/dashboards/entity_analytics_serverless_splash_screen.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/explore/dashboards/entity_analytics_serverless_splash_screen.cy.ts index db5e0fa1bb67fa..94d77b45b157b8 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/explore/dashboards/entity_analytics_serverless_splash_screen.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/explore/dashboards/entity_analytics_serverless_splash_screen.cy.ts @@ -5,7 +5,8 @@ * 2.0. */ -import { login, visit } from '../../../tasks/login'; +import { login } from '../../../tasks/login'; +import { visitWithTimeRange } from '../../../tasks/navigation'; import { ENTITY_ANALYTICS_URL } from '../../../urls/navigation'; @@ -28,7 +29,7 @@ describe( () => { beforeEach(() => { login(); - visit(ENTITY_ANALYTICS_URL); + visitWithTimeRange(ENTITY_ANALYTICS_URL); }); it('should display a splash screen when visited with Security essentials PLI ', () => { diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/explore/dashboards/upgrade_risk_score.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/explore/dashboards/upgrade_risk_score.cy.ts index 5b8ba030ade12a..c67d12bf2ad9af 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/explore/dashboards/upgrade_risk_score.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/explore/dashboards/upgrade_risk_score.cy.ts @@ -21,7 +21,8 @@ import { import { findSavedObjects } from '../../../tasks/api_calls/risk_scores/saved_objects'; import { createRule } from '../../../tasks/api_calls/rules'; import { cleanKibana } from '../../../tasks/common'; -import { login, visit } from '../../../tasks/login'; +import { login } from '../../../tasks/login'; +import { visitWithTimeRange } from '../../../tasks/navigation'; import { clickUpgradeRiskScore, clickUpgradeRiskScoreConfirmed, @@ -52,7 +53,7 @@ describe('Upgrade risk scores', { tags: ['@ess', '@serverless', '@brokenInServer deleteRiskScore({ riskScoreEntity: RiskScoreEntity.user, spaceId }); installLegacyRiskScoreModule(RiskScoreEntity.host, spaceId); installLegacyRiskScoreModule(RiskScoreEntity.user, spaceId); - visit(ENTITY_ANALYTICS_URL); + visitWithTimeRange(ENTITY_ANALYTICS_URL); }); it('shows upgrade risk button for host and user', () => { @@ -109,7 +110,7 @@ versions.forEach((version) => deleteRiskScore({ riskScoreEntity: RiskScoreEntity.user, spaceId }); installLegacyRiskScoreModule(RiskScoreEntity.host, spaceId, version); installLegacyRiskScoreModule(RiskScoreEntity.user, spaceId, version); - visit(ENTITY_ANALYTICS_URL); + visitWithTimeRange(ENTITY_ANALYTICS_URL); }); afterEach(() => { diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/explore/filters/pinned_filters.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/explore/filters/pinned_filters.cy.ts index 94b5ed82c42d65..e31ff95ea05f78 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/explore/filters/pinned_filters.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/explore/filters/pinned_filters.cy.ts @@ -5,7 +5,8 @@ * 2.0. */ -import { login, visitWithoutDateRange } from '../../../tasks/login'; +import { login } from '../../../tasks/login'; +import { visit } from '../../../tasks/navigation'; import { GLOBAL_SEARCH_BAR_FILTER_ITEM, @@ -32,7 +33,7 @@ describe('pinned filters', { tags: ['@ess', '@serverless', '@brokenInServerless' }); it('show pinned filters on security', () => { - visitWithoutDateRange(DISCOVER_WITH_PINNED_FILTER_URL); + visit(DISCOVER_WITH_PINNED_FILTER_URL); cy.get(GLOBAL_SEARCH_BAR_FILTER_ITEM).find(GLOBAL_SEARCH_BAR_PINNED_FILTER).should('exist'); openKibanaNavigation(); @@ -42,7 +43,7 @@ describe('pinned filters', { tags: ['@ess', '@serverless', '@brokenInServerless' }); it('does not show discover filters on security', () => { - visitWithoutDateRange(DISCOVER_WITH_FILTER_URL); + visit(DISCOVER_WITH_FILTER_URL); cy.get(GLOBAL_SEARCH_BAR_FILTER_ITEM).should('exist'); openKibanaNavigation(); diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/explore/guided_onboarding/tour.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/explore/guided_onboarding/tour.cy.ts index 947f8c9a2e4831..73527aeda9662a 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/explore/guided_onboarding/tour.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/explore/guided_onboarding/tour.cy.ts @@ -26,7 +26,8 @@ import { createRule } from '../../../tasks/api_calls/rules'; import { getNewRule } from '../../../objects/rule'; import { ALERTS_URL, DASHBOARDS_URL } from '../../../urls/navigation'; import { waitForAlertsToPopulate } from '../../../tasks/create_new_rule'; -import { login, visit } from '../../../tasks/login'; +import { login } from '../../../tasks/login'; +import { visit } from '../../../tasks/navigation'; import { startAlertsCasesTour } from '../../../tasks/api_calls/tour'; describe('Guided onboarding tour', { tags: ['@ess', '@brokenInServerless'] }, () => { diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/explore/host_details/risk_tab.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/explore/host_details/risk_tab.cy.ts index f534145c483334..5eb5c172f0517f 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/explore/host_details/risk_tab.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/explore/host_details/risk_tab.cy.ts @@ -5,7 +5,8 @@ * 2.0. */ -import { login, visitHostDetailsPage } from '../../../tasks/login'; +import { login } from '../../../tasks/login'; +import { visitHostDetailsPage } from '../../../tasks/navigation'; import { cleanKibana, waitForTableToLoad } from '../../../tasks/common'; import { TABLE_CELL, TABLE_ROWS } from '../../../screens/alerts_details'; diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/explore/hosts/events_viewer.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/explore/hosts/events_viewer.cy.ts index d8115e40cbb20a..82bc6251b276f6 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/explore/hosts/events_viewer.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/explore/hosts/events_viewer.cy.ts @@ -22,7 +22,8 @@ import { closeFieldsBrowser, filterFieldsBrowser, } from '../../../tasks/fields_browser'; -import { login, visit } from '../../../tasks/login'; +import { login } from '../../../tasks/login'; +import { visitWithTimeRange } from '../../../tasks/navigation'; import { openEvents } from '../../../tasks/hosts/main'; import { addsHostGeoCityNameToHeader, @@ -32,7 +33,7 @@ import { } from '../../../tasks/hosts/events'; import { kqlSearch } from '../../../tasks/security_header'; -import { HOSTS_URL } from '../../../urls/navigation'; +import { hostsUrl } from '../../../urls/navigation'; import { resetFields } from '../../../tasks/timeline'; const defaultHeadersInDefaultEcsCategory = [ @@ -57,7 +58,7 @@ describe('Events Viewer', { tags: ['@ess', '@brokenInServerless'] }, () => { context('Fields rendering', () => { beforeEach(() => { login(); - visit(HOSTS_URL); + visitWithTimeRange(hostsUrl('allHosts')); openEvents(); openEventsViewerFieldsBrowser(); }); @@ -82,7 +83,7 @@ describe('Events Viewer', { tags: ['@ess', '@brokenInServerless'] }, () => { context('Events viewer fields behaviour', () => { beforeEach(() => { login(); - visit(HOSTS_URL); + visitWithTimeRange(hostsUrl('allHosts')); openEvents(); openEventsViewerFieldsBrowser(); }); @@ -110,7 +111,7 @@ describe('Events Viewer', { tags: ['@ess', '@brokenInServerless'] }, () => { context('Events behavior', () => { beforeEach(() => { login(); - visit(HOSTS_URL); + visitWithTimeRange(hostsUrl('allHosts')); openEvents(); waitsForEventsToBeLoaded(); }); diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/explore/hosts/host_risk_tab.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/explore/hosts/host_risk_tab.cy.ts index 6770d051322e59..0c76cdc8049977 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/explore/hosts/host_risk_tab.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/explore/hosts/host_risk_tab.cy.ts @@ -17,8 +17,9 @@ import { HOST_BY_RISK_TABLE_HOSTNAME_CELL, HOST_BY_RISK_TABLE_NEXT_PAGE_BUTTON, } from '../../../screens/hosts/host_risk'; -import { login, visit } from '../../../tasks/login'; -import { HOSTS_URL } from '../../../urls/navigation'; +import { login } from '../../../tasks/login'; +import { visit } from '../../../tasks/navigation'; +import { hostsUrl } from '../../../urls/navigation'; import { clearSearchBar, kqlSearch } from '../../../tasks/security_header'; // Tracked by https://github.com/elastic/security-team/issues/7696 @@ -30,7 +31,7 @@ describe.skip('risk tab', { tags: ['@ess', '@brokenInServerless'] }, () => { beforeEach(() => { login(); - visit(HOSTS_URL); + visit(hostsUrl('allHosts')); navigateToHostRiskDetailTab(); }); diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/explore/hosts/hosts_risk_column.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/explore/hosts/hosts_risk_column.cy.ts index 798870515bad16..41a0bf4fe0fff0 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/explore/hosts/hosts_risk_column.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/explore/hosts/hosts_risk_column.cy.ts @@ -5,9 +5,10 @@ * 2.0. */ -import { login, visit } from '../../../tasks/login'; +import { login } from '../../../tasks/login'; +import { visitWithTimeRange } from '../../../tasks/navigation'; -import { HOSTS_URL } from '../../../urls/navigation'; +import { hostsUrl } from '../../../urls/navigation'; import { cleanKibana } from '../../../tasks/common'; import { TABLE_CELL } from '../../../screens/alerts_details'; import { kqlSearch } from '../../../tasks/security_header'; @@ -28,7 +29,7 @@ describe('All hosts table', { tags: ['@ess', '@serverless', '@brokenInServerless }); it('it renders risk column', () => { - visit(HOSTS_URL); + visitWithTimeRange(hostsUrl('allHosts')); kqlSearch('host.name: "siem-kibana" {enter}'); cy.get('[data-test-subj="tableHeaderCell_node.risk_4"]').should('exist'); diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/explore/network/hover_actions.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/explore/network/hover_actions.cy.ts index 4f634ebc3ce2f6..e03e70dcd85355 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/explore/network/hover_actions.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/explore/network/hover_actions.cy.ts @@ -9,7 +9,8 @@ import { TOP_N_CONTAINER } from '../../../screens/network/flows'; import { GLOBAL_SEARCH_BAR_FILTER_ITEM } from '../../../screens/search_bar'; import { DATA_PROVIDERS } from '../../../screens/timeline'; -import { login, visit } from '../../../tasks/login'; +import { login } from '../../../tasks/login'; +import { visit } from '../../../tasks/navigation'; import { NETWORK_URL } from '../../../urls/navigation'; import { clickOnAddToTimeline, @@ -41,7 +42,7 @@ describe.skip('Hover actions', { tags: ['@ess', '@serverless'] }, () => { beforeEach(() => { login(); - visit(NETWORK_URL, { onBeforeLoad: onBeforeLoadCallback }); + visit(NETWORK_URL, { visitOptions: { onBeforeLoad: onBeforeLoadCallback } }); openHoverActions(); mouseoverOnToOverflowItem(); }); diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/explore/network/overflow_items.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/explore/network/overflow_items.cy.ts index 7f7b8921b44b16..22c242f63e887b 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/explore/network/overflow_items.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/explore/network/overflow_items.cy.ts @@ -14,7 +14,8 @@ import { SHOW_TOP_FIELD, } from '../../../screens/network/flows'; -import { login, visit } from '../../../tasks/login'; +import { login } from '../../../tasks/login'; +import { visitWithTimeRange } from '../../../tasks/navigation'; import { mouseoverOnToOverflowItem, openHoverActions } from '../../../tasks/network/flows'; import { NETWORK_URL } from '../../../urls/navigation'; @@ -32,7 +33,7 @@ describe.skip('Overflow items', { tags: ['@ess', '@serverless', '@brokenInServer beforeEach(() => { login(); - visit(NETWORK_URL); + visitWithTimeRange(NETWORK_URL); cy.get(DESTINATION_DOMAIN).should('not.exist'); cy.get(FILTER_IN).should('not.exist'); cy.get(FILTER_OUT).should('not.exist'); diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/explore/overview/overview.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/explore/overview/overview.cy.ts index 514569c2c16674..900a77643e9881 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/explore/overview/overview.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/explore/overview/overview.cy.ts @@ -8,7 +8,8 @@ import { HOST_STATS, NETWORK_STATS, OVERVIEW_EMPTY_PAGE } from '../../../screens/overview'; import { expandHostStats, expandNetworkStats } from '../../../tasks/overview'; -import { login, visit } from '../../../tasks/login'; +import { login } from '../../../tasks/login'; +import { visitWithTimeRange } from '../../../tasks/navigation'; import { OVERVIEW_URL } from '../../../urls/navigation'; @@ -24,7 +25,7 @@ describe('Overview Page', { tags: ['@ess', '@serverless'] }, () => { beforeEach(() => { login(); - visit(OVERVIEW_URL); + visitWithTimeRange(OVERVIEW_URL); }); after(() => { @@ -53,7 +54,7 @@ describe('Overview Page', { tags: ['@ess', '@serverless'] }, () => { .then((response) => response.body.data.persistTimeline.timeline.savedObjectId) .then((timelineId: string) => { favoriteTimeline({ timelineId, timelineType: 'default' }).then(() => { - visit(OVERVIEW_URL); + visitWithTimeRange(OVERVIEW_URL); cy.get('[data-test-subj="overview-recent-timelines"]').should( 'contain', getTimeline().title @@ -74,7 +75,7 @@ describe('Overview page with no data', { tags: '@brokenInServerless' }, () => { it('Splash screen should be here', () => { login(); - visit(OVERVIEW_URL); + visitWithTimeRange(OVERVIEW_URL); cy.get(OVERVIEW_EMPTY_PAGE).should('be.visible'); }); }); diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/explore/pagination/pagination.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/explore/pagination/pagination.cy.ts index f7257d4666d69f..a822412cca305b 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/explore/pagination/pagination.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/explore/pagination/pagination.cy.ts @@ -13,9 +13,10 @@ import { TABLE_FIRST_PAGE, TABLE_SECOND_PAGE } from '../../../screens/table_pagi import { waitsForEventsToBeLoaded } from '../../../tasks/hosts/events'; import { openEvents, openUncommonProcesses } from '../../../tasks/hosts/main'; import { waitForUncommonProcessesToBeLoaded } from '../../../tasks/hosts/uncommon_processes'; -import { login, visit } from '../../../tasks/login'; +import { login } from '../../../tasks/login'; +import { visitWithTimeRange } from '../../../tasks/navigation'; import { refreshPage } from '../../../tasks/security_header'; -import { HOSTS_URL, USERS_URL, HOSTS_PAGE_TAB_URLS } from '../../../urls/navigation'; +import { hostsUrl, USERS_URL } from '../../../urls/navigation'; import { ALL_HOSTS_TABLE } from '../../../screens/hosts/all_hosts'; import { ALL_USERS_TABLE } from '../../../screens/users/all_users'; import { goToTablePage, sortFirstTableColumn } from '../../../tasks/table_pagination'; @@ -29,7 +30,7 @@ describe('Pagination', { tags: ['@ess', '@serverless', '@brokenInServerless'] }, beforeEach(() => { login(); - visit(HOSTS_PAGE_TAB_URLS.uncommonProcesses); + visitWithTimeRange(hostsUrl('uncommonProcesses')); waitForUncommonProcessesToBeLoaded(); }); @@ -112,7 +113,7 @@ describe('Pagination', { tags: ['@ess', '@serverless', '@brokenInServerless'] }, }); it(`reset all Hosts pagination when sorting column`, () => { - visit(HOSTS_URL); + visitWithTimeRange(hostsUrl('allHosts')); goToTablePage(2); cy.get(ALL_HOSTS_TABLE).find(TABLE_FIRST_PAGE).should('not.have.attr', 'aria-current'); @@ -122,7 +123,7 @@ describe('Pagination', { tags: ['@ess', '@serverless', '@brokenInServerless'] }, }); it(`reset all users pagination when sorting column`, () => { - visit(USERS_URL); + visitWithTimeRange(USERS_URL); goToTablePage(2); cy.get(ALL_USERS_TABLE).find(TABLE_FIRST_PAGE).should('not.have.attr', 'aria-current'); diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/explore/users/user_details.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/explore/users/user_details.cy.ts index 90a44a514ce7c8..2e7f81f3cd1fe9 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/explore/users/user_details.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/explore/users/user_details.cy.ts @@ -9,7 +9,8 @@ import { ALERT_FLYOUT } from '../../../screens/alerts_details'; import { createRule } from '../../../tasks/api_calls/rules'; import { cleanKibana } from '../../../tasks/common'; import { waitForAlertsToPopulate } from '../../../tasks/create_new_rule'; -import { login, visitWithoutDateRange } from '../../../tasks/login'; +import { login } from '../../../tasks/login'; +import { visit } from '../../../tasks/navigation'; import { refreshPage } from '../../../tasks/security_header'; import { getNewRule } from '../../../objects/rule'; import { ALERTS_URL } from '../../../urls/navigation'; @@ -27,7 +28,7 @@ describe('user details flyout', () => { }); it('shows user detail flyout from alert table', () => { - visitWithoutDateRange(ALERTS_URL); + visit(ALERTS_URL); createRule(getNewRule({ query: 'user.name:*' })); refreshPage(); waitForAlertsToPopulate(); diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/explore/users/users_tabs.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/explore/users/users_tabs.cy.ts index 5b655be068ea9b..fad136becf1a25 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/explore/users/users_tabs.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/explore/users/users_tabs.cy.ts @@ -15,7 +15,8 @@ import { EVENTS_TAB, EVENTS_TAB_CONTENT } from '../../../screens/users/user_even import { RISK_SCORE_TAB, RISK_SCORE_TAB_CONTENT } from '../../../screens/users/user_risk_score'; import { cleanKibana } from '../../../tasks/common'; -import { login, visit, visitUserDetailsPage } from '../../../tasks/login'; +import { login } from '../../../tasks/login'; +import { visit, visitUserDetailsPage } from '../../../tasks/navigation'; import { USERS_URL } from '../../../urls/navigation'; diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/header/navigation.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/header/navigation.cy.ts index 3ae0c6eda82b44..9ca9adf8e6cb63 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/header/navigation.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/header/navigation.cy.ts @@ -32,13 +32,14 @@ import { ENTITY_ANALYTICS, } from '../../screens/security_header'; -import { login, visit } from '../../tasks/login'; +import { login } from '../../tasks/login'; +import { visit, visitWithTimeRange } from '../../tasks/navigation'; import { navigateFromHeaderTo } from '../../tasks/security_header'; import { ALERTS_URL, CASES_URL, - HOSTS_URL, + hostsUrl, KIBANA_HOME, ENDPOINTS_URL, TRUSTED_APPS_URL, @@ -47,10 +48,9 @@ import { OVERVIEW_URL, TIMELINES_URL, EXCEPTIONS_URL, - DETECTIONS_RULE_MANAGEMENT_URL, USERS_URL, DASHBOARDS_URL, - DETECTION_RESPONSE_URL, + DETECTION_AND_RESPONSE_URL, EXPLORE_URL, MANAGE_URL, CSP_DASHBOARD_URL, @@ -62,6 +62,7 @@ import { ENTITY_ANALYTICS_URL, INDICATORS_URL, } from '../../urls/navigation'; +import { RULES_MANAGEMENT_URL } from '../../urls/rules_management'; import { openKibanaNavigation, navigateFromKibanaCollapsibleTo, @@ -80,7 +81,7 @@ import { describe('top-level navigation common to all pages in the Security app', { tags: '@ess' }, () => { beforeEach(() => { login(); - visit(TIMELINES_URL); + visitWithTimeRange(TIMELINES_URL); }); it('navigates to the Dashboards landing page', () => { @@ -95,7 +96,7 @@ describe('top-level navigation common to all pages in the Security app', { tags: it('navigates to the Detection & Response page', () => { navigateFromHeaderTo(DETECTION_RESPONSE); - cy.url().should('include', DETECTION_RESPONSE_URL); + cy.url().should('include', DETECTION_AND_RESPONSE_URL); }); it('navigates to the Entity Analytics page', () => { @@ -135,7 +136,7 @@ describe('top-level navigation common to all pages in the Security app', { tags: it('navigates to the Hosts page', () => { navigateFromHeaderTo(HOSTS); - cy.url().should('include', HOSTS_URL); + cy.url().should('include', hostsUrl('allHosts')); }); it('navigates to the Network page', () => { @@ -155,7 +156,7 @@ describe('top-level navigation common to all pages in the Security app', { tags: it('navigates to the Rules page', () => { navigateFromHeaderTo(RULES); - cy.url().should('include', DETECTIONS_RULE_MANAGEMENT_URL); + cy.url().should('include', RULES_MANAGEMENT_URL); }); it('navigates to the Exceptions page', () => { diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/header/search_bar.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/header/search_bar.cy.ts index 4f1c23aa4ebf83..7600c8edd9bbda 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/header/search_bar.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/header/search_bar.cy.ts @@ -5,7 +5,8 @@ * 2.0. */ -import { login, visit } from '../../tasks/login'; +import { login } from '../../tasks/login'; +import { visit } from '../../tasks/navigation'; import { openAddFilterPopover, fillAddFilterForm, @@ -19,14 +20,14 @@ import { } from '../../screens/search_bar'; import { getHostIpFilter } from '../../objects/filter'; -import { HOSTS_URL } from '../../urls/navigation'; +import { hostsUrl } from '../../urls/navigation'; import { waitForAllHostsToBeLoaded } from '../../tasks/hosts/all_hosts'; // FLAKY: https://github.com/elastic/kibana/issues/165637 describe('SearchBar', { tags: ['@ess', '@serverless', '@brokenInServerless'] }, () => { beforeEach(() => { login(); - visit(HOSTS_URL); + visit(hostsUrl('allHosts')); waitForAllHostsToBeLoaded(); }); diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/inspect/inspect_button.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/inspect/inspect_button.cy.ts index 216a4087e1403a..dbd593f15e1ac3 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/inspect/inspect_button.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/inspect/inspect_button.cy.ts @@ -16,7 +16,8 @@ import { openTab, openTableInspectModal, } from '../../tasks/inspect'; -import { login, visit } from '../../tasks/login'; +import { login } from '../../tasks/login'; +import { visit } from '../../tasks/navigation'; import { postDataView, waitForWelcomePanelToBeLoaded } from '../../tasks/common'; import { selectDataView } from '../../tasks/sourcerer'; diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/alert_table_action_column.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/alert_table_action_column.cy.ts index 2b3232ada9ec46..be3664c8f78123 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/alert_table_action_column.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/alert_table_action_column.cy.ts @@ -12,7 +12,8 @@ import { } from '../../../tasks/alerts'; import { cleanKibana } from '../../../tasks/common'; import { waitForAlertsToPopulate } from '../../../tasks/create_new_rule'; -import { login, visit } from '../../../tasks/login'; +import { login } from '../../../tasks/login'; +import { visitWithTimeRange } from '../../../tasks/navigation'; import { ALERTS_URL } from '../../../urls/navigation'; describe( @@ -30,7 +31,7 @@ describe( beforeEach(() => { login(); - visit(ALERTS_URL); + visitWithTimeRange(ALERTS_URL); waitForAlertsToPopulate(); }); diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/alert_table_controls.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/alert_table_controls.cy.ts index 4fe47a44160150..1028efc8422bad 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/alert_table_controls.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/alert_table_controls.cy.ts @@ -30,7 +30,8 @@ import { import { createRule } from '../../../tasks/api_calls/rules'; import { cleanKibana } from '../../../tasks/common'; import { waitForAlertsToPopulate } from '../../../tasks/create_new_rule'; -import { login, visit } from '../../../tasks/login'; +import { login } from '../../../tasks/login'; +import { visit } from '../../../tasks/navigation'; import { ALERTS_URL } from '../../../urls/navigation'; import { DATAGRID_HEADER } from '../../../screens/timeline'; import { TIMELINES, ALERTS } from '../../../screens/security_header'; diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/alerts_cell_actions.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/alerts_cell_actions.cy.ts index d702ec2e13acb4..6ac1048c0f928a 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/alerts_cell_actions.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/alerts_cell_actions.cy.ts @@ -26,7 +26,8 @@ import { import { createRule } from '../../../tasks/api_calls/rules'; import { cleanKibana } from '../../../tasks/common'; import { waitForAlertsToPopulate } from '../../../tasks/create_new_rule'; -import { login, visit } from '../../../tasks/login'; +import { login } from '../../../tasks/login'; +import { visit } from '../../../tasks/navigation'; import { clearKqlQueryBar, fillAddFilterForm, diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/alerts_details.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/alerts_details.cy.ts index de204fd08f62e1..19cf0274b148b0 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/alerts_details.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/alerts_details.cy.ts @@ -27,14 +27,18 @@ import { import { createRule } from '../../../tasks/api_calls/rules'; import { cleanKibana } from '../../../tasks/common'; import { waitForAlertsToPopulate } from '../../../tasks/create_new_rule'; -import { login, visit, visitWithoutDateRange } from '../../../tasks/login'; +import { login } from '../../../tasks/login'; +import { visit, visitWithTimeRange } from '../../../tasks/navigation'; import { getNewRule, getUnmappedRule } from '../../../objects/rule'; -import { ALERTS_URL, ruleDetailsUrl } from '../../../urls/navigation'; +import { ALERTS_URL } from '../../../urls/navigation'; import { tablePageSelector } from '../../../screens/table_pagination'; import { ALERTS_TABLE_COUNT } from '../../../screens/timeline'; import { ALERT_SUMMARY_SEVERITY_DONUT_CHART } from '../../../screens/alerts'; import { getLocalstorageEntryAsObject } from '../../../helpers/common'; -import { waitForPageToBeLoaded as waitForRuleDetailsPageToBeLoaded } from '../../../tasks/rule_details'; +import { + visitRuleDetailsPage, + waitForPageToBeLoaded as waitForRuleDetailsPageToBeLoaded, +} from '../../../tasks/rule_details'; describe('Alert details flyout', { tags: ['@ess', '@serverless', '@brokenInServerless'] }, () => { describe('Basic functions', () => { @@ -43,7 +47,7 @@ describe('Alert details flyout', { tags: ['@ess', '@serverless', '@brokenInServe login(); disableExpandableFlyout(); createRule(getNewRule()); - visitWithoutDateRange(ALERTS_URL); + visit(ALERTS_URL); waitForAlertsToPopulate(); expandFirstAlert(); }); @@ -69,7 +73,7 @@ describe('Alert details flyout', { tags: ['@ess', '@serverless', '@brokenInServe beforeEach(() => { login(); disableExpandableFlyout(); - visitWithoutDateRange(ALERTS_URL); + visit(ALERTS_URL); waitForAlertsToPopulate(); expandFirstAlert(); }); @@ -141,7 +145,7 @@ describe('Alert details flyout', { tags: ['@ess', '@serverless', '@brokenInServe beforeEach(() => { login(); disableExpandableFlyout(); - visit(ALERTS_URL); + visitWithTimeRange(ALERTS_URL); waitForAlertsToPopulate(); expandFirstAlert(); }); @@ -192,7 +196,7 @@ describe('Alert details flyout', { tags: ['@ess', '@serverless', '@brokenInServe beforeEach(() => { login(); disableExpandableFlyout(); - visit(ALERTS_URL); + visitWithTimeRange(ALERTS_URL); waitForAlertsToPopulate(); expandFirstAlert(); }); @@ -236,7 +240,7 @@ describe('Alert details flyout', { tags: ['@ess', '@serverless', '@brokenInServe it('should remove the flyout state from localstorage when navigating away without closing the flyout', () => { cy.get(OVERVIEW_RULE).should('be.visible'); - visitWithoutDateRange(ruleDetailsUrl(ARCHIVED_RULE_ID)); + visitRuleDetailsPage(ARCHIVED_RULE_ID); waitForRuleDetailsPageToBeLoaded(ARCHIVED_RULE_NAME); const localStorageCheck = () => @@ -251,7 +255,7 @@ describe('Alert details flyout', { tags: ['@ess', '@serverless', '@brokenInServe it('should not reopen the flyout when navigating away from the alerts page and returning to it', () => { cy.get(OVERVIEW_RULE).should('be.visible'); - visitWithoutDateRange(ruleDetailsUrl(ARCHIVED_RULE_ID)); + visitRuleDetailsPage(ARCHIVED_RULE_ID); waitForRuleDetailsPageToBeLoaded(ARCHIVED_RULE_NAME); visit(ALERTS_URL); diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/building_block_alerts.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/building_block_alerts.cy.ts index 6b869268fa15b7..64fbb36effebf2 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/building_block_alerts.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/building_block_alerts.cy.ts @@ -12,10 +12,9 @@ import { OVERVIEW } from '../../../screens/security_header'; import { createRule } from '../../../tasks/api_calls/rules'; import { cleanKibana } from '../../../tasks/common'; import { waitForAlertsToPopulate } from '../../../tasks/create_new_rule'; -import { login, visitWithoutDateRange } from '../../../tasks/login'; -import { waitForTheRuleToBeExecuted } from '../../../tasks/rule_details'; +import { login } from '../../../tasks/login'; +import { visitRuleDetailsPage, waitForTheRuleToBeExecuted } from '../../../tasks/rule_details'; import { navigateFromHeaderTo } from '../../../tasks/security_header'; -import { ruleDetailsUrl } from '../../../urls/navigation'; const EXPECTED_NUMBER_OF_ALERTS = 5; @@ -34,9 +33,7 @@ describe( beforeEach(() => { cleanKibana(); login(); - createRule(getBuildingBlockRule()).then((rule) => - visitWithoutDateRange(ruleDetailsUrl(rule.body.id)) - ); + createRule(getBuildingBlockRule()).then((rule) => visitRuleDetailsPage(rule.body.id)); }); it('Alerts should be visible on the Rule Detail page and not visible on the Overview page', () => { diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/changing_alert_status.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/changing_alert_status.cy.ts index d7aa5040072cc2..728adc34375b14 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/changing_alert_status.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/changing_alert_status.cy.ts @@ -34,7 +34,8 @@ import { import { createRule } from '../../../tasks/api_calls/rules'; import { cleanKibana, deleteAlertsAndRules } from '../../../tasks/common'; import { waitForAlertsToPopulate } from '../../../tasks/create_new_rule'; -import { login, visit } from '../../../tasks/login'; +import { login } from '../../../tasks/login'; +import { visit } from '../../../tasks/navigation'; import { ALERTS_URL } from '../../../urls/navigation'; diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/detection_page_filters.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/detection_page_filters.cy.ts index c5821fbfb76fea..715624eb2b6865 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/detection_page_filters.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/detection_page_filters.cy.ts @@ -24,7 +24,8 @@ import { } from '../../../screens/common/filter_group'; import { createRule } from '../../../tasks/api_calls/rules'; import { cleanKibana } from '../../../tasks/common'; -import { login, visit } from '../../../tasks/login'; +import { login } from '../../../tasks/login'; +import { visitWithTimeRange } from '../../../tasks/navigation'; import { ALERTS_URL } from '../../../urls/navigation'; import { closePageFilterPopover, @@ -115,7 +116,7 @@ describe(`Detections : Page Filters`, { tags: ['@ess', '@brokenInServerless'] }, beforeEach(() => { login(); - visit(ALERTS_URL); + visitWithTimeRange(ALERTS_URL); waitForAlerts(); resetFilters(); }); @@ -127,7 +128,7 @@ describe(`Detections : Page Filters`, { tags: ['@ess', '@brokenInServerless'] }, context('Alert Page Filters Customization ', () => { beforeEach(() => { login(); - visit(ALERTS_URL); + visitWithTimeRange(ALERTS_URL); waitForAlerts(); }); @@ -196,7 +197,7 @@ describe(`Detections : Page Filters`, { tags: ['@ess', '@brokenInServerless'] }, const currURL = new URL(url); currURL.searchParams.set('pageFilters', encode(formatPageFilterSearchParam(NEW_FILTERS))); - visit(currURL.toString()); + visitWithTimeRange(currURL.toString()); waitForAlerts(); assertFilterControlsWithFilterObject(NEW_FILTERS); }); @@ -217,7 +218,7 @@ describe(`Detections : Page Filters`, { tags: ['@ess', '@brokenInServerless'] }, const currURL = new URL(url); currURL.searchParams.set('pageFilters', encode(pageFilterUrlString)); - visit(currURL.toString()); + visitWithTimeRange(currURL.toString()); waitForAlerts(); cy.get(OPTION_LIST_LABELS).should((sub) => { diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/event_rendered_view.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/event_rendered_view.cy.ts index c6013034e64562..6bc165f26f075d 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/event_rendered_view.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/event_rendered_view.cy.ts @@ -25,7 +25,8 @@ import { } from '../../../tasks/alerts'; import { createRule } from '../../../tasks/api_calls/rules'; import { cleanKibana } from '../../../tasks/common'; -import { login, visit } from '../../../tasks/login'; +import { login } from '../../../tasks/login'; +import { visit } from '../../../tasks/navigation'; import { ALERTS_URL } from '../../../urls/navigation'; import { TOP_N_ALERT_HISTOGRAM, diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/expandable_flyout/alert_details_left_panel_analyzer_graph_tab.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/expandable_flyout/alert_details_left_panel_analyzer_graph_tab.cy.ts index 3e77e1ad9eb764..b4a8f909591244 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/expandable_flyout/alert_details_left_panel_analyzer_graph_tab.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/expandable_flyout/alert_details_left_panel_analyzer_graph_tab.cy.ts @@ -18,7 +18,8 @@ import { expandDocumentDetailsExpandableFlyoutLeftSection } from '../../../../ta import { expandFirstAlertExpandableFlyout } from '../../../../tasks/expandable_flyout/common'; import { ANALYZER_NODE } from '../../../../screens/alerts'; import { cleanKibana } from '../../../../tasks/common'; -import { login, visit } from '../../../../tasks/login'; +import { login } from '../../../../tasks/login'; +import { visit } from '../../../../tasks/navigation'; import { createRule } from '../../../../tasks/api_calls/rules'; import { getNewRule } from '../../../../objects/rule'; import { ALERTS_URL } from '../../../../urls/navigation'; diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/expandable_flyout/alert_details_left_panel_correlations_tab.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/expandable_flyout/alert_details_left_panel_correlations_tab.cy.ts index b2a9460e4128e1..9acd2f2a222dfc 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/expandable_flyout/alert_details_left_panel_correlations_tab.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/expandable_flyout/alert_details_left_panel_correlations_tab.cy.ts @@ -30,7 +30,8 @@ import { } from '../../../../tasks/expandable_flyout/common'; import { cleanKibana } from '../../../../tasks/common'; import { waitForAlertsToPopulate } from '../../../../tasks/create_new_rule'; -import { login, visit } from '../../../../tasks/login'; +import { login } from '../../../../tasks/login'; +import { visit } from '../../../../tasks/navigation'; import { ALERTS_URL } from '../../../../urls/navigation'; describe( diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/expandable_flyout/alert_details_left_panel_entities_tab.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/expandable_flyout/alert_details_left_panel_entities_tab.cy.ts index fc087cbe3164cc..ad051444d16b7b 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/expandable_flyout/alert_details_left_panel_entities_tab.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/expandable_flyout/alert_details_left_panel_entities_tab.cy.ts @@ -19,7 +19,8 @@ import { openInsightsTab } from '../../../../tasks/expandable_flyout/alert_detai import { expandDocumentDetailsExpandableFlyoutLeftSection } from '../../../../tasks/expandable_flyout/alert_details_right_panel'; import { expandFirstAlertExpandableFlyout } from '../../../../tasks/expandable_flyout/common'; import { cleanKibana } from '../../../../tasks/common'; -import { login, visit } from '../../../../tasks/login'; +import { login } from '../../../../tasks/login'; +import { visit } from '../../../../tasks/navigation'; import { createRule } from '../../../../tasks/api_calls/rules'; import { getNewRule } from '../../../../objects/rule'; import { ALERTS_URL } from '../../../../urls/navigation'; diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/expandable_flyout/alert_details_left_panel_investigation_tab.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/expandable_flyout/alert_details_left_panel_investigation_tab.cy.ts index 5a6a8179408e4a..137beba1dfddb4 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/expandable_flyout/alert_details_left_panel_investigation_tab.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/expandable_flyout/alert_details_left_panel_investigation_tab.cy.ts @@ -13,7 +13,8 @@ import { openInvestigationTab } from '../../../../tasks/expandable_flyout/alert_ import { expandDocumentDetailsExpandableFlyoutLeftSection } from '../../../../tasks/expandable_flyout/alert_details_right_panel'; import { expandFirstAlertExpandableFlyout } from '../../../../tasks/expandable_flyout/common'; import { cleanKibana } from '../../../../tasks/common'; -import { login, visit } from '../../../../tasks/login'; +import { login } from '../../../../tasks/login'; +import { visit } from '../../../../tasks/navigation'; import { createRule } from '../../../../tasks/api_calls/rules'; import { getNewRule } from '../../../../objects/rule'; import { ALERTS_URL } from '../../../../urls/navigation'; diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/expandable_flyout/alert_details_left_panel_prevalence_tab.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/expandable_flyout/alert_details_left_panel_prevalence_tab.cy.ts index 4370acb6acd99e..5c51ef21a499cb 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/expandable_flyout/alert_details_left_panel_prevalence_tab.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/expandable_flyout/alert_details_left_panel_prevalence_tab.cy.ts @@ -25,7 +25,8 @@ import { DOCUMENT_DETAILS_FLYOUT_INSIGHTS_TAB_PREVALENCE_DATE_PICKER, } from '../../../../screens/expandable_flyout/alert_details_left_panel_prevalence_tab'; import { cleanKibana } from '../../../../tasks/common'; -import { login, visit } from '../../../../tasks/login'; +import { login } from '../../../../tasks/login'; +import { visit } from '../../../../tasks/navigation'; import { createRule } from '../../../../tasks/api_calls/rules'; import { getNewRule } from '../../../../objects/rule'; import { ALERTS_URL } from '../../../../urls/navigation'; diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/expandable_flyout/alert_details_left_panel_response_tab.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/expandable_flyout/alert_details_left_panel_response_tab.cy.ts index 19ed92dbff60fa..4631b64220b261 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/expandable_flyout/alert_details_left_panel_response_tab.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/expandable_flyout/alert_details_left_panel_response_tab.cy.ts @@ -10,7 +10,8 @@ import { openResponseTab } from '../../../../tasks/expandable_flyout/alert_detai import { expandDocumentDetailsExpandableFlyoutLeftSection } from '../../../../tasks/expandable_flyout/alert_details_right_panel'; import { expandFirstAlertExpandableFlyout } from '../../../../tasks/expandable_flyout/common'; import { cleanKibana } from '../../../../tasks/common'; -import { login, visit } from '../../../../tasks/login'; +import { login } from '../../../../tasks/login'; +import { visit } from '../../../../tasks/navigation'; import { createRule } from '../../../../tasks/api_calls/rules'; import { getNewRule } from '../../../../objects/rule'; import { ALERTS_URL } from '../../../../urls/navigation'; diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/expandable_flyout/alert_details_left_panel_session_view_tab.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/expandable_flyout/alert_details_left_panel_session_view_tab.cy.ts index 3c5b5a6535e646..a669d4f5f7a7e4 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/expandable_flyout/alert_details_left_panel_session_view_tab.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/expandable_flyout/alert_details_left_panel_session_view_tab.cy.ts @@ -16,7 +16,8 @@ import { import { expandDocumentDetailsExpandableFlyoutLeftSection } from '../../../../tasks/expandable_flyout/alert_details_right_panel'; import { expandFirstAlertExpandableFlyout } from '../../../../tasks/expandable_flyout/common'; import { cleanKibana } from '../../../../tasks/common'; -import { login, visit } from '../../../../tasks/login'; +import { login } from '../../../../tasks/login'; +import { visit } from '../../../../tasks/navigation'; import { createRule } from '../../../../tasks/api_calls/rules'; import { getNewRule } from '../../../../objects/rule'; import { ALERTS_URL } from '../../../../urls/navigation'; diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/expandable_flyout/alert_details_left_panel_threat_intelligence_tab.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/expandable_flyout/alert_details_left_panel_threat_intelligence_tab.cy.ts index db3e8d0dde7fa0..a0720b026c5d5e 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/expandable_flyout/alert_details_left_panel_threat_intelligence_tab.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/expandable_flyout/alert_details_left_panel_threat_intelligence_tab.cy.ts @@ -12,7 +12,8 @@ import { expandFirstAlertExpandableFlyout } from '../../../../tasks/expandable_f import { INDICATOR_MATCH_ENRICHMENT_SECTION } from '../../../../screens/alerts_details'; import { cleanKibana } from '../../../../tasks/common'; import { waitForAlertsToPopulate } from '../../../../tasks/create_new_rule'; -import { login, visit } from '../../../../tasks/login'; +import { login } from '../../../../tasks/login'; +import { visit } from '../../../../tasks/navigation'; import { ALERTS_URL } from '../../../../urls/navigation'; import { openInsightsTab } from '../../../../tasks/expandable_flyout/alert_details_left_panel'; import { openThreatIntelligenceTab } from '../../../../tasks/expandable_flyout/alert_details_left_panel_threat_intelligence_tab'; diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/expandable_flyout/alert_details_preview_panel_alert_reason_preview.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/expandable_flyout/alert_details_preview_panel_alert_reason_preview.cy.ts index 0b32f60e94c0c0..cc6b2a6e8c2421 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/expandable_flyout/alert_details_preview_panel_alert_reason_preview.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/expandable_flyout/alert_details_preview_panel_alert_reason_preview.cy.ts @@ -9,7 +9,8 @@ import { DOCUMENT_DETAILS_FLYOUT_ALERT_REASON_PREVIEW_CONTAINER } from '../../.. import { expandFirstAlertExpandableFlyout } from '../../../../tasks/expandable_flyout/common'; import { clickAlertReasonButton } from '../../../../tasks/expandable_flyout/alert_details_right_panel_overview_tab'; import { cleanKibana } from '../../../../tasks/common'; -import { login, visit } from '../../../../tasks/login'; +import { login } from '../../../../tasks/login'; +import { visit } from '../../../../tasks/navigation'; import { createRule } from '../../../../tasks/api_calls/rules'; import { getNewRule } from '../../../../objects/rule'; import { ALERTS_URL } from '../../../../urls/navigation'; diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/expandable_flyout/alert_details_preview_panel_rule_preview.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/expandable_flyout/alert_details_preview_panel_rule_preview.cy.ts index 27c33010d46e1f..7ce841595f1891 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/expandable_flyout/alert_details_preview_panel_rule_preview.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/expandable_flyout/alert_details_preview_panel_rule_preview.cy.ts @@ -28,7 +28,8 @@ import { } from '../../../../tasks/expandable_flyout/alert_details_preview_panel_rule_preview'; import { clickRuleSummaryButton } from '../../../../tasks/expandable_flyout/alert_details_right_panel_overview_tab'; import { cleanKibana } from '../../../../tasks/common'; -import { login, visit } from '../../../../tasks/login'; +import { login } from '../../../../tasks/login'; +import { visit } from '../../../../tasks/navigation'; import { createRule } from '../../../../tasks/api_calls/rules'; import { getNewRule } from '../../../../objects/rule'; import { ALERTS_URL } from '../../../../urls/navigation'; diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/expandable_flyout/alert_details_right_panel.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/expandable_flyout/alert_details_right_panel.cy.ts index 8ea94301138ced..9a64bd46c1e898 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/expandable_flyout/alert_details_right_panel.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/expandable_flyout/alert_details_right_panel.cy.ts @@ -60,7 +60,8 @@ import { selectTakeActionItem, } from '../../../../tasks/expandable_flyout/alert_details_right_panel'; import { cleanKibana } from '../../../../tasks/common'; -import { login, visit } from '../../../../tasks/login'; +import { login } from '../../../../tasks/login'; +import { visit } from '../../../../tasks/navigation'; import { createRule } from '../../../../tasks/api_calls/rules'; import { getNewRule } from '../../../../objects/rule'; import { ALERTS_URL } from '../../../../urls/navigation'; diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/expandable_flyout/alert_details_right_panel_json_tab.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/expandable_flyout/alert_details_right_panel_json_tab.cy.ts index 193de317bed54d..a00e109bfc4f46 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/expandable_flyout/alert_details_right_panel_json_tab.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/expandable_flyout/alert_details_right_panel_json_tab.cy.ts @@ -9,7 +9,8 @@ import { openJsonTab } from '../../../../tasks/expandable_flyout/alert_details_r import { expandFirstAlertExpandableFlyout } from '../../../../tasks/expandable_flyout/common'; import { DOCUMENT_DETAILS_FLYOUT_JSON_TAB_CONTENT } from '../../../../screens/expandable_flyout/alert_details_right_panel_json_tab'; import { cleanKibana } from '../../../../tasks/common'; -import { login, visit } from '../../../../tasks/login'; +import { login } from '../../../../tasks/login'; +import { visit } from '../../../../tasks/navigation'; import { createRule } from '../../../../tasks/api_calls/rules'; import { getNewRule } from '../../../../objects/rule'; import { ALERTS_URL } from '../../../../urls/navigation'; diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/expandable_flyout/alert_details_right_panel_overview_tab.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/expandable_flyout/alert_details_right_panel_overview_tab.cy.ts index 02c25f751e6a6c..691a1626cf1744 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/expandable_flyout/alert_details_right_panel_overview_tab.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/expandable_flyout/alert_details_right_panel_overview_tab.cy.ts @@ -56,7 +56,8 @@ import { toggleOverviewTabVisualizationsSection, } from '../../../../tasks/expandable_flyout/alert_details_right_panel_overview_tab'; import { cleanKibana } from '../../../../tasks/common'; -import { login, visit } from '../../../../tasks/login'; +import { login } from '../../../../tasks/login'; +import { visit } from '../../../../tasks/navigation'; import { createRule } from '../../../../tasks/api_calls/rules'; import { getNewRule } from '../../../../objects/rule'; import { ALERTS_URL } from '../../../../urls/navigation'; diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/expandable_flyout/alert_details_right_panel_table_tab.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/expandable_flyout/alert_details_right_panel_table_tab.cy.ts index 8a6c025316d0ae..b5b00989df772b 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/expandable_flyout/alert_details_right_panel_table_tab.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/expandable_flyout/alert_details_right_panel_table_tab.cy.ts @@ -25,7 +25,8 @@ import { filterTableTabTable, } from '../../../../tasks/expandable_flyout/alert_details_right_panel_table_tab'; import { cleanKibana } from '../../../../tasks/common'; -import { login, visit } from '../../../../tasks/login'; +import { login } from '../../../../tasks/login'; +import { visit } from '../../../../tasks/navigation'; import { createRule } from '../../../../tasks/api_calls/rules'; import { getNewRule } from '../../../../objects/rule'; import { ALERTS_URL } from '../../../../urls/navigation'; diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/expandable_flyout/alert_details_url_sync.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/expandable_flyout/alert_details_url_sync.cy.ts index 97385e87f2f334..ba6f38d494c033 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/expandable_flyout/alert_details_url_sync.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/expandable_flyout/alert_details_url_sync.cy.ts @@ -8,7 +8,8 @@ import { getNewRule } from '../../../../objects/rule'; import { cleanKibana } from '../../../../tasks/common'; import { waitForAlertsToPopulate } from '../../../../tasks/create_new_rule'; -import { login, visit } from '../../../../tasks/login'; +import { login } from '../../../../tasks/login'; +import { visit } from '../../../../tasks/navigation'; import { createRule } from '../../../../tasks/api_calls/rules'; import { ALERTS_URL } from '../../../../urls/navigation'; import { closeFlyout } from '../../../../tasks/expandable_flyout/alert_details_right_panel'; diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/investigate_in_timeline.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/investigate_in_timeline.cy.ts index 59df434ff02905..ff8350f54a3c48 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/investigate_in_timeline.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/investigate_in_timeline.cy.ts @@ -14,7 +14,8 @@ import { expandFirstAlert, investigateFirstAlertInTimeline } from '../../../task import { createRule } from '../../../tasks/api_calls/rules'; import { cleanKibana } from '../../../tasks/common'; import { waitForAlertsToPopulate } from '../../../tasks/create_new_rule'; -import { login, visit } from '../../../tasks/login'; +import { login } from '../../../tasks/login'; +import { visitWithTimeRange } from '../../../tasks/navigation'; import { ALERTS_URL } from '../../../urls/navigation'; import { @@ -39,7 +40,7 @@ describe( describe('From alerts table', () => { beforeEach(() => { login(); - visit(ALERTS_URL); + visitWithTimeRange(ALERTS_URL); waitForAlertsToPopulate(); }); @@ -58,7 +59,7 @@ describe( beforeEach(() => { login(); disableExpandableFlyout(); - visit(ALERTS_URL); + visitWithTimeRange(ALERTS_URL); waitForAlertsToPopulate(); expandFirstAlert(); }); diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/navigation.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/navigation.cy.ts index 18afd6d5e71d7a..f8107e92cc64b6 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/navigation.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/navigation.cy.ts @@ -8,7 +8,8 @@ import { expandFirstAlert, waitForAlerts } from '../../../tasks/alerts'; import { createRule } from '../../../tasks/api_calls/rules'; import { cleanKibana } from '../../../tasks/common'; -import { login, visit } from '../../../tasks/login'; +import { login } from '../../../tasks/login'; +import { visit } from '../../../tasks/navigation'; import { getNewRule } from '../../../objects/rule'; @@ -54,7 +55,7 @@ describe.skip('Alert Details Page Navigation', { tags: ['@ess', '@serverless'] } describe('flyout', () => { beforeEach(() => { - visit(ALERTS_URL); + visitWithTimeRange(ALERTS_URL); waitForAlerts(); }); diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/resolver.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/resolver.cy.ts index 0132acaad5986c..cc62c05e5949b0 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/resolver.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/resolver.cy.ts @@ -14,7 +14,8 @@ import { cleanKibana } from '../../../tasks/common'; import { setStartDate } from '../../../tasks/date_picker'; import { TOASTER } from '../../../screens/alerts_detection_rules'; import { waitForAlertsToPopulate } from '../../../tasks/create_new_rule'; -import { login, visit } from '../../../tasks/login'; +import { login } from '../../../tasks/login'; +import { visitWithTimeRange } from '../../../tasks/navigation'; import { ALERTS_URL } from '../../../urls/navigation'; describe( @@ -28,7 +29,7 @@ describe( beforeEach(() => { login(); - visit(ALERTS_URL); + visitWithTimeRange(ALERTS_URL); waitForAlertsToPopulate(); }); diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/dasbhoards/detection_response.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/dasbhoards/detection_response.cy.ts index 6be251aa5e6186..96ef0fbf59bb07 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/dasbhoards/detection_response.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/dasbhoards/detection_response.cy.ts @@ -34,10 +34,11 @@ import { createRule } from '../../../tasks/api_calls/rules'; import { cleanKibana } from '../../../tasks/common'; import { investigateDashboardItemInTimeline } from '../../../tasks/dashboards/common'; import { waitToNavigateAwayFrom } from '../../../tasks/kibana_navigation'; -import { login, visit } from '../../../tasks/login'; +import { login } from '../../../tasks/login'; +import { visit } from '../../../tasks/navigation'; import { clearSearchBar, kqlSearch } from '../../../tasks/security_header'; import { createNewTimeline } from '../../../tasks/timeline'; -import { ALERTS_URL, DASHBOARDS_URL, DETECTIONS_RESPONSE_URL } from '../../../urls/navigation'; +import { ALERTS_URL, DASHBOARDS_URL, DETECTION_AND_RESPONSE_URL } from '../../../urls/navigation'; const TEST_USER_NAME = 'test'; const SIEM_KIBANA_HOST_NAME = 'siem-kibana'; @@ -50,7 +51,7 @@ describe('Detection response view', { tags: ['@ess', '@brokenInServerless'] }, ( beforeEach(() => { login(); - visit(DETECTIONS_RESPONSE_URL); + visit(DETECTION_AND_RESPONSE_URL); }); context('KQL search bar', () => { diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timeline_templates/creation.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timeline_templates/creation.cy.ts index 9b47afd2415672..6b1aa7f2f73326 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timeline_templates/creation.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timeline_templates/creation.cy.ts @@ -28,7 +28,8 @@ import { import { createTimeline } from '../../../tasks/api_calls/timelines'; import { cleanKibana, deleteTimelines } from '../../../tasks/common'; -import { login, visitWithoutDateRange } from '../../../tasks/login'; +import { login } from '../../../tasks/login'; +import { visit } from '../../../tasks/navigation'; import { openTimelineUsingToggle } from '../../../tasks/security_main'; import { addDescriptionToTimeline, @@ -61,7 +62,7 @@ describe('Timeline Templates', { tags: ['@ess', '@serverless', '@brokenInServerl }); it.skip('Creates a timeline template', () => { - visitWithoutDateRange(TIMELINES_URL); + visit(TIMELINES_URL); openTimelineUsingToggle(); createNewTimelineTemplate(); populateTimeline(); @@ -109,7 +110,7 @@ describe('Timeline Templates', { tags: ['@ess', '@serverless', '@brokenInServerl it('Create template from timeline', () => { createTimeline(getTimeline()); - visitWithoutDateRange(TIMELINES_URL); + visit(TIMELINES_URL); waitForTimelinesPanelToBeLoaded(); expandEventAction(); clickingOnCreateTemplateFromTimelineBtn(); diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timeline_templates/export.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timeline_templates/export.cy.ts index 36e5205099b715..eebeb646d9b4c6 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timeline_templates/export.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timeline_templates/export.cy.ts @@ -6,7 +6,8 @@ */ import { exportTimeline } from '../../../tasks/timelines'; -import { login, visitWithoutDateRange } from '../../../tasks/login'; +import { login } from '../../../tasks/login'; +import { visit } from '../../../tasks/navigation'; import { expectedExportedTimelineTemplate, getTimeline as getTimelineTemplate, @@ -36,7 +37,7 @@ describe('Export timelines', { tags: ['@ess', '@serverless', '@brokenInServerles path: '/api/timeline/_export?file_name=timelines_export.ndjson', }).as('export'); login(); - visitWithoutDateRange(TIMELINE_TEMPLATES_URL); + visit(TIMELINE_TEMPLATES_URL); searchByTitle(this.templateTitle); exportTimeline(this.templateId); diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/bulk_add_to_timeline.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/bulk_add_to_timeline.cy.ts index 4bfb052f58a17d..a27be939c1a8eb 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/bulk_add_to_timeline.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/bulk_add_to_timeline.cy.ts @@ -19,8 +19,9 @@ import { import { waitForAlertsToPopulate } from '../../../tasks/create_new_rule'; import { waitsForEventsToBeLoaded } from '../../../tasks/hosts/events'; import { openEvents, openSessions } from '../../../tasks/hosts/main'; -import { login, visit } from '../../../tasks/login'; -import { ALERTS_URL, HOSTS_URL } from '../../../urls/navigation'; +import { login } from '../../../tasks/login'; +import { visitWithTimeRange } from '../../../tasks/navigation'; +import { ALERTS_URL, hostsUrl } from '../../../urls/navigation'; describe('Bulk Investigate in Timeline', { tags: ['@ess', '@serverless'] }, () => { before(() => { @@ -40,7 +41,7 @@ describe('Bulk Investigate in Timeline', { tags: ['@ess', '@serverless'] }, () = beforeEach(() => { login(); - visit(ALERTS_URL); + visitWithTimeRange(ALERTS_URL); waitForAlertsToPopulate(); }); @@ -70,7 +71,7 @@ describe('Bulk Investigate in Timeline', { tags: ['@ess', '@serverless'] }, () = context('Host -> Events Viewer', () => { beforeEach(() => { login(); - visit(HOSTS_URL); + visitWithTimeRange(hostsUrl('allHosts')); openEvents(); waitsForEventsToBeLoaded(); }); @@ -101,7 +102,7 @@ describe('Bulk Investigate in Timeline', { tags: ['@ess', '@serverless'] }, () = context('Host -> Sessions Viewer', () => { beforeEach(() => { login(); - visit(HOSTS_URL); + visitWithTimeRange(hostsUrl('allHosts')); openSessions(); waitsForEventsToBeLoaded(); }); diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/correlation_tab.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/correlation_tab.cy.ts index 9772de0dddb897..d7fbdde8c7eb75 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/correlation_tab.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/correlation_tab.cy.ts @@ -15,7 +15,8 @@ import { } from '../../../screens/timeline'; import { createTimeline } from '../../../tasks/api_calls/timelines'; -import { login, visitWithoutDateRange } from '../../../tasks/login'; +import { login } from '../../../tasks/login'; +import { visit } from '../../../tasks/navigation'; import { addEqlToTimeline } from '../../../tasks/timeline'; import { TIMELINES_URL } from '../../../urls/navigation'; @@ -30,7 +31,7 @@ describe('Correlation tab', { tags: ['@ess', '@serverless'] }, () => { deleteTimelines(); cy.intercept('PATCH', '/api/timeline').as('updateTimeline'); createTimeline(getTimeline()).then((response) => { - visitWithoutDateRange(TIMELINES_URL); + visit(TIMELINES_URL); openTimeline(response.body.data.persistTimeline.timeline.savedObjectId); addEqlToTimeline(eql); cy.wait('@updateTimeline'); diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/creation.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/creation.cy.ts index 7986303e7aa64d..b3a3caf6c527a6 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/creation.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/creation.cy.ts @@ -24,7 +24,8 @@ import { import { createTimelineTemplate } from '../../../tasks/api_calls/timelines'; import { cleanKibana, deleteTimelines } from '../../../tasks/common'; -import { login, visit, visitWithoutDateRange } from '../../../tasks/login'; +import { login } from '../../../tasks/login'; +import { visit, visitWithTimeRange } from '../../../tasks/navigation'; import { openTimelineUsingToggle } from '../../../tasks/security_main'; import { selectCustomTemplates } from '../../../tasks/templates'; import { @@ -51,7 +52,7 @@ describe('Create a timeline from a template', { tags: ['@ess', '@serverless'] }, beforeEach(() => { login(); - visitWithoutDateRange(TIMELINE_TEMPLATES_URL); + visit(TIMELINE_TEMPLATES_URL); }); it( @@ -79,7 +80,7 @@ describe('Timelines', (): void => { context('Privileges: CRUD', { tags: '@ess' }, () => { beforeEach(() => { login(); - visit(OVERVIEW_URL); + visitWithTimeRange(OVERVIEW_URL); }); it('toggle create timeline ', () => { @@ -92,7 +93,7 @@ describe('Timelines', (): void => { context('Privileges: READ', { tags: '@ess' }, () => { beforeEach(() => { login(ROLES.reader); - visit(OVERVIEW_URL, undefined, ROLES.reader); + visitWithTimeRange(OVERVIEW_URL, { role: ROLES.reader }); }); it('should not be able to create/update timeline ', () => { @@ -115,7 +116,7 @@ describe('Timelines', (): void => { () => { beforeEach(() => { login(); - visit(OVERVIEW_URL); + visitWithTimeRange(OVERVIEW_URL); openTimelineUsingToggle(); addNameAndDescriptionToTimeline(getTimeline()); populateTimeline(); diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/data_providers.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/data_providers.cy.ts index 0caaefd1c5e697..dd96c92d355a63 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/data_providers.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/data_providers.cy.ts @@ -15,7 +15,8 @@ import { import { waitForAllHostsToBeLoaded } from '../../../tasks/hosts/all_hosts'; -import { login, visit } from '../../../tasks/login'; +import { login } from '../../../tasks/login'; +import { visitWithTimeRange } from '../../../tasks/navigation'; import { addDataProvider, updateDataProviderbyDraggingField, @@ -26,7 +27,7 @@ import { updateDataProviderByFieldHoverAction, } from '../../../tasks/timeline'; import { getTimeline } from '../../../objects/timeline'; -import { HOSTS_URL } from '../../../urls/navigation'; +import { hostsUrl } from '../../../urls/navigation'; import { cleanKibana, scrollToBottom } from '../../../tasks/common'; // Failing in serverless @@ -40,7 +41,7 @@ describe( beforeEach(() => { login(); - visit(HOSTS_URL); + visitWithTimeRange(hostsUrl('allHosts')); waitForAllHostsToBeLoaded(); scrollToBottom(); createNewTimeline(); diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/discover/cell_actions.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/discover/cell_actions.cy.ts index 41cd4e02dca29a..6ff904f13ebce0 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/discover/cell_actions.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/discover/cell_actions.cy.ts @@ -14,7 +14,8 @@ import { } from '../../../../screens/discover'; import { waitForDiscoverGridToLoad } from '../../../../tasks/discover'; import { updateDateRangeInLocalDatePickers } from '../../../../tasks/date_picker'; -import { login, visit } from '../../../../tasks/login'; +import { login } from '../../../../tasks/login'; +import { visitWithTimeRange } from '../../../../tasks/navigation'; import { createNewTimeline, gotToDiscoverTab } from '../../../../tasks/timeline'; import { ALERTS_URL } from '../../../../urls/navigation'; @@ -32,7 +33,7 @@ describe.skip( () => { beforeEach(() => { login(); - visit(ALERTS_URL); + visitWithTimeRange(ALERTS_URL); createNewTimeline(); gotToDiscoverTab(); updateDateRangeInLocalDatePickers(DISCOVER_CONTAINER, INITIAL_START_DATE, INITIAL_END_DATE); diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/discover/discover_state.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/discover/discover_state.cy.ts index a6d796585261fd..0bba2dfcf67cc6 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/discover/discover_state.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/discover/discover_state.cy.ts @@ -22,7 +22,8 @@ import { GET_DISCOVER_DATA_GRID_CELL_HEADER, } from '../../../../screens/discover'; import { updateDateRangeInLocalDatePickers } from '../../../../tasks/date_picker'; -import { login, visit } from '../../../../tasks/login'; +import { login } from '../../../../tasks/login'; +import { visitWithTimeRange } from '../../../../tasks/navigation'; import { createNewTimeline, gotToDiscoverTab, @@ -45,7 +46,7 @@ describe( () => { beforeEach(() => { login(); - visit(ALERTS_URL); + visitWithTimeRange(ALERTS_URL); createNewTimeline(); gotToDiscoverTab(); updateDateRangeInLocalDatePickers(DISCOVER_CONTAINER, INITIAL_START_DATE, INITIAL_END_DATE); diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/discover/search_filter.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/discover/search_filter.cy.ts index 5aa4a93247295d..afedab5dbb0940 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/discover/search_filter.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/discover/search_filter.cy.ts @@ -30,7 +30,8 @@ import { createAdHocDataView, } from '../../../../tasks/discover'; import { createNewTimeline, gotToDiscoverTab } from '../../../../tasks/timeline'; -import { login, visit } from '../../../../tasks/login'; +import { login } from '../../../../tasks/login'; +import { visitWithTimeRange } from '../../../../tasks/navigation'; import { ALERTS_URL } from '../../../../urls/navigation'; const INITIAL_START_DATE = 'Jan 18, 2021 @ 20:33:29.186'; @@ -46,7 +47,7 @@ describe( () => { beforeEach(() => { login(); - visit(ALERTS_URL); + visitWithTimeRange(ALERTS_URL); createNewTimeline(); gotToDiscoverTab(); updateDateRangeInLocalDatePickers(DISCOVER_CONTAINER, INITIAL_START_DATE, INITIAL_END_DATE); diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/export.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/export.cy.ts index c676f08a950add..48143184249d23 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/export.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/export.cy.ts @@ -11,7 +11,8 @@ import { selectAllTimelines, exportSelectedTimelines, } from '../../../tasks/timelines'; -import { login, visitWithoutDateRange } from '../../../tasks/login'; +import { login } from '../../../tasks/login'; +import { visit } from '../../../tasks/navigation'; import { TIMELINES_URL } from '../../../urls/navigation'; import { TOASTER } from '../../../screens/alerts_detection_rules'; @@ -37,12 +38,12 @@ describe('Export timelines', { tags: ['@ess', '@serverless', '@brokenInServerles cy.wrap(response).as('timelineResponse2'); cy.wrap(response.body.data.persistTimeline.timeline.savedObjectId).as('timelineId2'); }); - visitWithoutDateRange(TIMELINES_URL); + visit(TIMELINES_URL); }); beforeEach(() => { login(); - visitWithoutDateRange(TIMELINES_URL); + visit(TIMELINES_URL); }); it('Exports custom timeline(s)', function () { diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/fields_browser.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/fields_browser.cy.ts index 09e0885a8542dc..a85966d590852c 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/fields_browser.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/fields_browser.cy.ts @@ -32,11 +32,12 @@ import { activateViewSelected, activateViewAll, } from '../../../tasks/fields_browser'; -import { login, visit } from '../../../tasks/login'; +import { login } from '../../../tasks/login'; +import { visitWithTimeRange } from '../../../tasks/navigation'; import { openTimelineUsingToggle } from '../../../tasks/security_main'; import { openTimelineFieldsBrowser, populateTimeline } from '../../../tasks/timeline'; -import { HOSTS_URL } from '../../../urls/navigation'; +import { hostsUrl } from '../../../urls/navigation'; const defaultHeaders = [ { id: '@timestamp' }, @@ -58,7 +59,7 @@ describe('Fields Browser', { tags: ['@ess', '@serverless', '@brokenInServerless' context('Fields Browser rendering', () => { beforeEach(() => { login(); - visit(HOSTS_URL); + visitWithTimeRange(hostsUrl('allHosts')); openTimelineUsingToggle(); populateTimeline(); openTimelineFieldsBrowser(); @@ -125,7 +126,7 @@ describe('Fields Browser', { tags: ['@ess', '@serverless', '@brokenInServerless' context('Editing the timeline', () => { beforeEach(() => { login(); - visit(HOSTS_URL); + visitWithTimeRange(hostsUrl('allHosts')); openTimelineUsingToggle(); populateTimeline(); openTimelineFieldsBrowser(); diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/flyout_button.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/flyout_button.cy.ts index b4138b7cf5d665..8e85d82fecafd7 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/flyout_button.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/flyout_button.cy.ts @@ -10,7 +10,8 @@ import { CREATE_NEW_TIMELINE, TIMELINE_FLYOUT_HEADER } from '../../../screens/ti import { cleanKibana } from '../../../tasks/common'; import { waitForAllHostsToBeLoaded } from '../../../tasks/hosts/all_hosts'; -import { login, visit } from '../../../tasks/login'; +import { login } from '../../../tasks/login'; +import { visitWithTimeRange } from '../../../tasks/navigation'; import { closeTimelineUsingCloseButton, closeTimelineUsingToggle, @@ -21,7 +22,7 @@ import { openCreateTimelineOptionsPopover, } from '../../../tasks/timeline'; -import { HOSTS_URL } from '../../../urls/navigation'; +import { hostsUrl } from '../../../urls/navigation'; describe('timeline flyout button', { tags: ['@ess', '@brokenInServerless'] }, () => { before(() => { @@ -30,7 +31,7 @@ describe('timeline flyout button', { tags: ['@ess', '@brokenInServerless'] }, () beforeEach(() => { login(); - visit(HOSTS_URL); + visitWithTimeRange(hostsUrl('allHosts')); waitForAllHostsToBeLoaded(); }); diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/full_screen.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/full_screen.cy.ts index 3f07971d66f3cb..61226d987dedfc 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/full_screen.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/full_screen.cy.ts @@ -8,7 +8,8 @@ import { TIMELINE_HEADER, TIMELINE_TABS } from '../../../screens/timeline'; import { cleanKibana } from '../../../tasks/common'; -import { login, visit } from '../../../tasks/login'; +import { login } from '../../../tasks/login'; +import { visitWithTimeRange } from '../../../tasks/navigation'; import { openTimelineUsingToggle, enterFullScreenMode, @@ -16,7 +17,7 @@ import { } from '../../../tasks/security_main'; import { populateTimeline } from '../../../tasks/timeline'; -import { HOSTS_URL } from '../../../urls/navigation'; +import { hostsUrl } from '../../../urls/navigation'; // FLAKY: https://github.com/elastic/kibana/issues/165638 describe('Toggle full screen', { tags: ['@ess', '@serverless', '@brokenInServerless'] }, () => { @@ -26,7 +27,7 @@ describe('Toggle full screen', { tags: ['@ess', '@serverless', '@brokenInServerl beforeEach(() => { login(); - visit(HOSTS_URL); + visitWithTimeRange(hostsUrl('allHosts')); openTimelineUsingToggle(); populateTimeline(); }); diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/inspect.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/inspect.cy.ts index bf7fc808577547..8d529b60d0e031 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/inspect.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/inspect.cy.ts @@ -7,11 +7,12 @@ import { INSPECT_MODAL } from '../../../screens/inspect'; -import { login, visit } from '../../../tasks/login'; +import { login } from '../../../tasks/login'; +import { visitWithTimeRange } from '../../../tasks/navigation'; import { openTimelineUsingToggle } from '../../../tasks/security_main'; import { executeTimelineKQL, openTimelineInspectButton } from '../../../tasks/timeline'; -import { HOSTS_URL } from '../../../urls/navigation'; +import { hostsUrl } from '../../../urls/navigation'; // FLAKY: https://github.com/elastic/kibana/issues/165688 describe('Inspect', { tags: ['@ess', '@serverless', '@brokenInServerless'] }, () => { @@ -19,7 +20,7 @@ describe('Inspect', { tags: ['@ess', '@serverless', '@brokenInServerless'] }, () it('inspects the timeline', () => { const hostExistsQuery = 'host.name: *'; login(); - visit(HOSTS_URL); + visitWithTimeRange(hostsUrl('allHosts')); openTimelineUsingToggle(); executeTimelineKQL(hostExistsQuery); openTimelineInspectButton(); diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/local_storage.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/local_storage.cy.ts index 876b288569fb9d..b2ecdb5e2c137d 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/local_storage.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/local_storage.cy.ts @@ -6,8 +6,9 @@ */ import { reload } from '../../../tasks/common'; -import { login, visit } from '../../../tasks/login'; -import { HOSTS_URL } from '../../../urls/navigation'; +import { login } from '../../../tasks/login'; +import { visitWithTimeRange } from '../../../tasks/navigation'; +import { hostsUrl } from '../../../urls/navigation'; import { openEvents } from '../../../tasks/hosts/main'; import { DATAGRID_HEADERS, DATAGRID_HEADER } from '../../../screens/timeline'; import { waitsForEventsToBeLoaded } from '../../../tasks/hosts/events'; @@ -16,7 +17,7 @@ import { removeColumn } from '../../../tasks/timeline'; describe('persistent timeline', { tags: ['@ess', '@serverless', '@brokenInServerless'] }, () => { before(() => { login(); - visit(HOSTS_URL); + visitWithTimeRange(hostsUrl('allHosts')); openEvents(); waitsForEventsToBeLoaded(); diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/notes_tab.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/notes_tab.cy.ts index 63d2ccbfb8c2e8..c5d0c66032fd37 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/notes_tab.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/notes_tab.cy.ts @@ -22,7 +22,8 @@ import { createTimeline } from '../../../tasks/api_calls/timelines'; import { cleanKibana } from '../../../tasks/common'; -import { login, visitWithoutDateRange } from '../../../tasks/login'; +import { login } from '../../../tasks/login'; +import { visit } from '../../../tasks/navigation'; import { addNotesToTimeline, goToNotesTab, @@ -39,7 +40,7 @@ describe.skip('Timeline notes tab', { tags: ['@ess', '@serverless'] }, () => { before(() => { cleanKibana(); login(); - visitWithoutDateRange(TIMELINES_URL); + visit(TIMELINES_URL); createTimeline(getTimelineNonValidQuery()) .then((response) => response.body.data.persistTimeline.timeline.savedObjectId) @@ -53,7 +54,7 @@ describe.skip('Timeline notes tab', { tags: ['@ess', '@serverless'] }, () => { beforeEach(function () { login(); - visitWithoutDateRange(TIMELINES_URL); + visit(TIMELINES_URL); openTimelineById(this?.timelineId as string); goToNotesTab(); // eslint-disable-next-line cypress/no-unnecessary-waiting diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/open_timeline.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/open_timeline.cy.ts index 5456a270e77bb9..ae9d7a4dc592b3 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/open_timeline.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/open_timeline.cy.ts @@ -24,7 +24,8 @@ import { createTimeline } from '../../../tasks/api_calls/timelines'; import { cleanKibana } from '../../../tasks/common'; -import { login, visitWithoutDateRange } from '../../../tasks/login'; +import { login } from '../../../tasks/login'; +import { visit } from '../../../tasks/navigation'; import { markAsFavorite, openTimelineById, @@ -40,7 +41,7 @@ describe('Open timeline', { tags: ['@brokenInServerless', '@ess'] }, () => { before(function () { cleanKibana(); login(); - visitWithoutDateRange(TIMELINES_URL); + visit(TIMELINES_URL); createTimeline(getTimeline()) .then((response) => response.body.data.persistTimeline.timeline.savedObjectId) @@ -64,7 +65,7 @@ describe('Open timeline', { tags: ['@brokenInServerless', '@ess'] }, () => { beforeEach(function () { login(); - visitWithoutDateRange(TIMELINES_URL); + visit(TIMELINES_URL); openTimelineFromSettings(); openTimelineById(this.timelineId); }); diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/overview.cy.tsx b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/overview.cy.tsx index e2673ab88cdcdf..fc262829d039c2 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/overview.cy.tsx +++ b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/overview.cy.tsx @@ -19,7 +19,8 @@ import { import { cleanKibana } from '../../../tasks/common'; -import { login, visitWithoutDateRange } from '../../../tasks/login'; +import { login } from '../../../tasks/login'; +import { visit } from '../../../tasks/navigation'; import { createTimeline, favoriteTimeline } from '../../../tasks/api_calls/timelines'; import { TIMELINES_URL } from '../../../urls/navigation'; @@ -36,7 +37,7 @@ describe('timeline overview search', { tags: ['@ess', 'serverless'] }, () => { beforeEach(() => { login(); - visitWithoutDateRange(TIMELINES_URL); + visit(TIMELINES_URL); cy.get(TIMELINES_OVERVIEW_SEARCH).clear(); }); diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/pagination.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/pagination.cy.ts index 0fa319ec400216..310efb66807e02 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/pagination.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/pagination.cy.ts @@ -16,11 +16,12 @@ import { } from '../../../screens/timeline'; import { cleanKibana } from '../../../tasks/common'; -import { login, visit } from '../../../tasks/login'; +import { login } from '../../../tasks/login'; +import { visitWithTimeRange } from '../../../tasks/navigation'; import { openTimelineUsingToggle } from '../../../tasks/security_main'; import { populateTimeline } from '../../../tasks/timeline'; -import { HOSTS_URL } from '../../../urls/navigation'; +import { hostsUrl } from '../../../urls/navigation'; // Flaky on serverless const defaultPageSize = 25; @@ -32,7 +33,7 @@ describe('Pagination', { tags: ['@ess', '@serverless', '@brokenInServerless'] }, beforeEach(() => { login(); - visit(HOSTS_URL); + visitWithTimeRange(hostsUrl('allHosts')); openTimelineUsingToggle(); populateTimeline(); }); diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/query_tab.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/query_tab.cy.ts index a3c4f30455966d..7ed79dc4d797cf 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/query_tab.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/query_tab.cy.ts @@ -18,7 +18,8 @@ import { createTimeline } from '../../../tasks/api_calls/timelines'; import { cleanKibana } from '../../../tasks/common'; -import { login, visitWithoutDateRange } from '../../../tasks/login'; +import { login } from '../../../tasks/login'; +import { visit } from '../../../tasks/navigation'; import { addFilter, openTimelineById, @@ -32,7 +33,7 @@ describe.skip('Timeline query tab', { tags: ['@ess', '@serverless'] }, () => { before(() => { cleanKibana(); login(); - visitWithoutDateRange(TIMELINES_URL); + visit(TIMELINES_URL); createTimeline(getTimeline()) .then((response) => response.body.data.persistTimeline.timeline.savedObjectId) .then((timelineId: string) => { @@ -59,7 +60,7 @@ describe.skip('Timeline query tab', { tags: ['@ess', '@serverless'] }, () => { describe('Query tab', () => { beforeEach(function () { login(); - visitWithoutDateRange(TIMELINES_URL); + visit(TIMELINES_URL); openTimelineById(this.timelineId).then(() => addFilter(getTimeline().filter)); }); diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/row_renderers.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/row_renderers.cy.ts index 2483f41f48b9d0..8abcac5843cfaa 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/row_renderers.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/row_renderers.cy.ts @@ -18,11 +18,12 @@ import { import { cleanKibana, deleteTimelines, waitForWelcomePanelToBeLoaded } from '../../../tasks/common'; import { waitForAllHostsToBeLoaded } from '../../../tasks/hosts/all_hosts'; -import { login, visit } from '../../../tasks/login'; +import { login } from '../../../tasks/login'; +import { visitWithTimeRange } from '../../../tasks/navigation'; import { openTimelineUsingToggle } from '../../../tasks/security_main'; import { populateTimeline } from '../../../tasks/timeline'; -import { HOSTS_URL } from '../../../urls/navigation'; +import { hostsUrl } from '../../../urls/navigation'; describe('Row renderers', { tags: ['@ess', '@serverless'] }, () => { before(() => { @@ -32,7 +33,7 @@ describe('Row renderers', { tags: ['@ess', '@serverless'] }, () => { beforeEach(() => { deleteTimelines(); login(); - visit(HOSTS_URL, { + visitWithTimeRange(hostsUrl('allHosts'), { onLoad: () => { waitForWelcomePanelToBeLoaded(); waitForAllHostsToBeLoaded(); diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/search_or_filter.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/search_or_filter.cy.ts index 6a7d8bb820d9cf..f1108462b62c25 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/search_or_filter.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/search_or_filter.cy.ts @@ -15,7 +15,8 @@ import { import { LOADING_INDICATOR } from '../../../screens/security_header'; import { cleanKibana } from '../../../tasks/common'; -import { login, visit, visitWithoutDateRange } from '../../../tasks/login'; +import { login } from '../../../tasks/login'; +import { visit, visitWithTimeRange } from '../../../tasks/navigation'; import { openTimelineUsingToggle } from '../../../tasks/security_main'; import { changeTimelineQueryLanguage, @@ -24,7 +25,7 @@ import { } from '../../../tasks/timeline'; import { waitForTimelinesPanelToBeLoaded } from '../../../tasks/timelines'; -import { HOSTS_URL, TIMELINES_URL } from '../../../urls/navigation'; +import { hostsUrl, TIMELINES_URL } from '../../../urls/navigation'; describe('Timeline search and filters', { tags: ['@ess', '@brokenInServerless'] }, () => { before(() => { @@ -34,7 +35,7 @@ describe('Timeline search and filters', { tags: ['@ess', '@brokenInServerless'] describe('timeline search or filter KQL bar', () => { beforeEach(() => { login(); - visit(HOSTS_URL); + visitWithTimeRange(hostsUrl('allHosts')); }); it('executes a KQL query', () => { @@ -58,7 +59,7 @@ describe('Timeline search and filters', { tags: ['@ess', '@brokenInServerless'] describe('Update kqlMode for timeline', () => { beforeEach(() => { login(); - visitWithoutDateRange(TIMELINES_URL); + visit(TIMELINES_URL); waitForTimelinesPanelToBeLoaded(); openTimelineUsingToggle(); cy.intercept('PATCH', '/api/timeline').as('update'); diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/toggle_column.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/toggle_column.cy.ts index c2ca620a405549..625642da5c5fac 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/toggle_column.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/toggle_column.cy.ts @@ -8,7 +8,8 @@ import { ID_HEADER_FIELD, TIMESTAMP_HEADER_FIELD } from '../../../screens/timeline'; import { cleanKibana } from '../../../tasks/common'; -import { login, visit } from '../../../tasks/login'; +import { login } from '../../../tasks/login'; +import { visitWithTimeRange } from '../../../tasks/navigation'; import { openTimelineUsingToggle } from '../../../tasks/security_main'; import { clickIdToggleField, @@ -17,7 +18,7 @@ import { clickTimestampToggleField, } from '../../../tasks/timeline'; -import { HOSTS_URL } from '../../../urls/navigation'; +import { hostsUrl } from '../../../urls/navigation'; describe( 'toggle column in timeline', @@ -30,7 +31,7 @@ describe( beforeEach(() => { login(); - visit(HOSTS_URL); + visitWithTimeRange(hostsUrl('allHosts')); openTimelineUsingToggle(); populateTimeline(); }); diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/unsaved_timeline.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/unsaved_timeline.cy.ts index 4a11ec2dbb09eb..6c5e91ba748dca 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/unsaved_timeline.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/unsaved_timeline.cy.ts @@ -23,7 +23,8 @@ import { navigateFromKibanaCollapsibleTo, openKibanaNavigation, } from '../../../tasks/kibana_navigation'; -import { login, visit } from '../../../tasks/login'; +import { login } from '../../../tasks/login'; +import { visitWithTimeRange } from '../../../tasks/navigation'; import { closeTimelineUsingToggle } from '../../../tasks/security_main'; import { addNameAndDescriptionToTimeline, @@ -31,7 +32,7 @@ import { populateTimeline, waitForTimelineChanges, } from '../../../tasks/timeline'; -import { HOSTS_URL, MANAGE_URL } from '../../../urls/navigation'; +import { hostsUrl, MANAGE_URL } from '../../../urls/navigation'; describe('Save Timeline Prompts', { tags: ['@ess', '@serverless', '@brokenInServerless'] }, () => { before(() => { @@ -50,14 +51,14 @@ describe('Save Timeline Prompts', { tags: ['@ess', '@serverless', '@brokenInServ beforeEach(() => { login(); - visit(HOSTS_URL); + visitWithTimeRange(hostsUrl('allHosts')); createNewTimeline(); }); it('unchanged & unsaved timeline should NOT prompt when user navigates away', () => { openKibanaNavigation(); navigateFromKibanaCollapsibleTo(OBSERVABILITY_ALERTS_PAGE); - cy.url().should('not.contain', HOSTS_URL); + cy.url().should('not.contain', hostsUrl('allHosts')); }); it('Changed & unsaved timeline should prompt when user navigates away from security solution', () => { @@ -107,7 +108,7 @@ describe('Save Timeline Prompts', { tags: ['@ess', '@serverless', '@brokenInServ ); openKibanaNavigation(); navigateFromKibanaCollapsibleTo(OBSERVABILITY_ALERTS_PAGE); - cy.url().should('not.contain', HOSTS_URL); + cy.url().should('not.contain', hostsUrl('allHosts')); }); it('Changed & saved timeline should NOT prompt when user navigates within security solution where timelines are disabled', () => { @@ -127,7 +128,7 @@ describe('Save Timeline Prompts', { tags: ['@ess', '@serverless', '@brokenInServ ); openKibanaNavigation(); cy.get(MANAGE_PAGE).click(); - cy.url().should('not.contain', HOSTS_URL); + cy.url().should('not.contain', hostsUrl('allHosts')); }); it('When user navigates to the page where timeline is present, Time save modal should not exists.', () => { diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/url_state.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/url_state.cy.ts index b8195ef5cb77a7..5028f54146e852 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/url_state.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/url_state.cy.ts @@ -18,7 +18,8 @@ import { createRule } from '../../../tasks/api_calls/rules'; import { waitForAlertsToPopulate } from '../../../tasks/create_new_rule'; import { getNewRule } from '../../../objects/rule'; -import { login, visitWithoutDateRange, visit } from '../../../tasks/login'; +import { login } from '../../../tasks/login'; +import { visit, visitWithTimeRange } from '../../../tasks/navigation'; import { TIMELINES_URL } from '../../../urls/navigation'; @@ -27,7 +28,7 @@ describe('Open timeline', { tags: ['@brokenInServerless', '@ess'] }, () => { before(function () { cleanKibana(); login(); - visitWithoutDateRange(TIMELINES_URL); + visit(TIMELINES_URL); createTimeline(getTimeline()).then((response) => { timelineSavedObjectId = response.body.data.persistTimeline.timeline.savedObjectId; @@ -35,7 +36,7 @@ describe('Open timeline', { tags: ['@brokenInServerless', '@ess'] }, () => { }); createRule(getNewRule()); - visit(ALERTS_URL); + visitWithTimeRange(ALERTS_URL); waitForAlertsToPopulate(); }); @@ -46,7 +47,7 @@ describe('Open timeline', { tags: ['@brokenInServerless', '@ess'] }, () => { describe('open timeline from url exclusively', () => { it('should open a timeline via url alone without a saved object id', () => { const urlWithoutSavedObjectId = `${ALERTS_URL}?timeline=(activeTab:query,isOpen:!t)`; - visitWithoutDateRange(urlWithoutSavedObjectId); + visit(urlWithoutSavedObjectId); cy.get(TIMELINE_HEADER).should('be.visible'); }); @@ -60,7 +61,7 @@ describe('Open timeline', { tags: ['@brokenInServerless', '@ess'] }, () => { }); params.set('timeline', timelineParams); const urlWithSavedObjectId = `${ALERTS_URL}?${params.toString()}`; - visitWithoutDateRange(urlWithSavedObjectId); + visit(urlWithSavedObjectId); cy.get(TIMELINE_HEADER).should('be.visible'); }); }); diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/ml/ml_conditional_links.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/ml/ml_conditional_links.cy.ts index 69e2a5732befbc..061f17032c54a4 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/ml/ml_conditional_links.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/ml/ml_conditional_links.cy.ts @@ -7,7 +7,8 @@ import { KQL_INPUT } from '../../screens/security_header'; -import { login, visitWithoutDateRange } from '../../tasks/login'; +import { login } from '../../tasks/login'; +import { visit } from '../../tasks/navigation'; import { mlHostMultiHostKqlQuery, @@ -31,7 +32,7 @@ describe('ml conditional links', { tags: ['@ess', '@brokenInServerless'] }, () = }); it('sets the KQL from a single IP with a value for the query', () => { - visitWithoutDateRange(mlNetworkSingleIpKqlQuery); + visit(mlNetworkSingleIpKqlQuery); cy.get(KQL_INPUT).should( 'have.text', '(process.name: "conhost.exe" or process.name: "sc.exe")' @@ -39,7 +40,7 @@ describe('ml conditional links', { tags: ['@ess', '@brokenInServerless'] }, () = }); it('sets the KQL from a multiple IPs with a null for the query', () => { - visitWithoutDateRange(mlNetworkMultipleIpNullKqlQuery); + visit(mlNetworkMultipleIpNullKqlQuery); cy.get(KQL_INPUT).should( 'have.text', '((source.ip: "127.0.0.1" or destination.ip: "127.0.0.1") or (source.ip: "127.0.0.2" or destination.ip: "127.0.0.2"))' @@ -47,7 +48,7 @@ describe('ml conditional links', { tags: ['@ess', '@brokenInServerless'] }, () = }); it('sets the KQL from a multiple IPs with a value for the query', () => { - visitWithoutDateRange(mlNetworkMultipleIpKqlQuery); + visit(mlNetworkMultipleIpKqlQuery); cy.get(KQL_INPUT).should( 'have.text', '((source.ip: "127.0.0.1" or destination.ip: "127.0.0.1") or (source.ip: "127.0.0.2" or destination.ip: "127.0.0.2")) and ((process.name: "conhost.exe" or process.name: "sc.exe"))' @@ -55,7 +56,7 @@ describe('ml conditional links', { tags: ['@ess', '@brokenInServerless'] }, () = }); it('sets the KQL from a $ip$ with a value for the query', () => { - visitWithoutDateRange(mlNetworkKqlQuery); + visit(mlNetworkKqlQuery); cy.get(KQL_INPUT).should( 'have.text', '(process.name: "conhost.exe" or process.name: "sc.exe")' @@ -63,14 +64,14 @@ describe('ml conditional links', { tags: ['@ess', '@brokenInServerless'] }, () = }); it('sets the KQL from a single host name with a value for query', () => { - visitWithoutDateRange(mlHostSingleHostKqlQuery); + visit(mlHostSingleHostKqlQuery); cy.get(KQL_INPUT) .invoke('text') .should('eq', '(process.name: "conhost.exe" or process.name: "sc.exe")'); }); it('sets the KQL from a multiple host names with null for query', () => { - visitWithoutDateRange(mlHostMultiHostNullKqlQuery); + visit(mlHostMultiHostNullKqlQuery); cy.get(KQL_INPUT).should( 'have.text', '(host.name: "siem-windows" or host.name: "siem-suricata")' @@ -78,7 +79,7 @@ describe('ml conditional links', { tags: ['@ess', '@brokenInServerless'] }, () = }); it('sets the KQL from a multiple host names with a value for query', () => { - visitWithoutDateRange(mlHostMultiHostKqlQuery); + visit(mlHostMultiHostKqlQuery); cy.get(KQL_INPUT).should( 'have.text', '(host.name: "siem-windows" or host.name: "siem-suricata") and ((process.name: "conhost.exe" or process.name: "sc.exe"))' @@ -86,7 +87,7 @@ describe('ml conditional links', { tags: ['@ess', '@brokenInServerless'] }, () = }); it('sets the KQL from a undefined/null host name but with a value for query', () => { - visitWithoutDateRange(mlHostVariableHostKqlQuery); + visit(mlHostVariableHostKqlQuery); cy.get(KQL_INPUT).should( 'have.text', '(process.name: "conhost.exe" or process.name: "sc.exe")' @@ -94,7 +95,7 @@ describe('ml conditional links', { tags: ['@ess', '@brokenInServerless'] }, () = }); it('redirects from a single IP with a null for the query', () => { - visitWithoutDateRange(mlNetworkSingleIpNullKqlQuery); + visit(mlNetworkSingleIpNullKqlQuery); cy.url().should( 'include', 'app/security/network/ip/127.0.0.1/source/flows?sourcerer=(default:(id:security-solution-default,selectedPatterns:!(%27auditbeat-*%27)))&timerange=(global:(linkTo:!(timeline),timerange:(from:%272019-08-28T11:00:00.000Z%27,kind:absolute,to:%272019-08-28T13:59:59.999Z%27)),timeline:(linkTo:!(global),timerange:(from:%272019-08-28T11:00:00.000Z%27,kind:absolute,to:%272019-08-28T13:59:59.999Z%27)))' @@ -102,7 +103,7 @@ describe('ml conditional links', { tags: ['@ess', '@brokenInServerless'] }, () = }); it('redirects from a single IP with a value for the query', () => { - visitWithoutDateRange(mlNetworkSingleIpKqlQuery); + visit(mlNetworkSingleIpKqlQuery); cy.url().should( 'include', '/app/security/network/ip/127.0.0.1/source/flows?sourcerer=(default:(id:security-solution-default,selectedPatterns:!(%27auditbeat-*%27)))&query=(language:kuery,query:%27(process.name:%20%22conhost.exe%22%20or%20process.name:%20%22sc.exe%22)%27)&timerange=(global:(linkTo:!(timeline),timerange:(from:%272019-08-28T11:00:00.000Z%27,kind:absolute,to:%272019-08-28T13:59:59.999Z%27)),timeline:(linkTo:!(global),timerange:(from:%272019-08-28T11:00:00.000Z%27,kind:absolute,to:%272019-08-28T13:59:59.999Z%27)))' @@ -110,7 +111,7 @@ describe('ml conditional links', { tags: ['@ess', '@brokenInServerless'] }, () = }); it('redirects from a multiple IPs with a null for the query', () => { - visitWithoutDateRange(mlNetworkMultipleIpNullKqlQuery); + visit(mlNetworkMultipleIpNullKqlQuery); cy.url().should( 'include', 'app/security/network/flows?sourcerer=(default:(id:security-solution-default,selectedPatterns:!(%27auditbeat-*%27)))&query=(language:kuery,query:%27((source.ip:%20%22127.0.0.1%22%20or%20destination.ip:%20%22127.0.0.1%22)%20or%20(source.ip:%20%22127.0.0.2%22%20or%20destination.ip:%20%22127.0.0.2%22))%27)&timerange=(global:(linkTo:!(timeline),timerange:(from:%272019-08-28T11:00:00.000Z%27,kind:absolute,to:%272019-08-28T13:59:59.999Z%27)),timeline:(linkTo:!(global),timerange:(from:%272019-08-28T11:00:00.000Z%27,kind:absolute,to:%272019-08-28T13:59:59.999Z%27)))' @@ -118,7 +119,7 @@ describe('ml conditional links', { tags: ['@ess', '@brokenInServerless'] }, () = }); it('redirects from a multiple IPs with a value for the query', () => { - visitWithoutDateRange(mlNetworkMultipleIpKqlQuery); + visit(mlNetworkMultipleIpKqlQuery); cy.url().should( 'include', '/app/security/network/flows?sourcerer=(default:(id:security-solution-default,selectedPatterns:!(%27auditbeat-*%27)))&query=(language:kuery,query:%27((source.ip:%20%22127.0.0.1%22%20or%20destination.ip:%20%22127.0.0.1%22)%20or%20(source.ip:%20%22127.0.0.2%22%20or%20destination.ip:%20%22127.0.0.2%22))%20and%20((process.name:%20%22conhost.exe%22%20or%20process.name:%20%22sc.exe%22))%27)&timerange=(global:(linkTo:!(timeline),timerange:(from:%272019-08-28T11:00:00.000Z%27,kind:absolute,to:%272019-08-28T13:59:59.999Z%27)),timeline:(linkTo:!(global),timerange:(from:%272019-08-28T11:00:00.000Z%27,kind:absolute,to:%272019-08-28T13:59:59.999Z%27)))' @@ -126,7 +127,7 @@ describe('ml conditional links', { tags: ['@ess', '@brokenInServerless'] }, () = }); it('redirects from a $ip$ with a null query', () => { - visitWithoutDateRange(mlNetworkNullKqlQuery); + visit(mlNetworkNullKqlQuery); cy.url().should( 'include', '/app/security/network/flows?sourcerer=(default:(id:security-solution-default,selectedPatterns:!(%27auditbeat-*%27)))&timerange=(global:(linkTo:!(timeline),timerange:(from:%272019-08-28T11:00:00.000Z%27,kind:absolute,to:%272019-08-28T13:59:59.999Z%27)),timeline:(linkTo:!(global),timerange:(from:%272019-08-28T11:00:00.000Z%27,kind:absolute,to:%272019-08-28T13:59:59.999Z%27)))' @@ -134,7 +135,7 @@ describe('ml conditional links', { tags: ['@ess', '@brokenInServerless'] }, () = }); it('redirects from a $ip$ with a value for the query', () => { - visitWithoutDateRange(mlNetworkKqlQuery); + visit(mlNetworkKqlQuery); cy.url().should( 'include', @@ -143,7 +144,7 @@ describe('ml conditional links', { tags: ['@ess', '@brokenInServerless'] }, () = }); it('redirects from a single host name with a null for the query', () => { - visitWithoutDateRange(mlHostSingleHostNullKqlQuery); + visit(mlHostSingleHostNullKqlQuery); cy.url().should( 'include', '/app/security/hosts/name/siem-windows/anomalies?sourcerer=(default:(id:security-solution-default,selectedPatterns:!(%27auditbeat-*%27)))&timerange=(global:(linkTo:!(timeline),timerange:(from:%272019-06-06T06:00:00.000Z%27,kind:absolute,to:%272019-06-07T05:59:59.999Z%27)),timeline:(linkTo:!(global),timerange:(from:%272019-06-06T06:00:00.000Z%27,kind:absolute,to:%272019-06-07T05:59:59.999Z%27)))' @@ -151,7 +152,7 @@ describe('ml conditional links', { tags: ['@ess', '@brokenInServerless'] }, () = }); it('redirects from a host name with a variable in the query', () => { - visitWithoutDateRange(mlHostSingleHostKqlQueryVariable); + visit(mlHostSingleHostKqlQueryVariable); cy.url().should( 'include', '/app/security/hosts/name/siem-windows/anomalies?sourcerer=(default:(id:security-solution-default,selectedPatterns:!(%27auditbeat-*%27)))&timerange=(global:(linkTo:!(timeline),timerange:(from:%272019-06-06T06:00:00.000Z%27,kind:absolute,to:%272019-06-07T05:59:59.999Z%27)),timeline:(linkTo:!(global),timerange:(from:%272019-06-06T06:00:00.000Z%27,kind:absolute,to:%272019-06-07T05:59:59.999Z%27)))' @@ -159,7 +160,7 @@ describe('ml conditional links', { tags: ['@ess', '@brokenInServerless'] }, () = }); it('redirects from a single host name with a value for query', () => { - visitWithoutDateRange(mlHostSingleHostKqlQuery); + visit(mlHostSingleHostKqlQuery); cy.url().should( 'include', '/app/security/hosts/name/siem-windows/anomalies?sourcerer=(default:(id:security-solution-default,selectedPatterns:!(%27auditbeat-*%27)))&query=(language:kuery,query:%27(process.name:%20%22conhost.exe%22%20or%20process.name:%20%22sc.exe%22)%27)&timerange=(global:(linkTo:!(timeline),timerange:(from:%272019-06-06T06:00:00.000Z%27,kind:absolute,to:%272019-06-07T05:59:59.999Z%27)),timeline:(linkTo:!(global),timerange:(from:%272019-06-06T06:00:00.000Z%27,kind:absolute,to:%272019-06-07T05:59:59.999Z%27)))' @@ -167,7 +168,7 @@ describe('ml conditional links', { tags: ['@ess', '@brokenInServerless'] }, () = }); it('redirects from a multiple host names with null for query', () => { - visitWithoutDateRange(mlHostMultiHostNullKqlQuery); + visit(mlHostMultiHostNullKqlQuery); cy.url().should( 'include', '/app/security/hosts/anomalies?sourcerer=(default:(id:security-solution-default,selectedPatterns:!(%27auditbeat-*%27)))&query=(language:kuery,query:%27(host.name:%20%22siem-windows%22%20or%20host.name:%20%22siem-suricata%22)%27)&timerange=(global:(linkTo:!(timeline),timerange:(from:%272019-06-06T06:00:00.000Z%27,kind:absolute,to:%272019-06-07T05:59:59.999Z%27)),timeline:(linkTo:!(global),timerange:(from:%272019-06-06T06:00:00.000Z%27,kind:absolute,to:%272019-06-07T05:59:59.999Z%27)))' @@ -175,7 +176,7 @@ describe('ml conditional links', { tags: ['@ess', '@brokenInServerless'] }, () = }); it('redirects from a multiple host names with a value for query', () => { - visitWithoutDateRange(mlHostMultiHostKqlQuery); + visit(mlHostMultiHostKqlQuery); cy.url().should( 'include', '/app/security/hosts/anomalies?sourcerer=(default:(id:security-solution-default,selectedPatterns:!(%27auditbeat-*%27)))&query=(language:kuery,query:%27(host.name:%20%22siem-windows%22%20or%20host.name:%20%22siem-suricata%22)%20and%20((process.name:%20%22conhost.exe%22%20or%20process.name:%20%22sc.exe%22))%27)&timerange=(global:(linkTo:!(timeline),timerange:(from:%272019-06-06T06:00:00.000Z%27,kind:absolute,to:%272019-06-07T05:59:59.999Z%27)),timeline:(linkTo:!(global),timerange:(from:%272019-06-06T06:00:00.000Z%27,kind:absolute,to:%272019-06-07T05:59:59.999Z%27)))' @@ -183,7 +184,7 @@ describe('ml conditional links', { tags: ['@ess', '@brokenInServerless'] }, () = }); it('redirects from a undefined/null host name with a null for the KQL', () => { - visitWithoutDateRange(mlHostVariableHostNullKqlQuery); + visit(mlHostVariableHostNullKqlQuery); cy.url().should( 'include', '/app/security/hosts/anomalies?sourcerer=(default:(id:security-solution-default,selectedPatterns:!(%27auditbeat-*%27)))&timerange=(global:(linkTo:!(timeline),timerange:(from:%272019-06-06T06:00:00.000Z%27,kind:absolute,to:%272019-06-07T05:59:59.999Z%27)),timeline:(linkTo:!(global),timerange:(from:%272019-06-06T06:00:00.000Z%27,kind:absolute,to:%272019-06-07T05:59:59.999Z%27)))' @@ -191,7 +192,7 @@ describe('ml conditional links', { tags: ['@ess', '@brokenInServerless'] }, () = }); it('redirects from a undefined/null host name but with a value for query', () => { - visitWithoutDateRange(mlHostVariableHostKqlQuery); + visit(mlHostVariableHostKqlQuery); cy.url().should( 'include', '/app/security/hosts/anomalies?sourcerer=(default:(id:security-solution-default,selectedPatterns:!(%27auditbeat-*%27)))&query=(language:kuery,query:%27(process.name:%20%22conhost.exe%22%20or%20process.name:%20%22sc.exe%22)%27)&timerange=(global:(linkTo:!(timeline),timerange:(from:%272019-06-06T06:00:00.000Z%27,kind:absolute,to:%272019-06-07T05:59:59.999Z%27)),timeline:(linkTo:!(global),timerange:(from:%272019-06-06T06:00:00.000Z%27,kind:absolute,to:%272019-06-07T05:59:59.999Z%27)))' diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/overview/cti_link_panel.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/overview/cti_link_panel.cy.ts index 6fed0acc748c0b..910c1b131af383 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/overview/cti_link_panel.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/overview/cti_link_panel.cy.ts @@ -12,7 +12,8 @@ import { OVERVIEW_CTI_TOTAL_EVENT_COUNT, } from '../../screens/overview'; -import { login, visit } from '../../tasks/login'; +import { login } from '../../tasks/login'; +import { visit } from '../../tasks/navigation'; import { OVERVIEW_URL } from '../../urls/navigation'; // TODO: https://github.com/elastic/kibana/issues/161539 diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/urls/compatibility.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/urls/compatibility.cy.ts index fc58e8d8de698c..856f112272754a 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/urls/compatibility.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/urls/compatibility.cy.ts @@ -4,28 +4,26 @@ * 2.0; you may not use this file except in compliance with the Elastic License * 2.0. */ -import { ROLES } from '@kbn/security-solution-plugin/common/test'; -import { login, visit, visitWithoutDateRange } from '../../tasks/login'; +import { login } from '../../tasks/login'; +import { visit } from '../../tasks/navigation'; -import { - ALERTS_URL, - detectionRuleEditUrl, - DETECTIONS, - detectionsRuleDetailsUrl, - DETECTIONS_RULE_MANAGEMENT_URL, - ruleDetailsUrl, - ruleEditUrl, - RULE_CREATION, - SECURITY_DETECTIONS_RULES_CREATION_URL, - SECURITY_DETECTIONS_RULES_URL, - SECURITY_DETECTIONS_URL, -} from '../../urls/navigation'; +import { ALERTS_URL, CREATE_RULE_URL } from '../../urls/navigation'; +import { RULES_MANAGEMENT_URL } from '../../urls/rules_management'; import { ABSOLUTE_DATE_RANGE } from '../../urls/state'; import { DATE_PICKER_START_DATE_POPOVER_BUTTON, GET_DATE_PICKER_END_DATE_POPOVER_BUTTON, } from '../../screens/date_picker'; +import { ruleDetailsUrl } from '../../urls/rule_details'; +import { editRuleUrl } from '../../urls/edit_rule'; + +const LEGACY_DETECTIONS_URL_1 = '/app/siem#/detections'; +const LEGACY_DETECTIONS_URL_2 = '/app/security/detections'; +const LEGACY_DETECTIONS_RULES_URL = '/app/security/detections/rules'; +const LEGACY_DETECTIONS_CREATE_RULE_URL = '/app/security/detections/rules/create'; +const legacyRuleDetailsUrl = (ruleId: string) => `app/security/detections/rules/id/${ruleId}`; +const legacyRuleEditUrl = (ruleId: string) => `app/security/detections/rules/id/${ruleId}/edit`; const ABSOLUTE_DATE = { endTime: 'Aug 1, 2019 @ 20:33:29.186', @@ -36,48 +34,46 @@ const RULE_ID = '5a4a0460-d822-11eb-8962-bfd4aff0a9b3'; describe('URL compatibility', { tags: ['@ess', '@brokenInServerless'] }, () => { beforeEach(() => { - login(ROLES.platform_engineer); - visit(SECURITY_DETECTIONS_URL); login(); }); it('Redirects to alerts from old siem Detections URL', () => { - visit(DETECTIONS); + visit(LEGACY_DETECTIONS_URL_1); cy.url().should('include', ALERTS_URL); }); it('Redirects to alerts from old Detections URL', () => { - visit(SECURITY_DETECTIONS_URL); + visit(LEGACY_DETECTIONS_URL_2); cy.url().should('include', ALERTS_URL); }); it('Redirects to rules from old Detections rules URL', () => { - visit(SECURITY_DETECTIONS_RULES_URL); - cy.url().should('include', DETECTIONS_RULE_MANAGEMENT_URL); + visit(LEGACY_DETECTIONS_RULES_URL); + cy.url().should('include', RULES_MANAGEMENT_URL); }); it('Redirects to rules creation from old Detections rules creation URL', () => { - visit(SECURITY_DETECTIONS_RULES_CREATION_URL); - cy.url().should('include', RULE_CREATION); + visit(LEGACY_DETECTIONS_CREATE_RULE_URL); + cy.url().should('include', CREATE_RULE_URL); }); it('Redirects to rule details from old Detections rule details URL', () => { - visit(detectionsRuleDetailsUrl(RULE_ID)); + visit(legacyRuleDetailsUrl(RULE_ID)); cy.url().should('include', ruleDetailsUrl(RULE_ID)); }); it('Redirects to rule details alerts tab from old Detections rule details URL', () => { - visit(ruleDetailsUrl(RULE_ID)); - cy.url().should('include', `${ruleDetailsUrl(RULE_ID)}/alerts`); + visit(legacyRuleDetailsUrl(RULE_ID)); + cy.url().should('include', ruleDetailsUrl(RULE_ID, 'alerts')); }); it('Redirects to rule edit from old Detections rule edit URL', () => { - visit(detectionRuleEditUrl(RULE_ID)); - cy.url().should('include', ruleEditUrl(RULE_ID)); + visit(legacyRuleEditUrl(RULE_ID)); + cy.url().should('include', editRuleUrl(RULE_ID)); }); it('sets the global start and end dates from the url with timestamps', () => { - visitWithoutDateRange(ABSOLUTE_DATE_RANGE.urlWithTimestamps); + visit(ABSOLUTE_DATE_RANGE.urlWithTimestamps); cy.get(DATE_PICKER_START_DATE_POPOVER_BUTTON).should( 'have.attr', 'title', diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/urls/not_found.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/urls/not_found.cy.ts index 0233442eef2595..b257e340bd7cbc 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/urls/not_found.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/urls/not_found.cy.ts @@ -5,7 +5,8 @@ * 2.0. */ -import { login, visit } from '../../tasks/login'; +import { login } from '../../tasks/login'; +import { visitWithTimeRange } from '../../tasks/navigation'; import { ALERTS_URL, @@ -14,13 +15,13 @@ import { EVENT_FILTERS_URL, TIMELINES_URL, EXCEPTIONS_URL, - DETECTIONS_RULE_MANAGEMENT_URL, - RULE_CREATION, - ruleEditUrl, - ruleDetailsUrl, + CREATE_RULE_URL, } from '../../urls/navigation'; +import { RULES_MANAGEMENT_URL } from '../../urls/rules_management'; import { NOT_FOUND } from '../../screens/common/page'; +import { ruleDetailsUrl } from '../../urls/rule_details'; +import { editRuleUrl } from '../../urls/edit_rule'; const mockRuleId = '5a4a0460-d822-11eb-8962-bfd4aff0a9b3'; @@ -28,52 +29,52 @@ const mockRuleId = '5a4a0460-d822-11eb-8962-bfd4aff0a9b3'; describe('Display not found page', { tags: ['@ess', '@serverless', '@brokenInServerless'] }, () => { beforeEach(() => { login(); - visit(TIMELINES_URL); + visitWithTimeRange(TIMELINES_URL); }); // TODO: We need to determine what we want the behavior to be here it.skip('navigates to the alerts page with incorrect link', () => { - visit(`${ALERTS_URL}/randomUrl`); + visitWithTimeRange(`${ALERTS_URL}/randomUrl`); cy.get(NOT_FOUND).should('exist'); }); it('navigates to the exceptions page with incorrect link', () => { - visit(`${EXCEPTIONS_URL}/randomUrl`); + visitWithTimeRange(`${EXCEPTIONS_URL}/randomUrl`); cy.get(NOT_FOUND).should('exist'); }); it('navigates to the rules page with incorrect link', () => { - visit(`${DETECTIONS_RULE_MANAGEMENT_URL}/randomUrl`); + visitWithTimeRange(`${RULES_MANAGEMENT_URL}/randomUrl`); cy.get(NOT_FOUND).should('exist'); }); it('navigates to the rules creation page with incorrect link', () => { - visit(`${RULE_CREATION}/randomUrl`); + visitWithTimeRange(`${CREATE_RULE_URL}/randomUrl`); cy.get(NOT_FOUND).should('exist'); }); it('navigates to the rules details page with incorrect link', () => { - visit(`${ruleDetailsUrl(mockRuleId)}/randomUrl`); + visitWithTimeRange(`${ruleDetailsUrl(mockRuleId)}/randomUrl`); cy.get(NOT_FOUND).should('exist'); }); it('navigates to the edit rules page with incorrect link', () => { - visit(`${ruleEditUrl(mockRuleId)}/randomUrl`); + visitWithTimeRange(`${editRuleUrl(mockRuleId)}/randomUrl`); cy.get(NOT_FOUND).should('exist'); }); it('navigates to the endpoints page with incorrect link', () => { - visit(`${ENDPOINTS_URL}/randomUrl`); + visitWithTimeRange(`${ENDPOINTS_URL}/randomUrl`); cy.get(NOT_FOUND).should('exist'); }); it('navigates to the trusted applications page with incorrect link', () => { - visit(`${TRUSTED_APPS_URL}/randomUrl`); + visitWithTimeRange(`${TRUSTED_APPS_URL}/randomUrl`); cy.get(NOT_FOUND).should('exist'); }); it('navigates to the event filters page with incorrect link', () => { - visit(`${EVENT_FILTERS_URL}/randomUrl`); + visitWithTimeRange(`${EVENT_FILTERS_URL}/randomUrl`); cy.get(NOT_FOUND).should('exist'); }); }); diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/urls/state.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/urls/state.cy.ts index ca4542310f501d..57adca249c003a 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/urls/state.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/urls/state.cy.ts @@ -25,7 +25,8 @@ import { } from '../../screens/security_header'; import { TIMELINE_DATE_PICKER_CONTAINER, TIMELINE_TITLE } from '../../screens/timeline'; -import { login, visit, visitWithoutDateRange } from '../../tasks/login'; +import { login } from '../../tasks/login'; +import { visit, visitWithTimeRange } from '../../tasks/navigation'; import { updateDates, setStartDate, @@ -45,7 +46,7 @@ import { import { openTimelineUsingToggle } from '../../tasks/security_main'; import { addNameToTimeline, closeTimeline, populateTimeline } from '../../tasks/timeline'; -import { HOSTS_URL } from '../../urls/navigation'; +import { hostsUrl } from '../../urls/navigation'; import { ABSOLUTE_DATE_RANGE } from '../../urls/state'; import { getTimeline } from '../../objects/timeline'; @@ -74,7 +75,7 @@ describe('url state', { tags: ['@ess', '@brokenInServerless'] }, () => { }); it('sets filters from the url', () => { - visitWithoutDateRange(ABSOLUTE_DATE_RANGE.urlFiltersHostsHosts); + visit(ABSOLUTE_DATE_RANGE.urlFiltersHostsHosts); cy.get(GLOBAL_SEARCH_BAR_FILTER_ITEM_AT(0)).should('have.text', 'host.name: test-host'); cy.get(GLOBAL_SEARCH_BAR_FILTER_ITEM_AT(0)) @@ -84,7 +85,7 @@ describe('url state', { tags: ['@ess', '@brokenInServerless'] }, () => { }); it('sets saved query from the url', () => { - visitWithoutDateRange(ABSOLUTE_DATE_RANGE.urlFiltersHostsHosts); + visit(ABSOLUTE_DATE_RANGE.urlFiltersHostsHosts); saveQuery('test-query'); // refresh the page to force loading the saved query from the URL cy.reload(); @@ -97,7 +98,7 @@ describe('url state', { tags: ['@ess', '@brokenInServerless'] }, () => { }); it('sets the global start and end dates from the url', () => { - visitWithoutDateRange(ABSOLUTE_DATE_RANGE.url); + visit(ABSOLUTE_DATE_RANGE.url); cy.get(DATE_PICKER_START_DATE_POPOVER_BUTTON).should( 'have.attr', 'title', @@ -111,7 +112,7 @@ describe('url state', { tags: ['@ess', '@brokenInServerless'] }, () => { }); it('sets the url state when start and end date are set', () => { - visitWithoutDateRange(ABSOLUTE_DATE_RANGE.url); + visit(ABSOLUTE_DATE_RANGE.url); setStartDate(ABSOLUTE_DATE.newStartTimeTyped); updateDates(); waitForIpsTableToBeLoaded(); @@ -136,7 +137,7 @@ describe('url state', { tags: ['@ess', '@brokenInServerless'] }, () => { }); it('sets the timeline start and end dates from the url when locked to global time', () => { - visitWithoutDateRange(ABSOLUTE_DATE_RANGE.url); + visit(ABSOLUTE_DATE_RANGE.url); openTimelineUsingToggle(); cy.get(GET_LOCAL_DATE_PICKER_START_DATE_POPOVER_BUTTON(TIMELINE_DATE_PICKER_CONTAINER)).should( @@ -152,7 +153,7 @@ describe('url state', { tags: ['@ess', '@brokenInServerless'] }, () => { }); it('sets the timeline start and end dates independently of the global start and end dates when times are unlocked', () => { - visitWithoutDateRange(ABSOLUTE_DATE_RANGE.urlUnlinked); + visit(ABSOLUTE_DATE_RANGE.urlUnlinked); cy.get(DATE_PICKER_START_DATE_POPOVER_BUTTON).should( 'have.attr', 'title', @@ -179,7 +180,7 @@ describe('url state', { tags: ['@ess', '@brokenInServerless'] }, () => { }); it('sets the url state when timeline/global date pickers are unlinked and timeline start and end date are set', () => { - visitWithoutDateRange(ABSOLUTE_DATE_RANGE.urlUnlinked); + visit(ABSOLUTE_DATE_RANGE.urlUnlinked); openTimelineUsingToggle(); setStartDate(ABSOLUTE_DATE.newStartTimeTyped, TIMELINE_DATE_PICKER_CONTAINER); updateTimelineDates(); @@ -204,17 +205,17 @@ describe('url state', { tags: ['@ess', '@brokenInServerless'] }, () => { }); it('sets kql on network page', () => { - visitWithoutDateRange(ABSOLUTE_DATE_RANGE.urlKqlNetworkNetwork); + visit(ABSOLUTE_DATE_RANGE.urlKqlNetworkNetwork); cy.get(KQL_INPUT).should('have.text', 'source.ip: "10.142.0.9"'); }); it('sets kql on hosts page', () => { - visitWithoutDateRange(ABSOLUTE_DATE_RANGE.urlKqlHostsHosts); + visit(ABSOLUTE_DATE_RANGE.urlKqlHostsHosts); cy.get(KQL_INPUT).should('have.text', 'source.ip: "10.142.0.9"'); }); it('sets the url state when kql is set', () => { - visitWithoutDateRange(ABSOLUTE_DATE_RANGE.url); + visit(ABSOLUTE_DATE_RANGE.url); kqlSearch('source.ip: "10.142.0.9" {enter}'); cy.url().should( @@ -224,7 +225,7 @@ describe('url state', { tags: ['@ess', '@brokenInServerless'] }, () => { }); it('sets the url state when kql is set and check if href reflect this change', () => { - visitWithoutDateRange(ABSOLUTE_DATE_RANGE.url); + visit(ABSOLUTE_DATE_RANGE.url); kqlSearch('source.ip: "10.142.0.9" {enter}'); navigateFromHeaderTo(HOSTS); @@ -238,7 +239,7 @@ describe('url state', { tags: ['@ess', '@brokenInServerless'] }, () => { }); it('sets KQL in host page and detail page and check if href match on breadcrumb, tabs and subTabs', () => { - visitWithoutDateRange(ABSOLUTE_DATE_RANGE.urlHostNew); + visit(ABSOLUTE_DATE_RANGE.urlHostNew); kqlSearch('host.name: "siem-kibana" {enter}'); openAllHosts(); waitForAllHostsToBeLoaded(); @@ -286,13 +287,13 @@ describe('url state', { tags: ['@ess', '@brokenInServerless'] }, () => { }); it('Do not clears kql when navigating to a new page', () => { - visitWithoutDateRange(ABSOLUTE_DATE_RANGE.urlKqlHostsHosts); + visit(ABSOLUTE_DATE_RANGE.urlKqlHostsHosts); navigateFromHeaderTo(NETWORK); cy.get(KQL_INPUT).should('have.text', 'source.ip: "10.142.0.9"'); }); it('sets and reads the url state for timeline by id', () => { - visit(HOSTS_URL); + visitWithTimeRange(hostsUrl('allHosts')); openTimelineUsingToggle(); populateTimeline(); @@ -303,8 +304,8 @@ describe('url state', { tags: ['@ess', '@brokenInServerless'] }, () => { closeTimeline(); cy.wrap(response?.statusCode).should('eql', 200); const timelineId = response?.body.data.persistTimeline.timeline.savedObjectId; - visit('/app/home'); - visit(`/app/security/timelines?timeline=(id:'${timelineId}',isOpen:!t)`); + visitWithTimeRange('/app/home'); + visitWithTimeRange(`/app/security/timelines?timeline=(id:'${timelineId}',isOpen:!t)`); cy.get(DATE_PICKER_APPLY_BUTTON_TIMELINE).should('exist'); cy.get(DATE_PICKER_APPLY_BUTTON_TIMELINE).should('not.have.text', 'Updating'); cy.get(TIMELINE).should('be.visible'); diff --git a/x-pack/test/security_solution_cypress/cypress/screens/inspect.ts b/x-pack/test/security_solution_cypress/cypress/screens/inspect.ts index 36d3dff6d349ee..0759fb1e4924ce 100644 --- a/x-pack/test/security_solution_cypress/cypress/screens/inspect.ts +++ b/x-pack/test/security_solution_cypress/cypress/screens/inspect.ts @@ -5,7 +5,7 @@ * 2.0. */ -import { HOSTS_URL, NETWORK_URL, USERS_URL } from '../urls/navigation'; +import { hostsUrl, NETWORK_URL, USERS_URL } from '../urls/navigation'; import { EVENT_CONTAINER_TABLE_NOT_LOADING } from './alerts'; import { ALL_HOSTS_TAB, ALL_HOSTS_TABLE, UNIQUE_IPS_VISUALIZATIONS } from './hosts/all_hosts'; import { HOST_BY_RISK_TABLE, RISK_DETAILS_NAV } from './hosts/host_risk'; @@ -68,7 +68,7 @@ export interface InspectButtonMetadata { export const INSPECT_BUTTONS_IN_SECURITY: InspectButtonMetadata[] = [ { pageName: 'Hosts', - url: HOSTS_URL, + url: hostsUrl('allHosts'), tables: [ { title: 'All Hosts Table', diff --git a/x-pack/test/security_solution_cypress/cypress/tasks/alerts.ts b/x-pack/test/security_solution_cypress/cypress/tasks/alerts.ts index 8816851dcec7cd..b96667dd3d3de9 100644 --- a/x-pack/test/security_solution_cypress/cypress/tasks/alerts.ts +++ b/x-pack/test/security_solution_cypress/cypress/tasks/alerts.ts @@ -83,8 +83,8 @@ import { import { LOADING_SPINNER } from '../screens/common/page'; import { ALERTS_URL } from '../urls/navigation'; import { FIELDS_BROWSER_BTN } from '../screens/rule_details'; -import { visit } from './login'; import { openFilterGroupContextMenu } from './common/filter_group'; +import { visitWithTimeRange } from './navigation'; export const addExceptionFromFirstAlert = () => { expandFirstAlertActions(); @@ -460,7 +460,7 @@ export const selectAllAlerts = () => { export const visitAlertsPageWithCustomFilters = (pageFilters: FilterItemObj[]) => { const pageFilterUrlVal = encode(formatPageFilterSearchParam(pageFilters)); const newURL = `${ALERTS_URL}?pageFilters=${pageFilterUrlVal}`; - visit(newURL); + visitWithTimeRange(newURL); }; export const openSessionViewerFromAlertTable = (rowIndex: number = 0) => { diff --git a/x-pack/test/security_solution_cypress/cypress/tasks/api_calls/risk_scores/index.ts b/x-pack/test/security_solution_cypress/cypress/tasks/api_calls/risk_scores/index.ts index 5cadf80cf96740..6ed6665beb4552 100644 --- a/x-pack/test/security_solution_cypress/cypress/tasks/api_calls/risk_scores/index.ts +++ b/x-pack/test/security_solution_cypress/cypress/tasks/api_calls/risk_scores/index.ts @@ -7,7 +7,7 @@ import { ENTITY_ANALYTICS_URL } from '../../../urls/navigation'; import { RISK_SCORE_URL } from '../../../urls/risk_score'; -import { visit } from '../../login'; +import { visitWithTimeRange } from '../../navigation'; import { RiskScoreEntity } from '../../risk_scores/common'; import { getLegacyRiskScoreIndicesOptions, @@ -183,7 +183,7 @@ const installLegacyHostRiskScoreModule = (spaceId: string, version?: '8.3' | '8. }) .then(() => { // refresh page - visit(ENTITY_ANALYTICS_URL); + visitWithTimeRange(ENTITY_ANALYTICS_URL); }); }; @@ -267,7 +267,7 @@ const installLegacyUserRiskScoreModule = async (spaceId = 'default', version?: ' return startTransforms(transformIds); }) .then(() => { - visit(ENTITY_ANALYTICS_URL); + visitWithTimeRange(ENTITY_ANALYTICS_URL); }); }; diff --git a/x-pack/test/security_solution_cypress/cypress/tasks/edit_rule.ts b/x-pack/test/security_solution_cypress/cypress/tasks/edit_rule.ts index 42d5619c28a675..fa7e2bd175dc00 100644 --- a/x-pack/test/security_solution_cypress/cypress/tasks/edit_rule.ts +++ b/x-pack/test/security_solution_cypress/cypress/tasks/edit_rule.ts @@ -5,7 +5,14 @@ * 2.0. */ +import { ROLES } from '@kbn/security-solution-plugin/common/test'; import { BACK_TO_RULE_DETAILS, EDIT_SUBMIT_BUTTON } from '../screens/edit_rule'; +import { editRuleUrl } from '../urls/edit_rule'; +import { visit } from './navigation'; + +export function visitEditRulePage(ruleId: string, role?: ROLES): void { + visit(editRuleUrl(ruleId), { role }); +} export const saveEditedRule = () => { cy.get(EDIT_SUBMIT_BUTTON).should('exist').click({ force: true }); diff --git a/x-pack/test/security_solution_cypress/cypress/tasks/entity_analytics.ts b/x-pack/test/security_solution_cypress/cypress/tasks/entity_analytics.ts index 8bfc94e4f8f9ca..2d8582198c4e0a 100644 --- a/x-pack/test/security_solution_cypress/cypress/tasks/entity_analytics.ts +++ b/x-pack/test/security_solution_cypress/cypress/tasks/entity_analytics.ts @@ -18,12 +18,11 @@ import { RISK_SCORE_SWITCH, RISK_PREVIEW_ERROR_BUTTON, } from '../screens/entity_analytics_management'; - -import { visit } from './login'; +import { visitWithTimeRange } from './navigation'; export const waitForAnomaliesToBeLoaded = () => { cy.waitUntil(() => { - visit(ENTITY_ANALYTICS_URL); + visitWithTimeRange(ENTITY_ANALYTICS_URL); cy.get(BASIC_TABLE_LOADING).should('exist'); cy.get(BASIC_TABLE_LOADING).should('not.exist'); return cy.get(ANOMALIES_TABLE_ROWS).then((tableRows) => tableRows.length > 1); diff --git a/x-pack/test/security_solution_cypress/cypress/tasks/login.ts b/x-pack/test/security_solution_cypress/cypress/tasks/login.ts index ef6fcb07691e7c..34312b3bd58768 100644 --- a/x-pack/test/security_solution_cypress/cypress/tasks/login.ts +++ b/x-pack/test/security_solution_cypress/cypress/tasks/login.ts @@ -5,21 +5,13 @@ * 2.0. */ -import { encode } from '@kbn/rison'; import * as yaml from 'js-yaml'; import type { UrlObject } from 'url'; import Url from 'url'; import type { ROLES } from '@kbn/security-solution-plugin/common/test'; -import { NEW_FEATURES_TOUR_STORAGE_KEYS } from '@kbn/security-solution-plugin/common/constants'; import { LoginState } from '@kbn/security-plugin/common/login_state'; -import { - hostDetailsUrl, - LOGOUT_URL, - SECURITY_DETECTIONS_RULES_URL, - userDetailsUrl, -} from '../urls/navigation'; -import { resetRulesTableState } from './common'; +import { LOGOUT_URL } from '../urls/navigation'; /** * Credentials in the `kibana.dev.yml` config file will be used to authenticate @@ -59,7 +51,7 @@ const ELASTICSEARCH_PASSWORD = 'ELASTICSEARCH_PASSWORD'; * @param role string role/user to log in with * @param route string route to visit */ -const getUrlWithRoute = (role: ROLES, route: string) => { +export const getUrlWithRoute = (role: ROLES, route: string) => { const url = Cypress.config().baseUrl; const kibana = new URL(String(url)); const theUrl = `${Url.format({ @@ -74,7 +66,7 @@ const getUrlWithRoute = (role: ROLES, route: string) => { return theUrl; }; -interface User { +export interface User { username: string; password: string; } @@ -263,109 +255,6 @@ export const getEnvAuth = (): User => { } }; -/** - * For all the new features tours we show in the app, this method disables them - * by setting their configs in the local storage. It prevents the tours from appearing - * on the page during test runs and covering other UI elements. - * @param window - browser's window object - */ -const disableNewFeaturesTours = (window: Window) => { - const tourStorageKeys = Object.values(NEW_FEATURES_TOUR_STORAGE_KEYS); - const tourConfig = { - isTourActive: false, - }; - - tourStorageKeys.forEach((key) => { - window.localStorage.setItem(key, JSON.stringify(tourConfig)); - }); -}; - -/** - * Authenticates with Kibana, visits the specified `url`, and waits for the - * Kibana global nav to be displayed before continuing - */ - -export const waitForPage = (url: string) => { - cy.visit( - `${url}?timerange=(global:(linkTo:!(timeline),timerange:(from:1547914976217,fromStr:'2019-01-19T16:22:56.217Z',kind:relative,to:1579537385745,toStr:now)),timeline:(linkTo:!(global),timerange:(from:1547914976217,fromStr:'2019-01-19T16:22:56.217Z',kind:relative,to:1579537385745,toStr:now)))` - ); -}; - -export const visit = (url: string, options: Partial = {}, role?: ROLES) => { - const timerangeConfig = { - from: 1547914976217, - fromStr: '2019-01-19T16:22:56.217Z', - kind: 'relative', - to: 1579537385745, - toStr: 'now', - }; - - const timerange = encode({ - global: { - linkTo: ['timeline'], - timerange: timerangeConfig, - }, - timeline: { - linkTo: ['global'], - timerange: timerangeConfig, - }, - }); - - cy.visit(role ? getUrlWithRoute(role, url) : url, { - ...options, - qs: { - ...options.qs, - timerange, - }, - onBeforeLoad: (win) => { - options.onBeforeLoad?.(win); - - disableNewFeaturesTours(win); - }, - onLoad: (win) => { - options.onLoad?.(win); - }, - }); -}; - -export const visitWithoutDateRange = (url: string, role?: ROLES) => { - cy.visit(role ? getUrlWithRoute(role, url) : url, { - onBeforeLoad: disableNewFeaturesTours, - }); -}; - -export const visitWithUser = (url: string, user: User) => { - cy.visit(constructUrlWithUser(user, url), { - onBeforeLoad: disableNewFeaturesTours, - }); -}; - -export const visitTimeline = (timelineId: string, role?: ROLES) => { - const route = `/app/security/timelines?timeline=(id:'${timelineId}',isOpen:!t)`; - cy.visit(role ? getUrlWithRoute(role, route) : route, { - onBeforeLoad: disableNewFeaturesTours, - }); -}; - -export const visitHostDetailsPage = (hostName = 'suricata-iowa') => { - visit(hostDetailsUrl(hostName)); - cy.get('[data-test-subj="loading-spinner"]').should('exist'); - cy.get('[data-test-subj="loading-spinner"]').should('not.exist'); -}; - -export const visitSecurityDetectionRulesPage = (role?: ROLES) => { - resetRulesTableState(); // Clear persistent rules filter data before page loading - visitWithoutDateRange(SECURITY_DETECTIONS_RULES_URL, role); -}; - -export const visitUserDetailsPage = (userName = 'test') => { - visit(userDetailsUrl(userName)); -}; - -export const waitForPageWithoutDateRange = (url: string, role?: ROLES) => { - cy.visit(role ? getUrlWithRoute(role, url) : url); -}; - export const logout = () => { cy.visit(LOGOUT_URL); }; diff --git a/x-pack/test/security_solution_cypress/cypress/tasks/navigation.ts b/x-pack/test/security_solution_cypress/cypress/tasks/navigation.ts new file mode 100644 index 00000000000000..dc12c26d1f9c9d --- /dev/null +++ b/x-pack/test/security_solution_cypress/cypress/tasks/navigation.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 { encode } from '@kbn/rison'; + +import type { ROLES } from '@kbn/security-solution-plugin/common/test'; +import { NEW_FEATURES_TOUR_STORAGE_KEYS } from '@kbn/security-solution-plugin/common/constants'; +import { hostDetailsUrl, userDetailsUrl } from '../urls/navigation'; +import { constructUrlWithUser, getUrlWithRoute, User } from './login'; + +export const visit = ( + url: string, + options?: { + visitOptions?: Partial; + role?: ROLES; + } +) => { + cy.visit(options?.role ? getUrlWithRoute(options.role, url) : url, { + onBeforeLoad: disableNewFeaturesTours, + ...options?.visitOptions, + }); +}; + +export const visitWithUser = (url: string, user: User) => { + cy.visit(constructUrlWithUser(user, url), { + onBeforeLoad: disableNewFeaturesTours, + }); +}; + +export const visitWithTimeRange = ( + url: string, + options?: { + visitOptions?: Partial; + role?: ROLES; + } +) => { + const timerangeConfig = { + from: 1547914976217, + fromStr: '2019-01-19T16:22:56.217Z', + kind: 'relative', + to: 1579537385745, + toStr: 'now', + }; + + const timerange = encode({ + global: { + linkTo: ['timeline'], + timerange: timerangeConfig, + }, + timeline: { + linkTo: ['global'], + timerange: timerangeConfig, + }, + }); + + cy.visit(options?.role ? getUrlWithRoute(options.role, url) : url, { + ...options, + qs: { + ...options?.visitOptions?.qs, + timerange, + }, + onBeforeLoad: (win) => { + options?.visitOptions?.onBeforeLoad?.(win); + + disableNewFeaturesTours(win); + }, + onLoad: (win) => { + options?.visitOptions?.onLoad?.(win); + }, + }); +}; + +export const visitTimeline = (timelineId: string, role?: ROLES) => { + const route = `/app/security/timelines?timeline=(id:'${timelineId}',isOpen:!t)`; + cy.visit(role ? getUrlWithRoute(role, route) : route, { + onBeforeLoad: disableNewFeaturesTours, + }); +}; + +export const visitHostDetailsPage = (hostName = 'suricata-iowa') => { + visitWithTimeRange(hostDetailsUrl(hostName)); + cy.get('[data-test-subj="loading-spinner"]').should('exist'); + cy.get('[data-test-subj="loading-spinner"]').should('not.exist'); +}; + +export const visitUserDetailsPage = (userName = 'test') => { + visitWithTimeRange(userDetailsUrl(userName)); +}; + +/** + * For all the new features tours we show in the app, this method disables them + * by setting their configs in the local storage. It prevents the tours from appearing + * on the page during test runs and covering other UI elements. + * @param window - browser's window object + */ +const disableNewFeaturesTours = (window: Window) => { + const tourStorageKeys = Object.values(NEW_FEATURES_TOUR_STORAGE_KEYS); + const tourConfig = { + isTourActive: false, + }; + + tourStorageKeys.forEach((key) => { + window.localStorage.setItem(key, JSON.stringify(tourConfig)); + }); +}; diff --git a/x-pack/test/security_solution_cypress/cypress/tasks/rule_details.ts b/x-pack/test/security_solution_cypress/cypress/tasks/rule_details.ts index b18905b4436794..9264b17fec0812 100644 --- a/x-pack/test/security_solution_cypress/cypress/tasks/rule_details.ts +++ b/x-pack/test/security_solution_cypress/cypress/tasks/rule_details.ts @@ -5,6 +5,7 @@ * 2.0. */ +import { ROLES } from '@kbn/security-solution-plugin/common/test'; import type { Exception } from '../objects/exception'; import { PAGE_CONTENT_SPINNER } from '../screens/common/page'; import { RULE_STATUS } from '../screens/create_new_rule'; @@ -34,6 +35,7 @@ import { EXCEPTIONS_TAB_ACTIVE_FILTER, RULE_NAME_HEADER, } from '../screens/rule_details'; +import { RuleDetailsTabs, ruleDetailsUrl } from '../urls/rule_details'; import { addExceptionConditions, addExceptionFlyoutItemName, @@ -41,6 +43,16 @@ import { submitNewExceptionItem, } from './exceptions'; import { addsFields, closeFieldsBrowser, filterFieldsBrowser } from './fields_browser'; +import { visit } from './navigation'; + +interface VisitRuleDetailsPageOptions { + tab?: RuleDetailsTabs; + role?: ROLES; +} + +export function visitRuleDetailsPage(ruleId: string, options?: VisitRuleDetailsPageOptions): void { + visit(ruleDetailsUrl(ruleId, options?.tab), { role: options?.role }); +} export const enablesRule = () => { // Rules get enabled via _bulk_action endpoint diff --git a/x-pack/test/security_solution_cypress/cypress/tasks/rules_management.ts b/x-pack/test/security_solution_cypress/cypress/tasks/rules_management.ts new file mode 100644 index 00000000000000..6c6bbfb1564e2b --- /dev/null +++ b/x-pack/test/security_solution_cypress/cypress/tasks/rules_management.ts @@ -0,0 +1,16 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import type { ROLES } from '@kbn/security-solution-plugin/common/test'; +import { RULES_MANAGEMENT_URL } from '../urls/rules_management'; +import { resetRulesTableState } from './common'; +import { visit } from './navigation'; + +export function visitRulesManagementTable(role?: ROLES): void { + resetRulesTableState(); // Clear persistent rules filter data before page loading + visit(RULES_MANAGEMENT_URL, { role }); +} diff --git a/x-pack/test/security_solution_cypress/cypress/tasks/sourcerer.ts b/x-pack/test/security_solution_cypress/cypress/tasks/sourcerer.ts index 131a22fd24a740..39a6ed99b1b2e4 100644 --- a/x-pack/test/security_solution_cypress/cypress/tasks/sourcerer.ts +++ b/x-pack/test/security_solution_cypress/cypress/tasks/sourcerer.ts @@ -7,10 +7,10 @@ import { DEFAULT_ALERTS_INDEX } from '@kbn/security-solution-plugin/common/constants'; import { HOSTS_STAT, SOURCERER } from '../screens/sourcerer'; -import { HOSTS_URL } from '../urls/navigation'; -import { visit, waitForPage } from './login'; +import { hostsUrl } from '../urls/navigation'; import { openTimelineUsingToggle } from './security_main'; import { rootRequest } from './common'; +import { visitWithTimeRange } from './navigation'; export const openSourcerer = (sourcererScope?: string) => { if (sourcererScope != null && sourcererScope === 'timeline') { @@ -97,7 +97,7 @@ export const resetSourcerer = () => { export const clickAlertCheckbox = () => cy.get(SOURCERER.alertCheckbox).check({ force: true }); export const addIndexToDefault = (index: string) => { - visit(`/app/management/kibana/settings?query=category:(securitySolution)`); + visitWithTimeRange(`/app/management/kibana/settings?query=category:(securitySolution)`); cy.get(SOURCERER.siemDefaultIndexInput) .invoke('val') .then((patterns) => { @@ -110,7 +110,7 @@ export const addIndexToDefault = (index: string) => { cy.get('button[data-test-subj="advancedSetting-saveButton"]').click(); cy.get('button[data-test-subj="windowReloadButton"]').click(); - waitForPage(HOSTS_URL); + visitWithTimeRange(hostsUrl('allHosts')); }); }; diff --git a/x-pack/test/security_solution_cypress/cypress/urls/edit_rule.ts b/x-pack/test/security_solution_cypress/cypress/urls/edit_rule.ts new file mode 100644 index 00000000000000..0160628e9b1d64 --- /dev/null +++ b/x-pack/test/security_solution_cypress/cypress/urls/edit_rule.ts @@ -0,0 +1,10 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +export function editRuleUrl(ruleId: string): string { + return `/app/security/rules/id/${ruleId}/edit`; +} diff --git a/x-pack/test/security_solution_cypress/cypress/urls/navigation.ts b/x-pack/test/security_solution_cypress/cypress/urls/navigation.ts index eca48ae6fafff5..b63e785c967505 100644 --- a/x-pack/test/security_solution_cypress/cypress/urls/navigation.ts +++ b/x-pack/test/security_solution_cypress/cypress/urls/navigation.ts @@ -7,69 +7,54 @@ export const KIBANA_HOME = '/app/home#/'; export const KIBANA_SAVED_OBJECTS = '/app/management/kibana/objects'; +export const LOGOUT_URL = '/logout'; + +// Common +export const MANAGE_URL = '/app/security/manage'; +export const DASHBOARDS_URL = '/app/security/dashboards'; -export const ALERTS_URL = 'app/security/alerts'; export const ENDPOINTS_URL = '/app/security/administration/endpoints'; export const POLICIES_URL = '/app/security/administration/policy'; export const USERS_URL = '/app/security/users/allUsers'; -export const DETECTIONS_RESPONSE_URL = '/app/security/detection_response'; export const TRUSTED_APPS_URL = '/app/security/administration/trusted_apps'; export const EVENT_FILTERS_URL = '/app/security/administration/event_filters'; export const BLOCKLIST_URL = '/app/security/administration/blocklist'; export const CSP_BENCHMARKS_URL = '/app/security/cloud_security_posture/benchmarks'; -export const NETWORK_URL = '/app/security/network'; +export const CSP_DASHBOARD_URL = '/app/security/cloud_security_posture/dashboard'; +export const CSP_FINDINGS_URL = '/app/security/cloud_security_posture/findings/vulnerabilities'; + +export const NETWORK_URL = '/app/security/network/flows'; export const OVERVIEW_URL = '/app/security/overview'; -export const DASHBOARDS_URL = '/app/security/dashboards'; -export const DETECTION_RESPONSE_URL = '/app/security/detection_response'; + export const ENTITY_ANALYTICS_URL = '/app/security/entity_analytics'; export const KUBERNETES_URL = '/app/security/kubernetes'; -export const CSP_DASHBOARD_URL = '/app/security/cloud_security_posture/dashboard'; + export const INDICATORS_URL = '/app/security/threat_intelligence/indicators'; export const EXPLORE_URL = '/app/security/explore'; -export const MANAGE_URL = '/app/security/manage'; -export const RULE_CREATION = 'app/security/rules/create'; -export const TIMELINES_URL = '/app/security/timelines'; +export const userDetailsUrl = (userName: string) => + `/app/security/users/name/${userName}/authentications`; + +export const TIMELINES_URL = '/app/security/timelines/default'; export const TIMELINE_TEMPLATES_URL = '/app/security/timelines/template'; export const CASES_URL = '/app/security/cases'; -export const EXCEPTIONS_URL = 'app/security/exceptions'; -export const EXCEPTIONS_LIST_URL = 'app/security/exceptions/details'; -export const HOSTS_URL = '/app/security/hosts/allHosts'; -export const CSP_FINDINGS_URL = 'app/security/cloud_security_posture/findings'; -export const DETECTIONS_RULE_MANAGEMENT_URL = 'app/security/rules'; -export const DETECTIONS = '/app/siem#/detections'; -export const SECURITY_DETECTIONS_URL = '/app/security/detections'; -export const SECURITY_DETECTIONS_RULES_URL = '/app/security/detections/rules'; -export const SECURITY_DETECTIONS_RULES_MANAGEMENT_URL = '/app/security/detections/rules/management'; -export const SECURITY_DETECTIONS_RULES_MONITORING_URL = '/app/security/detections/rules/monitoring'; -export const SECURITY_DETECTIONS_RULES_CREATION_URL = '/app/security/detections/rules/create'; -export const ENTITY_ANALYTICS_MANAGEMENT_URL = '/app/security/entity_analytics_management'; -export const HOSTS_PAGE_TAB_URLS = { - allHosts: '/app/security/hosts/allHosts', - anomalies: '/app/security/hosts/anomalies', - events: '/app/security/hosts/events', - uncommonProcesses: '/app/security/hosts/uncommonProcesses', -}; -export const LOGOUT_URL = '/logout'; +export const hostsUrl = (tab: 'allHosts' | 'anomalies' | 'events' | 'uncommonProcesses'): string => + `/app/security/hosts/${tab}`; export const DISCOVER_WITH_FILTER_URL = "/app/discover#/?_g=(filters:!(),refreshInterval:(pause:!t,value:0),time:(from:now%2Fd,to:now%2Fd))&_a=(columns:!(),filters:!(('$state':(store:appState),meta:(alias:!n,disabled:!f,index:security-solution-default,key:host.name,negate:!f,params:(query:test-host),type:phrase),query:(match_phrase:(host.name:test-host)))),index:security-solution-default,interval:auto,query:(language:kuery,query:''),sort:!(!('@timestamp',desc)))"; export const DISCOVER_WITH_PINNED_FILTER_URL = "/app/discover#/?_g=(filters:!(('$state':(store:globalState),meta:(alias:!n,disabled:!f,index:security-solution-default,key:host.name,negate:!f,params:(query:test-host),type:phrase),query:(match_phrase:(host.name:test-host)))),refreshInterval:(pause:!t,value:0),time:(from:now-15m,to:now))&_a=(columns:!(),filters:!(),index:security-solution-default,interval:auto,query:(language:kuery,query:''),sort:!(!('@timestamp',desc)))"; -export const ruleDetailsUrl = ( - ruleId: string, - section?: 'alerts' | 'rule_exceptions' | 'endpoint_exceptions' | 'execution_results' -) => `app/security/rules/id/${ruleId}${section ? `/${section}` : ''}`; -export const detectionsRuleDetailsUrl = (ruleId: string) => - `app/security/detections/rules/id/${ruleId}`; - -export const ruleEditUrl = (ruleId: string) => `${ruleDetailsUrl(ruleId)}/edit`; -export const detectionRuleEditUrl = (ruleId: string) => `${detectionsRuleDetailsUrl(ruleId)}/edit`; - export const hostDetailsUrl = (hostName: string) => `/app/security/hosts/${hostName}/authentications`; -export const userDetailsUrl = (userName: string) => `/app/security/users/${userName}/allUsers`; +// Detection and Response +export const DETECTION_AND_RESPONSE_URL = '/app/security/detection_response'; +export const ALERTS_URL = '/app/security/alerts'; +export const EXCEPTIONS_URL = '/app/security/exceptions'; +export const CREATE_RULE_URL = '/app/security/rules/create'; +export const ENTITY_ANALYTICS_MANAGEMENT_URL = '/app/security/entity_analytics_management'; -export const exceptionsListDetailsUrl = (listId: string) => `${EXCEPTIONS_LIST_URL}/${listId}`; +export const exceptionsListDetailsUrl = (listId: string) => + `/app/security/exceptions/details/${listId}`; diff --git a/x-pack/test/security_solution_cypress/cypress/urls/rule_details.ts b/x-pack/test/security_solution_cypress/cypress/urls/rule_details.ts new file mode 100644 index 00000000000000..edaf3e77746d40 --- /dev/null +++ b/x-pack/test/security_solution_cypress/cypress/urls/rule_details.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 type RuleDetailsTabs = + | 'alerts' + | 'rule_exceptions' + | 'endpoint_exceptions' + | 'execution_results'; + +export function ruleDetailsUrl(ruleId: string, tab?: RuleDetailsTabs): string { + return `/app/security/rules/id/${ruleId}${tab ? `/${tab}` : ''}`; +} diff --git a/x-pack/test/security_solution_cypress/cypress/urls/rules_management.ts b/x-pack/test/security_solution_cypress/cypress/urls/rules_management.ts new file mode 100644 index 00000000000000..6b0f4bc2312474 --- /dev/null +++ b/x-pack/test/security_solution_cypress/cypress/urls/rules_management.ts @@ -0,0 +1,9 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +export const RULES_MANAGEMENT_URL = '/app/security/rules/management'; +export const RULES_MONITORING_URL = '/app/security/rules/monitoring'; From bafb23580b18781e711575cd8c0e17a6e3f4f740 Mon Sep 17 00:00:00 2001 From: Hannah Mudge Date: Fri, 22 Sep 2023 13:02:48 -0600 Subject: [PATCH 54/72] [Controls] Use new `panelMinWidth` prop in popovers (#165397) Closes https://github.com/elastic/kibana/issues/164375 ## Summary This PR wraps up https://github.com/elastic/kibana/pull/162651 by fully migrating to the `EuiInputPopover` for all controls - specifically, this is made possible by the new `panelMinWidth` prop, which makes it so that the popover can now extend past the size of the input **while maintaining** the expected positioning. | Before | After | |--------|--------| | The popover was centered underneath the control on the smallest size:

    ![image](https://github.com/elastic/kibana/assets/8698078/e2814ee2-6df6-47d6-925e-9f97cb8be2a5) | The popover is left-aligned with the start of the input and expands to the right:

    ![image](https://github.com/elastic/kibana/assets/8698078/7c698ef0-1534-43b6-ac95-9ae95f1c7613) | | The range slider popover could not extend past the control width, regardless of how small that was:

    ![image](https://github.com/elastic/kibana/assets/8698078/12e33967-b616-4f0a-9ded-4374d65a51b2) | The range slider popover now also has a minimum width, which makes it more useable on the smallest size:

    ![image](https://github.com/elastic/kibana/assets/8698078/2fb844db-8f5d-44d8-a6dc-c9cb95d5a4ea) | ### Checklist - [x] [Unit or functional tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html) were updated or added to match the most common scenarios - [x] Any UI touched in this PR is usable by keyboard only (learn more about [keyboard accessibility](https://webaim.org/techniques/keyboard/)) - [x] Any UI touched in this PR does not create any new axe failures (run axe in browser: [FF](https://addons.mozilla.org/en-US/firefox/addon/axe-devtools/), [Chrome](https://chrome.google.com/webstore/detail/axe-web-accessibility-tes/lhdoppojpmngadmnindnejefpokejbdd?hl=en-US)) - [x] This renders correctly on smaller devices using a responsive layout. (You can test this [in your browser](https://www.browserstack.com/guide/responsive-testing-on-local-server)) - [x] This was checked for [cross-browser compatibility](https://www.elastic.co/support/matrix#matrix_browsers) ### For maintainers - [ ] This was checked for breaking API changes and was [labeled appropriately](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process) --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> --- src/plugins/controls/public/constants.ts | 9 +++ .../public/control_group/control_group.scss | 6 -- .../options_list/components/options_list.scss | 11 ++-- .../components/options_list_control.tsx | 57 +++++++++---------- .../components/options_list_popover.test.tsx | 14 +---- .../components/options_list_popover.tsx | 54 ++++++++---------- .../components/range_slider_control.tsx | 4 ++ 7 files changed, 68 insertions(+), 87 deletions(-) create mode 100644 src/plugins/controls/public/constants.ts diff --git a/src/plugins/controls/public/constants.ts b/src/plugins/controls/public/constants.ts new file mode 100644 index 00000000000000..0773dd7ea9076c --- /dev/null +++ b/src/plugins/controls/public/constants.ts @@ -0,0 +1,9 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 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 MIN_POPOVER_WIDTH = 300; diff --git a/src/plugins/controls/public/control_group/control_group.scss b/src/plugins/controls/public/control_group/control_group.scss index 4591d3d6d8708b..d1fb6a8d495de3 100644 --- a/src/plugins/controls/public/control_group/control_group.scss +++ b/src/plugins/controls/public/control_group/control_group.scss @@ -123,12 +123,6 @@ $controlMinWidth: $euiSize * 14; &--small { width: $smallControl; min-width: $smallControl; - - &:not(.controlFrameWrapper--grow) { - .controlFrame__labelToolTip { - max-width: 20%; - } - } } &--medium { diff --git a/src/plugins/controls/public/options_list/components/options_list.scss b/src/plugins/controls/public/options_list/components/options_list.scss index 981aa3982052b6..b8e43b84ad17c5 100644 --- a/src/plugins/controls/public/options_list/components/options_list.scss +++ b/src/plugins/controls/public/options_list/components/options_list.scss @@ -1,16 +1,13 @@ .optionsList--filterGroup { width: 100%; - height: $euiSizeXXL; + box-shadow: none; background-color: transparent; - box-shadow: none; - border-top-left-radius: 0; - border-bottom-left-radius: 0; - border-top-right-radius: $euiBorderRadius - 1px; - border-bottom-right-radius: $euiBorderRadius - 1px; + .optionsList__inputButtonOverride { + max-inline-size: none; // overwrite the default `max-inline-size` that's coming from EUI + } .optionsList--filterBtn { - border-radius: 0 !important; height: $euiButtonHeight; &.optionsList--filterBtnPlaceholder { diff --git a/src/plugins/controls/public/options_list/components/options_list_control.tsx b/src/plugins/controls/public/options_list/components/options_list_control.tsx index f72bb37c01055e..dbd30a89e7e78f 100644 --- a/src/plugins/controls/public/options_list/components/options_list_control.tsx +++ b/src/plugins/controls/public/options_list/components/options_list_control.tsx @@ -9,9 +9,9 @@ import { Subject } from 'rxjs'; import classNames from 'classnames'; import { debounce, isEmpty } from 'lodash'; -import React, { useCallback, useEffect, useMemo, useState, useRef } from 'react'; +import React, { useCallback, useEffect, useMemo, useState } from 'react'; -import { EuiFilterButton, EuiFilterGroup, EuiPopover, useResizeObserver } from '@elastic/eui'; +import { EuiFilterButton, EuiFilterGroup, EuiInputPopover } from '@elastic/eui'; import { MAX_OPTIONS_LIST_REQUEST_SIZE } from '../types'; import { OptionsListStrings } from './options_list_strings'; @@ -20,6 +20,7 @@ import { useOptionsList } from '../embeddable/options_list_embeddable'; import './options_list.scss'; import { ControlError } from '../../control_group/component/control_error_component'; +import { MIN_POPOVER_WIDTH } from '../../constants'; export const OptionsListControl = ({ typeaheadSubject, @@ -28,9 +29,7 @@ export const OptionsListControl = ({ typeaheadSubject: Subject; loadMoreSubject: Subject; }) => { - const resizeRef = useRef(null); const optionsList = useOptionsList(); - const dimensions = useResizeObserver(resizeRef.current); const error = optionsList.select((state) => state.componentState.error); const isPopoverOpen = optionsList.select((state) => state.componentState.popoverOpen); @@ -124,26 +123,24 @@ export const OptionsListControl = ({ }, [exclude, existsSelected, validSelections, invalidSelections]); const button = ( -
    - optionsList.dispatch.setPopoverOpen(!isPopoverOpen)} - isSelected={isPopoverOpen} - numActiveFilters={validSelectionsCount} - hasActiveFilters={Boolean(validSelectionsCount)} - > - {hasSelections || existsSelected - ? selectionDisplayNode - : placeholder ?? OptionsListStrings.control.getPlaceholder()} - -
    + optionsList.dispatch.setPopoverOpen(!isPopoverOpen)} + isSelected={isPopoverOpen} + numActiveFilters={validSelectionsCount} + hasActiveFilters={Boolean(validSelectionsCount)} + > + {hasSelections || existsSelected + ? selectionDisplayNode + : placeholder ?? OptionsListStrings.control.getPlaceholder()} + ); return error ? ( @@ -154,26 +151,26 @@ export const OptionsListControl = ({ 'optionsList--filterGroupSingle': controlStyle !== 'twoLine', })} > - optionsList.dispatch.setPopoverOpen(false)} - aria-label={OptionsListStrings.popover.getAriaLabel(fieldName)} panelClassName="optionsList__popoverOverride" + panelProps={{ 'aria-label': OptionsListStrings.popover.getAriaLabel(fieldName) }} > - + ); }; diff --git a/src/plugins/controls/public/options_list/components/options_list_popover.test.tsx b/src/plugins/controls/public/options_list/components/options_list_popover.test.tsx index 67c78b64f60661..54e5cbfa3d6310 100644 --- a/src/plugins/controls/public/options_list/components/options_list_popover.test.tsx +++ b/src/plugins/controls/public/options_list/components/options_list_popover.test.tsx @@ -13,16 +13,15 @@ import { mountWithIntl } from '@kbn/test-jest-helpers'; import { findTestSubject } from '@elastic/eui/lib/test'; import { FieldSpec } from '@kbn/data-views-plugin/common'; +import { pluginServices } from '../../services'; import { mockOptionsListEmbeddable } from '../../../common/mocks'; import { ControlOutput, OptionsListEmbeddableInput } from '../..'; import { OptionsListComponentState, OptionsListReduxState } from '../types'; import { OptionsListEmbeddableContext } from '../embeddable/options_list_embeddable'; import { OptionsListPopover, OptionsListPopoverProps } from './options_list_popover'; -import { pluginServices } from '../../services'; describe('Options list popover', () => { const defaultProps = { - width: 500, isLoading: false, updateSearchString: jest.fn(), loadMoreSuggestions: jest.fn(), @@ -58,17 +57,6 @@ describe('Options list popover', () => { showOnlySelectedButton.simulate('click'); }; - test('available options list width responds to container size', async () => { - let popover = await mountComponent({ popoverProps: { width: 301 } }); - let popoverDiv = findTestSubject(popover, 'optionsList-control-popover'); - expect(popoverDiv.getDOMNode().getAttribute('style')).toBe('width: 301px; min-width: 300px;'); - - // the div cannot be smaller than 301 pixels wide - popover = await mountComponent({ popoverProps: { width: 300 } }); - popoverDiv = findTestSubject(popover, 'optionsList-control-available-options'); - expect(popoverDiv.getDOMNode().getAttribute('style')).toBe('width: 100%; height: 100%;'); - }); - test('no available options', async () => { const popover = await mountComponent({ componentState: { availableOptions: [] } }); const availableOptionsDiv = findTestSubject(popover, 'optionsList-control-available-options'); diff --git a/src/plugins/controls/public/options_list/components/options_list_popover.tsx b/src/plugins/controls/public/options_list/components/options_list_popover.tsx index c9a46210dff7a6..d3462d9c58f211 100644 --- a/src/plugins/controls/public/options_list/components/options_list_popover.tsx +++ b/src/plugins/controls/public/options_list/components/options_list_popover.tsx @@ -9,7 +9,6 @@ import { isEmpty } from 'lodash'; import React, { useState } from 'react'; -import { OptionsListStrings } from './options_list_strings'; import { useOptionsList } from '../embeddable/options_list_embeddable'; import { OptionsListPopoverFooter } from './options_list_popover_footer'; import { OptionsListPopoverActionBar } from './options_list_popover_action_bar'; @@ -17,14 +16,12 @@ import { OptionsListPopoverSuggestions } from './options_list_popover_suggestion import { OptionsListPopoverInvalidSelections } from './options_list_popover_invalid_selections'; export interface OptionsListPopoverProps { - width: number; isLoading: boolean; loadMoreSuggestions: (cardinality: number) => void; updateSearchString: (newSearchString: string) => void; } export const OptionsListPopover = ({ - width, isLoading, updateSearchString, loadMoreSuggestions, @@ -36,43 +33,38 @@ export const OptionsListPopover = ({ const invalidSelections = optionsList.select((state) => state.componentState.invalidSelections); const id = optionsList.select((state) => state.explicitInput.id); - const fieldName = optionsList.select((state) => state.explicitInput.fieldName); const hideExclude = optionsList.select((state) => state.explicitInput.hideExclude); const hideActionBar = optionsList.select((state) => state.explicitInput.hideActionBar); const [showOnlySelected, setShowOnlySelected] = useState(false); return ( - <> +
    + {field?.type !== 'boolean' && !hideActionBar && ( + + )}
    - {field?.type !== 'boolean' && !hideActionBar && ( - + + {!showOnlySelected && invalidSelections && !isEmpty(invalidSelections) && ( + )} -
    - - {!showOnlySelected && invalidSelections && !isEmpty(invalidSelections) && ( - - )} -
    - {!hideExclude && }
    - + {!hideExclude && } +
    ); }; diff --git a/src/plugins/controls/public/range_slider/components/range_slider_control.tsx b/src/plugins/controls/public/range_slider/components/range_slider_control.tsx index 8cd56283467d08..267b9220da54b2 100644 --- a/src/plugins/controls/public/range_slider/components/range_slider_control.tsx +++ b/src/plugins/controls/public/range_slider/components/range_slider_control.tsx @@ -17,6 +17,7 @@ import { useRangeSlider } from '../embeddable/range_slider_embeddable'; import { ControlError } from '../../control_group/component/control_error_component'; import './range_slider.scss'; +import { MIN_POPOVER_WIDTH } from '../../constants'; export const RangeSliderControl: FC = () => { /** Controls Services Context */ @@ -153,6 +154,9 @@ export const RangeSliderControl: FC = () => { min={displayedMin} max={displayedMax} isLoading={isLoading} + inputPopoverProps={{ + panelMinWidth: MIN_POPOVER_WIDTH, + }} onMouseUp={() => { // when the pin is dropped (on mouse up), cancel any pending debounced changes and force the change // in value to happen instantly (which, in turn, will re-calculate the min/max for the slider due to From 180a823b7c37542217c6dc485f3ac1c6fd4c0db2 Mon Sep 17 00:00:00 2001 From: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> Date: Fri, 22 Sep 2023 15:53:37 -0400 Subject: [PATCH 55/72] skip failing test suite (#167081) --- x-pack/test/functional/apps/upgrade_assistant/overview_page.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/x-pack/test/functional/apps/upgrade_assistant/overview_page.ts b/x-pack/test/functional/apps/upgrade_assistant/overview_page.ts index 10493d1df81179..b6562c1fe59ced 100644 --- a/x-pack/test/functional/apps/upgrade_assistant/overview_page.ts +++ b/x-pack/test/functional/apps/upgrade_assistant/overview_page.ts @@ -15,7 +15,8 @@ export default function upgradeAssistantOverviewPageFunctionalTests({ const security = getService('security'); const testSubjects = getService('testSubjects'); - describe('Overview Page', function () { + // Failing: See https://github.com/elastic/kibana/issues/167081 + describe.skip('Overview Page', function () { this.tags(['skipFirefox', 'upgradeAssistant']); before(async () => { From 1f9f5722191324e50b1b2cc0655c9c40efd3d304 Mon Sep 17 00:00:00 2001 From: Lola Date: Fri, 22 Sep 2023 16:08:53 -0400 Subject: [PATCH 56/72] [Cloud Posture]remove cnvm from benchmarks (#162337) ## Summary Remove CNVM package policies from the benchmarks rules page [Quick Win]() Screen Shot 2023-07-20 at 11 17 04 AM --- .../server/lib/fleet_util.ts | 40 ++++++++++++++----- .../server/routes/benchmarks/benchmarks.ts | 19 ++++----- .../apis/cloud_security_posture/benchmark.ts | 21 ++++++++++ 3 files changed, 61 insertions(+), 19 deletions(-) diff --git a/x-pack/plugins/cloud_security_posture/server/lib/fleet_util.ts b/x-pack/plugins/cloud_security_posture/server/lib/fleet_util.ts index 290e5ecb319697..cd67f29cef1b40 100644 --- a/x-pack/plugins/cloud_security_posture/server/lib/fleet_util.ts +++ b/x-pack/plugins/cloud_security_posture/server/lib/fleet_util.ts @@ -16,12 +16,15 @@ import type { GetAgentStatusResponse, ListResult, PackagePolicy, + PackagePolicyInput, } from '@kbn/fleet-plugin/common'; import { errors } from '@elastic/elasticsearch'; import { CloudSecurityPolicyTemplate, PostureTypes } from '../../common/types'; import { SUPPORTED_POLICY_TEMPLATES, CLOUD_SECURITY_POSTURE_PACKAGE_NAME, + KSPM_POLICY_TEMPLATE, + CSPM_POLICY_TEMPLATE, } from '../../common/constants'; import { CSP_FLEET_PACKAGE_KUERY } from '../../common/utils/helpers'; import { @@ -41,6 +44,9 @@ const isPolicyTemplate = (input: any): input is CloudSecurityPolicyTemplate => const getPackageNameQuery = (): string => { return `${PACKAGE_POLICY_SAVED_OBJECT_TYPE}.package.name:"${CLOUD_SECURITY_POSTURE_PACKAGE_NAME}"`; }; +const getPaginatedItems = (filteredItems: T[], page: number, perPage: number) => { + return filteredItems.slice((page - 1) * perPage, Math.min(filteredItems.length, page * perPage)); +}; export type AgentStatusByAgentPolicyMap = Record; @@ -86,7 +92,8 @@ export const getCspPackagePolicies = async ( packagePolicyService: PackagePolicyClient, packageName: string, queryParams: Partial, - postureType: PostureTypes + postureType: PostureTypes, + excludeVulnMgmtPackages = false ): Promise> => { const sortField = queryParams.sort_field?.replaceAll(BENCHMARK_PACKAGE_POLICY_PREFIX, ''); @@ -98,13 +105,29 @@ export const getCspPackagePolicies = async ( sortOrder: queryParams.sort_order, }); + const filterPackagesByCriteria = (input: PackagePolicyInput) => { + const showCSPMKSPMPackagesPolicies = + input.enabled && + (input.policy_template === KSPM_POLICY_TEMPLATE || + input.policy_template === CSPM_POLICY_TEMPLATE); + + const showAllPackages = input.enabled; + + const showSelectedPostureTypePackages = input.enabled && input.policy_template === postureType; + + if (excludeVulnMgmtPackages) { + return showCSPMKSPMPackagesPolicies; + } + if (postureType === 'all') { + return showAllPackages; + } + + return showSelectedPostureTypePackages; + }; + const filteredItems = allCSPPackages.items.filter( (pkg) => - pkg.inputs.filter((input) => - postureType === 'all' - ? input.enabled - : input.enabled && input.policy_template === postureType - ).length > 0 && + pkg.inputs.filter((input) => filterPackagesByCriteria(input)).length > 0 && (!queryParams.package_policy_name || pkg.name.toLowerCase().includes(queryParams.package_policy_name.toLowerCase())) ); @@ -113,10 +136,7 @@ export const getCspPackagePolicies = async ( const perPage = queryParams?.per_page ?? DEFAULT_BENCHMARKS_PER_PAGE; return { - items: filteredItems.slice( - (page - 1) * perPage, - Math.min(filteredItems.length, page * perPage) - ), + items: getPaginatedItems(filteredItems, page, perPage), total: filteredItems.length, page, perPage, diff --git a/x-pack/plugins/cloud_security_posture/server/routes/benchmarks/benchmarks.ts b/x-pack/plugins/cloud_security_posture/server/routes/benchmarks/benchmarks.ts index 399e637b234949..a62e4a1c4ee09a 100644 --- a/x-pack/plugins/cloud_security_posture/server/routes/benchmarks/benchmarks.ts +++ b/x-pack/plugins/cloud_security_posture/server/routes/benchmarks/benchmarks.ts @@ -6,7 +6,7 @@ */ import type { SavedObjectsClientContract } from '@kbn/core/server'; import { transformError } from '@kbn/securitysolution-es-utils'; -import type { AgentPolicy, PackagePolicy } from '@kbn/fleet-plugin/common'; +import type { AgentPolicy, ListResult, PackagePolicy } from '@kbn/fleet-plugin/common'; import { CspRuleTemplate } from '../../../common/schemas'; import { CSP_RULE_TEMPLATE_SAVED_OBJECT_TYPE } from '../../../common/constants'; import { @@ -15,7 +15,7 @@ import { POSTURE_TYPE_ALL, } from '../../../common/constants'; import { benchmarksQueryParamsSchema } from '../../../common/schemas/benchmark'; -import type { Benchmark, GetBenchmarkResponse } from '../../../common/types'; +import type { Benchmark } from '../../../common/types'; import { getBenchmarkFromPackagePolicy, getBenchmarkTypeFilter, @@ -108,19 +108,20 @@ export const defineGetBenchmarksRoute = (router: CspRouter) => } const cspContext = await context.csp; - + const excludeVulnMgmtPackages = true; try { - const cspPackagePolicies = await getCspPackagePolicies( + const packagePolicies: ListResult = await getCspPackagePolicies( cspContext.soClient, cspContext.packagePolicyService, CLOUD_SECURITY_POSTURE_PACKAGE_NAME, request.query, - POSTURE_TYPE_ALL + POSTURE_TYPE_ALL, + excludeVulnMgmtPackages ); const agentPolicies = await getCspAgentPolicies( cspContext.soClient, - cspPackagePolicies.items, + packagePolicies.items, cspContext.agentPolicyService ); @@ -134,11 +135,11 @@ export const defineGetBenchmarksRoute = (router: CspRouter) => cspContext.soClient, agentPolicies, agentStatusesByAgentPolicyId, - cspPackagePolicies.items + packagePolicies.items ); - const getBenchmarkResponse: GetBenchmarkResponse = { - ...cspPackagePolicies, + const getBenchmarkResponse = { + ...packagePolicies, items: benchmarks, }; diff --git a/x-pack/test/api_integration/apis/cloud_security_posture/benchmark.ts b/x-pack/test/api_integration/apis/cloud_security_posture/benchmark.ts index a47ae741f5ebe0..1e7cfc4c7aec72 100644 --- a/x-pack/test/api_integration/apis/cloud_security_posture/benchmark.ts +++ b/x-pack/test/api_integration/apis/cloud_security_posture/benchmark.ts @@ -19,6 +19,7 @@ export default function ({ getService }: FtrProviderContext) { let agentPolicyId: string; let agentPolicyId2: string; let agentPolicyId3: string; + let agentPolicyId4: string; beforeEach(async () => { await kibanaServer.savedObjects.cleanStandardList(); @@ -54,6 +55,16 @@ export default function ({ getService }: FtrProviderContext) { agentPolicyId3 = agentPolicyResponse3.item.id; + const { body: agentPolicyResponse4 } = await supertest + .post(`/api/fleet/agent_policies`) + .set('kbn-xsrf', 'xxxx') + .send({ + name: 'Test policy 4', + namespace: 'default', + }); + + agentPolicyId4 = agentPolicyResponse4.item.id; + await createPackagePolicy( supertest, agentPolicyId, @@ -83,6 +94,16 @@ export default function ({ getService }: FtrProviderContext) { 'vuln_mgmt', 'CNVM-1' ); + + await createPackagePolicy( + supertest, + agentPolicyId4, + 'kspm', + 'cloudbeat/cis_k8s', + 'vanilla', + 'kspm', + 'KSPM-2' + ); }); afterEach(async () => { From ae90171637cc35930ffc1655b5587ca95997f898 Mon Sep 17 00:00:00 2001 From: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> Date: Fri, 22 Sep 2023 17:06:40 -0400 Subject: [PATCH 57/72] skip failing test suite (#167090) --- .../functional/apps/upgrade_assistant/deprecation_pages.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/x-pack/test/functional/apps/upgrade_assistant/deprecation_pages.ts b/x-pack/test/functional/apps/upgrade_assistant/deprecation_pages.ts index 0167ed424850ec..00c8771670b44b 100644 --- a/x-pack/test/functional/apps/upgrade_assistant/deprecation_pages.ts +++ b/x-pack/test/functional/apps/upgrade_assistant/deprecation_pages.ts @@ -19,7 +19,8 @@ export default function upgradeAssistantFunctionalTests({ const security = getService('security'); const log = getService('log'); - describe('Deprecation pages', function () { + // Failing: See https://github.com/elastic/kibana/issues/167090 + describe.skip('Deprecation pages', function () { this.tags(['skipFirefox', 'upgradeAssistant']); before(async () => { From 79e1508e7c2932280711ebedcb8ae5da56fea49c Mon Sep 17 00:00:00 2001 From: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> Date: Fri, 22 Sep 2023 19:52:26 -0400 Subject: [PATCH 58/72] skip failing test suite (#167094) --- .../apps/upgrade_assistant/es_deprecation_logs_page.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/x-pack/test/functional/apps/upgrade_assistant/es_deprecation_logs_page.ts b/x-pack/test/functional/apps/upgrade_assistant/es_deprecation_logs_page.ts index 647d692299075f..1b73ed6f3f8834 100644 --- a/x-pack/test/functional/apps/upgrade_assistant/es_deprecation_logs_page.ts +++ b/x-pack/test/functional/apps/upgrade_assistant/es_deprecation_logs_page.ts @@ -16,7 +16,8 @@ export default function upgradeAssistantESDeprecationLogsPageFunctionalTests({ const testSubjects = getService('testSubjects'); const es = getService('es'); - describe('ES deprecation logs page', function () { + // Failing: See https://github.com/elastic/kibana/issues/167094 + describe.skip('ES deprecation logs page', function () { this.tags(['skipFirefox', 'upgradeAssistant']); before(async () => { From a940b28461fb604c47bab31336ec3664bbfe10ea Mon Sep 17 00:00:00 2001 From: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> Date: Sat, 23 Sep 2023 00:52:35 -0400 Subject: [PATCH 59/72] [api-docs] 2023-09-23 Daily api_docs build (#167102) Generated by https://buildkite.com/elastic/kibana-api-docs-daily/builds/469 --- api_docs/actions.mdx | 2 +- api_docs/advanced_settings.mdx | 2 +- api_docs/aiops.mdx | 2 +- api_docs/alerting.mdx | 2 +- api_docs/apm.devdocs.json | 6 +- api_docs/apm.mdx | 2 +- api_docs/apm_data_access.mdx | 2 +- api_docs/asset_manager.mdx | 2 +- api_docs/banners.mdx | 2 +- api_docs/bfetch.mdx | 2 +- api_docs/canvas.mdx | 2 +- api_docs/cases.mdx | 2 +- api_docs/charts.mdx | 2 +- api_docs/cloud.mdx | 2 +- api_docs/cloud_chat.mdx | 2 +- api_docs/cloud_chat_provider.mdx | 2 +- api_docs/cloud_data_migration.mdx | 2 +- api_docs/cloud_defend.mdx | 2 +- api_docs/cloud_experiments.mdx | 2 +- api_docs/cloud_security_posture.mdx | 2 +- api_docs/console.mdx | 2 +- api_docs/content_management.mdx | 2 +- api_docs/controls.mdx | 2 +- api_docs/custom_integrations.mdx | 2 +- api_docs/dashboard.mdx | 2 +- api_docs/dashboard_enhanced.mdx | 2 +- api_docs/data.mdx | 2 +- api_docs/data_query.mdx | 2 +- api_docs/data_search.mdx | 2 +- api_docs/data_view_editor.mdx | 2 +- api_docs/data_view_field_editor.mdx | 2 +- api_docs/data_view_management.mdx | 2 +- api_docs/data_views.mdx | 2 +- api_docs/data_visualizer.mdx | 2 +- api_docs/deprecations_by_api.mdx | 2 +- api_docs/deprecations_by_plugin.mdx | 2 +- api_docs/deprecations_by_team.mdx | 2 +- api_docs/dev_tools.mdx | 2 +- api_docs/discover.mdx | 2 +- api_docs/discover_enhanced.mdx | 2 +- api_docs/ecs_data_quality_dashboard.mdx | 2 +- api_docs/elastic_assistant.mdx | 2 +- api_docs/embeddable.mdx | 2 +- api_docs/embeddable_enhanced.mdx | 2 +- api_docs/encrypted_saved_objects.mdx | 2 +- api_docs/enterprise_search.mdx | 2 +- api_docs/es_ui_shared.mdx | 2 +- api_docs/event_annotation.mdx | 2 +- api_docs/event_annotation_listing.mdx | 2 +- api_docs/event_log.mdx | 2 +- api_docs/exploratory_view.mdx | 2 +- api_docs/expression_error.mdx | 2 +- api_docs/expression_gauge.mdx | 2 +- api_docs/expression_heatmap.mdx | 2 +- api_docs/expression_image.mdx | 2 +- api_docs/expression_legacy_metric_vis.mdx | 2 +- api_docs/expression_metric.mdx | 2 +- api_docs/expression_metric_vis.mdx | 2 +- api_docs/expression_partition_vis.mdx | 2 +- api_docs/expression_repeat_image.mdx | 2 +- api_docs/expression_reveal_image.mdx | 2 +- api_docs/expression_shape.mdx | 2 +- api_docs/expression_tagcloud.mdx | 2 +- api_docs/expression_x_y.mdx | 2 +- api_docs/expressions.mdx | 2 +- api_docs/features.mdx | 2 +- api_docs/field_formats.mdx | 2 +- api_docs/file_upload.mdx | 2 +- api_docs/files.mdx | 2 +- api_docs/files_management.mdx | 2 +- api_docs/fleet.mdx | 2 +- api_docs/global_search.mdx | 2 +- api_docs/guided_onboarding.mdx | 2 +- api_docs/home.mdx | 2 +- api_docs/image_embeddable.mdx | 2 +- api_docs/index_lifecycle_management.mdx | 2 +- api_docs/index_management.mdx | 2 +- api_docs/infra.mdx | 2 +- api_docs/inspector.mdx | 2 +- api_docs/interactive_setup.mdx | 2 +- api_docs/kbn_ace.mdx | 2 +- api_docs/kbn_aiops_components.mdx | 2 +- api_docs/kbn_aiops_utils.mdx | 2 +- .../kbn_alerting_api_integration_helpers.mdx | 2 +- api_docs/kbn_alerting_state_types.mdx | 2 +- api_docs/kbn_alerts_as_data_utils.mdx | 2 +- api_docs/kbn_alerts_ui_shared.mdx | 2 +- api_docs/kbn_analytics.mdx | 2 +- api_docs/kbn_analytics_client.mdx | 2 +- ..._analytics_shippers_elastic_v3_browser.mdx | 2 +- ...n_analytics_shippers_elastic_v3_common.mdx | 2 +- ...n_analytics_shippers_elastic_v3_server.mdx | 2 +- api_docs/kbn_analytics_shippers_fullstory.mdx | 2 +- api_docs/kbn_analytics_shippers_gainsight.mdx | 2 +- api_docs/kbn_apm_config_loader.mdx | 2 +- api_docs/kbn_apm_synthtrace.mdx | 2 +- api_docs/kbn_apm_synthtrace_client.mdx | 2 +- api_docs/kbn_apm_utils.mdx | 2 +- api_docs/kbn_axe_config.mdx | 2 +- api_docs/kbn_cases_components.mdx | 2 +- api_docs/kbn_cell_actions.mdx | 2 +- api_docs/kbn_chart_expressions_common.mdx | 2 +- api_docs/kbn_chart_icons.mdx | 2 +- api_docs/kbn_ci_stats_core.mdx | 2 +- api_docs/kbn_ci_stats_performance_metrics.mdx | 2 +- api_docs/kbn_ci_stats_reporter.mdx | 2 +- api_docs/kbn_cli_dev_mode.mdx | 2 +- api_docs/kbn_code_editor.mdx | 2 +- api_docs/kbn_code_editor_mocks.mdx | 2 +- api_docs/kbn_coloring.mdx | 2 +- api_docs/kbn_config.mdx | 2 +- api_docs/kbn_config_mocks.mdx | 2 +- api_docs/kbn_config_schema.mdx | 2 +- .../kbn_content_management_content_editor.mdx | 2 +- ...tent_management_tabbed_table_list_view.mdx | 2 +- ...kbn_content_management_table_list_view.mdx | 2 +- ...ntent_management_table_list_view_table.mdx | 2 +- api_docs/kbn_content_management_utils.mdx | 2 +- api_docs/kbn_core_analytics_browser.mdx | 2 +- .../kbn_core_analytics_browser_internal.mdx | 2 +- api_docs/kbn_core_analytics_browser_mocks.mdx | 2 +- api_docs/kbn_core_analytics_server.mdx | 2 +- .../kbn_core_analytics_server_internal.mdx | 2 +- api_docs/kbn_core_analytics_server_mocks.mdx | 2 +- api_docs/kbn_core_application_browser.mdx | 2 +- .../kbn_core_application_browser_internal.mdx | 2 +- .../kbn_core_application_browser_mocks.mdx | 2 +- api_docs/kbn_core_application_common.mdx | 2 +- api_docs/kbn_core_apps_browser_internal.mdx | 2 +- api_docs/kbn_core_apps_browser_mocks.mdx | 2 +- api_docs/kbn_core_apps_server_internal.mdx | 2 +- api_docs/kbn_core_base_browser_mocks.mdx | 2 +- api_docs/kbn_core_base_common.mdx | 2 +- api_docs/kbn_core_base_server_internal.mdx | 2 +- api_docs/kbn_core_base_server_mocks.mdx | 2 +- .../kbn_core_capabilities_browser_mocks.mdx | 2 +- api_docs/kbn_core_capabilities_common.mdx | 2 +- api_docs/kbn_core_capabilities_server.mdx | 2 +- .../kbn_core_capabilities_server_mocks.mdx | 2 +- api_docs/kbn_core_chrome_browser.mdx | 2 +- api_docs/kbn_core_chrome_browser_mocks.mdx | 2 +- api_docs/kbn_core_config_server_internal.mdx | 2 +- api_docs/kbn_core_custom_branding_browser.mdx | 2 +- ..._core_custom_branding_browser_internal.mdx | 2 +- ...kbn_core_custom_branding_browser_mocks.mdx | 2 +- api_docs/kbn_core_custom_branding_common.mdx | 2 +- api_docs/kbn_core_custom_branding_server.mdx | 2 +- ...n_core_custom_branding_server_internal.mdx | 2 +- .../kbn_core_custom_branding_server_mocks.mdx | 2 +- api_docs/kbn_core_deprecations_browser.mdx | 2 +- ...kbn_core_deprecations_browser_internal.mdx | 2 +- .../kbn_core_deprecations_browser_mocks.mdx | 2 +- api_docs/kbn_core_deprecations_common.mdx | 2 +- api_docs/kbn_core_deprecations_server.mdx | 2 +- .../kbn_core_deprecations_server_internal.mdx | 2 +- .../kbn_core_deprecations_server_mocks.mdx | 2 +- api_docs/kbn_core_doc_links_browser.mdx | 2 +- api_docs/kbn_core_doc_links_browser_mocks.mdx | 2 +- api_docs/kbn_core_doc_links_server.mdx | 2 +- api_docs/kbn_core_doc_links_server_mocks.mdx | 2 +- ...e_elasticsearch_client_server_internal.mdx | 2 +- ...core_elasticsearch_client_server_mocks.mdx | 2 +- api_docs/kbn_core_elasticsearch_server.mdx | 2 +- ...kbn_core_elasticsearch_server_internal.mdx | 2 +- .../kbn_core_elasticsearch_server_mocks.mdx | 2 +- .../kbn_core_environment_server_internal.mdx | 2 +- .../kbn_core_environment_server_mocks.mdx | 2 +- .../kbn_core_execution_context_browser.mdx | 2 +- ...ore_execution_context_browser_internal.mdx | 2 +- ...n_core_execution_context_browser_mocks.mdx | 2 +- .../kbn_core_execution_context_common.mdx | 2 +- .../kbn_core_execution_context_server.mdx | 2 +- ...core_execution_context_server_internal.mdx | 2 +- ...bn_core_execution_context_server_mocks.mdx | 2 +- api_docs/kbn_core_fatal_errors_browser.mdx | 2 +- .../kbn_core_fatal_errors_browser_mocks.mdx | 2 +- api_docs/kbn_core_http_browser.mdx | 2 +- api_docs/kbn_core_http_browser_internal.mdx | 2 +- api_docs/kbn_core_http_browser_mocks.mdx | 2 +- api_docs/kbn_core_http_common.mdx | 2 +- .../kbn_core_http_context_server_mocks.mdx | 2 +- ...re_http_request_handler_context_server.mdx | 2 +- api_docs/kbn_core_http_resources_server.mdx | 2 +- ...bn_core_http_resources_server_internal.mdx | 2 +- .../kbn_core_http_resources_server_mocks.mdx | 2 +- .../kbn_core_http_router_server_internal.mdx | 2 +- .../kbn_core_http_router_server_mocks.mdx | 2 +- api_docs/kbn_core_http_server.devdocs.json | 72 ++-- api_docs/kbn_core_http_server.mdx | 2 +- api_docs/kbn_core_http_server_internal.mdx | 2 +- api_docs/kbn_core_http_server_mocks.mdx | 2 +- api_docs/kbn_core_i18n_browser.mdx | 2 +- api_docs/kbn_core_i18n_browser_mocks.mdx | 2 +- api_docs/kbn_core_i18n_server.mdx | 2 +- api_docs/kbn_core_i18n_server_internal.mdx | 2 +- api_docs/kbn_core_i18n_server_mocks.mdx | 2 +- ...n_core_injected_metadata_browser_mocks.mdx | 2 +- ...kbn_core_integrations_browser_internal.mdx | 2 +- .../kbn_core_integrations_browser_mocks.mdx | 2 +- api_docs/kbn_core_lifecycle_browser.mdx | 2 +- api_docs/kbn_core_lifecycle_browser_mocks.mdx | 2 +- api_docs/kbn_core_lifecycle_server.mdx | 2 +- api_docs/kbn_core_lifecycle_server_mocks.mdx | 2 +- api_docs/kbn_core_logging_browser_mocks.mdx | 2 +- api_docs/kbn_core_logging_common_internal.mdx | 2 +- api_docs/kbn_core_logging_server.mdx | 2 +- api_docs/kbn_core_logging_server_internal.mdx | 2 +- api_docs/kbn_core_logging_server_mocks.mdx | 2 +- ...ore_metrics_collectors_server_internal.mdx | 2 +- ...n_core_metrics_collectors_server_mocks.mdx | 2 +- api_docs/kbn_core_metrics_server.mdx | 2 +- api_docs/kbn_core_metrics_server_internal.mdx | 2 +- api_docs/kbn_core_metrics_server_mocks.mdx | 2 +- api_docs/kbn_core_mount_utils_browser.mdx | 2 +- api_docs/kbn_core_node_server.mdx | 2 +- api_docs/kbn_core_node_server_internal.mdx | 2 +- api_docs/kbn_core_node_server_mocks.mdx | 2 +- api_docs/kbn_core_notifications_browser.mdx | 2 +- ...bn_core_notifications_browser_internal.mdx | 2 +- .../kbn_core_notifications_browser_mocks.mdx | 2 +- api_docs/kbn_core_overlays_browser.mdx | 2 +- .../kbn_core_overlays_browser_internal.mdx | 2 +- api_docs/kbn_core_overlays_browser_mocks.mdx | 2 +- api_docs/kbn_core_plugins_browser.mdx | 2 +- api_docs/kbn_core_plugins_browser_mocks.mdx | 2 +- api_docs/kbn_core_plugins_server.mdx | 2 +- api_docs/kbn_core_plugins_server_mocks.mdx | 2 +- api_docs/kbn_core_preboot_server.mdx | 2 +- api_docs/kbn_core_preboot_server_mocks.mdx | 2 +- api_docs/kbn_core_rendering_browser_mocks.mdx | 2 +- .../kbn_core_rendering_server_internal.mdx | 2 +- api_docs/kbn_core_rendering_server_mocks.mdx | 2 +- api_docs/kbn_core_root_server_internal.mdx | 2 +- .../kbn_core_saved_objects_api_browser.mdx | 2 +- .../kbn_core_saved_objects_api_server.mdx | 2 +- ...bn_core_saved_objects_api_server_mocks.mdx | 2 +- ...ore_saved_objects_base_server_internal.mdx | 2 +- ...n_core_saved_objects_base_server_mocks.mdx | 2 +- api_docs/kbn_core_saved_objects_browser.mdx | 2 +- ...bn_core_saved_objects_browser_internal.mdx | 2 +- .../kbn_core_saved_objects_browser_mocks.mdx | 2 +- api_docs/kbn_core_saved_objects_common.mdx | 2 +- ..._objects_import_export_server_internal.mdx | 2 +- ...ved_objects_import_export_server_mocks.mdx | 2 +- ...aved_objects_migration_server_internal.mdx | 2 +- ...e_saved_objects_migration_server_mocks.mdx | 2 +- api_docs/kbn_core_saved_objects_server.mdx | 2 +- ...kbn_core_saved_objects_server_internal.mdx | 2 +- .../kbn_core_saved_objects_server_mocks.mdx | 2 +- .../kbn_core_saved_objects_utils_server.mdx | 2 +- api_docs/kbn_core_status_common.mdx | 2 +- api_docs/kbn_core_status_common_internal.mdx | 2 +- api_docs/kbn_core_status_server.mdx | 2 +- api_docs/kbn_core_status_server_internal.mdx | 2 +- api_docs/kbn_core_status_server_mocks.mdx | 2 +- ...core_test_helpers_deprecations_getters.mdx | 2 +- ...n_core_test_helpers_http_setup_browser.mdx | 2 +- api_docs/kbn_core_test_helpers_kbn_server.mdx | 2 +- ...n_core_test_helpers_so_type_serializer.mdx | 2 +- api_docs/kbn_core_test_helpers_test_utils.mdx | 2 +- api_docs/kbn_core_theme_browser.mdx | 2 +- api_docs/kbn_core_theme_browser_mocks.mdx | 2 +- api_docs/kbn_core_ui_settings_browser.mdx | 2 +- .../kbn_core_ui_settings_browser_internal.mdx | 2 +- .../kbn_core_ui_settings_browser_mocks.mdx | 2 +- api_docs/kbn_core_ui_settings_common.mdx | 2 +- api_docs/kbn_core_ui_settings_server.mdx | 2 +- .../kbn_core_ui_settings_server_internal.mdx | 2 +- .../kbn_core_ui_settings_server_mocks.mdx | 2 +- api_docs/kbn_core_usage_data_server.mdx | 2 +- .../kbn_core_usage_data_server_internal.mdx | 2 +- api_docs/kbn_core_usage_data_server_mocks.mdx | 2 +- api_docs/kbn_core_user_settings_server.mdx | 2 +- ...kbn_core_user_settings_server_internal.mdx | 2 +- .../kbn_core_user_settings_server_mocks.mdx | 2 +- api_docs/kbn_crypto.mdx | 2 +- api_docs/kbn_crypto_browser.mdx | 2 +- api_docs/kbn_custom_integrations.mdx | 2 +- api_docs/kbn_cypress_config.mdx | 2 +- api_docs/kbn_data_service.mdx | 2 +- api_docs/kbn_datemath.mdx | 2 +- api_docs/kbn_deeplinks_analytics.mdx | 2 +- api_docs/kbn_deeplinks_devtools.mdx | 2 +- api_docs/kbn_deeplinks_management.mdx | 2 +- api_docs/kbn_deeplinks_ml.mdx | 2 +- api_docs/kbn_deeplinks_observability.mdx | 2 +- api_docs/kbn_deeplinks_search.mdx | 2 +- api_docs/kbn_default_nav_analytics.mdx | 2 +- api_docs/kbn_default_nav_devtools.mdx | 2 +- api_docs/kbn_default_nav_management.mdx | 2 +- api_docs/kbn_default_nav_ml.mdx | 2 +- api_docs/kbn_dev_cli_errors.mdx | 2 +- api_docs/kbn_dev_cli_runner.mdx | 2 +- api_docs/kbn_dev_proc_runner.mdx | 2 +- api_docs/kbn_dev_utils.mdx | 2 +- api_docs/kbn_discover_utils.mdx | 2 +- api_docs/kbn_doc_links.mdx | 2 +- api_docs/kbn_docs_utils.mdx | 2 +- api_docs/kbn_dom_drag_drop.mdx | 2 +- api_docs/kbn_ebt_tools.mdx | 2 +- api_docs/kbn_ecs.mdx | 2 +- api_docs/kbn_ecs_data_quality_dashboard.mdx | 2 +- api_docs/kbn_elastic_assistant.mdx | 2 +- api_docs/kbn_es.mdx | 2 +- api_docs/kbn_es_archiver.mdx | 2 +- api_docs/kbn_es_errors.mdx | 2 +- api_docs/kbn_es_query.mdx | 2 +- api_docs/kbn_es_types.mdx | 2 +- api_docs/kbn_eslint_plugin_imports.mdx | 2 +- api_docs/kbn_event_annotation_common.mdx | 2 +- api_docs/kbn_event_annotation_components.mdx | 2 +- api_docs/kbn_expandable_flyout.mdx | 2 +- api_docs/kbn_field_types.mdx | 2 +- api_docs/kbn_find_used_node_modules.mdx | 2 +- .../kbn_ftr_common_functional_services.mdx | 2 +- api_docs/kbn_generate.mdx | 2 +- api_docs/kbn_generate_console_definitions.mdx | 2 +- api_docs/kbn_generate_csv.mdx | 2 +- api_docs/kbn_generate_csv_types.mdx | 2 +- api_docs/kbn_guided_onboarding.mdx | 2 +- api_docs/kbn_handlebars.mdx | 2 +- api_docs/kbn_hapi_mocks.mdx | 2 +- api_docs/kbn_health_gateway_server.mdx | 2 +- api_docs/kbn_home_sample_data_card.mdx | 2 +- api_docs/kbn_home_sample_data_tab.mdx | 2 +- api_docs/kbn_i18n.mdx | 2 +- api_docs/kbn_i18n_react.mdx | 2 +- api_docs/kbn_import_resolver.mdx | 2 +- api_docs/kbn_infra_forge.mdx | 2 +- api_docs/kbn_interpreter.mdx | 2 +- api_docs/kbn_io_ts_utils.mdx | 2 +- api_docs/kbn_jest_serializers.mdx | 2 +- api_docs/kbn_journeys.mdx | 2 +- api_docs/kbn_json_ast.mdx | 2 +- api_docs/kbn_kibana_manifest_schema.mdx | 2 +- .../kbn_language_documentation_popover.mdx | 2 +- api_docs/kbn_lens_embeddable_utils.mdx | 2 +- api_docs/kbn_logging.mdx | 2 +- api_docs/kbn_logging_mocks.mdx | 2 +- api_docs/kbn_managed_vscode_config.mdx | 2 +- api_docs/kbn_management_cards_navigation.mdx | 2 +- ...gement_settings_components_field_input.mdx | 2 +- ...nagement_settings_components_field_row.mdx | 2 +- ...n_management_settings_field_definition.mdx | 2 +- api_docs/kbn_management_settings_ids.mdx | 2 +- ...n_management_settings_section_registry.mdx | 2 +- api_docs/kbn_management_settings_types.mdx | 2 +- .../kbn_management_settings_utilities.mdx | 2 +- api_docs/kbn_management_storybook_config.mdx | 2 +- api_docs/kbn_mapbox_gl.mdx | 2 +- api_docs/kbn_maps_vector_tile_utils.mdx | 2 +- api_docs/kbn_ml_agg_utils.mdx | 2 +- api_docs/kbn_ml_anomaly_utils.mdx | 2 +- api_docs/kbn_ml_category_validator.mdx | 2 +- .../kbn_ml_data_frame_analytics_utils.mdx | 2 +- api_docs/kbn_ml_data_grid.mdx | 2 +- api_docs/kbn_ml_date_picker.mdx | 2 +- api_docs/kbn_ml_date_utils.mdx | 2 +- api_docs/kbn_ml_error_utils.mdx | 2 +- api_docs/kbn_ml_in_memory_table.mdx | 2 +- api_docs/kbn_ml_is_defined.mdx | 2 +- api_docs/kbn_ml_is_populated_object.mdx | 2 +- api_docs/kbn_ml_kibana_theme.mdx | 2 +- api_docs/kbn_ml_local_storage.mdx | 2 +- api_docs/kbn_ml_nested_property.mdx | 2 +- api_docs/kbn_ml_number_utils.mdx | 2 +- api_docs/kbn_ml_query_utils.mdx | 2 +- api_docs/kbn_ml_random_sampler_utils.mdx | 2 +- api_docs/kbn_ml_route_utils.mdx | 2 +- api_docs/kbn_ml_runtime_field_utils.mdx | 2 +- api_docs/kbn_ml_string_hash.mdx | 2 +- api_docs/kbn_ml_trained_models_utils.mdx | 2 +- api_docs/kbn_ml_url_state.mdx | 2 +- api_docs/kbn_monaco.mdx | 2 +- api_docs/kbn_object_versioning.mdx | 2 +- api_docs/kbn_observability_alert_details.mdx | 2 +- api_docs/kbn_optimizer.mdx | 2 +- api_docs/kbn_optimizer_webpack_helpers.mdx | 2 +- api_docs/kbn_osquery_io_ts_types.mdx | 2 +- ..._performance_testing_dataset_extractor.mdx | 2 +- api_docs/kbn_plugin_generator.mdx | 2 +- api_docs/kbn_plugin_helpers.mdx | 2 +- api_docs/kbn_profiling_utils.devdocs.json | 61 +++ api_docs/kbn_profiling_utils.mdx | 4 +- api_docs/kbn_random_sampling.mdx | 2 +- api_docs/kbn_react_field.mdx | 2 +- api_docs/kbn_react_kibana_context_common.mdx | 2 +- api_docs/kbn_react_kibana_context_render.mdx | 2 +- api_docs/kbn_react_kibana_context_root.mdx | 2 +- api_docs/kbn_react_kibana_context_styled.mdx | 2 +- api_docs/kbn_react_kibana_context_theme.mdx | 2 +- api_docs/kbn_react_kibana_mount.mdx | 2 +- api_docs/kbn_repo_file_maps.mdx | 2 +- api_docs/kbn_repo_linter.mdx | 2 +- api_docs/kbn_repo_path.mdx | 2 +- api_docs/kbn_repo_source_classifier.mdx | 2 +- api_docs/kbn_reporting_common.mdx | 2 +- api_docs/kbn_rison.mdx | 2 +- api_docs/kbn_rrule.mdx | 2 +- api_docs/kbn_rule_data_utils.mdx | 2 +- api_docs/kbn_saved_objects_settings.mdx | 2 +- api_docs/kbn_search_api_panels.mdx | 2 +- api_docs/kbn_search_connectors.mdx | 2 +- api_docs/kbn_search_response_warnings.mdx | 2 +- api_docs/kbn_security_solution_features.mdx | 2 +- api_docs/kbn_security_solution_navigation.mdx | 2 +- api_docs/kbn_security_solution_side_nav.mdx | 2 +- ...kbn_security_solution_storybook_config.mdx | 2 +- .../kbn_securitysolution_autocomplete.mdx | 2 +- api_docs/kbn_securitysolution_data_table.mdx | 2 +- api_docs/kbn_securitysolution_ecs.mdx | 2 +- api_docs/kbn_securitysolution_es_utils.mdx | 2 +- ...ritysolution_exception_list_components.mdx | 2 +- api_docs/kbn_securitysolution_grouping.mdx | 2 +- api_docs/kbn_securitysolution_hook_utils.mdx | 2 +- ..._securitysolution_io_ts_alerting_types.mdx | 2 +- .../kbn_securitysolution_io_ts_list_types.mdx | 2 +- api_docs/kbn_securitysolution_io_ts_types.mdx | 2 +- api_docs/kbn_securitysolution_io_ts_utils.mdx | 2 +- api_docs/kbn_securitysolution_list_api.mdx | 2 +- .../kbn_securitysolution_list_constants.mdx | 2 +- api_docs/kbn_securitysolution_list_hooks.mdx | 2 +- api_docs/kbn_securitysolution_list_utils.mdx | 2 +- api_docs/kbn_securitysolution_rules.mdx | 2 +- api_docs/kbn_securitysolution_t_grid.mdx | 2 +- api_docs/kbn_securitysolution_utils.mdx | 2 +- api_docs/kbn_server_http_tools.mdx | 2 +- api_docs/kbn_server_route_repository.mdx | 2 +- api_docs/kbn_serverless_common_settings.mdx | 2 +- .../kbn_serverless_observability_settings.mdx | 2 +- api_docs/kbn_serverless_project_switcher.mdx | 2 +- api_docs/kbn_serverless_search_settings.mdx | 2 +- api_docs/kbn_serverless_security_settings.mdx | 2 +- api_docs/kbn_serverless_storybook_config.mdx | 2 +- api_docs/kbn_shared_svg.mdx | 2 +- api_docs/kbn_shared_ux_avatar_solution.mdx | 2 +- ...ared_ux_avatar_user_profile_components.mdx | 2 +- .../kbn_shared_ux_button_exit_full_screen.mdx | 2 +- ...hared_ux_button_exit_full_screen_mocks.mdx | 2 +- api_docs/kbn_shared_ux_button_toolbar.mdx | 2 +- api_docs/kbn_shared_ux_card_no_data.mdx | 2 +- api_docs/kbn_shared_ux_card_no_data_mocks.mdx | 2 +- api_docs/kbn_shared_ux_chrome_navigation.mdx | 2 +- api_docs/kbn_shared_ux_file_context.mdx | 2 +- api_docs/kbn_shared_ux_file_image.mdx | 2 +- api_docs/kbn_shared_ux_file_image_mocks.mdx | 2 +- api_docs/kbn_shared_ux_file_mocks.mdx | 2 +- api_docs/kbn_shared_ux_file_picker.mdx | 2 +- api_docs/kbn_shared_ux_file_types.mdx | 2 +- api_docs/kbn_shared_ux_file_upload.mdx | 2 +- api_docs/kbn_shared_ux_file_util.mdx | 2 +- api_docs/kbn_shared_ux_link_redirect_app.mdx | 2 +- .../kbn_shared_ux_link_redirect_app_mocks.mdx | 2 +- api_docs/kbn_shared_ux_markdown.mdx | 2 +- api_docs/kbn_shared_ux_markdown_mocks.mdx | 2 +- .../kbn_shared_ux_page_analytics_no_data.mdx | 2 +- ...shared_ux_page_analytics_no_data_mocks.mdx | 2 +- .../kbn_shared_ux_page_kibana_no_data.mdx | 2 +- ...bn_shared_ux_page_kibana_no_data_mocks.mdx | 2 +- .../kbn_shared_ux_page_kibana_template.mdx | 2 +- ...n_shared_ux_page_kibana_template_mocks.mdx | 2 +- api_docs/kbn_shared_ux_page_no_data.mdx | 2 +- .../kbn_shared_ux_page_no_data_config.mdx | 2 +- ...bn_shared_ux_page_no_data_config_mocks.mdx | 2 +- api_docs/kbn_shared_ux_page_no_data_mocks.mdx | 2 +- api_docs/kbn_shared_ux_page_solution_nav.mdx | 2 +- .../kbn_shared_ux_prompt_no_data_views.mdx | 2 +- ...n_shared_ux_prompt_no_data_views_mocks.mdx | 2 +- api_docs/kbn_shared_ux_prompt_not_found.mdx | 2 +- api_docs/kbn_shared_ux_router.mdx | 2 +- api_docs/kbn_shared_ux_router_mocks.mdx | 2 +- api_docs/kbn_shared_ux_storybook_config.mdx | 2 +- api_docs/kbn_shared_ux_storybook_mock.mdx | 2 +- api_docs/kbn_shared_ux_utility.mdx | 2 +- api_docs/kbn_slo_schema.mdx | 2 +- api_docs/kbn_some_dev_log.mdx | 2 +- api_docs/kbn_std.mdx | 2 +- api_docs/kbn_stdio_dev_helpers.mdx | 2 +- api_docs/kbn_storybook.mdx | 2 +- api_docs/kbn_subscription_tracking.mdx | 2 +- api_docs/kbn_telemetry_tools.mdx | 2 +- api_docs/kbn_test.mdx | 2 +- api_docs/kbn_test_jest_helpers.mdx | 2 +- api_docs/kbn_test_subj_selector.mdx | 2 +- api_docs/kbn_text_based_editor.mdx | 2 +- api_docs/kbn_tooling_log.mdx | 2 +- api_docs/kbn_ts_projects.mdx | 2 +- api_docs/kbn_typed_react_router_config.mdx | 2 +- api_docs/kbn_ui_actions_browser.mdx | 2 +- api_docs/kbn_ui_shared_deps_src.mdx | 2 +- api_docs/kbn_ui_theme.mdx | 2 +- api_docs/kbn_unified_data_table.mdx | 2 +- api_docs/kbn_unified_doc_viewer.mdx | 2 +- api_docs/kbn_unified_field_list.mdx | 2 +- api_docs/kbn_url_state.mdx | 2 +- api_docs/kbn_use_tracked_promise.mdx | 2 +- api_docs/kbn_user_profile_components.mdx | 2 +- api_docs/kbn_utility_types.mdx | 2 +- api_docs/kbn_utility_types_jest.mdx | 2 +- api_docs/kbn_utils.mdx | 2 +- api_docs/kbn_visualization_ui_components.mdx | 2 +- api_docs/kbn_xstate_utils.mdx | 2 +- api_docs/kbn_yarn_lock_validator.mdx | 2 +- api_docs/kibana_overview.mdx | 2 +- api_docs/kibana_react.mdx | 2 +- api_docs/kibana_utils.mdx | 2 +- api_docs/kubernetes_security.mdx | 2 +- api_docs/lens.mdx | 2 +- api_docs/license_api_guard.mdx | 2 +- api_docs/license_management.mdx | 2 +- api_docs/licensing.mdx | 2 +- api_docs/lists.mdx | 2 +- api_docs/log_explorer.mdx | 2 +- api_docs/logs_shared.mdx | 2 +- api_docs/management.mdx | 2 +- api_docs/maps.mdx | 2 +- api_docs/maps_ems.mdx | 2 +- api_docs/metrics_data_access.mdx | 2 +- api_docs/ml.mdx | 2 +- api_docs/monitoring.mdx | 2 +- api_docs/monitoring_collection.mdx | 2 +- api_docs/navigation.mdx | 2 +- api_docs/newsfeed.mdx | 2 +- api_docs/no_data_page.mdx | 2 +- api_docs/notifications.mdx | 2 +- api_docs/observability.devdocs.json | 32 +- api_docs/observability.mdx | 2 +- api_docs/observability_a_i_assistant.mdx | 2 +- api_docs/observability_log_explorer.mdx | 2 +- api_docs/observability_onboarding.mdx | 2 +- api_docs/observability_shared.devdocs.json | 114 ++++- api_docs/observability_shared.mdx | 4 +- api_docs/osquery.mdx | 2 +- api_docs/painless_lab.mdx | 2 +- api_docs/plugin_directory.mdx | 12 +- api_docs/presentation_util.mdx | 2 +- api_docs/profiling.devdocs.json | 77 +--- api_docs/profiling.mdx | 4 +- api_docs/profiling_data_access.devdocs.json | 395 +++++++++++++++++- api_docs/profiling_data_access.mdx | 12 +- api_docs/remote_clusters.mdx | 2 +- api_docs/reporting.mdx | 2 +- api_docs/rollup.mdx | 2 +- api_docs/rule_registry.mdx | 2 +- api_docs/runtime_fields.mdx | 2 +- api_docs/saved_objects.mdx | 2 +- api_docs/saved_objects_finder.mdx | 2 +- api_docs/saved_objects_management.mdx | 2 +- api_docs/saved_objects_tagging.mdx | 2 +- api_docs/saved_objects_tagging_oss.mdx | 2 +- api_docs/saved_search.mdx | 2 +- api_docs/screenshot_mode.mdx | 2 +- api_docs/screenshotting.mdx | 2 +- api_docs/security.mdx | 2 +- api_docs/security_solution.mdx | 2 +- api_docs/security_solution_ess.mdx | 2 +- api_docs/security_solution_serverless.mdx | 2 +- api_docs/serverless.mdx | 2 +- api_docs/serverless_observability.mdx | 2 +- api_docs/serverless_search.mdx | 2 +- api_docs/session_view.mdx | 2 +- api_docs/share.mdx | 2 +- api_docs/snapshot_restore.mdx | 2 +- api_docs/spaces.mdx | 2 +- api_docs/stack_alerts.mdx | 2 +- api_docs/stack_connectors.mdx | 2 +- api_docs/task_manager.mdx | 2 +- api_docs/telemetry.mdx | 2 +- api_docs/telemetry_collection_manager.mdx | 2 +- api_docs/telemetry_collection_xpack.mdx | 2 +- api_docs/telemetry_management_section.mdx | 2 +- api_docs/text_based_languages.mdx | 2 +- api_docs/threat_intelligence.mdx | 2 +- api_docs/timelines.mdx | 2 +- api_docs/transform.mdx | 2 +- api_docs/triggers_actions_ui.mdx | 2 +- api_docs/ui_actions.mdx | 2 +- api_docs/ui_actions_enhanced.mdx | 2 +- api_docs/unified_doc_viewer.mdx | 2 +- api_docs/unified_histogram.mdx | 2 +- api_docs/unified_search.mdx | 2 +- api_docs/unified_search_autocomplete.mdx | 2 +- api_docs/uptime.mdx | 2 +- api_docs/url_forwarding.mdx | 2 +- api_docs/usage_collection.mdx | 2 +- api_docs/ux.mdx | 2 +- api_docs/vis_default_editor.mdx | 2 +- api_docs/vis_type_gauge.mdx | 2 +- api_docs/vis_type_heatmap.mdx | 2 +- api_docs/vis_type_pie.mdx | 2 +- api_docs/vis_type_table.mdx | 2 +- api_docs/vis_type_timelion.mdx | 2 +- api_docs/vis_type_timeseries.mdx | 2 +- api_docs/vis_type_vega.mdx | 2 +- api_docs/vis_type_vislib.mdx | 2 +- api_docs/vis_type_xy.mdx | 2 +- api_docs/visualizations.mdx | 2 +- 597 files changed, 1245 insertions(+), 718 deletions(-) diff --git a/api_docs/actions.mdx b/api_docs/actions.mdx index 3fef271b7c26fd..39c297a638f27e 100644 --- a/api_docs/actions.mdx +++ b/api_docs/actions.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/actions title: "actions" image: https://source.unsplash.com/400x175/?github description: API docs for the actions plugin -date: 2023-09-22 +date: 2023-09-23 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 5cde1cd4c95ba1..0faae24a8b94ba 100644 --- a/api_docs/advanced_settings.mdx +++ b/api_docs/advanced_settings.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/advancedSettings title: "advancedSettings" image: https://source.unsplash.com/400x175/?github description: API docs for the advancedSettings plugin -date: 2023-09-22 +date: 2023-09-23 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 6bb0d13e4801a6..c5baeb0cb22b64 100644 --- a/api_docs/aiops.mdx +++ b/api_docs/aiops.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/aiops title: "aiops" image: https://source.unsplash.com/400x175/?github description: API docs for the aiops plugin -date: 2023-09-22 +date: 2023-09-23 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 240541b6b5f066..ebf06c986dcff8 100644 --- a/api_docs/alerting.mdx +++ b/api_docs/alerting.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/alerting title: "alerting" image: https://source.unsplash.com/400x175/?github description: API docs for the alerting plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'alerting'] --- import alertingObj from './alerting.devdocs.json'; diff --git a/api_docs/apm.devdocs.json b/api_docs/apm.devdocs.json index 7c0688de124a7c..226e2fba318549 100644 --- a/api_docs/apm.devdocs.json +++ b/api_docs/apm.devdocs.json @@ -408,7 +408,7 @@ "label": "APIEndpoint", "description": [], "signature": [ - "\"POST /internal/apm/data_view/static\" | \"GET /internal/apm/data_view/title\" | \"GET /internal/apm/environments\" | \"GET /internal/apm/services/{serviceName}/errors/groups/main_statistics\" | \"GET /internal/apm/services/{serviceName}/errors/groups/main_statistics_by_transaction_name\" | \"POST /internal/apm/services/{serviceName}/errors/groups/detailed_statistics\" | \"GET /internal/apm/services/{serviceName}/errors/{groupId}/samples\" | \"GET /internal/apm/services/{serviceName}/errors/{groupId}/error/{errorId}\" | \"GET /internal/apm/services/{serviceName}/errors/distribution\" | \"GET /internal/apm/services/{serviceName}/errors/{groupId}/top_erroneous_transactions\" | \"POST /internal/apm/latency/overall_distribution/transactions\" | \"GET /internal/apm/services/{serviceName}/metrics/charts\" | \"GET /internal/apm/services/{serviceName}/metrics/nodes\" | \"GET /internal/apm/services/{serviceName}/metrics/serverless/charts\" | \"GET /internal/apm/services/{serviceName}/metrics/serverless/summary\" | \"GET /internal/apm/services/{serviceName}/metrics/serverless/functions_overview\" | \"GET /internal/apm/services/{serviceName}/metrics/serverless/active_instances\" | \"GET /internal/apm/observability_overview\" | \"GET /internal/apm/observability_overview/has_data\" | \"GET /internal/apm/service-map\" | \"GET /internal/apm/service-map/service/{serviceName}\" | \"GET /internal/apm/service-map/dependency\" | \"GET /internal/apm/services\" | \"POST /internal/apm/services/detailed_statistics\" | \"GET /internal/apm/services/{serviceName}/metadata/details\" | \"GET /internal/apm/services/{serviceName}/metadata/icons\" | \"GET /internal/apm/services/{serviceName}/agent\" | \"GET /internal/apm/services/{serviceName}/transaction_types\" | \"GET /internal/apm/services/{serviceName}/node/{serviceNodeName}/metadata\" | \"GET /api/apm/services/{serviceName}/annotation/search 2023-10-31\" | \"POST /api/apm/services/{serviceName}/annotation 2023-10-31\" | \"GET /internal/apm/services/{serviceName}/service_overview_instances/details/{serviceNodeName}\" | \"GET /internal/apm/services/{serviceName}/throughput\" | \"GET /internal/apm/services/{serviceName}/service_overview_instances/main_statistics\" | \"GET /internal/apm/services/{serviceName}/service_overview_instances/detailed_statistics\" | \"GET /internal/apm/services/{serviceName}/dependencies\" | \"GET /internal/apm/services/{serviceName}/dependencies/breakdown\" | \"GET /internal/apm/services/{serviceName}/anomaly_charts\" | \"GET /internal/apm/services/{serviceName}/alerts_count\" | \"GET /internal/apm/service-groups\" | \"GET /internal/apm/service-group\" | \"POST /internal/apm/service-group\" | \"DELETE /internal/apm/service-group\" | \"GET /internal/apm/service-group/services\" | \"GET /internal/apm/service-group/counts\" | \"GET /internal/apm/suggestions\" | \"GET /internal/apm/traces/{traceId}\" | \"GET /internal/apm/traces\" | \"GET /internal/apm/traces/{traceId}/root_transaction\" | \"GET /internal/apm/transactions/{transactionId}\" | \"GET /internal/apm/traces/find\" | \"POST /internal/apm/traces/aggregated_critical_path\" | \"GET /internal/apm/traces/{traceId}/transactions/{transactionId}\" | \"GET /internal/apm/traces/{traceId}/spans/{spanId}\" | \"GET /internal/apm/services/{serviceName}/transactions/groups/main_statistics\" | \"GET /internal/apm/services/{serviceName}/transactions/groups/detailed_statistics\" | \"GET /internal/apm/services/{serviceName}/transactions/charts/latency\" | \"GET /internal/apm/services/{serviceName}/transactions/traces/samples\" | \"GET /internal/apm/services/{serviceName}/transaction/charts/breakdown\" | \"GET /internal/apm/services/{serviceName}/transactions/charts/error_rate\" | \"GET /internal/apm/services/{serviceName}/transactions/charts/coldstart_rate\" | \"GET /internal/apm/services/{serviceName}/transactions/charts/coldstart_rate_by_transaction_name\" | \"GET /internal/apm/rule_types/transaction_error_rate/chart_preview\" | \"GET /internal/apm/rule_types/error_count/chart_preview\" | \"GET /internal/apm/rule_types/transaction_duration/chart_preview\" | \"GET /api/apm/settings/agent-configuration 2023-10-31\" | \"GET /api/apm/settings/agent-configuration/view 2023-10-31\" | \"DELETE /api/apm/settings/agent-configuration 2023-10-31\" | \"PUT /api/apm/settings/agent-configuration 2023-10-31\" | \"POST /api/apm/settings/agent-configuration/search 2023-10-31\" | \"GET /api/apm/settings/agent-configuration/environments 2023-10-31\" | \"GET /api/apm/settings/agent-configuration/agent_name 2023-10-31\" | \"GET /internal/apm/settings/anomaly-detection/jobs\" | \"POST /internal/apm/settings/anomaly-detection/jobs\" | \"GET /internal/apm/settings/anomaly-detection/environments\" | \"POST /internal/apm/settings/anomaly-detection/update_to_v3\" | \"GET /internal/apm/settings/apm-index-settings\" | \"GET /internal/apm/settings/apm-indices\" | \"POST /internal/apm/settings/apm-indices/save\" | \"GET /internal/apm/settings/custom_links/transaction\" | \"GET /internal/apm/settings/custom_links\" | \"POST /internal/apm/settings/custom_links\" | \"PUT /internal/apm/settings/custom_links/{id}\" | \"DELETE /internal/apm/settings/custom_links/{id}\" | \"GET /api/apm/sourcemaps 2023-10-31\" | \"POST /api/apm/sourcemaps 2023-10-31\" | \"DELETE /api/apm/sourcemaps/{id} 2023-10-31\" | \"POST /internal/apm/sourcemaps/migrate_fleet_artifacts\" | \"GET /internal/apm/fleet/has_apm_policies\" | \"GET /internal/apm/fleet/agents\" | \"POST /api/apm/fleet/apm_server_schema 2023-10-31\" | \"GET /internal/apm/fleet/apm_server_schema/unsupported\" | \"GET /internal/apm/fleet/migration_check\" | \"POST /internal/apm/fleet/cloud_apm_package_policy\" | \"GET /internal/apm/fleet/java_agent_versions\" | \"GET /internal/apm/dependencies/top_dependencies\" | \"GET /internal/apm/dependencies/upstream_services\" | \"GET /internal/apm/dependencies/metadata\" | \"GET /internal/apm/dependencies/charts/latency\" | \"GET /internal/apm/dependencies/charts/throughput\" | \"GET /internal/apm/dependencies/charts/error_rate\" | \"GET /internal/apm/dependencies/operations\" | \"GET /internal/apm/dependencies/charts/distribution\" | \"GET /internal/apm/dependencies/operations/spans\" | \"GET /internal/apm/correlations/field_candidates/transactions\" | \"GET /internal/apm/correlations/field_value_stats/transactions\" | \"POST /internal/apm/correlations/field_value_pairs/transactions\" | \"POST /internal/apm/correlations/significant_correlations/transactions\" | \"POST /internal/apm/correlations/p_values/transactions\" | \"GET /internal/apm/fallback_to_transactions\" | \"GET /internal/apm/has_data\" | \"GET /internal/apm/event_metadata/{processorEvent}/{id}\" | \"GET /internal/apm/agent_keys\" | \"GET /internal/apm/agent_keys/privileges\" | \"POST /internal/apm/api_key/invalidate\" | \"POST /api/apm/agent_keys 2023-10-31\" | \"GET /internal/apm/storage_explorer\" | \"GET /internal/apm/services/{serviceName}/storage_details\" | \"GET /internal/apm/storage_chart\" | \"GET /internal/apm/storage_explorer/privileges\" | \"GET /internal/apm/storage_explorer_summary_stats\" | \"GET /internal/apm/storage_explorer/is_cross_cluster_search\" | \"GET /internal/apm/storage_explorer/get_services\" | \"GET /internal/apm/traces/{traceId}/span_links/{spanId}/parents\" | \"GET /internal/apm/traces/{traceId}/span_links/{spanId}/children\" | \"GET /internal/apm/services/{serviceName}/infrastructure_attributes\" | \"GET /internal/apm/debug-telemetry\" | \"GET /internal/apm/time_range_metadata\" | \"GET /internal/apm/settings/labs\" | \"GET /internal/apm/get_agents_per_service\" | \"GET /internal/apm/get_latest_agent_versions\" | \"GET /internal/apm/services/{serviceName}/agent_instances\" | \"GET /internal/apm/services/{serviceName}/mobile/filters\" | \"GET /internal/apm/mobile-services/{serviceName}/most_used_charts\" | \"GET /internal/apm/mobile-services/{serviceName}/transactions/charts/sessions\" | \"GET /internal/apm/mobile-services/{serviceName}/transactions/charts/http_requests\" | \"GET /internal/apm/mobile-services/{serviceName}/stats\" | \"GET /internal/apm/mobile-services/{serviceName}/location/stats\" | \"GET /internal/apm/mobile-services/{serviceName}/terms\" | \"GET /internal/apm/mobile-services/{serviceName}/main_statistics\" | \"GET /internal/apm/mobile-services/{serviceName}/detailed_statistics\" | \"GET /internal/apm/diagnostics\" | \"POST /internal/apm/assistant/get_apm_timeseries\" | \"GET /internal/apm/assistant/get_service_summary\" | \"GET /internal/apm/assistant/get_error_document\" | \"POST /internal/apm/assistant/get_correlation_values\" | \"GET /internal/apm/assistant/get_downstream_dependencies\" | \"POST /internal/apm/assistant/get_services_list\" | \"GET /internal/apm/services/{serviceName}/profiling/flamegraph\" | \"GET /internal/apm/services/{serviceName}/profiling/functions\"" + "\"POST /internal/apm/data_view/static\" | \"GET /internal/apm/data_view/title\" | \"GET /internal/apm/environments\" | \"GET /internal/apm/services/{serviceName}/errors/groups/main_statistics\" | \"GET /internal/apm/services/{serviceName}/errors/groups/main_statistics_by_transaction_name\" | \"POST /internal/apm/services/{serviceName}/errors/groups/detailed_statistics\" | \"GET /internal/apm/services/{serviceName}/errors/{groupId}/samples\" | \"GET /internal/apm/services/{serviceName}/errors/{groupId}/error/{errorId}\" | \"GET /internal/apm/services/{serviceName}/errors/distribution\" | \"GET /internal/apm/services/{serviceName}/errors/{groupId}/top_erroneous_transactions\" | \"POST /internal/apm/latency/overall_distribution/transactions\" | \"GET /internal/apm/services/{serviceName}/metrics/charts\" | \"GET /internal/apm/services/{serviceName}/metrics/nodes\" | \"GET /internal/apm/services/{serviceName}/metrics/serverless/charts\" | \"GET /internal/apm/services/{serviceName}/metrics/serverless/summary\" | \"GET /internal/apm/services/{serviceName}/metrics/serverless/functions_overview\" | \"GET /internal/apm/services/{serviceName}/metrics/serverless/active_instances\" | \"GET /internal/apm/observability_overview\" | \"GET /internal/apm/observability_overview/has_data\" | \"GET /internal/apm/service-map\" | \"GET /internal/apm/service-map/service/{serviceName}\" | \"GET /internal/apm/service-map/dependency\" | \"GET /internal/apm/services\" | \"POST /internal/apm/services/detailed_statistics\" | \"GET /internal/apm/services/{serviceName}/metadata/details\" | \"GET /internal/apm/services/{serviceName}/metadata/icons\" | \"GET /internal/apm/services/{serviceName}/agent\" | \"GET /internal/apm/services/{serviceName}/transaction_types\" | \"GET /internal/apm/services/{serviceName}/node/{serviceNodeName}/metadata\" | \"GET /api/apm/services/{serviceName}/annotation/search 2023-10-31\" | \"POST /api/apm/services/{serviceName}/annotation 2023-10-31\" | \"GET /internal/apm/services/{serviceName}/service_overview_instances/details/{serviceNodeName}\" | \"GET /internal/apm/services/{serviceName}/throughput\" | \"GET /internal/apm/services/{serviceName}/service_overview_instances/main_statistics\" | \"GET /internal/apm/services/{serviceName}/service_overview_instances/detailed_statistics\" | \"GET /internal/apm/services/{serviceName}/dependencies\" | \"GET /internal/apm/services/{serviceName}/dependencies/breakdown\" | \"GET /internal/apm/services/{serviceName}/anomaly_charts\" | \"GET /internal/apm/services/{serviceName}/alerts_count\" | \"GET /internal/apm/service-groups\" | \"GET /internal/apm/service-group\" | \"POST /internal/apm/service-group\" | \"DELETE /internal/apm/service-group\" | \"GET /internal/apm/service-group/services\" | \"GET /internal/apm/service-group/counts\" | \"GET /internal/apm/suggestions\" | \"GET /internal/apm/traces/{traceId}\" | \"GET /internal/apm/traces\" | \"GET /internal/apm/traces/{traceId}/root_transaction\" | \"GET /internal/apm/transactions/{transactionId}\" | \"GET /internal/apm/traces/find\" | \"POST /internal/apm/traces/aggregated_critical_path\" | \"GET /internal/apm/traces/{traceId}/transactions/{transactionId}\" | \"GET /internal/apm/traces/{traceId}/spans/{spanId}\" | \"GET /internal/apm/services/{serviceName}/transactions/groups/main_statistics\" | \"GET /internal/apm/services/{serviceName}/transactions/groups/detailed_statistics\" | \"GET /internal/apm/services/{serviceName}/transactions/charts/latency\" | \"GET /internal/apm/services/{serviceName}/transactions/traces/samples\" | \"GET /internal/apm/services/{serviceName}/transaction/charts/breakdown\" | \"GET /internal/apm/services/{serviceName}/transactions/charts/error_rate\" | \"GET /internal/apm/services/{serviceName}/transactions/charts/coldstart_rate\" | \"GET /internal/apm/services/{serviceName}/transactions/charts/coldstart_rate_by_transaction_name\" | \"GET /internal/apm/rule_types/transaction_error_rate/chart_preview\" | \"GET /internal/apm/rule_types/error_count/chart_preview\" | \"GET /internal/apm/rule_types/transaction_duration/chart_preview\" | \"GET /api/apm/settings/agent-configuration 2023-10-31\" | \"GET /api/apm/settings/agent-configuration/view 2023-10-31\" | \"DELETE /api/apm/settings/agent-configuration 2023-10-31\" | \"PUT /api/apm/settings/agent-configuration 2023-10-31\" | \"POST /api/apm/settings/agent-configuration/search 2023-10-31\" | \"GET /api/apm/settings/agent-configuration/environments 2023-10-31\" | \"GET /api/apm/settings/agent-configuration/agent_name 2023-10-31\" | \"GET /internal/apm/settings/anomaly-detection/jobs\" | \"POST /internal/apm/settings/anomaly-detection/jobs\" | \"GET /internal/apm/settings/anomaly-detection/environments\" | \"POST /internal/apm/settings/anomaly-detection/update_to_v3\" | \"GET /internal/apm/settings/apm-index-settings\" | \"GET /internal/apm/settings/apm-indices\" | \"POST /internal/apm/settings/apm-indices/save\" | \"GET /internal/apm/settings/custom_links/transaction\" | \"GET /internal/apm/settings/custom_links\" | \"POST /internal/apm/settings/custom_links\" | \"PUT /internal/apm/settings/custom_links/{id}\" | \"DELETE /internal/apm/settings/custom_links/{id}\" | \"GET /api/apm/sourcemaps 2023-10-31\" | \"POST /api/apm/sourcemaps 2023-10-31\" | \"DELETE /api/apm/sourcemaps/{id} 2023-10-31\" | \"POST /internal/apm/sourcemaps/migrate_fleet_artifacts\" | \"GET /internal/apm/fleet/has_apm_policies\" | \"GET /internal/apm/fleet/agents\" | \"POST /api/apm/fleet/apm_server_schema 2023-10-31\" | \"GET /internal/apm/fleet/apm_server_schema/unsupported\" | \"GET /internal/apm/fleet/migration_check\" | \"POST /internal/apm/fleet/cloud_apm_package_policy\" | \"GET /internal/apm/fleet/java_agent_versions\" | \"GET /internal/apm/dependencies/top_dependencies\" | \"GET /internal/apm/dependencies/upstream_services\" | \"GET /internal/apm/dependencies/metadata\" | \"GET /internal/apm/dependencies/charts/latency\" | \"GET /internal/apm/dependencies/charts/throughput\" | \"GET /internal/apm/dependencies/charts/error_rate\" | \"GET /internal/apm/dependencies/operations\" | \"GET /internal/apm/dependencies/charts/distribution\" | \"GET /internal/apm/dependencies/operations/spans\" | \"GET /internal/apm/correlations/field_candidates/transactions\" | \"GET /internal/apm/correlations/field_value_stats/transactions\" | \"POST /internal/apm/correlations/field_value_pairs/transactions\" | \"POST /internal/apm/correlations/significant_correlations/transactions\" | \"POST /internal/apm/correlations/p_values/transactions\" | \"GET /internal/apm/fallback_to_transactions\" | \"GET /internal/apm/has_data\" | \"GET /internal/apm/event_metadata/{processorEvent}/{id}\" | \"GET /internal/apm/agent_keys\" | \"GET /internal/apm/agent_keys/privileges\" | \"POST /internal/apm/api_key/invalidate\" | \"POST /api/apm/agent_keys 2023-10-31\" | \"GET /internal/apm/storage_explorer\" | \"GET /internal/apm/services/{serviceName}/storage_details\" | \"GET /internal/apm/storage_chart\" | \"GET /internal/apm/storage_explorer/privileges\" | \"GET /internal/apm/storage_explorer_summary_stats\" | \"GET /internal/apm/storage_explorer/is_cross_cluster_search\" | \"GET /internal/apm/storage_explorer/get_services\" | \"GET /internal/apm/traces/{traceId}/span_links/{spanId}/parents\" | \"GET /internal/apm/traces/{traceId}/span_links/{spanId}/children\" | \"GET /internal/apm/services/{serviceName}/infrastructure_attributes\" | \"GET /internal/apm/debug-telemetry\" | \"GET /internal/apm/time_range_metadata\" | \"GET /internal/apm/settings/labs\" | \"GET /internal/apm/get_agents_per_service\" | \"GET /internal/apm/get_latest_agent_versions\" | \"GET /internal/apm/services/{serviceName}/agent_instances\" | \"GET /internal/apm/services/{serviceName}/mobile/filters\" | \"GET /internal/apm/mobile-services/{serviceName}/most_used_charts\" | \"GET /internal/apm/mobile-services/{serviceName}/transactions/charts/sessions\" | \"GET /internal/apm/mobile-services/{serviceName}/transactions/charts/http_requests\" | \"GET /internal/apm/mobile-services/{serviceName}/stats\" | \"GET /internal/apm/mobile-services/{serviceName}/location/stats\" | \"GET /internal/apm/mobile-services/{serviceName}/terms\" | \"GET /internal/apm/mobile-services/{serviceName}/main_statistics\" | \"GET /internal/apm/mobile-services/{serviceName}/detailed_statistics\" | \"GET /internal/apm/diagnostics\" | \"POST /internal/apm/assistant/get_apm_timeseries\" | \"GET /internal/apm/assistant/get_service_summary\" | \"GET /internal/apm/assistant/get_error_document\" | \"POST /internal/apm/assistant/get_correlation_values\" | \"GET /internal/apm/assistant/get_downstream_dependencies\" | \"POST /internal/apm/assistant/get_services_list\" | \"GET /internal/apm/services/{serviceName}/profiling/flamegraph\" | \"GET /internal/apm/profiling/status\" | \"GET /internal/apm/services/{serviceName}/profiling/functions\"" ], "path": "x-pack/plugins/apm/server/routes/apm_routes/get_global_apm_server_route_repository.ts", "deprecated": false, @@ -559,6 +559,10 @@ }, "; hostNames: string[]; } | undefined>; } & ", "APMRouteCreateOptions", + "; \"GET /internal/apm/profiling/status\": { endpoint: \"GET /internal/apm/profiling/status\"; params?: undefined; handler: ({}: ", + "APMRouteHandlerResources", + ") => Promise<{ initialized: boolean; }>; } & ", + "APMRouteCreateOptions", "; \"GET /internal/apm/services/{serviceName}/profiling/flamegraph\": { endpoint: \"GET /internal/apm/services/{serviceName}/profiling/flamegraph\"; params?: ", "TypeC", "<{ path: ", diff --git a/api_docs/apm.mdx b/api_docs/apm.mdx index dc3e7fb17e7263..d23c9ecb57f961 100644 --- a/api_docs/apm.mdx +++ b/api_docs/apm.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/apm title: "apm" image: https://source.unsplash.com/400x175/?github description: API docs for the apm plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'apm'] --- import apmObj from './apm.devdocs.json'; diff --git a/api_docs/apm_data_access.mdx b/api_docs/apm_data_access.mdx index 699b4e43625713..e40d36a069eb15 100644 --- a/api_docs/apm_data_access.mdx +++ b/api_docs/apm_data_access.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/apmDataAccess title: "apmDataAccess" image: https://source.unsplash.com/400x175/?github description: API docs for the apmDataAccess plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'apmDataAccess'] --- import apmDataAccessObj from './apm_data_access.devdocs.json'; diff --git a/api_docs/asset_manager.mdx b/api_docs/asset_manager.mdx index 9b25d6f02073d9..ac64992ea455ae 100644 --- a/api_docs/asset_manager.mdx +++ b/api_docs/asset_manager.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/assetManager title: "assetManager" image: https://source.unsplash.com/400x175/?github description: API docs for the assetManager plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'assetManager'] --- import assetManagerObj from './asset_manager.devdocs.json'; diff --git a/api_docs/banners.mdx b/api_docs/banners.mdx index 13b467bc21d12c..f0d7089b28decd 100644 --- a/api_docs/banners.mdx +++ b/api_docs/banners.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/banners title: "banners" image: https://source.unsplash.com/400x175/?github description: API docs for the banners plugin -date: 2023-09-22 +date: 2023-09-23 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 a1dcdd6b5c48a8..ba6854e641b926 100644 --- a/api_docs/bfetch.mdx +++ b/api_docs/bfetch.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/bfetch title: "bfetch" image: https://source.unsplash.com/400x175/?github description: API docs for the bfetch plugin -date: 2023-09-22 +date: 2023-09-23 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 b2dcd0ad2240f5..5f35c75afcb6fe 100644 --- a/api_docs/canvas.mdx +++ b/api_docs/canvas.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/canvas title: "canvas" image: https://source.unsplash.com/400x175/?github description: API docs for the canvas plugin -date: 2023-09-22 +date: 2023-09-23 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 fde77511cdc1e0..bdc5394cad81be 100644 --- a/api_docs/cases.mdx +++ b/api_docs/cases.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cases title: "cases" image: https://source.unsplash.com/400x175/?github description: API docs for the cases plugin -date: 2023-09-22 +date: 2023-09-23 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 bd0fa0dc99c21e..e63df42601a6e9 100644 --- a/api_docs/charts.mdx +++ b/api_docs/charts.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/charts title: "charts" image: https://source.unsplash.com/400x175/?github description: API docs for the charts plugin -date: 2023-09-22 +date: 2023-09-23 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 8cb3e8d2cbf3a2..d07db034502880 100644 --- a/api_docs/cloud.mdx +++ b/api_docs/cloud.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloud title: "cloud" image: https://source.unsplash.com/400x175/?github description: API docs for the cloud plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloud'] --- import cloudObj from './cloud.devdocs.json'; diff --git a/api_docs/cloud_chat.mdx b/api_docs/cloud_chat.mdx index c1637e0e812016..e69eb9b03aedb2 100644 --- a/api_docs/cloud_chat.mdx +++ b/api_docs/cloud_chat.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudChat title: "cloudChat" image: https://source.unsplash.com/400x175/?github description: API docs for the cloudChat plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudChat'] --- import cloudChatObj from './cloud_chat.devdocs.json'; diff --git a/api_docs/cloud_chat_provider.mdx b/api_docs/cloud_chat_provider.mdx index 687b68fb698858..f410339b45d8eb 100644 --- a/api_docs/cloud_chat_provider.mdx +++ b/api_docs/cloud_chat_provider.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudChatProvider title: "cloudChatProvider" image: https://source.unsplash.com/400x175/?github description: API docs for the cloudChatProvider plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudChatProvider'] --- import cloudChatProviderObj from './cloud_chat_provider.devdocs.json'; diff --git a/api_docs/cloud_data_migration.mdx b/api_docs/cloud_data_migration.mdx index 218bf761e8ac3b..85744f1f164f82 100644 --- a/api_docs/cloud_data_migration.mdx +++ b/api_docs/cloud_data_migration.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudDataMigration title: "cloudDataMigration" image: https://source.unsplash.com/400x175/?github description: API docs for the cloudDataMigration plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudDataMigration'] --- import cloudDataMigrationObj from './cloud_data_migration.devdocs.json'; diff --git a/api_docs/cloud_defend.mdx b/api_docs/cloud_defend.mdx index 111ab5da468bec..cffb497135d51f 100644 --- a/api_docs/cloud_defend.mdx +++ b/api_docs/cloud_defend.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudDefend title: "cloudDefend" image: https://source.unsplash.com/400x175/?github description: API docs for the cloudDefend plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudDefend'] --- import cloudDefendObj from './cloud_defend.devdocs.json'; diff --git a/api_docs/cloud_experiments.mdx b/api_docs/cloud_experiments.mdx index 9ce075f94fdf5a..8976cad89f07f7 100644 --- a/api_docs/cloud_experiments.mdx +++ b/api_docs/cloud_experiments.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudExperiments title: "cloudExperiments" image: https://source.unsplash.com/400x175/?github description: API docs for the cloudExperiments plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudExperiments'] --- import cloudExperimentsObj from './cloud_experiments.devdocs.json'; diff --git a/api_docs/cloud_security_posture.mdx b/api_docs/cloud_security_posture.mdx index 6d15a2c8a6f049..0f9787fe113099 100644 --- a/api_docs/cloud_security_posture.mdx +++ b/api_docs/cloud_security_posture.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudSecurityPosture title: "cloudSecurityPosture" image: https://source.unsplash.com/400x175/?github description: API docs for the cloudSecurityPosture plugin -date: 2023-09-22 +date: 2023-09-23 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 9ce5ab89d9b0be..21a78cec424be1 100644 --- a/api_docs/console.mdx +++ b/api_docs/console.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/console title: "console" image: https://source.unsplash.com/400x175/?github description: API docs for the console plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'console'] --- import consoleObj from './console.devdocs.json'; diff --git a/api_docs/content_management.mdx b/api_docs/content_management.mdx index 3d6861cb3a2fdd..19e039f6d97f81 100644 --- a/api_docs/content_management.mdx +++ b/api_docs/content_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/contentManagement title: "contentManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the contentManagement plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'contentManagement'] --- import contentManagementObj from './content_management.devdocs.json'; diff --git a/api_docs/controls.mdx b/api_docs/controls.mdx index d8bed1ba5dbf2c..2744c1b24ed6bc 100644 --- a/api_docs/controls.mdx +++ b/api_docs/controls.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/controls title: "controls" image: https://source.unsplash.com/400x175/?github description: API docs for the controls plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'controls'] --- import controlsObj from './controls.devdocs.json'; diff --git a/api_docs/custom_integrations.mdx b/api_docs/custom_integrations.mdx index 5fff9c5eabbf63..488ccad1de288d 100644 --- a/api_docs/custom_integrations.mdx +++ b/api_docs/custom_integrations.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/customIntegrations title: "customIntegrations" image: https://source.unsplash.com/400x175/?github description: API docs for the customIntegrations plugin -date: 2023-09-22 +date: 2023-09-23 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 a8d2efaa8a114a..5345d51b10a7e4 100644 --- a/api_docs/dashboard.mdx +++ b/api_docs/dashboard.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dashboard title: "dashboard" image: https://source.unsplash.com/400x175/?github description: API docs for the dashboard plugin -date: 2023-09-22 +date: 2023-09-23 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 7e7bcfb129a0c9..2e81b7cb05ceea 100644 --- a/api_docs/dashboard_enhanced.mdx +++ b/api_docs/dashboard_enhanced.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dashboardEnhanced title: "dashboardEnhanced" image: https://source.unsplash.com/400x175/?github description: API docs for the dashboardEnhanced plugin -date: 2023-09-22 +date: 2023-09-23 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 2ab17d618a2b37..f8e13f109a9f19 100644 --- a/api_docs/data.mdx +++ b/api_docs/data.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/data title: "data" image: https://source.unsplash.com/400x175/?github description: API docs for the data plugin -date: 2023-09-22 +date: 2023-09-23 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 d7d57d8bb8dfbe..56c7063e309eb6 100644 --- a/api_docs/data_query.mdx +++ b/api_docs/data_query.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/data-query title: "data.query" image: https://source.unsplash.com/400x175/?github description: API docs for the data.query plugin -date: 2023-09-22 +date: 2023-09-23 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 bfcf0b17363f84..5a73fdd5c982cd 100644 --- a/api_docs/data_search.mdx +++ b/api_docs/data_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/data-search title: "data.search" image: https://source.unsplash.com/400x175/?github description: API docs for the data.search plugin -date: 2023-09-22 +date: 2023-09-23 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 33be7a92ad848e..68bfdb1b521575 100644 --- a/api_docs/data_view_editor.mdx +++ b/api_docs/data_view_editor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataViewEditor title: "dataViewEditor" image: https://source.unsplash.com/400x175/?github description: API docs for the dataViewEditor plugin -date: 2023-09-22 +date: 2023-09-23 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 03cd9e78a97eae..b3806e94e88859 100644 --- a/api_docs/data_view_field_editor.mdx +++ b/api_docs/data_view_field_editor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataViewFieldEditor title: "dataViewFieldEditor" image: https://source.unsplash.com/400x175/?github description: API docs for the dataViewFieldEditor plugin -date: 2023-09-22 +date: 2023-09-23 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 e471f16a59a46a..e3cc4f687f9907 100644 --- a/api_docs/data_view_management.mdx +++ b/api_docs/data_view_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataViewManagement title: "dataViewManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the dataViewManagement plugin -date: 2023-09-22 +date: 2023-09-23 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 97c9d70abe747f..84d53a40fbfe79 100644 --- a/api_docs/data_views.mdx +++ b/api_docs/data_views.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataViews title: "dataViews" image: https://source.unsplash.com/400x175/?github description: API docs for the dataViews plugin -date: 2023-09-22 +date: 2023-09-23 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 10f7e8e0b31a0e..85e9bedd3e90eb 100644 --- a/api_docs/data_visualizer.mdx +++ b/api_docs/data_visualizer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataVisualizer title: "dataVisualizer" image: https://source.unsplash.com/400x175/?github description: API docs for the dataVisualizer plugin -date: 2023-09-22 +date: 2023-09-23 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 cae2874b2f107e..2f3d1ce6b6ef5c 100644 --- a/api_docs/deprecations_by_api.mdx +++ b/api_docs/deprecations_by_api.mdx @@ -7,7 +7,7 @@ id: kibDevDocsDeprecationsByApi slug: /kibana-dev-docs/api-meta/deprecated-api-list-by-api title: Deprecated API usage by API description: A list of deprecated APIs, which plugins are still referencing them, and when they need to be removed by. -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- diff --git a/api_docs/deprecations_by_plugin.mdx b/api_docs/deprecations_by_plugin.mdx index 8ba7503399b875..ad4487487aa4be 100644 --- a/api_docs/deprecations_by_plugin.mdx +++ b/api_docs/deprecations_by_plugin.mdx @@ -7,7 +7,7 @@ id: kibDevDocsDeprecationsByPlugin slug: /kibana-dev-docs/api-meta/deprecated-api-list-by-plugin title: Deprecated API usage by plugin description: A list of deprecated APIs, which plugins are still referencing them, and when they need to be removed by. -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- diff --git a/api_docs/deprecations_by_team.mdx b/api_docs/deprecations_by_team.mdx index 26742064ca1fc0..2a23f6adaa66a9 100644 --- a/api_docs/deprecations_by_team.mdx +++ b/api_docs/deprecations_by_team.mdx @@ -7,7 +7,7 @@ id: kibDevDocsDeprecationsDueByTeam slug: /kibana-dev-docs/api-meta/deprecations-due-by-team title: Deprecated APIs due to be removed, by team description: Lists the teams that are referencing deprecated APIs with a remove by date. -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- diff --git a/api_docs/dev_tools.mdx b/api_docs/dev_tools.mdx index 578a363e310261..399fdec476c1b7 100644 --- a/api_docs/dev_tools.mdx +++ b/api_docs/dev_tools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/devTools title: "devTools" image: https://source.unsplash.com/400x175/?github description: API docs for the devTools plugin -date: 2023-09-22 +date: 2023-09-23 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 9757530e364e64..d5e1c0a7224c73 100644 --- a/api_docs/discover.mdx +++ b/api_docs/discover.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/discover title: "discover" image: https://source.unsplash.com/400x175/?github description: API docs for the discover plugin -date: 2023-09-22 +date: 2023-09-23 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 14665dd3dbf281..7b42e812c5d4aa 100644 --- a/api_docs/discover_enhanced.mdx +++ b/api_docs/discover_enhanced.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/discoverEnhanced title: "discoverEnhanced" image: https://source.unsplash.com/400x175/?github description: API docs for the discoverEnhanced plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'discoverEnhanced'] --- import discoverEnhancedObj from './discover_enhanced.devdocs.json'; diff --git a/api_docs/ecs_data_quality_dashboard.mdx b/api_docs/ecs_data_quality_dashboard.mdx index e563889f743e65..64b3268431998f 100644 --- a/api_docs/ecs_data_quality_dashboard.mdx +++ b/api_docs/ecs_data_quality_dashboard.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/ecsDataQualityDashboard title: "ecsDataQualityDashboard" image: https://source.unsplash.com/400x175/?github description: API docs for the ecsDataQualityDashboard plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'ecsDataQualityDashboard'] --- import ecsDataQualityDashboardObj from './ecs_data_quality_dashboard.devdocs.json'; diff --git a/api_docs/elastic_assistant.mdx b/api_docs/elastic_assistant.mdx index bd1eb7f5c45b00..b21c6e5fdb9f08 100644 --- a/api_docs/elastic_assistant.mdx +++ b/api_docs/elastic_assistant.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/elasticAssistant title: "elasticAssistant" image: https://source.unsplash.com/400x175/?github description: API docs for the elasticAssistant plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'elasticAssistant'] --- import elasticAssistantObj from './elastic_assistant.devdocs.json'; diff --git a/api_docs/embeddable.mdx b/api_docs/embeddable.mdx index 91498206cadbc9..4b2f89c4c30f6f 100644 --- a/api_docs/embeddable.mdx +++ b/api_docs/embeddable.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/embeddable title: "embeddable" image: https://source.unsplash.com/400x175/?github description: API docs for the embeddable plugin -date: 2023-09-22 +date: 2023-09-23 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 cb7c9d694490bb..7accd2a9ff9064 100644 --- a/api_docs/embeddable_enhanced.mdx +++ b/api_docs/embeddable_enhanced.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/embeddableEnhanced title: "embeddableEnhanced" image: https://source.unsplash.com/400x175/?github description: API docs for the embeddableEnhanced plugin -date: 2023-09-22 +date: 2023-09-23 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 5965dcb8a31b39..ed165823eeba56 100644 --- a/api_docs/encrypted_saved_objects.mdx +++ b/api_docs/encrypted_saved_objects.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/encryptedSavedObjects title: "encryptedSavedObjects" image: https://source.unsplash.com/400x175/?github description: API docs for the encryptedSavedObjects plugin -date: 2023-09-22 +date: 2023-09-23 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 b6d930efcac66b..933a99513d24a8 100644 --- a/api_docs/enterprise_search.mdx +++ b/api_docs/enterprise_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/enterpriseSearch title: "enterpriseSearch" image: https://source.unsplash.com/400x175/?github description: API docs for the enterpriseSearch plugin -date: 2023-09-22 +date: 2023-09-23 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 3acd9582627b0d..06b56354ca7e57 100644 --- a/api_docs/es_ui_shared.mdx +++ b/api_docs/es_ui_shared.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/esUiShared title: "esUiShared" image: https://source.unsplash.com/400x175/?github description: API docs for the esUiShared plugin -date: 2023-09-22 +date: 2023-09-23 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 d3bf2b4def3d14..fc36eccea87fab 100644 --- a/api_docs/event_annotation.mdx +++ b/api_docs/event_annotation.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/eventAnnotation title: "eventAnnotation" image: https://source.unsplash.com/400x175/?github description: API docs for the eventAnnotation plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'eventAnnotation'] --- import eventAnnotationObj from './event_annotation.devdocs.json'; diff --git a/api_docs/event_annotation_listing.mdx b/api_docs/event_annotation_listing.mdx index 064500e78488b2..834d438105a26d 100644 --- a/api_docs/event_annotation_listing.mdx +++ b/api_docs/event_annotation_listing.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/eventAnnotationListing title: "eventAnnotationListing" image: https://source.unsplash.com/400x175/?github description: API docs for the eventAnnotationListing plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'eventAnnotationListing'] --- import eventAnnotationListingObj from './event_annotation_listing.devdocs.json'; diff --git a/api_docs/event_log.mdx b/api_docs/event_log.mdx index 4fc6d1f2714b2e..b0f61adb7b1d48 100644 --- a/api_docs/event_log.mdx +++ b/api_docs/event_log.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/eventLog title: "eventLog" image: https://source.unsplash.com/400x175/?github description: API docs for the eventLog plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'eventLog'] --- import eventLogObj from './event_log.devdocs.json'; diff --git a/api_docs/exploratory_view.mdx b/api_docs/exploratory_view.mdx index ef6a1b8d7e3da8..12fb004f20339f 100644 --- a/api_docs/exploratory_view.mdx +++ b/api_docs/exploratory_view.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/exploratoryView title: "exploratoryView" image: https://source.unsplash.com/400x175/?github description: API docs for the exploratoryView plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'exploratoryView'] --- import exploratoryViewObj from './exploratory_view.devdocs.json'; diff --git a/api_docs/expression_error.mdx b/api_docs/expression_error.mdx index cc0fa5b0f96402..2b19031586a339 100644 --- a/api_docs/expression_error.mdx +++ b/api_docs/expression_error.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionError title: "expressionError" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionError plugin -date: 2023-09-22 +date: 2023-09-23 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 c9ac36f6fd24a7..3f660f17600e3b 100644 --- a/api_docs/expression_gauge.mdx +++ b/api_docs/expression_gauge.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionGauge title: "expressionGauge" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionGauge plugin -date: 2023-09-22 +date: 2023-09-23 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 cf39abc6f0a9df..033028fc9c101c 100644 --- a/api_docs/expression_heatmap.mdx +++ b/api_docs/expression_heatmap.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionHeatmap title: "expressionHeatmap" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionHeatmap plugin -date: 2023-09-22 +date: 2023-09-23 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 c79aa87517f107..2285535bde98d4 100644 --- a/api_docs/expression_image.mdx +++ b/api_docs/expression_image.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionImage title: "expressionImage" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionImage plugin -date: 2023-09-22 +date: 2023-09-23 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 6b1ce19e150c3a..e346a850e4bb7a 100644 --- a/api_docs/expression_legacy_metric_vis.mdx +++ b/api_docs/expression_legacy_metric_vis.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionLegacyMetricVis title: "expressionLegacyMetricVis" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionLegacyMetricVis plugin -date: 2023-09-22 +date: 2023-09-23 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 17a917e2a265ea..df093ab9e3b8f9 100644 --- a/api_docs/expression_metric.mdx +++ b/api_docs/expression_metric.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionMetric title: "expressionMetric" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionMetric plugin -date: 2023-09-22 +date: 2023-09-23 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 cf26a78cc2b368..2cad8ad38455ab 100644 --- a/api_docs/expression_metric_vis.mdx +++ b/api_docs/expression_metric_vis.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionMetricVis title: "expressionMetricVis" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionMetricVis plugin -date: 2023-09-22 +date: 2023-09-23 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 bce63b9bf1c850..2067b09ebc2e35 100644 --- a/api_docs/expression_partition_vis.mdx +++ b/api_docs/expression_partition_vis.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionPartitionVis title: "expressionPartitionVis" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionPartitionVis plugin -date: 2023-09-22 +date: 2023-09-23 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 93d64281a79566..09433ef3bc48c7 100644 --- a/api_docs/expression_repeat_image.mdx +++ b/api_docs/expression_repeat_image.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionRepeatImage title: "expressionRepeatImage" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionRepeatImage plugin -date: 2023-09-22 +date: 2023-09-23 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 ec1805853e09f2..95ff560b17c6f6 100644 --- a/api_docs/expression_reveal_image.mdx +++ b/api_docs/expression_reveal_image.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionRevealImage title: "expressionRevealImage" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionRevealImage plugin -date: 2023-09-22 +date: 2023-09-23 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 f2688336d91871..0e7f4e8982ce38 100644 --- a/api_docs/expression_shape.mdx +++ b/api_docs/expression_shape.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionShape title: "expressionShape" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionShape plugin -date: 2023-09-22 +date: 2023-09-23 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 e6bc16a4dc6cd0..9a0a4e21546df9 100644 --- a/api_docs/expression_tagcloud.mdx +++ b/api_docs/expression_tagcloud.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionTagcloud title: "expressionTagcloud" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionTagcloud plugin -date: 2023-09-22 +date: 2023-09-23 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 82412b70a9a7f0..418d5c10ae30ca 100644 --- a/api_docs/expression_x_y.mdx +++ b/api_docs/expression_x_y.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionXY title: "expressionXY" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionXY plugin -date: 2023-09-22 +date: 2023-09-23 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 68ccd0208e3c73..95dd0d3591c393 100644 --- a/api_docs/expressions.mdx +++ b/api_docs/expressions.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressions title: "expressions" image: https://source.unsplash.com/400x175/?github description: API docs for the expressions plugin -date: 2023-09-22 +date: 2023-09-23 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 3b21a1ddd629e5..0338812903fa85 100644 --- a/api_docs/features.mdx +++ b/api_docs/features.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/features title: "features" image: https://source.unsplash.com/400x175/?github description: API docs for the features plugin -date: 2023-09-22 +date: 2023-09-23 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 d5d9f12f8c6e83..35ed198e2cdb3f 100644 --- a/api_docs/field_formats.mdx +++ b/api_docs/field_formats.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/fieldFormats title: "fieldFormats" image: https://source.unsplash.com/400x175/?github description: API docs for the fieldFormats plugin -date: 2023-09-22 +date: 2023-09-23 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 72f21ddc906ad3..b51307a7c4a030 100644 --- a/api_docs/file_upload.mdx +++ b/api_docs/file_upload.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/fileUpload title: "fileUpload" image: https://source.unsplash.com/400x175/?github description: API docs for the fileUpload plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'fileUpload'] --- import fileUploadObj from './file_upload.devdocs.json'; diff --git a/api_docs/files.mdx b/api_docs/files.mdx index 558374d2f33fbc..3ffaed46165ce6 100644 --- a/api_docs/files.mdx +++ b/api_docs/files.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/files title: "files" image: https://source.unsplash.com/400x175/?github description: API docs for the files plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'files'] --- import filesObj from './files.devdocs.json'; diff --git a/api_docs/files_management.mdx b/api_docs/files_management.mdx index e06767755a8f66..342412b96cc1fd 100644 --- a/api_docs/files_management.mdx +++ b/api_docs/files_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/filesManagement title: "filesManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the filesManagement plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'filesManagement'] --- import filesManagementObj from './files_management.devdocs.json'; diff --git a/api_docs/fleet.mdx b/api_docs/fleet.mdx index 220ab1f983fe34..7fecad9e82b8a3 100644 --- a/api_docs/fleet.mdx +++ b/api_docs/fleet.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/fleet title: "fleet" image: https://source.unsplash.com/400x175/?github description: API docs for the fleet plugin -date: 2023-09-22 +date: 2023-09-23 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 c1c9c5402d6017..be0e77b55c53cb 100644 --- a/api_docs/global_search.mdx +++ b/api_docs/global_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/globalSearch title: "globalSearch" image: https://source.unsplash.com/400x175/?github description: API docs for the globalSearch plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'globalSearch'] --- import globalSearchObj from './global_search.devdocs.json'; diff --git a/api_docs/guided_onboarding.mdx b/api_docs/guided_onboarding.mdx index aee5828134402f..529ef530c71ade 100644 --- a/api_docs/guided_onboarding.mdx +++ b/api_docs/guided_onboarding.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/guidedOnboarding title: "guidedOnboarding" image: https://source.unsplash.com/400x175/?github description: API docs for the guidedOnboarding plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'guidedOnboarding'] --- import guidedOnboardingObj from './guided_onboarding.devdocs.json'; diff --git a/api_docs/home.mdx b/api_docs/home.mdx index fc6a07abd0d340..5f198bd156da7e 100644 --- a/api_docs/home.mdx +++ b/api_docs/home.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/home title: "home" image: https://source.unsplash.com/400x175/?github description: API docs for the home plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'home'] --- import homeObj from './home.devdocs.json'; diff --git a/api_docs/image_embeddable.mdx b/api_docs/image_embeddable.mdx index f57663ddad3815..d00e10da036520 100644 --- a/api_docs/image_embeddable.mdx +++ b/api_docs/image_embeddable.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/imageEmbeddable title: "imageEmbeddable" image: https://source.unsplash.com/400x175/?github description: API docs for the imageEmbeddable plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'imageEmbeddable'] --- import imageEmbeddableObj from './image_embeddable.devdocs.json'; diff --git a/api_docs/index_lifecycle_management.mdx b/api_docs/index_lifecycle_management.mdx index 09498eb3ca7fe6..cdecb343560a93 100644 --- a/api_docs/index_lifecycle_management.mdx +++ b/api_docs/index_lifecycle_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/indexLifecycleManagement title: "indexLifecycleManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the indexLifecycleManagement plugin -date: 2023-09-22 +date: 2023-09-23 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 4ec3bd9d5e45e4..e57ae54f82a6da 100644 --- a/api_docs/index_management.mdx +++ b/api_docs/index_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/indexManagement title: "indexManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the indexManagement plugin -date: 2023-09-22 +date: 2023-09-23 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 a0486e201c758f..e4d8c125588a60 100644 --- a/api_docs/infra.mdx +++ b/api_docs/infra.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/infra title: "infra" image: https://source.unsplash.com/400x175/?github description: API docs for the infra plugin -date: 2023-09-22 +date: 2023-09-23 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 3676463b7614ca..fa0d8d034e450b 100644 --- a/api_docs/inspector.mdx +++ b/api_docs/inspector.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/inspector title: "inspector" image: https://source.unsplash.com/400x175/?github description: API docs for the inspector plugin -date: 2023-09-22 +date: 2023-09-23 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 b8e54aa228ff8a..9ed572925e2448 100644 --- a/api_docs/interactive_setup.mdx +++ b/api_docs/interactive_setup.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/interactiveSetup title: "interactiveSetup" image: https://source.unsplash.com/400x175/?github description: API docs for the interactiveSetup plugin -date: 2023-09-22 +date: 2023-09-23 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 ce85a25b6facd1..625be92c362e13 100644 --- a/api_docs/kbn_ace.mdx +++ b/api_docs/kbn_ace.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ace title: "@kbn/ace" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ace plugin -date: 2023-09-22 +date: 2023-09-23 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 c7242a3b25feaf..b3a40d401d4d06 100644 --- a/api_docs/kbn_aiops_components.mdx +++ b/api_docs/kbn_aiops_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-aiops-components title: "@kbn/aiops-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/aiops-components plugin -date: 2023-09-22 +date: 2023-09-23 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 d011edbdae5d18..9d01c430462d13 100644 --- a/api_docs/kbn_aiops_utils.mdx +++ b/api_docs/kbn_aiops_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-aiops-utils title: "@kbn/aiops-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/aiops-utils plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/aiops-utils'] --- import kbnAiopsUtilsObj from './kbn_aiops_utils.devdocs.json'; diff --git a/api_docs/kbn_alerting_api_integration_helpers.mdx b/api_docs/kbn_alerting_api_integration_helpers.mdx index 03c1fa1c71f40e..e2a7578651b2df 100644 --- a/api_docs/kbn_alerting_api_integration_helpers.mdx +++ b/api_docs/kbn_alerting_api_integration_helpers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-alerting-api-integration-helpers title: "@kbn/alerting-api-integration-helpers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/alerting-api-integration-helpers plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/alerting-api-integration-helpers'] --- import kbnAlertingApiIntegrationHelpersObj from './kbn_alerting_api_integration_helpers.devdocs.json'; diff --git a/api_docs/kbn_alerting_state_types.mdx b/api_docs/kbn_alerting_state_types.mdx index ffc6210b198092..0bb0368549761f 100644 --- a/api_docs/kbn_alerting_state_types.mdx +++ b/api_docs/kbn_alerting_state_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-alerting-state-types title: "@kbn/alerting-state-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/alerting-state-types plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/alerting-state-types'] --- import kbnAlertingStateTypesObj from './kbn_alerting_state_types.devdocs.json'; diff --git a/api_docs/kbn_alerts_as_data_utils.mdx b/api_docs/kbn_alerts_as_data_utils.mdx index 00d2cd1e73eeea..f1430aef504ee5 100644 --- a/api_docs/kbn_alerts_as_data_utils.mdx +++ b/api_docs/kbn_alerts_as_data_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-alerts-as-data-utils title: "@kbn/alerts-as-data-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/alerts-as-data-utils plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/alerts-as-data-utils'] --- import kbnAlertsAsDataUtilsObj from './kbn_alerts_as_data_utils.devdocs.json'; diff --git a/api_docs/kbn_alerts_ui_shared.mdx b/api_docs/kbn_alerts_ui_shared.mdx index 45fd3d345409e7..2f521228405208 100644 --- a/api_docs/kbn_alerts_ui_shared.mdx +++ b/api_docs/kbn_alerts_ui_shared.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-alerts-ui-shared title: "@kbn/alerts-ui-shared" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/alerts-ui-shared plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/alerts-ui-shared'] --- import kbnAlertsUiSharedObj from './kbn_alerts_ui_shared.devdocs.json'; diff --git a/api_docs/kbn_analytics.mdx b/api_docs/kbn_analytics.mdx index 9d27c496947a3b..e0e1901bda5201 100644 --- a/api_docs/kbn_analytics.mdx +++ b/api_docs/kbn_analytics.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics title: "@kbn/analytics" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics plugin -date: 2023-09-22 +date: 2023-09-23 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 60a1360b09ab8c..5c05b7a9b70713 100644 --- a/api_docs/kbn_analytics_client.mdx +++ b/api_docs/kbn_analytics_client.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-client title: "@kbn/analytics-client" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics-client plugin -date: 2023-09-22 +date: 2023-09-23 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 47de0b7aa8e57b..22546130c2b0b8 100644 --- a/api_docs/kbn_analytics_shippers_elastic_v3_browser.mdx +++ b/api_docs/kbn_analytics_shippers_elastic_v3_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-shippers-elastic-v3-browser title: "@kbn/analytics-shippers-elastic-v3-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics-shippers-elastic-v3-browser plugin -date: 2023-09-22 +date: 2023-09-23 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 fb23c8aa0611c2..720989ea4211e5 100644 --- a/api_docs/kbn_analytics_shippers_elastic_v3_common.mdx +++ b/api_docs/kbn_analytics_shippers_elastic_v3_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-shippers-elastic-v3-common title: "@kbn/analytics-shippers-elastic-v3-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics-shippers-elastic-v3-common plugin -date: 2023-09-22 +date: 2023-09-23 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 bf697c883cc909..a334b9a625595a 100644 --- a/api_docs/kbn_analytics_shippers_elastic_v3_server.mdx +++ b/api_docs/kbn_analytics_shippers_elastic_v3_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-shippers-elastic-v3-server title: "@kbn/analytics-shippers-elastic-v3-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics-shippers-elastic-v3-server plugin -date: 2023-09-22 +date: 2023-09-23 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 d8d74fe9a12180..85dc4b00032d4c 100644 --- a/api_docs/kbn_analytics_shippers_fullstory.mdx +++ b/api_docs/kbn_analytics_shippers_fullstory.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-shippers-fullstory title: "@kbn/analytics-shippers-fullstory" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics-shippers-fullstory plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics-shippers-fullstory'] --- import kbnAnalyticsShippersFullstoryObj from './kbn_analytics_shippers_fullstory.devdocs.json'; diff --git a/api_docs/kbn_analytics_shippers_gainsight.mdx b/api_docs/kbn_analytics_shippers_gainsight.mdx index cee306b8550309..7a7a9d8f99151f 100644 --- a/api_docs/kbn_analytics_shippers_gainsight.mdx +++ b/api_docs/kbn_analytics_shippers_gainsight.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-shippers-gainsight title: "@kbn/analytics-shippers-gainsight" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics-shippers-gainsight plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics-shippers-gainsight'] --- import kbnAnalyticsShippersGainsightObj from './kbn_analytics_shippers_gainsight.devdocs.json'; diff --git a/api_docs/kbn_apm_config_loader.mdx b/api_docs/kbn_apm_config_loader.mdx index fe8da669c27980..a682f4923be11c 100644 --- a/api_docs/kbn_apm_config_loader.mdx +++ b/api_docs/kbn_apm_config_loader.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-apm-config-loader title: "@kbn/apm-config-loader" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/apm-config-loader plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/apm-config-loader'] --- import kbnApmConfigLoaderObj from './kbn_apm_config_loader.devdocs.json'; diff --git a/api_docs/kbn_apm_synthtrace.mdx b/api_docs/kbn_apm_synthtrace.mdx index 25c9ac7cc90a5d..a35385986bbf0f 100644 --- a/api_docs/kbn_apm_synthtrace.mdx +++ b/api_docs/kbn_apm_synthtrace.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-apm-synthtrace title: "@kbn/apm-synthtrace" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/apm-synthtrace plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/apm-synthtrace'] --- import kbnApmSynthtraceObj from './kbn_apm_synthtrace.devdocs.json'; diff --git a/api_docs/kbn_apm_synthtrace_client.mdx b/api_docs/kbn_apm_synthtrace_client.mdx index 6b0a6731953e86..cde636d3154cc4 100644 --- a/api_docs/kbn_apm_synthtrace_client.mdx +++ b/api_docs/kbn_apm_synthtrace_client.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-apm-synthtrace-client title: "@kbn/apm-synthtrace-client" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/apm-synthtrace-client plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/apm-synthtrace-client'] --- import kbnApmSynthtraceClientObj from './kbn_apm_synthtrace_client.devdocs.json'; diff --git a/api_docs/kbn_apm_utils.mdx b/api_docs/kbn_apm_utils.mdx index 95dc78fc51ef82..b7c66640e9f484 100644 --- a/api_docs/kbn_apm_utils.mdx +++ b/api_docs/kbn_apm_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-apm-utils title: "@kbn/apm-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/apm-utils plugin -date: 2023-09-22 +date: 2023-09-23 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 2d4de0c51257e5..42593fa6a3d388 100644 --- a/api_docs/kbn_axe_config.mdx +++ b/api_docs/kbn_axe_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-axe-config title: "@kbn/axe-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/axe-config plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/axe-config'] --- import kbnAxeConfigObj from './kbn_axe_config.devdocs.json'; diff --git a/api_docs/kbn_cases_components.mdx b/api_docs/kbn_cases_components.mdx index 79ed397ceab078..008b0b3994b4de 100644 --- a/api_docs/kbn_cases_components.mdx +++ b/api_docs/kbn_cases_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-cases-components title: "@kbn/cases-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/cases-components plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/cases-components'] --- import kbnCasesComponentsObj from './kbn_cases_components.devdocs.json'; diff --git a/api_docs/kbn_cell_actions.mdx b/api_docs/kbn_cell_actions.mdx index 7af3fb65445b6c..a63477312c0e4c 100644 --- a/api_docs/kbn_cell_actions.mdx +++ b/api_docs/kbn_cell_actions.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-cell-actions title: "@kbn/cell-actions" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/cell-actions plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/cell-actions'] --- import kbnCellActionsObj from './kbn_cell_actions.devdocs.json'; diff --git a/api_docs/kbn_chart_expressions_common.mdx b/api_docs/kbn_chart_expressions_common.mdx index 1957d9e780c8a8..01863bd0a42de1 100644 --- a/api_docs/kbn_chart_expressions_common.mdx +++ b/api_docs/kbn_chart_expressions_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-chart-expressions-common title: "@kbn/chart-expressions-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/chart-expressions-common plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/chart-expressions-common'] --- import kbnChartExpressionsCommonObj from './kbn_chart_expressions_common.devdocs.json'; diff --git a/api_docs/kbn_chart_icons.mdx b/api_docs/kbn_chart_icons.mdx index 14d7ea379adf63..ce8cf44cbfb400 100644 --- a/api_docs/kbn_chart_icons.mdx +++ b/api_docs/kbn_chart_icons.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-chart-icons title: "@kbn/chart-icons" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/chart-icons plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/chart-icons'] --- import kbnChartIconsObj from './kbn_chart_icons.devdocs.json'; diff --git a/api_docs/kbn_ci_stats_core.mdx b/api_docs/kbn_ci_stats_core.mdx index 39454391185065..c15f21610b9fee 100644 --- a/api_docs/kbn_ci_stats_core.mdx +++ b/api_docs/kbn_ci_stats_core.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ci-stats-core title: "@kbn/ci-stats-core" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ci-stats-core plugin -date: 2023-09-22 +date: 2023-09-23 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 ae0b78cf49298c..ba50f72e8df1ee 100644 --- a/api_docs/kbn_ci_stats_performance_metrics.mdx +++ b/api_docs/kbn_ci_stats_performance_metrics.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ci-stats-performance-metrics title: "@kbn/ci-stats-performance-metrics" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ci-stats-performance-metrics plugin -date: 2023-09-22 +date: 2023-09-23 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 e9a793c11f2dc2..3c816936f38ad5 100644 --- a/api_docs/kbn_ci_stats_reporter.mdx +++ b/api_docs/kbn_ci_stats_reporter.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ci-stats-reporter title: "@kbn/ci-stats-reporter" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ci-stats-reporter plugin -date: 2023-09-22 +date: 2023-09-23 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 dc008c636c6d47..d6aba69629bb56 100644 --- a/api_docs/kbn_cli_dev_mode.mdx +++ b/api_docs/kbn_cli_dev_mode.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-cli-dev-mode title: "@kbn/cli-dev-mode" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/cli-dev-mode plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/cli-dev-mode'] --- import kbnCliDevModeObj from './kbn_cli_dev_mode.devdocs.json'; diff --git a/api_docs/kbn_code_editor.mdx b/api_docs/kbn_code_editor.mdx index ca8d04923125b0..7058e2916b5c3e 100644 --- a/api_docs/kbn_code_editor.mdx +++ b/api_docs/kbn_code_editor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-code-editor title: "@kbn/code-editor" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/code-editor plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/code-editor'] --- import kbnCodeEditorObj from './kbn_code_editor.devdocs.json'; diff --git a/api_docs/kbn_code_editor_mocks.mdx b/api_docs/kbn_code_editor_mocks.mdx index f5e96913391611..4f5d975bfe593e 100644 --- a/api_docs/kbn_code_editor_mocks.mdx +++ b/api_docs/kbn_code_editor_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-code-editor-mocks title: "@kbn/code-editor-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/code-editor-mocks plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/code-editor-mocks'] --- import kbnCodeEditorMocksObj from './kbn_code_editor_mocks.devdocs.json'; diff --git a/api_docs/kbn_coloring.mdx b/api_docs/kbn_coloring.mdx index f201ed759e8e4e..173dcdbe38fe8b 100644 --- a/api_docs/kbn_coloring.mdx +++ b/api_docs/kbn_coloring.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-coloring title: "@kbn/coloring" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/coloring plugin -date: 2023-09-22 +date: 2023-09-23 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 4587d53b55ac80..5e18b4cfcaec8b 100644 --- a/api_docs/kbn_config.mdx +++ b/api_docs/kbn_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-config title: "@kbn/config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/config plugin -date: 2023-09-22 +date: 2023-09-23 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 1b6994ad211277..24d57e1f2669c9 100644 --- a/api_docs/kbn_config_mocks.mdx +++ b/api_docs/kbn_config_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-config-mocks title: "@kbn/config-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/config-mocks plugin -date: 2023-09-22 +date: 2023-09-23 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 250f203301bfb9..ea8d490158f924 100644 --- a/api_docs/kbn_config_schema.mdx +++ b/api_docs/kbn_config_schema.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-config-schema title: "@kbn/config-schema" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/config-schema plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/config-schema'] --- import kbnConfigSchemaObj from './kbn_config_schema.devdocs.json'; diff --git a/api_docs/kbn_content_management_content_editor.mdx b/api_docs/kbn_content_management_content_editor.mdx index 268d96212e1a32..65a4ed0ca2ee95 100644 --- a/api_docs/kbn_content_management_content_editor.mdx +++ b/api_docs/kbn_content_management_content_editor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-content-editor title: "@kbn/content-management-content-editor" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/content-management-content-editor plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-content-editor'] --- import kbnContentManagementContentEditorObj from './kbn_content_management_content_editor.devdocs.json'; diff --git a/api_docs/kbn_content_management_tabbed_table_list_view.mdx b/api_docs/kbn_content_management_tabbed_table_list_view.mdx index 53ccdd4fd8440b..c00acaffe97f67 100644 --- a/api_docs/kbn_content_management_tabbed_table_list_view.mdx +++ b/api_docs/kbn_content_management_tabbed_table_list_view.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-tabbed-table-list-view title: "@kbn/content-management-tabbed-table-list-view" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/content-management-tabbed-table-list-view plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-tabbed-table-list-view'] --- import kbnContentManagementTabbedTableListViewObj from './kbn_content_management_tabbed_table_list_view.devdocs.json'; diff --git a/api_docs/kbn_content_management_table_list_view.mdx b/api_docs/kbn_content_management_table_list_view.mdx index fcd9738888471c..9d4a88a441c1b1 100644 --- a/api_docs/kbn_content_management_table_list_view.mdx +++ b/api_docs/kbn_content_management_table_list_view.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-table-list-view title: "@kbn/content-management-table-list-view" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/content-management-table-list-view plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-table-list-view'] --- import kbnContentManagementTableListViewObj from './kbn_content_management_table_list_view.devdocs.json'; diff --git a/api_docs/kbn_content_management_table_list_view_table.mdx b/api_docs/kbn_content_management_table_list_view_table.mdx index fde13f5eb7647c..8b161315cf5b7d 100644 --- a/api_docs/kbn_content_management_table_list_view_table.mdx +++ b/api_docs/kbn_content_management_table_list_view_table.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-table-list-view-table title: "@kbn/content-management-table-list-view-table" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/content-management-table-list-view-table plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-table-list-view-table'] --- import kbnContentManagementTableListViewTableObj from './kbn_content_management_table_list_view_table.devdocs.json'; diff --git a/api_docs/kbn_content_management_utils.mdx b/api_docs/kbn_content_management_utils.mdx index 6aa660478c10c2..769f6cd9fc988a 100644 --- a/api_docs/kbn_content_management_utils.mdx +++ b/api_docs/kbn_content_management_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-utils title: "@kbn/content-management-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/content-management-utils plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-utils'] --- import kbnContentManagementUtilsObj from './kbn_content_management_utils.devdocs.json'; diff --git a/api_docs/kbn_core_analytics_browser.mdx b/api_docs/kbn_core_analytics_browser.mdx index 7da22f85723792..f843605285324c 100644 --- a/api_docs/kbn_core_analytics_browser.mdx +++ b/api_docs/kbn_core_analytics_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-browser title: "@kbn/core-analytics-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-browser plugin -date: 2023-09-22 +date: 2023-09-23 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 024f1640fda7b7..6da119646bddef 100644 --- a/api_docs/kbn_core_analytics_browser_internal.mdx +++ b/api_docs/kbn_core_analytics_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-browser-internal title: "@kbn/core-analytics-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-browser-internal plugin -date: 2023-09-22 +date: 2023-09-23 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 23eb4008095c19..11ba0ceb6b1b39 100644 --- a/api_docs/kbn_core_analytics_browser_mocks.mdx +++ b/api_docs/kbn_core_analytics_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-browser-mocks title: "@kbn/core-analytics-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-browser-mocks plugin -date: 2023-09-22 +date: 2023-09-23 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 920351513c7934..42742cc5064136 100644 --- a/api_docs/kbn_core_analytics_server.mdx +++ b/api_docs/kbn_core_analytics_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-server title: "@kbn/core-analytics-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-server plugin -date: 2023-09-22 +date: 2023-09-23 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 3765a7afd72514..2fc99d3c59289c 100644 --- a/api_docs/kbn_core_analytics_server_internal.mdx +++ b/api_docs/kbn_core_analytics_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-server-internal title: "@kbn/core-analytics-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-server-internal plugin -date: 2023-09-22 +date: 2023-09-23 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 81eca520d1a5b5..15d0ea680fa90f 100644 --- a/api_docs/kbn_core_analytics_server_mocks.mdx +++ b/api_docs/kbn_core_analytics_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-server-mocks title: "@kbn/core-analytics-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-server-mocks plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-analytics-server-mocks'] --- import kbnCoreAnalyticsServerMocksObj from './kbn_core_analytics_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_application_browser.mdx b/api_docs/kbn_core_application_browser.mdx index dfc1c7b0234912..08cbab1d7d3cc3 100644 --- a/api_docs/kbn_core_application_browser.mdx +++ b/api_docs/kbn_core_application_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-application-browser title: "@kbn/core-application-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-application-browser plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-application-browser'] --- import kbnCoreApplicationBrowserObj from './kbn_core_application_browser.devdocs.json'; diff --git a/api_docs/kbn_core_application_browser_internal.mdx b/api_docs/kbn_core_application_browser_internal.mdx index 673a16a48e31a2..f4a29d396b4be6 100644 --- a/api_docs/kbn_core_application_browser_internal.mdx +++ b/api_docs/kbn_core_application_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-application-browser-internal title: "@kbn/core-application-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-application-browser-internal plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-application-browser-internal'] --- import kbnCoreApplicationBrowserInternalObj from './kbn_core_application_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_application_browser_mocks.mdx b/api_docs/kbn_core_application_browser_mocks.mdx index b3cff08708ebf2..2680b8b3105a44 100644 --- a/api_docs/kbn_core_application_browser_mocks.mdx +++ b/api_docs/kbn_core_application_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-application-browser-mocks title: "@kbn/core-application-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-application-browser-mocks plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-application-browser-mocks'] --- import kbnCoreApplicationBrowserMocksObj from './kbn_core_application_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_application_common.mdx b/api_docs/kbn_core_application_common.mdx index 140f06df4a84ef..3f4fb77959b562 100644 --- a/api_docs/kbn_core_application_common.mdx +++ b/api_docs/kbn_core_application_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-application-common title: "@kbn/core-application-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-application-common plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-application-common'] --- import kbnCoreApplicationCommonObj from './kbn_core_application_common.devdocs.json'; diff --git a/api_docs/kbn_core_apps_browser_internal.mdx b/api_docs/kbn_core_apps_browser_internal.mdx index f0dd7e687cd96d..0e9134f3964865 100644 --- a/api_docs/kbn_core_apps_browser_internal.mdx +++ b/api_docs/kbn_core_apps_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-apps-browser-internal title: "@kbn/core-apps-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-apps-browser-internal plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-apps-browser-internal'] --- import kbnCoreAppsBrowserInternalObj from './kbn_core_apps_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_apps_browser_mocks.mdx b/api_docs/kbn_core_apps_browser_mocks.mdx index 399b670077ac5b..a91d4c90e8479d 100644 --- a/api_docs/kbn_core_apps_browser_mocks.mdx +++ b/api_docs/kbn_core_apps_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-apps-browser-mocks title: "@kbn/core-apps-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-apps-browser-mocks plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-apps-browser-mocks'] --- import kbnCoreAppsBrowserMocksObj from './kbn_core_apps_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_apps_server_internal.mdx b/api_docs/kbn_core_apps_server_internal.mdx index a35a7d9772bdea..7a8b15189c229b 100644 --- a/api_docs/kbn_core_apps_server_internal.mdx +++ b/api_docs/kbn_core_apps_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-apps-server-internal title: "@kbn/core-apps-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-apps-server-internal plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-apps-server-internal'] --- import kbnCoreAppsServerInternalObj from './kbn_core_apps_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_base_browser_mocks.mdx b/api_docs/kbn_core_base_browser_mocks.mdx index 0709322575a702..b9097c58ff75f4 100644 --- a/api_docs/kbn_core_base_browser_mocks.mdx +++ b/api_docs/kbn_core_base_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-base-browser-mocks title: "@kbn/core-base-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-base-browser-mocks plugin -date: 2023-09-22 +date: 2023-09-23 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 fd832996deafde..17438fdd121714 100644 --- a/api_docs/kbn_core_base_common.mdx +++ b/api_docs/kbn_core_base_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-base-common title: "@kbn/core-base-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-base-common plugin -date: 2023-09-22 +date: 2023-09-23 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 da6ddec476ad64..43971ae1ef5a4e 100644 --- a/api_docs/kbn_core_base_server_internal.mdx +++ b/api_docs/kbn_core_base_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-base-server-internal title: "@kbn/core-base-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-base-server-internal plugin -date: 2023-09-22 +date: 2023-09-23 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 1c537e7586d047..a4b13fe2a192c3 100644 --- a/api_docs/kbn_core_base_server_mocks.mdx +++ b/api_docs/kbn_core_base_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-base-server-mocks title: "@kbn/core-base-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-base-server-mocks plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-base-server-mocks'] --- import kbnCoreBaseServerMocksObj from './kbn_core_base_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_capabilities_browser_mocks.mdx b/api_docs/kbn_core_capabilities_browser_mocks.mdx index f9a0a4e30c2b3c..b09be70dc3d11a 100644 --- a/api_docs/kbn_core_capabilities_browser_mocks.mdx +++ b/api_docs/kbn_core_capabilities_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-capabilities-browser-mocks title: "@kbn/core-capabilities-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-capabilities-browser-mocks plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-capabilities-browser-mocks'] --- import kbnCoreCapabilitiesBrowserMocksObj from './kbn_core_capabilities_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_capabilities_common.mdx b/api_docs/kbn_core_capabilities_common.mdx index b85e9d6f449d89..4ec4c3fab91eeb 100644 --- a/api_docs/kbn_core_capabilities_common.mdx +++ b/api_docs/kbn_core_capabilities_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-capabilities-common title: "@kbn/core-capabilities-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-capabilities-common plugin -date: 2023-09-22 +date: 2023-09-23 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 d5e97b63d86f64..fc42fa354eefbd 100644 --- a/api_docs/kbn_core_capabilities_server.mdx +++ b/api_docs/kbn_core_capabilities_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-capabilities-server title: "@kbn/core-capabilities-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-capabilities-server plugin -date: 2023-09-22 +date: 2023-09-23 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 fd795d4a33ceeb..2ad921c1e96fd8 100644 --- a/api_docs/kbn_core_capabilities_server_mocks.mdx +++ b/api_docs/kbn_core_capabilities_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-capabilities-server-mocks title: "@kbn/core-capabilities-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-capabilities-server-mocks plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-capabilities-server-mocks'] --- import kbnCoreCapabilitiesServerMocksObj from './kbn_core_capabilities_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_chrome_browser.mdx b/api_docs/kbn_core_chrome_browser.mdx index 29b8a08665db13..58ee2a0358778c 100644 --- a/api_docs/kbn_core_chrome_browser.mdx +++ b/api_docs/kbn_core_chrome_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-chrome-browser title: "@kbn/core-chrome-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-chrome-browser plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-chrome-browser'] --- import kbnCoreChromeBrowserObj from './kbn_core_chrome_browser.devdocs.json'; diff --git a/api_docs/kbn_core_chrome_browser_mocks.mdx b/api_docs/kbn_core_chrome_browser_mocks.mdx index 02a6b53aab6a26..ffc0099aa1163b 100644 --- a/api_docs/kbn_core_chrome_browser_mocks.mdx +++ b/api_docs/kbn_core_chrome_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-chrome-browser-mocks title: "@kbn/core-chrome-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-chrome-browser-mocks plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-chrome-browser-mocks'] --- import kbnCoreChromeBrowserMocksObj from './kbn_core_chrome_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_config_server_internal.mdx b/api_docs/kbn_core_config_server_internal.mdx index 091e67309fb0f9..5e4f99d7ac4b32 100644 --- a/api_docs/kbn_core_config_server_internal.mdx +++ b/api_docs/kbn_core_config_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-config-server-internal title: "@kbn/core-config-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-config-server-internal plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-config-server-internal'] --- import kbnCoreConfigServerInternalObj from './kbn_core_config_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_custom_branding_browser.mdx b/api_docs/kbn_core_custom_branding_browser.mdx index 0cdd42e7f4a5dc..ace8913888ab09 100644 --- a/api_docs/kbn_core_custom_branding_browser.mdx +++ b/api_docs/kbn_core_custom_branding_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-browser title: "@kbn/core-custom-branding-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-browser plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-custom-branding-browser'] --- import kbnCoreCustomBrandingBrowserObj from './kbn_core_custom_branding_browser.devdocs.json'; diff --git a/api_docs/kbn_core_custom_branding_browser_internal.mdx b/api_docs/kbn_core_custom_branding_browser_internal.mdx index f6e227ccb9c44c..ffd27fa74c9b1e 100644 --- a/api_docs/kbn_core_custom_branding_browser_internal.mdx +++ b/api_docs/kbn_core_custom_branding_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-browser-internal title: "@kbn/core-custom-branding-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-browser-internal plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-custom-branding-browser-internal'] --- import kbnCoreCustomBrandingBrowserInternalObj from './kbn_core_custom_branding_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_custom_branding_browser_mocks.mdx b/api_docs/kbn_core_custom_branding_browser_mocks.mdx index 461f0e32420bcc..493761a0f3ec9f 100644 --- a/api_docs/kbn_core_custom_branding_browser_mocks.mdx +++ b/api_docs/kbn_core_custom_branding_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-browser-mocks title: "@kbn/core-custom-branding-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-browser-mocks plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-custom-branding-browser-mocks'] --- import kbnCoreCustomBrandingBrowserMocksObj from './kbn_core_custom_branding_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_custom_branding_common.mdx b/api_docs/kbn_core_custom_branding_common.mdx index a741b3da8ea833..5c43940ee3c737 100644 --- a/api_docs/kbn_core_custom_branding_common.mdx +++ b/api_docs/kbn_core_custom_branding_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-common title: "@kbn/core-custom-branding-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-common plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-custom-branding-common'] --- import kbnCoreCustomBrandingCommonObj from './kbn_core_custom_branding_common.devdocs.json'; diff --git a/api_docs/kbn_core_custom_branding_server.mdx b/api_docs/kbn_core_custom_branding_server.mdx index c57c7063f4fc18..d7dee6ddc22368 100644 --- a/api_docs/kbn_core_custom_branding_server.mdx +++ b/api_docs/kbn_core_custom_branding_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-server title: "@kbn/core-custom-branding-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-server plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-custom-branding-server'] --- import kbnCoreCustomBrandingServerObj from './kbn_core_custom_branding_server.devdocs.json'; diff --git a/api_docs/kbn_core_custom_branding_server_internal.mdx b/api_docs/kbn_core_custom_branding_server_internal.mdx index 5d710cf84979ee..e883a320fb6d19 100644 --- a/api_docs/kbn_core_custom_branding_server_internal.mdx +++ b/api_docs/kbn_core_custom_branding_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-server-internal title: "@kbn/core-custom-branding-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-server-internal plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-custom-branding-server-internal'] --- import kbnCoreCustomBrandingServerInternalObj from './kbn_core_custom_branding_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_custom_branding_server_mocks.mdx b/api_docs/kbn_core_custom_branding_server_mocks.mdx index 953668fd465cfa..7de20c95a50143 100644 --- a/api_docs/kbn_core_custom_branding_server_mocks.mdx +++ b/api_docs/kbn_core_custom_branding_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-server-mocks title: "@kbn/core-custom-branding-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-server-mocks plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-custom-branding-server-mocks'] --- import kbnCoreCustomBrandingServerMocksObj from './kbn_core_custom_branding_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_deprecations_browser.mdx b/api_docs/kbn_core_deprecations_browser.mdx index f26b3f795c8bd8..90f24d8d31093e 100644 --- a/api_docs/kbn_core_deprecations_browser.mdx +++ b/api_docs/kbn_core_deprecations_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-browser title: "@kbn/core-deprecations-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-browser plugin -date: 2023-09-22 +date: 2023-09-23 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 e30ffc8d5f4fbb..efe4135f0e6f7c 100644 --- a/api_docs/kbn_core_deprecations_browser_internal.mdx +++ b/api_docs/kbn_core_deprecations_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-browser-internal title: "@kbn/core-deprecations-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-browser-internal plugin -date: 2023-09-22 +date: 2023-09-23 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 996e4822fb8a8f..7b6efb80d101f6 100644 --- a/api_docs/kbn_core_deprecations_browser_mocks.mdx +++ b/api_docs/kbn_core_deprecations_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-browser-mocks title: "@kbn/core-deprecations-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-browser-mocks plugin -date: 2023-09-22 +date: 2023-09-23 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 1b938a1e95abe7..bd668fba036a45 100644 --- a/api_docs/kbn_core_deprecations_common.mdx +++ b/api_docs/kbn_core_deprecations_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-common title: "@kbn/core-deprecations-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-common plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-deprecations-common'] --- import kbnCoreDeprecationsCommonObj from './kbn_core_deprecations_common.devdocs.json'; diff --git a/api_docs/kbn_core_deprecations_server.mdx b/api_docs/kbn_core_deprecations_server.mdx index 63a00912384b16..707414989e98c9 100644 --- a/api_docs/kbn_core_deprecations_server.mdx +++ b/api_docs/kbn_core_deprecations_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-server title: "@kbn/core-deprecations-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-server plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-deprecations-server'] --- import kbnCoreDeprecationsServerObj from './kbn_core_deprecations_server.devdocs.json'; diff --git a/api_docs/kbn_core_deprecations_server_internal.mdx b/api_docs/kbn_core_deprecations_server_internal.mdx index cb0471c4c5ace0..b65e3150755c0b 100644 --- a/api_docs/kbn_core_deprecations_server_internal.mdx +++ b/api_docs/kbn_core_deprecations_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-server-internal title: "@kbn/core-deprecations-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-server-internal plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-deprecations-server-internal'] --- import kbnCoreDeprecationsServerInternalObj from './kbn_core_deprecations_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_deprecations_server_mocks.mdx b/api_docs/kbn_core_deprecations_server_mocks.mdx index 1ae9073ad21b84..c075cb87b151e0 100644 --- a/api_docs/kbn_core_deprecations_server_mocks.mdx +++ b/api_docs/kbn_core_deprecations_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-server-mocks title: "@kbn/core-deprecations-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-server-mocks plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-deprecations-server-mocks'] --- import kbnCoreDeprecationsServerMocksObj from './kbn_core_deprecations_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_doc_links_browser.mdx b/api_docs/kbn_core_doc_links_browser.mdx index 7b7544ca16aa74..8eeb56fd8a2c2c 100644 --- a/api_docs/kbn_core_doc_links_browser.mdx +++ b/api_docs/kbn_core_doc_links_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-doc-links-browser title: "@kbn/core-doc-links-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-doc-links-browser plugin -date: 2023-09-22 +date: 2023-09-23 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 30d1a08a87d850..1df98e7a701a1c 100644 --- a/api_docs/kbn_core_doc_links_browser_mocks.mdx +++ b/api_docs/kbn_core_doc_links_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-doc-links-browser-mocks title: "@kbn/core-doc-links-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-doc-links-browser-mocks plugin -date: 2023-09-22 +date: 2023-09-23 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 ae35da4293e9d5..b99262937075c7 100644 --- a/api_docs/kbn_core_doc_links_server.mdx +++ b/api_docs/kbn_core_doc_links_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-doc-links-server title: "@kbn/core-doc-links-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-doc-links-server plugin -date: 2023-09-22 +date: 2023-09-23 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 df799b96af2c7a..3034b6fadc5a5d 100644 --- a/api_docs/kbn_core_doc_links_server_mocks.mdx +++ b/api_docs/kbn_core_doc_links_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-doc-links-server-mocks title: "@kbn/core-doc-links-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-doc-links-server-mocks plugin -date: 2023-09-22 +date: 2023-09-23 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 addadeea42e964..22a11f8e4f1793 100644 --- a/api_docs/kbn_core_elasticsearch_client_server_internal.mdx +++ b/api_docs/kbn_core_elasticsearch_client_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-elasticsearch-client-server-internal title: "@kbn/core-elasticsearch-client-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-elasticsearch-client-server-internal plugin -date: 2023-09-22 +date: 2023-09-23 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 3a6e407a0a26ff..f561b8c511dc22 100644 --- a/api_docs/kbn_core_elasticsearch_client_server_mocks.mdx +++ b/api_docs/kbn_core_elasticsearch_client_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-elasticsearch-client-server-mocks title: "@kbn/core-elasticsearch-client-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-elasticsearch-client-server-mocks plugin -date: 2023-09-22 +date: 2023-09-23 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 e031ba9e9cf465..b1d3e9775cda7a 100644 --- a/api_docs/kbn_core_elasticsearch_server.mdx +++ b/api_docs/kbn_core_elasticsearch_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-elasticsearch-server title: "@kbn/core-elasticsearch-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-elasticsearch-server plugin -date: 2023-09-22 +date: 2023-09-23 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 7583617baf315a..8ee539c5d81326 100644 --- a/api_docs/kbn_core_elasticsearch_server_internal.mdx +++ b/api_docs/kbn_core_elasticsearch_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-elasticsearch-server-internal title: "@kbn/core-elasticsearch-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-elasticsearch-server-internal plugin -date: 2023-09-22 +date: 2023-09-23 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 819b0d87ddd1ba..44432149aea83c 100644 --- a/api_docs/kbn_core_elasticsearch_server_mocks.mdx +++ b/api_docs/kbn_core_elasticsearch_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-elasticsearch-server-mocks title: "@kbn/core-elasticsearch-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-elasticsearch-server-mocks plugin -date: 2023-09-22 +date: 2023-09-23 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 f180c0ab490c87..f850dfc8bc4390 100644 --- a/api_docs/kbn_core_environment_server_internal.mdx +++ b/api_docs/kbn_core_environment_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-environment-server-internal title: "@kbn/core-environment-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-environment-server-internal plugin -date: 2023-09-22 +date: 2023-09-23 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 d00e3f7f24b038..5dffcb1cd39f52 100644 --- a/api_docs/kbn_core_environment_server_mocks.mdx +++ b/api_docs/kbn_core_environment_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-environment-server-mocks title: "@kbn/core-environment-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-environment-server-mocks plugin -date: 2023-09-22 +date: 2023-09-23 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 7fee1311a30ba9..a682822468c96c 100644 --- a/api_docs/kbn_core_execution_context_browser.mdx +++ b/api_docs/kbn_core_execution_context_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-browser title: "@kbn/core-execution-context-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-browser plugin -date: 2023-09-22 +date: 2023-09-23 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 8c557bce19c078..2d4bd1cf8609ee 100644 --- a/api_docs/kbn_core_execution_context_browser_internal.mdx +++ b/api_docs/kbn_core_execution_context_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-browser-internal title: "@kbn/core-execution-context-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-browser-internal plugin -date: 2023-09-22 +date: 2023-09-23 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 afbdc38866e404..eb1dbe43dee641 100644 --- a/api_docs/kbn_core_execution_context_browser_mocks.mdx +++ b/api_docs/kbn_core_execution_context_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-browser-mocks title: "@kbn/core-execution-context-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-browser-mocks plugin -date: 2023-09-22 +date: 2023-09-23 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 277cec7234c9d9..6fefef63753037 100644 --- a/api_docs/kbn_core_execution_context_common.mdx +++ b/api_docs/kbn_core_execution_context_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-common title: "@kbn/core-execution-context-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-common plugin -date: 2023-09-22 +date: 2023-09-23 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 50235e1199e3f3..c56c8b5582824c 100644 --- a/api_docs/kbn_core_execution_context_server.mdx +++ b/api_docs/kbn_core_execution_context_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-server title: "@kbn/core-execution-context-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-server plugin -date: 2023-09-22 +date: 2023-09-23 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 475ca7f94a7ab7..2d4595cd49883e 100644 --- a/api_docs/kbn_core_execution_context_server_internal.mdx +++ b/api_docs/kbn_core_execution_context_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-server-internal title: "@kbn/core-execution-context-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-server-internal plugin -date: 2023-09-22 +date: 2023-09-23 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 9cefa5c0b52ae6..32be5c82173a87 100644 --- a/api_docs/kbn_core_execution_context_server_mocks.mdx +++ b/api_docs/kbn_core_execution_context_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-server-mocks title: "@kbn/core-execution-context-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-server-mocks plugin -date: 2023-09-22 +date: 2023-09-23 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 acc577bdb1af22..ab36f400e20e05 100644 --- a/api_docs/kbn_core_fatal_errors_browser.mdx +++ b/api_docs/kbn_core_fatal_errors_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-fatal-errors-browser title: "@kbn/core-fatal-errors-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-fatal-errors-browser plugin -date: 2023-09-22 +date: 2023-09-23 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 50b20927fca07e..767fcdd7c3735a 100644 --- a/api_docs/kbn_core_fatal_errors_browser_mocks.mdx +++ b/api_docs/kbn_core_fatal_errors_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-fatal-errors-browser-mocks title: "@kbn/core-fatal-errors-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-fatal-errors-browser-mocks plugin -date: 2023-09-22 +date: 2023-09-23 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 7c5a8faf275fc8..0fb9b47f63cd86 100644 --- a/api_docs/kbn_core_http_browser.mdx +++ b/api_docs/kbn_core_http_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-browser title: "@kbn/core-http-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-browser plugin -date: 2023-09-22 +date: 2023-09-23 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 230ae226ccb7e1..872b841f3e976e 100644 --- a/api_docs/kbn_core_http_browser_internal.mdx +++ b/api_docs/kbn_core_http_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-browser-internal title: "@kbn/core-http-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-browser-internal plugin -date: 2023-09-22 +date: 2023-09-23 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 7c161daf1af144..7d5287d2ad7e52 100644 --- a/api_docs/kbn_core_http_browser_mocks.mdx +++ b/api_docs/kbn_core_http_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-browser-mocks title: "@kbn/core-http-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-browser-mocks plugin -date: 2023-09-22 +date: 2023-09-23 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 a2f891fbc1ca05..7467345cb383eb 100644 --- a/api_docs/kbn_core_http_common.mdx +++ b/api_docs/kbn_core_http_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-common title: "@kbn/core-http-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-common plugin -date: 2023-09-22 +date: 2023-09-23 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 f598850ea31db7..665742ca6ee65f 100644 --- a/api_docs/kbn_core_http_context_server_mocks.mdx +++ b/api_docs/kbn_core_http_context_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-context-server-mocks title: "@kbn/core-http-context-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-context-server-mocks plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-context-server-mocks'] --- import kbnCoreHttpContextServerMocksObj from './kbn_core_http_context_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_http_request_handler_context_server.mdx b/api_docs/kbn_core_http_request_handler_context_server.mdx index 11e6b53cae820b..89530b07848d1a 100644 --- a/api_docs/kbn_core_http_request_handler_context_server.mdx +++ b/api_docs/kbn_core_http_request_handler_context_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-request-handler-context-server title: "@kbn/core-http-request-handler-context-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-request-handler-context-server plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-request-handler-context-server'] --- import kbnCoreHttpRequestHandlerContextServerObj from './kbn_core_http_request_handler_context_server.devdocs.json'; diff --git a/api_docs/kbn_core_http_resources_server.mdx b/api_docs/kbn_core_http_resources_server.mdx index 1e1a547f2d1119..293a2a77e11036 100644 --- a/api_docs/kbn_core_http_resources_server.mdx +++ b/api_docs/kbn_core_http_resources_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-resources-server title: "@kbn/core-http-resources-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-resources-server plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-resources-server'] --- import kbnCoreHttpResourcesServerObj from './kbn_core_http_resources_server.devdocs.json'; diff --git a/api_docs/kbn_core_http_resources_server_internal.mdx b/api_docs/kbn_core_http_resources_server_internal.mdx index fc568ac13d3249..04e3782c01b4c4 100644 --- a/api_docs/kbn_core_http_resources_server_internal.mdx +++ b/api_docs/kbn_core_http_resources_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-resources-server-internal title: "@kbn/core-http-resources-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-resources-server-internal plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-resources-server-internal'] --- import kbnCoreHttpResourcesServerInternalObj from './kbn_core_http_resources_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_http_resources_server_mocks.mdx b/api_docs/kbn_core_http_resources_server_mocks.mdx index c1165ce3ee20f7..ed45ee32cfe2be 100644 --- a/api_docs/kbn_core_http_resources_server_mocks.mdx +++ b/api_docs/kbn_core_http_resources_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-resources-server-mocks title: "@kbn/core-http-resources-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-resources-server-mocks plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-resources-server-mocks'] --- import kbnCoreHttpResourcesServerMocksObj from './kbn_core_http_resources_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_http_router_server_internal.mdx b/api_docs/kbn_core_http_router_server_internal.mdx index 18e1d72612c2c3..b5bf1b91f66d94 100644 --- a/api_docs/kbn_core_http_router_server_internal.mdx +++ b/api_docs/kbn_core_http_router_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-router-server-internal title: "@kbn/core-http-router-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-router-server-internal plugin -date: 2023-09-22 +date: 2023-09-23 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 bf756d2ad0bffd..15d0615cf6b9ea 100644 --- a/api_docs/kbn_core_http_router_server_mocks.mdx +++ b/api_docs/kbn_core_http_router_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-router-server-mocks title: "@kbn/core-http-router-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-router-server-mocks plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-router-server-mocks'] --- import kbnCoreHttpRouterServerMocksObj from './kbn_core_http_router_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_http_server.devdocs.json b/api_docs/kbn_core_http_server.devdocs.json index 577864e602ed4a..e4f18b21704c9e 100644 --- a/api_docs/kbn_core_http_server.devdocs.json +++ b/api_docs/kbn_core_http_server.devdocs.json @@ -3695,38 +3695,6 @@ "plugin": "triggersActionsUi", "path": "x-pack/plugins/triggers_actions_ui/server/routes/config.ts" }, - { - "plugin": "profiling", - "path": "x-pack/plugins/profiling/server/routes/flamechart.ts" - }, - { - "plugin": "profiling", - "path": "x-pack/plugins/profiling/server/routes/functions.ts" - }, - { - "plugin": "profiling", - "path": "x-pack/plugins/profiling/server/routes/setup.ts" - }, - { - "plugin": "profiling", - "path": "x-pack/plugins/profiling/server/routes/setup.ts" - }, - { - "plugin": "profiling", - "path": "x-pack/plugins/profiling/server/routes/storage_explorer/route.ts" - }, - { - "plugin": "profiling", - "path": "x-pack/plugins/profiling/server/routes/storage_explorer/route.ts" - }, - { - "plugin": "profiling", - "path": "x-pack/plugins/profiling/server/routes/storage_explorer/route.ts" - }, - { - "plugin": "profiling", - "path": "x-pack/plugins/profiling/server/routes/topn.ts" - }, { "plugin": "assetManager", "path": "x-pack/plugins/asset_manager/server/routes/ping.ts" @@ -4355,6 +4323,38 @@ "plugin": "monitoring", "path": "x-pack/plugins/monitoring/server/plugin.ts" }, + { + "plugin": "profiling", + "path": "x-pack/plugins/profiling/server/routes/flamechart.ts" + }, + { + "plugin": "profiling", + "path": "x-pack/plugins/profiling/server/routes/functions.ts" + }, + { + "plugin": "profiling", + "path": "x-pack/plugins/profiling/server/routes/setup.ts" + }, + { + "plugin": "profiling", + "path": "x-pack/plugins/profiling/server/routes/setup.ts" + }, + { + "plugin": "profiling", + "path": "x-pack/plugins/profiling/server/routes/storage_explorer/route.ts" + }, + { + "plugin": "profiling", + "path": "x-pack/plugins/profiling/server/routes/storage_explorer/route.ts" + }, + { + "plugin": "profiling", + "path": "x-pack/plugins/profiling/server/routes/storage_explorer/route.ts" + }, + { + "plugin": "profiling", + "path": "x-pack/plugins/profiling/server/routes/topn.ts" + }, { "plugin": "reporting", "path": "x-pack/plugins/reporting/server/test_helpers/create_mock_reportingplugin.ts" @@ -6229,10 +6229,6 @@ "plugin": "triggersActionsUi", "path": "x-pack/plugins/triggers_actions_ui/server/data/routes/indices.ts" }, - { - "plugin": "profiling", - "path": "x-pack/plugins/profiling/server/routes/setup.ts" - }, { "plugin": "assetManager", "path": "x-pack/plugins/asset_manager/server/routes/sample_assets.ts" @@ -6769,6 +6765,10 @@ "plugin": "painlessLab", "path": "x-pack/plugins/painless_lab/server/routes/api/execute.ts" }, + { + "plugin": "profiling", + "path": "x-pack/plugins/profiling/server/routes/setup.ts" + }, { "plugin": "reporting", "path": "x-pack/plugins/reporting/server/test_helpers/create_mock_reportingplugin.ts" diff --git a/api_docs/kbn_core_http_server.mdx b/api_docs/kbn_core_http_server.mdx index 45a1e51f79e72e..02cbf77bcc365d 100644 --- a/api_docs/kbn_core_http_server.mdx +++ b/api_docs/kbn_core_http_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-server title: "@kbn/core-http-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-server plugin -date: 2023-09-22 +date: 2023-09-23 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 e62269372b1c21..d54ea45429d7a5 100644 --- a/api_docs/kbn_core_http_server_internal.mdx +++ b/api_docs/kbn_core_http_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-server-internal title: "@kbn/core-http-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-server-internal plugin -date: 2023-09-22 +date: 2023-09-23 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 44781bdb83408e..d88a4bcd5e888e 100644 --- a/api_docs/kbn_core_http_server_mocks.mdx +++ b/api_docs/kbn_core_http_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-server-mocks title: "@kbn/core-http-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-server-mocks plugin -date: 2023-09-22 +date: 2023-09-23 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 6602fb7f7b04f3..23d4c2a2ef4240 100644 --- a/api_docs/kbn_core_i18n_browser.mdx +++ b/api_docs/kbn_core_i18n_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-i18n-browser title: "@kbn/core-i18n-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-i18n-browser plugin -date: 2023-09-22 +date: 2023-09-23 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 bd3c0de2fd0de1..622c30d134fb36 100644 --- a/api_docs/kbn_core_i18n_browser_mocks.mdx +++ b/api_docs/kbn_core_i18n_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-i18n-browser-mocks title: "@kbn/core-i18n-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-i18n-browser-mocks plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-i18n-browser-mocks'] --- import kbnCoreI18nBrowserMocksObj from './kbn_core_i18n_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_i18n_server.mdx b/api_docs/kbn_core_i18n_server.mdx index 295b86b14e2964..0d828f797502cd 100644 --- a/api_docs/kbn_core_i18n_server.mdx +++ b/api_docs/kbn_core_i18n_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-i18n-server title: "@kbn/core-i18n-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-i18n-server plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-i18n-server'] --- import kbnCoreI18nServerObj from './kbn_core_i18n_server.devdocs.json'; diff --git a/api_docs/kbn_core_i18n_server_internal.mdx b/api_docs/kbn_core_i18n_server_internal.mdx index 725a091f493331..ba5d96ea802d46 100644 --- a/api_docs/kbn_core_i18n_server_internal.mdx +++ b/api_docs/kbn_core_i18n_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-i18n-server-internal title: "@kbn/core-i18n-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-i18n-server-internal plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-i18n-server-internal'] --- import kbnCoreI18nServerInternalObj from './kbn_core_i18n_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_i18n_server_mocks.mdx b/api_docs/kbn_core_i18n_server_mocks.mdx index 3e7ebd20b8b46b..5e041ebc1c40b4 100644 --- a/api_docs/kbn_core_i18n_server_mocks.mdx +++ b/api_docs/kbn_core_i18n_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-i18n-server-mocks title: "@kbn/core-i18n-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-i18n-server-mocks plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-i18n-server-mocks'] --- import kbnCoreI18nServerMocksObj from './kbn_core_i18n_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_injected_metadata_browser_mocks.mdx b/api_docs/kbn_core_injected_metadata_browser_mocks.mdx index 40e171dc6b5560..b7521a3f057761 100644 --- a/api_docs/kbn_core_injected_metadata_browser_mocks.mdx +++ b/api_docs/kbn_core_injected_metadata_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-injected-metadata-browser-mocks title: "@kbn/core-injected-metadata-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-injected-metadata-browser-mocks plugin -date: 2023-09-22 +date: 2023-09-23 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 ff26f1f7fdc7c2..02f1c2bdf66d35 100644 --- a/api_docs/kbn_core_integrations_browser_internal.mdx +++ b/api_docs/kbn_core_integrations_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-integrations-browser-internal title: "@kbn/core-integrations-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-integrations-browser-internal plugin -date: 2023-09-22 +date: 2023-09-23 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 67048f05c61ac4..f51a9f420fe39f 100644 --- a/api_docs/kbn_core_integrations_browser_mocks.mdx +++ b/api_docs/kbn_core_integrations_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-integrations-browser-mocks title: "@kbn/core-integrations-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-integrations-browser-mocks plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-integrations-browser-mocks'] --- import kbnCoreIntegrationsBrowserMocksObj from './kbn_core_integrations_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_lifecycle_browser.mdx b/api_docs/kbn_core_lifecycle_browser.mdx index ed2a8234d8560e..8ca90d810440b7 100644 --- a/api_docs/kbn_core_lifecycle_browser.mdx +++ b/api_docs/kbn_core_lifecycle_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-lifecycle-browser title: "@kbn/core-lifecycle-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-lifecycle-browser plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-lifecycle-browser'] --- import kbnCoreLifecycleBrowserObj from './kbn_core_lifecycle_browser.devdocs.json'; diff --git a/api_docs/kbn_core_lifecycle_browser_mocks.mdx b/api_docs/kbn_core_lifecycle_browser_mocks.mdx index 312c8bbf892fc2..a5884366be59ff 100644 --- a/api_docs/kbn_core_lifecycle_browser_mocks.mdx +++ b/api_docs/kbn_core_lifecycle_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-lifecycle-browser-mocks title: "@kbn/core-lifecycle-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-lifecycle-browser-mocks plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-lifecycle-browser-mocks'] --- import kbnCoreLifecycleBrowserMocksObj from './kbn_core_lifecycle_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_lifecycle_server.mdx b/api_docs/kbn_core_lifecycle_server.mdx index 69afe3c243673d..100c6cc8b88ec3 100644 --- a/api_docs/kbn_core_lifecycle_server.mdx +++ b/api_docs/kbn_core_lifecycle_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-lifecycle-server title: "@kbn/core-lifecycle-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-lifecycle-server plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-lifecycle-server'] --- import kbnCoreLifecycleServerObj from './kbn_core_lifecycle_server.devdocs.json'; diff --git a/api_docs/kbn_core_lifecycle_server_mocks.mdx b/api_docs/kbn_core_lifecycle_server_mocks.mdx index 1b1d8c6a6aacf9..be2e19ee4ba368 100644 --- a/api_docs/kbn_core_lifecycle_server_mocks.mdx +++ b/api_docs/kbn_core_lifecycle_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-lifecycle-server-mocks title: "@kbn/core-lifecycle-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-lifecycle-server-mocks plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-lifecycle-server-mocks'] --- import kbnCoreLifecycleServerMocksObj from './kbn_core_lifecycle_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_logging_browser_mocks.mdx b/api_docs/kbn_core_logging_browser_mocks.mdx index 624eacbd8371bb..c0b3bb0d072aa6 100644 --- a/api_docs/kbn_core_logging_browser_mocks.mdx +++ b/api_docs/kbn_core_logging_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-logging-browser-mocks title: "@kbn/core-logging-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-logging-browser-mocks plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-logging-browser-mocks'] --- import kbnCoreLoggingBrowserMocksObj from './kbn_core_logging_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_logging_common_internal.mdx b/api_docs/kbn_core_logging_common_internal.mdx index 7d1eba23439835..5abafc85a74547 100644 --- a/api_docs/kbn_core_logging_common_internal.mdx +++ b/api_docs/kbn_core_logging_common_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-logging-common-internal title: "@kbn/core-logging-common-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-logging-common-internal plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-logging-common-internal'] --- import kbnCoreLoggingCommonInternalObj from './kbn_core_logging_common_internal.devdocs.json'; diff --git a/api_docs/kbn_core_logging_server.mdx b/api_docs/kbn_core_logging_server.mdx index 253a3f62e4a469..fd4b837db45046 100644 --- a/api_docs/kbn_core_logging_server.mdx +++ b/api_docs/kbn_core_logging_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-logging-server title: "@kbn/core-logging-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-logging-server plugin -date: 2023-09-22 +date: 2023-09-23 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 d57524ebf3acdf..f563ef394377fb 100644 --- a/api_docs/kbn_core_logging_server_internal.mdx +++ b/api_docs/kbn_core_logging_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-logging-server-internal title: "@kbn/core-logging-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-logging-server-internal plugin -date: 2023-09-22 +date: 2023-09-23 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 3014aed904fc5e..9e385d6bc91391 100644 --- a/api_docs/kbn_core_logging_server_mocks.mdx +++ b/api_docs/kbn_core_logging_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-logging-server-mocks title: "@kbn/core-logging-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-logging-server-mocks plugin -date: 2023-09-22 +date: 2023-09-23 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 f2ec00a640b982..ae44afc1313bfa 100644 --- a/api_docs/kbn_core_metrics_collectors_server_internal.mdx +++ b/api_docs/kbn_core_metrics_collectors_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-metrics-collectors-server-internal title: "@kbn/core-metrics-collectors-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-metrics-collectors-server-internal plugin -date: 2023-09-22 +date: 2023-09-23 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 653ffce2c06577..dcd3a4e25fe68b 100644 --- a/api_docs/kbn_core_metrics_collectors_server_mocks.mdx +++ b/api_docs/kbn_core_metrics_collectors_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-metrics-collectors-server-mocks title: "@kbn/core-metrics-collectors-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-metrics-collectors-server-mocks plugin -date: 2023-09-22 +date: 2023-09-23 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 b3fdbae28e937a..eff9f5c749f6e2 100644 --- a/api_docs/kbn_core_metrics_server.mdx +++ b/api_docs/kbn_core_metrics_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-metrics-server title: "@kbn/core-metrics-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-metrics-server plugin -date: 2023-09-22 +date: 2023-09-23 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 da1e04d9ee1159..376250795f66b9 100644 --- a/api_docs/kbn_core_metrics_server_internal.mdx +++ b/api_docs/kbn_core_metrics_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-metrics-server-internal title: "@kbn/core-metrics-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-metrics-server-internal plugin -date: 2023-09-22 +date: 2023-09-23 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 22f8aabb0ba28d..6e818ee25694ff 100644 --- a/api_docs/kbn_core_metrics_server_mocks.mdx +++ b/api_docs/kbn_core_metrics_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-metrics-server-mocks title: "@kbn/core-metrics-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-metrics-server-mocks plugin -date: 2023-09-22 +date: 2023-09-23 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 a7b5f5ddba8d70..4b9aa4ee299db4 100644 --- a/api_docs/kbn_core_mount_utils_browser.mdx +++ b/api_docs/kbn_core_mount_utils_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-mount-utils-browser title: "@kbn/core-mount-utils-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-mount-utils-browser plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-mount-utils-browser'] --- import kbnCoreMountUtilsBrowserObj from './kbn_core_mount_utils_browser.devdocs.json'; diff --git a/api_docs/kbn_core_node_server.mdx b/api_docs/kbn_core_node_server.mdx index aca68a790cb9dd..9bd42d7e8345dd 100644 --- a/api_docs/kbn_core_node_server.mdx +++ b/api_docs/kbn_core_node_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-node-server title: "@kbn/core-node-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-node-server plugin -date: 2023-09-22 +date: 2023-09-23 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 d567a9de6bb1cb..8e78bd8b1f8963 100644 --- a/api_docs/kbn_core_node_server_internal.mdx +++ b/api_docs/kbn_core_node_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-node-server-internal title: "@kbn/core-node-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-node-server-internal plugin -date: 2023-09-22 +date: 2023-09-23 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 7ee994f5bb5af0..bdcbdd503afd24 100644 --- a/api_docs/kbn_core_node_server_mocks.mdx +++ b/api_docs/kbn_core_node_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-node-server-mocks title: "@kbn/core-node-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-node-server-mocks plugin -date: 2023-09-22 +date: 2023-09-23 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 b4d25f09547c7b..45b3acc6cb17c2 100644 --- a/api_docs/kbn_core_notifications_browser.mdx +++ b/api_docs/kbn_core_notifications_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-notifications-browser title: "@kbn/core-notifications-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-notifications-browser plugin -date: 2023-09-22 +date: 2023-09-23 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 b5d59b776121ad..8b6d36e23e460b 100644 --- a/api_docs/kbn_core_notifications_browser_internal.mdx +++ b/api_docs/kbn_core_notifications_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-notifications-browser-internal title: "@kbn/core-notifications-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-notifications-browser-internal plugin -date: 2023-09-22 +date: 2023-09-23 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 3e390a54e49e70..aacce3f31cd0c9 100644 --- a/api_docs/kbn_core_notifications_browser_mocks.mdx +++ b/api_docs/kbn_core_notifications_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-notifications-browser-mocks title: "@kbn/core-notifications-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-notifications-browser-mocks plugin -date: 2023-09-22 +date: 2023-09-23 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 3d58df92025050..bd42268ea9a357 100644 --- a/api_docs/kbn_core_overlays_browser.mdx +++ b/api_docs/kbn_core_overlays_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-overlays-browser title: "@kbn/core-overlays-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-overlays-browser plugin -date: 2023-09-22 +date: 2023-09-23 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 7c5ad447c578a8..575fa8ebfb82f2 100644 --- a/api_docs/kbn_core_overlays_browser_internal.mdx +++ b/api_docs/kbn_core_overlays_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-overlays-browser-internal title: "@kbn/core-overlays-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-overlays-browser-internal plugin -date: 2023-09-22 +date: 2023-09-23 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 88b4e5fc6c6381..e55417d2adf438 100644 --- a/api_docs/kbn_core_overlays_browser_mocks.mdx +++ b/api_docs/kbn_core_overlays_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-overlays-browser-mocks title: "@kbn/core-overlays-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-overlays-browser-mocks plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-overlays-browser-mocks'] --- import kbnCoreOverlaysBrowserMocksObj from './kbn_core_overlays_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_plugins_browser.mdx b/api_docs/kbn_core_plugins_browser.mdx index 5e3bbd9f67a369..720f3a8df48bb2 100644 --- a/api_docs/kbn_core_plugins_browser.mdx +++ b/api_docs/kbn_core_plugins_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-plugins-browser title: "@kbn/core-plugins-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-plugins-browser plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-plugins-browser'] --- import kbnCorePluginsBrowserObj from './kbn_core_plugins_browser.devdocs.json'; diff --git a/api_docs/kbn_core_plugins_browser_mocks.mdx b/api_docs/kbn_core_plugins_browser_mocks.mdx index 374563fb2fbea4..e50fa1f563de2d 100644 --- a/api_docs/kbn_core_plugins_browser_mocks.mdx +++ b/api_docs/kbn_core_plugins_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-plugins-browser-mocks title: "@kbn/core-plugins-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-plugins-browser-mocks plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-plugins-browser-mocks'] --- import kbnCorePluginsBrowserMocksObj from './kbn_core_plugins_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_plugins_server.mdx b/api_docs/kbn_core_plugins_server.mdx index 38f693cd6dae95..8ba18a347b60cc 100644 --- a/api_docs/kbn_core_plugins_server.mdx +++ b/api_docs/kbn_core_plugins_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-plugins-server title: "@kbn/core-plugins-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-plugins-server plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-plugins-server'] --- import kbnCorePluginsServerObj from './kbn_core_plugins_server.devdocs.json'; diff --git a/api_docs/kbn_core_plugins_server_mocks.mdx b/api_docs/kbn_core_plugins_server_mocks.mdx index 419cd1df0d8220..d82297ad029df5 100644 --- a/api_docs/kbn_core_plugins_server_mocks.mdx +++ b/api_docs/kbn_core_plugins_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-plugins-server-mocks title: "@kbn/core-plugins-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-plugins-server-mocks plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-plugins-server-mocks'] --- import kbnCorePluginsServerMocksObj from './kbn_core_plugins_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_preboot_server.mdx b/api_docs/kbn_core_preboot_server.mdx index bd1bfcb4fe594e..facc525488e1ef 100644 --- a/api_docs/kbn_core_preboot_server.mdx +++ b/api_docs/kbn_core_preboot_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-preboot-server title: "@kbn/core-preboot-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-preboot-server plugin -date: 2023-09-22 +date: 2023-09-23 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 80fc0e41221804..8993b180e5414c 100644 --- a/api_docs/kbn_core_preboot_server_mocks.mdx +++ b/api_docs/kbn_core_preboot_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-preboot-server-mocks title: "@kbn/core-preboot-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-preboot-server-mocks plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-preboot-server-mocks'] --- import kbnCorePrebootServerMocksObj from './kbn_core_preboot_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_rendering_browser_mocks.mdx b/api_docs/kbn_core_rendering_browser_mocks.mdx index 9b4cb612f23149..90ad4d9f09d8c2 100644 --- a/api_docs/kbn_core_rendering_browser_mocks.mdx +++ b/api_docs/kbn_core_rendering_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-rendering-browser-mocks title: "@kbn/core-rendering-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-rendering-browser-mocks plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-rendering-browser-mocks'] --- import kbnCoreRenderingBrowserMocksObj from './kbn_core_rendering_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_rendering_server_internal.mdx b/api_docs/kbn_core_rendering_server_internal.mdx index 66c154d23e68f3..5d4a91771c5c3b 100644 --- a/api_docs/kbn_core_rendering_server_internal.mdx +++ b/api_docs/kbn_core_rendering_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-rendering-server-internal title: "@kbn/core-rendering-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-rendering-server-internal plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-rendering-server-internal'] --- import kbnCoreRenderingServerInternalObj from './kbn_core_rendering_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_rendering_server_mocks.mdx b/api_docs/kbn_core_rendering_server_mocks.mdx index 34af26d47d28ca..aed9735f057603 100644 --- a/api_docs/kbn_core_rendering_server_mocks.mdx +++ b/api_docs/kbn_core_rendering_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-rendering-server-mocks title: "@kbn/core-rendering-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-rendering-server-mocks plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-rendering-server-mocks'] --- import kbnCoreRenderingServerMocksObj from './kbn_core_rendering_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_root_server_internal.mdx b/api_docs/kbn_core_root_server_internal.mdx index 4379d2e3f3fd7c..25ec601e57f857 100644 --- a/api_docs/kbn_core_root_server_internal.mdx +++ b/api_docs/kbn_core_root_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-root-server-internal title: "@kbn/core-root-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-root-server-internal plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-root-server-internal'] --- import kbnCoreRootServerInternalObj from './kbn_core_root_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_api_browser.mdx b/api_docs/kbn_core_saved_objects_api_browser.mdx index 9f9f635a51387e..b7a88ccc39084f 100644 --- a/api_docs/kbn_core_saved_objects_api_browser.mdx +++ b/api_docs/kbn_core_saved_objects_api_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-api-browser title: "@kbn/core-saved-objects-api-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-api-browser plugin -date: 2023-09-22 +date: 2023-09-23 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 2eb3a71ec37fa3..86a4b60f1a3259 100644 --- a/api_docs/kbn_core_saved_objects_api_server.mdx +++ b/api_docs/kbn_core_saved_objects_api_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-api-server title: "@kbn/core-saved-objects-api-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-api-server plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-api-server'] --- import kbnCoreSavedObjectsApiServerObj from './kbn_core_saved_objects_api_server.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_api_server_mocks.mdx b/api_docs/kbn_core_saved_objects_api_server_mocks.mdx index 253eaac04fded0..68ac467bd7f372 100644 --- a/api_docs/kbn_core_saved_objects_api_server_mocks.mdx +++ b/api_docs/kbn_core_saved_objects_api_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-api-server-mocks title: "@kbn/core-saved-objects-api-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-api-server-mocks plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-api-server-mocks'] --- import kbnCoreSavedObjectsApiServerMocksObj from './kbn_core_saved_objects_api_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_base_server_internal.mdx b/api_docs/kbn_core_saved_objects_base_server_internal.mdx index 97f653d13ea85a..fb7b39aaa07563 100644 --- a/api_docs/kbn_core_saved_objects_base_server_internal.mdx +++ b/api_docs/kbn_core_saved_objects_base_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-base-server-internal title: "@kbn/core-saved-objects-base-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-base-server-internal plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-base-server-internal'] --- import kbnCoreSavedObjectsBaseServerInternalObj from './kbn_core_saved_objects_base_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_base_server_mocks.mdx b/api_docs/kbn_core_saved_objects_base_server_mocks.mdx index a9d961e75d4ad4..08636f379961f8 100644 --- a/api_docs/kbn_core_saved_objects_base_server_mocks.mdx +++ b/api_docs/kbn_core_saved_objects_base_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-base-server-mocks title: "@kbn/core-saved-objects-base-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-base-server-mocks plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-base-server-mocks'] --- import kbnCoreSavedObjectsBaseServerMocksObj from './kbn_core_saved_objects_base_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_browser.mdx b/api_docs/kbn_core_saved_objects_browser.mdx index 2efea3b7e410b0..d86d5cf4320220 100644 --- a/api_docs/kbn_core_saved_objects_browser.mdx +++ b/api_docs/kbn_core_saved_objects_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-browser title: "@kbn/core-saved-objects-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-browser plugin -date: 2023-09-22 +date: 2023-09-23 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 c6938f771bf508..e6912c8395ec8b 100644 --- a/api_docs/kbn_core_saved_objects_browser_internal.mdx +++ b/api_docs/kbn_core_saved_objects_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-browser-internal title: "@kbn/core-saved-objects-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-browser-internal plugin -date: 2023-09-22 +date: 2023-09-23 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 cc3c7c8b60a964..993521798ba5b1 100644 --- a/api_docs/kbn_core_saved_objects_browser_mocks.mdx +++ b/api_docs/kbn_core_saved_objects_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-browser-mocks title: "@kbn/core-saved-objects-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-browser-mocks plugin -date: 2023-09-22 +date: 2023-09-23 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 6fc8705133e17d..3cd4b871bdaedc 100644 --- a/api_docs/kbn_core_saved_objects_common.mdx +++ b/api_docs/kbn_core_saved_objects_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-common title: "@kbn/core-saved-objects-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-common plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-common'] --- import kbnCoreSavedObjectsCommonObj from './kbn_core_saved_objects_common.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_import_export_server_internal.mdx b/api_docs/kbn_core_saved_objects_import_export_server_internal.mdx index 7b3a543034891a..c95f032dd68e68 100644 --- a/api_docs/kbn_core_saved_objects_import_export_server_internal.mdx +++ b/api_docs/kbn_core_saved_objects_import_export_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-import-export-server-internal title: "@kbn/core-saved-objects-import-export-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-import-export-server-internal plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-import-export-server-internal'] --- import kbnCoreSavedObjectsImportExportServerInternalObj from './kbn_core_saved_objects_import_export_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_import_export_server_mocks.mdx b/api_docs/kbn_core_saved_objects_import_export_server_mocks.mdx index 4bcd00a3b8617d..38317757705020 100644 --- a/api_docs/kbn_core_saved_objects_import_export_server_mocks.mdx +++ b/api_docs/kbn_core_saved_objects_import_export_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-import-export-server-mocks title: "@kbn/core-saved-objects-import-export-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-import-export-server-mocks plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-import-export-server-mocks'] --- import kbnCoreSavedObjectsImportExportServerMocksObj from './kbn_core_saved_objects_import_export_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_migration_server_internal.mdx b/api_docs/kbn_core_saved_objects_migration_server_internal.mdx index ab25c904b3ee20..103dbeb3121208 100644 --- a/api_docs/kbn_core_saved_objects_migration_server_internal.mdx +++ b/api_docs/kbn_core_saved_objects_migration_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-migration-server-internal title: "@kbn/core-saved-objects-migration-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-migration-server-internal plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-migration-server-internal'] --- import kbnCoreSavedObjectsMigrationServerInternalObj from './kbn_core_saved_objects_migration_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_migration_server_mocks.mdx b/api_docs/kbn_core_saved_objects_migration_server_mocks.mdx index 324cdad1b02b3c..ad820da6dbabb9 100644 --- a/api_docs/kbn_core_saved_objects_migration_server_mocks.mdx +++ b/api_docs/kbn_core_saved_objects_migration_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-migration-server-mocks title: "@kbn/core-saved-objects-migration-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-migration-server-mocks plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-migration-server-mocks'] --- import kbnCoreSavedObjectsMigrationServerMocksObj from './kbn_core_saved_objects_migration_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_server.mdx b/api_docs/kbn_core_saved_objects_server.mdx index 4369d053085e38..5546b88646fc41 100644 --- a/api_docs/kbn_core_saved_objects_server.mdx +++ b/api_docs/kbn_core_saved_objects_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-server title: "@kbn/core-saved-objects-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-server plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-server'] --- import kbnCoreSavedObjectsServerObj from './kbn_core_saved_objects_server.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_server_internal.mdx b/api_docs/kbn_core_saved_objects_server_internal.mdx index 762a2e176514b8..bb23f5aea34d0e 100644 --- a/api_docs/kbn_core_saved_objects_server_internal.mdx +++ b/api_docs/kbn_core_saved_objects_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-server-internal title: "@kbn/core-saved-objects-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-server-internal plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-server-internal'] --- import kbnCoreSavedObjectsServerInternalObj from './kbn_core_saved_objects_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_server_mocks.mdx b/api_docs/kbn_core_saved_objects_server_mocks.mdx index e27a1a79f1b19f..b64c688ceedec5 100644 --- a/api_docs/kbn_core_saved_objects_server_mocks.mdx +++ b/api_docs/kbn_core_saved_objects_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-server-mocks title: "@kbn/core-saved-objects-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-server-mocks plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-server-mocks'] --- import kbnCoreSavedObjectsServerMocksObj from './kbn_core_saved_objects_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_utils_server.mdx b/api_docs/kbn_core_saved_objects_utils_server.mdx index 62d1857c1b901a..d7ac2ff92c3c9d 100644 --- a/api_docs/kbn_core_saved_objects_utils_server.mdx +++ b/api_docs/kbn_core_saved_objects_utils_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-utils-server title: "@kbn/core-saved-objects-utils-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-utils-server plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-utils-server'] --- import kbnCoreSavedObjectsUtilsServerObj from './kbn_core_saved_objects_utils_server.devdocs.json'; diff --git a/api_docs/kbn_core_status_common.mdx b/api_docs/kbn_core_status_common.mdx index 772742436f9b05..c23f8977c589e5 100644 --- a/api_docs/kbn_core_status_common.mdx +++ b/api_docs/kbn_core_status_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-status-common title: "@kbn/core-status-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-status-common plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-status-common'] --- import kbnCoreStatusCommonObj from './kbn_core_status_common.devdocs.json'; diff --git a/api_docs/kbn_core_status_common_internal.mdx b/api_docs/kbn_core_status_common_internal.mdx index 35fd6912b6b3c3..5928a3b750b573 100644 --- a/api_docs/kbn_core_status_common_internal.mdx +++ b/api_docs/kbn_core_status_common_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-status-common-internal title: "@kbn/core-status-common-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-status-common-internal plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-status-common-internal'] --- import kbnCoreStatusCommonInternalObj from './kbn_core_status_common_internal.devdocs.json'; diff --git a/api_docs/kbn_core_status_server.mdx b/api_docs/kbn_core_status_server.mdx index 3ec12ab410e762..a5c66906747a0b 100644 --- a/api_docs/kbn_core_status_server.mdx +++ b/api_docs/kbn_core_status_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-status-server title: "@kbn/core-status-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-status-server plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-status-server'] --- import kbnCoreStatusServerObj from './kbn_core_status_server.devdocs.json'; diff --git a/api_docs/kbn_core_status_server_internal.mdx b/api_docs/kbn_core_status_server_internal.mdx index a204c6f1b5ba7b..8d0a1b8c2ee3d3 100644 --- a/api_docs/kbn_core_status_server_internal.mdx +++ b/api_docs/kbn_core_status_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-status-server-internal title: "@kbn/core-status-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-status-server-internal plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-status-server-internal'] --- import kbnCoreStatusServerInternalObj from './kbn_core_status_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_status_server_mocks.mdx b/api_docs/kbn_core_status_server_mocks.mdx index c0f25355b99921..c658622aadc513 100644 --- a/api_docs/kbn_core_status_server_mocks.mdx +++ b/api_docs/kbn_core_status_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-status-server-mocks title: "@kbn/core-status-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-status-server-mocks plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-status-server-mocks'] --- import kbnCoreStatusServerMocksObj from './kbn_core_status_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_test_helpers_deprecations_getters.mdx b/api_docs/kbn_core_test_helpers_deprecations_getters.mdx index ccd59eeb55c6c9..dac178362cdbc9 100644 --- a/api_docs/kbn_core_test_helpers_deprecations_getters.mdx +++ b/api_docs/kbn_core_test_helpers_deprecations_getters.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-test-helpers-deprecations-getters title: "@kbn/core-test-helpers-deprecations-getters" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-test-helpers-deprecations-getters plugin -date: 2023-09-22 +date: 2023-09-23 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 0131281ceaa059..1ed4ef1dd5f655 100644 --- a/api_docs/kbn_core_test_helpers_http_setup_browser.mdx +++ b/api_docs/kbn_core_test_helpers_http_setup_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-test-helpers-http-setup-browser title: "@kbn/core-test-helpers-http-setup-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-test-helpers-http-setup-browser plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-test-helpers-http-setup-browser'] --- import kbnCoreTestHelpersHttpSetupBrowserObj from './kbn_core_test_helpers_http_setup_browser.devdocs.json'; diff --git a/api_docs/kbn_core_test_helpers_kbn_server.mdx b/api_docs/kbn_core_test_helpers_kbn_server.mdx index 7a5d11e67c0b7b..9d4aa85d4ce095 100644 --- a/api_docs/kbn_core_test_helpers_kbn_server.mdx +++ b/api_docs/kbn_core_test_helpers_kbn_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-test-helpers-kbn-server title: "@kbn/core-test-helpers-kbn-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-test-helpers-kbn-server plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-test-helpers-kbn-server'] --- import kbnCoreTestHelpersKbnServerObj from './kbn_core_test_helpers_kbn_server.devdocs.json'; diff --git a/api_docs/kbn_core_test_helpers_so_type_serializer.mdx b/api_docs/kbn_core_test_helpers_so_type_serializer.mdx index 102395df404699..31cdb38084c0e6 100644 --- a/api_docs/kbn_core_test_helpers_so_type_serializer.mdx +++ b/api_docs/kbn_core_test_helpers_so_type_serializer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-test-helpers-so-type-serializer title: "@kbn/core-test-helpers-so-type-serializer" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-test-helpers-so-type-serializer plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-test-helpers-so-type-serializer'] --- import kbnCoreTestHelpersSoTypeSerializerObj from './kbn_core_test_helpers_so_type_serializer.devdocs.json'; diff --git a/api_docs/kbn_core_test_helpers_test_utils.mdx b/api_docs/kbn_core_test_helpers_test_utils.mdx index 56d0fdd8619bb3..a1b2fc98628c05 100644 --- a/api_docs/kbn_core_test_helpers_test_utils.mdx +++ b/api_docs/kbn_core_test_helpers_test_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-test-helpers-test-utils title: "@kbn/core-test-helpers-test-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-test-helpers-test-utils plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-test-helpers-test-utils'] --- import kbnCoreTestHelpersTestUtilsObj from './kbn_core_test_helpers_test_utils.devdocs.json'; diff --git a/api_docs/kbn_core_theme_browser.mdx b/api_docs/kbn_core_theme_browser.mdx index 5c61d4129794a1..89a23157099ca6 100644 --- a/api_docs/kbn_core_theme_browser.mdx +++ b/api_docs/kbn_core_theme_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-theme-browser title: "@kbn/core-theme-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-theme-browser plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-theme-browser'] --- import kbnCoreThemeBrowserObj from './kbn_core_theme_browser.devdocs.json'; diff --git a/api_docs/kbn_core_theme_browser_mocks.mdx b/api_docs/kbn_core_theme_browser_mocks.mdx index 9cdbbdabed4416..7a02c027cc5aad 100644 --- a/api_docs/kbn_core_theme_browser_mocks.mdx +++ b/api_docs/kbn_core_theme_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-theme-browser-mocks title: "@kbn/core-theme-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-theme-browser-mocks plugin -date: 2023-09-22 +date: 2023-09-23 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 23e1481d9360ab..f06fdca9d93c39 100644 --- a/api_docs/kbn_core_ui_settings_browser.mdx +++ b/api_docs/kbn_core_ui_settings_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-browser title: "@kbn/core-ui-settings-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-browser plugin -date: 2023-09-22 +date: 2023-09-23 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 cf22ca6e3b21d4..9cd58b21143612 100644 --- a/api_docs/kbn_core_ui_settings_browser_internal.mdx +++ b/api_docs/kbn_core_ui_settings_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-browser-internal title: "@kbn/core-ui-settings-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-browser-internal plugin -date: 2023-09-22 +date: 2023-09-23 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 6544dea589820d..5542650f4975db 100644 --- a/api_docs/kbn_core_ui_settings_browser_mocks.mdx +++ b/api_docs/kbn_core_ui_settings_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-browser-mocks title: "@kbn/core-ui-settings-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-browser-mocks plugin -date: 2023-09-22 +date: 2023-09-23 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 cb9a5a8b925a8a..34da10a397ea5e 100644 --- a/api_docs/kbn_core_ui_settings_common.mdx +++ b/api_docs/kbn_core_ui_settings_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-common title: "@kbn/core-ui-settings-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-common plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-ui-settings-common'] --- import kbnCoreUiSettingsCommonObj from './kbn_core_ui_settings_common.devdocs.json'; diff --git a/api_docs/kbn_core_ui_settings_server.mdx b/api_docs/kbn_core_ui_settings_server.mdx index 26a0782676c220..800ef326ff69ac 100644 --- a/api_docs/kbn_core_ui_settings_server.mdx +++ b/api_docs/kbn_core_ui_settings_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-server title: "@kbn/core-ui-settings-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-server plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-ui-settings-server'] --- import kbnCoreUiSettingsServerObj from './kbn_core_ui_settings_server.devdocs.json'; diff --git a/api_docs/kbn_core_ui_settings_server_internal.mdx b/api_docs/kbn_core_ui_settings_server_internal.mdx index b35d5042ebb153..83ba249adab7ee 100644 --- a/api_docs/kbn_core_ui_settings_server_internal.mdx +++ b/api_docs/kbn_core_ui_settings_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-server-internal title: "@kbn/core-ui-settings-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-server-internal plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-ui-settings-server-internal'] --- import kbnCoreUiSettingsServerInternalObj from './kbn_core_ui_settings_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_ui_settings_server_mocks.mdx b/api_docs/kbn_core_ui_settings_server_mocks.mdx index 1f51c08a4787f6..0e31535a69a3a9 100644 --- a/api_docs/kbn_core_ui_settings_server_mocks.mdx +++ b/api_docs/kbn_core_ui_settings_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-server-mocks title: "@kbn/core-ui-settings-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-server-mocks plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-ui-settings-server-mocks'] --- import kbnCoreUiSettingsServerMocksObj from './kbn_core_ui_settings_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_usage_data_server.mdx b/api_docs/kbn_core_usage_data_server.mdx index 02ae993670d5e7..285184b814bafe 100644 --- a/api_docs/kbn_core_usage_data_server.mdx +++ b/api_docs/kbn_core_usage_data_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-usage-data-server title: "@kbn/core-usage-data-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-usage-data-server plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-usage-data-server'] --- import kbnCoreUsageDataServerObj from './kbn_core_usage_data_server.devdocs.json'; diff --git a/api_docs/kbn_core_usage_data_server_internal.mdx b/api_docs/kbn_core_usage_data_server_internal.mdx index 5140fce9140052..46e11343283018 100644 --- a/api_docs/kbn_core_usage_data_server_internal.mdx +++ b/api_docs/kbn_core_usage_data_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-usage-data-server-internal title: "@kbn/core-usage-data-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-usage-data-server-internal plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-usage-data-server-internal'] --- import kbnCoreUsageDataServerInternalObj from './kbn_core_usage_data_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_usage_data_server_mocks.mdx b/api_docs/kbn_core_usage_data_server_mocks.mdx index 94130ad2468973..f6773379105921 100644 --- a/api_docs/kbn_core_usage_data_server_mocks.mdx +++ b/api_docs/kbn_core_usage_data_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-usage-data-server-mocks title: "@kbn/core-usage-data-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-usage-data-server-mocks plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-usage-data-server-mocks'] --- import kbnCoreUsageDataServerMocksObj from './kbn_core_usage_data_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_user_settings_server.mdx b/api_docs/kbn_core_user_settings_server.mdx index 37cc5ca907bbec..cb1162f3c8e9a7 100644 --- a/api_docs/kbn_core_user_settings_server.mdx +++ b/api_docs/kbn_core_user_settings_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-user-settings-server title: "@kbn/core-user-settings-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-user-settings-server plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-user-settings-server'] --- import kbnCoreUserSettingsServerObj from './kbn_core_user_settings_server.devdocs.json'; diff --git a/api_docs/kbn_core_user_settings_server_internal.mdx b/api_docs/kbn_core_user_settings_server_internal.mdx index 9b2e1a62198299..4c8a4b1f3e22fb 100644 --- a/api_docs/kbn_core_user_settings_server_internal.mdx +++ b/api_docs/kbn_core_user_settings_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-user-settings-server-internal title: "@kbn/core-user-settings-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-user-settings-server-internal plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-user-settings-server-internal'] --- import kbnCoreUserSettingsServerInternalObj from './kbn_core_user_settings_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_user_settings_server_mocks.mdx b/api_docs/kbn_core_user_settings_server_mocks.mdx index 63ab42db16f8f0..ab21ebf5a8062e 100644 --- a/api_docs/kbn_core_user_settings_server_mocks.mdx +++ b/api_docs/kbn_core_user_settings_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-user-settings-server-mocks title: "@kbn/core-user-settings-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-user-settings-server-mocks plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-user-settings-server-mocks'] --- import kbnCoreUserSettingsServerMocksObj from './kbn_core_user_settings_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_crypto.mdx b/api_docs/kbn_crypto.mdx index 8fa0da10ac0dee..12af295c81a0ca 100644 --- a/api_docs/kbn_crypto.mdx +++ b/api_docs/kbn_crypto.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-crypto title: "@kbn/crypto" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/crypto plugin -date: 2023-09-22 +date: 2023-09-23 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 739b12d904bd39..db2067d3b8ec19 100644 --- a/api_docs/kbn_crypto_browser.mdx +++ b/api_docs/kbn_crypto_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-crypto-browser title: "@kbn/crypto-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/crypto-browser plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/crypto-browser'] --- import kbnCryptoBrowserObj from './kbn_crypto_browser.devdocs.json'; diff --git a/api_docs/kbn_custom_integrations.mdx b/api_docs/kbn_custom_integrations.mdx index ecad3af2d91e14..1782e0a6b5cd67 100644 --- a/api_docs/kbn_custom_integrations.mdx +++ b/api_docs/kbn_custom_integrations.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-custom-integrations title: "@kbn/custom-integrations" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/custom-integrations plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/custom-integrations'] --- import kbnCustomIntegrationsObj from './kbn_custom_integrations.devdocs.json'; diff --git a/api_docs/kbn_cypress_config.mdx b/api_docs/kbn_cypress_config.mdx index d41cd83aa2383c..622a12203b52b9 100644 --- a/api_docs/kbn_cypress_config.mdx +++ b/api_docs/kbn_cypress_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-cypress-config title: "@kbn/cypress-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/cypress-config plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/cypress-config'] --- import kbnCypressConfigObj from './kbn_cypress_config.devdocs.json'; diff --git a/api_docs/kbn_data_service.mdx b/api_docs/kbn_data_service.mdx index 56b306a2d3b9b8..58bfcdb9dae435 100644 --- a/api_docs/kbn_data_service.mdx +++ b/api_docs/kbn_data_service.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-data-service title: "@kbn/data-service" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/data-service plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/data-service'] --- import kbnDataServiceObj from './kbn_data_service.devdocs.json'; diff --git a/api_docs/kbn_datemath.mdx b/api_docs/kbn_datemath.mdx index d709d866078ffc..6311aee441faed 100644 --- a/api_docs/kbn_datemath.mdx +++ b/api_docs/kbn_datemath.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-datemath title: "@kbn/datemath" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/datemath plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/datemath'] --- import kbnDatemathObj from './kbn_datemath.devdocs.json'; diff --git a/api_docs/kbn_deeplinks_analytics.mdx b/api_docs/kbn_deeplinks_analytics.mdx index 3f1bcb59c481ff..896c687f4180d8 100644 --- a/api_docs/kbn_deeplinks_analytics.mdx +++ b/api_docs/kbn_deeplinks_analytics.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-analytics title: "@kbn/deeplinks-analytics" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-analytics plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-analytics'] --- import kbnDeeplinksAnalyticsObj from './kbn_deeplinks_analytics.devdocs.json'; diff --git a/api_docs/kbn_deeplinks_devtools.mdx b/api_docs/kbn_deeplinks_devtools.mdx index 9a7f3262c11aab..38569e61fde650 100644 --- a/api_docs/kbn_deeplinks_devtools.mdx +++ b/api_docs/kbn_deeplinks_devtools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-devtools title: "@kbn/deeplinks-devtools" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-devtools plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-devtools'] --- import kbnDeeplinksDevtoolsObj from './kbn_deeplinks_devtools.devdocs.json'; diff --git a/api_docs/kbn_deeplinks_management.mdx b/api_docs/kbn_deeplinks_management.mdx index 83f393c33e4b5c..f11cbd59a3054b 100644 --- a/api_docs/kbn_deeplinks_management.mdx +++ b/api_docs/kbn_deeplinks_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-management title: "@kbn/deeplinks-management" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-management plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-management'] --- import kbnDeeplinksManagementObj from './kbn_deeplinks_management.devdocs.json'; diff --git a/api_docs/kbn_deeplinks_ml.mdx b/api_docs/kbn_deeplinks_ml.mdx index a0ce7e770ea3ba..4d78ee68f09283 100644 --- a/api_docs/kbn_deeplinks_ml.mdx +++ b/api_docs/kbn_deeplinks_ml.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-ml title: "@kbn/deeplinks-ml" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-ml plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-ml'] --- import kbnDeeplinksMlObj from './kbn_deeplinks_ml.devdocs.json'; diff --git a/api_docs/kbn_deeplinks_observability.mdx b/api_docs/kbn_deeplinks_observability.mdx index 29038d86fc914b..8797d23c5c5cab 100644 --- a/api_docs/kbn_deeplinks_observability.mdx +++ b/api_docs/kbn_deeplinks_observability.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-observability title: "@kbn/deeplinks-observability" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-observability plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-observability'] --- import kbnDeeplinksObservabilityObj from './kbn_deeplinks_observability.devdocs.json'; diff --git a/api_docs/kbn_deeplinks_search.mdx b/api_docs/kbn_deeplinks_search.mdx index 5c4e412493171e..736a3eb4d2e229 100644 --- a/api_docs/kbn_deeplinks_search.mdx +++ b/api_docs/kbn_deeplinks_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-search title: "@kbn/deeplinks-search" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-search plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-search'] --- import kbnDeeplinksSearchObj from './kbn_deeplinks_search.devdocs.json'; diff --git a/api_docs/kbn_default_nav_analytics.mdx b/api_docs/kbn_default_nav_analytics.mdx index 2de44a3faa57f5..94d30fd3f54daf 100644 --- a/api_docs/kbn_default_nav_analytics.mdx +++ b/api_docs/kbn_default_nav_analytics.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-default-nav-analytics title: "@kbn/default-nav-analytics" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/default-nav-analytics plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/default-nav-analytics'] --- import kbnDefaultNavAnalyticsObj from './kbn_default_nav_analytics.devdocs.json'; diff --git a/api_docs/kbn_default_nav_devtools.mdx b/api_docs/kbn_default_nav_devtools.mdx index 44d03ad8d9c999..06cf330de003d2 100644 --- a/api_docs/kbn_default_nav_devtools.mdx +++ b/api_docs/kbn_default_nav_devtools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-default-nav-devtools title: "@kbn/default-nav-devtools" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/default-nav-devtools plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/default-nav-devtools'] --- import kbnDefaultNavDevtoolsObj from './kbn_default_nav_devtools.devdocs.json'; diff --git a/api_docs/kbn_default_nav_management.mdx b/api_docs/kbn_default_nav_management.mdx index 12b56d8bb1ca2a..2af0f183256676 100644 --- a/api_docs/kbn_default_nav_management.mdx +++ b/api_docs/kbn_default_nav_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-default-nav-management title: "@kbn/default-nav-management" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/default-nav-management plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/default-nav-management'] --- import kbnDefaultNavManagementObj from './kbn_default_nav_management.devdocs.json'; diff --git a/api_docs/kbn_default_nav_ml.mdx b/api_docs/kbn_default_nav_ml.mdx index d095e8a7ccde03..f25a10d836d91a 100644 --- a/api_docs/kbn_default_nav_ml.mdx +++ b/api_docs/kbn_default_nav_ml.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-default-nav-ml title: "@kbn/default-nav-ml" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/default-nav-ml plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/default-nav-ml'] --- import kbnDefaultNavMlObj from './kbn_default_nav_ml.devdocs.json'; diff --git a/api_docs/kbn_dev_cli_errors.mdx b/api_docs/kbn_dev_cli_errors.mdx index d002745d84a01c..1167baa62f8cdd 100644 --- a/api_docs/kbn_dev_cli_errors.mdx +++ b/api_docs/kbn_dev_cli_errors.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-dev-cli-errors title: "@kbn/dev-cli-errors" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/dev-cli-errors plugin -date: 2023-09-22 +date: 2023-09-23 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 15564575a86fb1..316795e9501379 100644 --- a/api_docs/kbn_dev_cli_runner.mdx +++ b/api_docs/kbn_dev_cli_runner.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-dev-cli-runner title: "@kbn/dev-cli-runner" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/dev-cli-runner plugin -date: 2023-09-22 +date: 2023-09-23 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 8f6fe98533086b..e54d9451a52f00 100644 --- a/api_docs/kbn_dev_proc_runner.mdx +++ b/api_docs/kbn_dev_proc_runner.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-dev-proc-runner title: "@kbn/dev-proc-runner" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/dev-proc-runner plugin -date: 2023-09-22 +date: 2023-09-23 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 2637c24ba2cfd8..56c355c8a1d9b1 100644 --- a/api_docs/kbn_dev_utils.mdx +++ b/api_docs/kbn_dev_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-dev-utils title: "@kbn/dev-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/dev-utils plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/dev-utils'] --- import kbnDevUtilsObj from './kbn_dev_utils.devdocs.json'; diff --git a/api_docs/kbn_discover_utils.mdx b/api_docs/kbn_discover_utils.mdx index 5cb67a73c22ce0..46fbd75b541b9e 100644 --- a/api_docs/kbn_discover_utils.mdx +++ b/api_docs/kbn_discover_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-discover-utils title: "@kbn/discover-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/discover-utils plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/discover-utils'] --- import kbnDiscoverUtilsObj from './kbn_discover_utils.devdocs.json'; diff --git a/api_docs/kbn_doc_links.mdx b/api_docs/kbn_doc_links.mdx index c1a0f7b4ed4747..a4e687d893727b 100644 --- a/api_docs/kbn_doc_links.mdx +++ b/api_docs/kbn_doc_links.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-doc-links title: "@kbn/doc-links" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/doc-links plugin -date: 2023-09-22 +date: 2023-09-23 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 dadd55037b503c..b2685d90479a60 100644 --- a/api_docs/kbn_docs_utils.mdx +++ b/api_docs/kbn_docs_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-docs-utils title: "@kbn/docs-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/docs-utils plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/docs-utils'] --- import kbnDocsUtilsObj from './kbn_docs_utils.devdocs.json'; diff --git a/api_docs/kbn_dom_drag_drop.mdx b/api_docs/kbn_dom_drag_drop.mdx index 51dd9810e883dd..805c85e2e5d23e 100644 --- a/api_docs/kbn_dom_drag_drop.mdx +++ b/api_docs/kbn_dom_drag_drop.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-dom-drag-drop title: "@kbn/dom-drag-drop" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/dom-drag-drop plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/dom-drag-drop'] --- import kbnDomDragDropObj from './kbn_dom_drag_drop.devdocs.json'; diff --git a/api_docs/kbn_ebt_tools.mdx b/api_docs/kbn_ebt_tools.mdx index 66cb0b151da723..09f9faa15eff0f 100644 --- a/api_docs/kbn_ebt_tools.mdx +++ b/api_docs/kbn_ebt_tools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ebt-tools title: "@kbn/ebt-tools" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ebt-tools plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ebt-tools'] --- import kbnEbtToolsObj from './kbn_ebt_tools.devdocs.json'; diff --git a/api_docs/kbn_ecs.mdx b/api_docs/kbn_ecs.mdx index 9c953ce48bd868..7c80d15acba3c0 100644 --- a/api_docs/kbn_ecs.mdx +++ b/api_docs/kbn_ecs.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ecs title: "@kbn/ecs" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ecs plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ecs'] --- import kbnEcsObj from './kbn_ecs.devdocs.json'; diff --git a/api_docs/kbn_ecs_data_quality_dashboard.mdx b/api_docs/kbn_ecs_data_quality_dashboard.mdx index 11e4639add08fa..88181aab0a4950 100644 --- a/api_docs/kbn_ecs_data_quality_dashboard.mdx +++ b/api_docs/kbn_ecs_data_quality_dashboard.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ecs-data-quality-dashboard title: "@kbn/ecs-data-quality-dashboard" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ecs-data-quality-dashboard plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ecs-data-quality-dashboard'] --- import kbnEcsDataQualityDashboardObj from './kbn_ecs_data_quality_dashboard.devdocs.json'; diff --git a/api_docs/kbn_elastic_assistant.mdx b/api_docs/kbn_elastic_assistant.mdx index cf8a3341f99f8c..053c3891f1da5b 100644 --- a/api_docs/kbn_elastic_assistant.mdx +++ b/api_docs/kbn_elastic_assistant.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-elastic-assistant title: "@kbn/elastic-assistant" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/elastic-assistant plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/elastic-assistant'] --- import kbnElasticAssistantObj from './kbn_elastic_assistant.devdocs.json'; diff --git a/api_docs/kbn_es.mdx b/api_docs/kbn_es.mdx index bb7716c1ff1111..891d5c75de7b67 100644 --- a/api_docs/kbn_es.mdx +++ b/api_docs/kbn_es.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-es title: "@kbn/es" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/es plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/es'] --- import kbnEsObj from './kbn_es.devdocs.json'; diff --git a/api_docs/kbn_es_archiver.mdx b/api_docs/kbn_es_archiver.mdx index d6697529692a78..60a06c9f3ae3cd 100644 --- a/api_docs/kbn_es_archiver.mdx +++ b/api_docs/kbn_es_archiver.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-es-archiver title: "@kbn/es-archiver" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/es-archiver plugin -date: 2023-09-22 +date: 2023-09-23 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 41bdfb170d950a..5a96d603d9b676 100644 --- a/api_docs/kbn_es_errors.mdx +++ b/api_docs/kbn_es_errors.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-es-errors title: "@kbn/es-errors" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/es-errors plugin -date: 2023-09-22 +date: 2023-09-23 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 9a20d6e85f8b2e..1522b31958f9e3 100644 --- a/api_docs/kbn_es_query.mdx +++ b/api_docs/kbn_es_query.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-es-query title: "@kbn/es-query" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/es-query plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/es-query'] --- import kbnEsQueryObj from './kbn_es_query.devdocs.json'; diff --git a/api_docs/kbn_es_types.mdx b/api_docs/kbn_es_types.mdx index 1862627a4ca1f3..6ef1097ef4ceb6 100644 --- a/api_docs/kbn_es_types.mdx +++ b/api_docs/kbn_es_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-es-types title: "@kbn/es-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/es-types plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/es-types'] --- import kbnEsTypesObj from './kbn_es_types.devdocs.json'; diff --git a/api_docs/kbn_eslint_plugin_imports.mdx b/api_docs/kbn_eslint_plugin_imports.mdx index f0d86ce38dc3dd..a7049cee310509 100644 --- a/api_docs/kbn_eslint_plugin_imports.mdx +++ b/api_docs/kbn_eslint_plugin_imports.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-eslint-plugin-imports title: "@kbn/eslint-plugin-imports" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/eslint-plugin-imports plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/eslint-plugin-imports'] --- import kbnEslintPluginImportsObj from './kbn_eslint_plugin_imports.devdocs.json'; diff --git a/api_docs/kbn_event_annotation_common.mdx b/api_docs/kbn_event_annotation_common.mdx index 7ea19faa1a6e28..820452718ecc11 100644 --- a/api_docs/kbn_event_annotation_common.mdx +++ b/api_docs/kbn_event_annotation_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-event-annotation-common title: "@kbn/event-annotation-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/event-annotation-common plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/event-annotation-common'] --- import kbnEventAnnotationCommonObj from './kbn_event_annotation_common.devdocs.json'; diff --git a/api_docs/kbn_event_annotation_components.mdx b/api_docs/kbn_event_annotation_components.mdx index 95797624a2f9bb..a5915d78cf2b7d 100644 --- a/api_docs/kbn_event_annotation_components.mdx +++ b/api_docs/kbn_event_annotation_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-event-annotation-components title: "@kbn/event-annotation-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/event-annotation-components plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/event-annotation-components'] --- import kbnEventAnnotationComponentsObj from './kbn_event_annotation_components.devdocs.json'; diff --git a/api_docs/kbn_expandable_flyout.mdx b/api_docs/kbn_expandable_flyout.mdx index 8c04747d2e260b..df75973fa64377 100644 --- a/api_docs/kbn_expandable_flyout.mdx +++ b/api_docs/kbn_expandable_flyout.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-expandable-flyout title: "@kbn/expandable-flyout" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/expandable-flyout plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/expandable-flyout'] --- import kbnExpandableFlyoutObj from './kbn_expandable_flyout.devdocs.json'; diff --git a/api_docs/kbn_field_types.mdx b/api_docs/kbn_field_types.mdx index bc798b6dce716b..111a404ec0af52 100644 --- a/api_docs/kbn_field_types.mdx +++ b/api_docs/kbn_field_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-field-types title: "@kbn/field-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/field-types plugin -date: 2023-09-22 +date: 2023-09-23 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 df2c98c32d2a38..ce3961c46e3e4e 100644 --- a/api_docs/kbn_find_used_node_modules.mdx +++ b/api_docs/kbn_find_used_node_modules.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-find-used-node-modules title: "@kbn/find-used-node-modules" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/find-used-node-modules plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/find-used-node-modules'] --- import kbnFindUsedNodeModulesObj from './kbn_find_used_node_modules.devdocs.json'; diff --git a/api_docs/kbn_ftr_common_functional_services.mdx b/api_docs/kbn_ftr_common_functional_services.mdx index 548219d6201afa..d678181b08edac 100644 --- a/api_docs/kbn_ftr_common_functional_services.mdx +++ b/api_docs/kbn_ftr_common_functional_services.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ftr-common-functional-services title: "@kbn/ftr-common-functional-services" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ftr-common-functional-services plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ftr-common-functional-services'] --- import kbnFtrCommonFunctionalServicesObj from './kbn_ftr_common_functional_services.devdocs.json'; diff --git a/api_docs/kbn_generate.mdx b/api_docs/kbn_generate.mdx index 0c14f13afe6b58..0f3d7636cd487e 100644 --- a/api_docs/kbn_generate.mdx +++ b/api_docs/kbn_generate.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-generate title: "@kbn/generate" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/generate plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/generate'] --- import kbnGenerateObj from './kbn_generate.devdocs.json'; diff --git a/api_docs/kbn_generate_console_definitions.mdx b/api_docs/kbn_generate_console_definitions.mdx index 070cef62a474f0..99cb25bd70b8ba 100644 --- a/api_docs/kbn_generate_console_definitions.mdx +++ b/api_docs/kbn_generate_console_definitions.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-generate-console-definitions title: "@kbn/generate-console-definitions" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/generate-console-definitions plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/generate-console-definitions'] --- import kbnGenerateConsoleDefinitionsObj from './kbn_generate_console_definitions.devdocs.json'; diff --git a/api_docs/kbn_generate_csv.mdx b/api_docs/kbn_generate_csv.mdx index c83435045386bb..e51c83fca0c012 100644 --- a/api_docs/kbn_generate_csv.mdx +++ b/api_docs/kbn_generate_csv.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-generate-csv title: "@kbn/generate-csv" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/generate-csv plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/generate-csv'] --- import kbnGenerateCsvObj from './kbn_generate_csv.devdocs.json'; diff --git a/api_docs/kbn_generate_csv_types.mdx b/api_docs/kbn_generate_csv_types.mdx index 6d71754cb2f3dd..f18cc442d3cc78 100644 --- a/api_docs/kbn_generate_csv_types.mdx +++ b/api_docs/kbn_generate_csv_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-generate-csv-types title: "@kbn/generate-csv-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/generate-csv-types plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/generate-csv-types'] --- import kbnGenerateCsvTypesObj from './kbn_generate_csv_types.devdocs.json'; diff --git a/api_docs/kbn_guided_onboarding.mdx b/api_docs/kbn_guided_onboarding.mdx index d7071dece0189c..a48ea36d35693a 100644 --- a/api_docs/kbn_guided_onboarding.mdx +++ b/api_docs/kbn_guided_onboarding.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-guided-onboarding title: "@kbn/guided-onboarding" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/guided-onboarding plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/guided-onboarding'] --- import kbnGuidedOnboardingObj from './kbn_guided_onboarding.devdocs.json'; diff --git a/api_docs/kbn_handlebars.mdx b/api_docs/kbn_handlebars.mdx index 095d8f329b1a8f..bce960e115fdaa 100644 --- a/api_docs/kbn_handlebars.mdx +++ b/api_docs/kbn_handlebars.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-handlebars title: "@kbn/handlebars" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/handlebars plugin -date: 2023-09-22 +date: 2023-09-23 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 6ceeff777948cf..23901e6ea68fa7 100644 --- a/api_docs/kbn_hapi_mocks.mdx +++ b/api_docs/kbn_hapi_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-hapi-mocks title: "@kbn/hapi-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/hapi-mocks plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/hapi-mocks'] --- import kbnHapiMocksObj from './kbn_hapi_mocks.devdocs.json'; diff --git a/api_docs/kbn_health_gateway_server.mdx b/api_docs/kbn_health_gateway_server.mdx index de1971e68bf336..0d6a9bd32d9216 100644 --- a/api_docs/kbn_health_gateway_server.mdx +++ b/api_docs/kbn_health_gateway_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-health-gateway-server title: "@kbn/health-gateway-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/health-gateway-server plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/health-gateway-server'] --- import kbnHealthGatewayServerObj from './kbn_health_gateway_server.devdocs.json'; diff --git a/api_docs/kbn_home_sample_data_card.mdx b/api_docs/kbn_home_sample_data_card.mdx index 5f4a98369fdb06..385264a2e6b16d 100644 --- a/api_docs/kbn_home_sample_data_card.mdx +++ b/api_docs/kbn_home_sample_data_card.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-home-sample-data-card title: "@kbn/home-sample-data-card" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/home-sample-data-card plugin -date: 2023-09-22 +date: 2023-09-23 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 ef194a957f9b3a..0121496b737585 100644 --- a/api_docs/kbn_home_sample_data_tab.mdx +++ b/api_docs/kbn_home_sample_data_tab.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-home-sample-data-tab title: "@kbn/home-sample-data-tab" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/home-sample-data-tab plugin -date: 2023-09-22 +date: 2023-09-23 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 2329fb22f1dfe2..d2cdf79ebdadf3 100644 --- a/api_docs/kbn_i18n.mdx +++ b/api_docs/kbn_i18n.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-i18n title: "@kbn/i18n" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/i18n plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/i18n'] --- import kbnI18nObj from './kbn_i18n.devdocs.json'; diff --git a/api_docs/kbn_i18n_react.mdx b/api_docs/kbn_i18n_react.mdx index 7ddfe206339aac..31ce3940b0e79e 100644 --- a/api_docs/kbn_i18n_react.mdx +++ b/api_docs/kbn_i18n_react.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-i18n-react title: "@kbn/i18n-react" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/i18n-react plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/i18n-react'] --- import kbnI18nReactObj from './kbn_i18n_react.devdocs.json'; diff --git a/api_docs/kbn_import_resolver.mdx b/api_docs/kbn_import_resolver.mdx index 803d69d82e038d..f1ca34f4ab5f6c 100644 --- a/api_docs/kbn_import_resolver.mdx +++ b/api_docs/kbn_import_resolver.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-import-resolver title: "@kbn/import-resolver" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/import-resolver plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/import-resolver'] --- import kbnImportResolverObj from './kbn_import_resolver.devdocs.json'; diff --git a/api_docs/kbn_infra_forge.mdx b/api_docs/kbn_infra_forge.mdx index 6cec5a1770dd34..2cf5bfcc189ec6 100644 --- a/api_docs/kbn_infra_forge.mdx +++ b/api_docs/kbn_infra_forge.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-infra-forge title: "@kbn/infra-forge" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/infra-forge plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/infra-forge'] --- import kbnInfraForgeObj from './kbn_infra_forge.devdocs.json'; diff --git a/api_docs/kbn_interpreter.mdx b/api_docs/kbn_interpreter.mdx index 81713b9e3d4128..5e1d7a35e9f359 100644 --- a/api_docs/kbn_interpreter.mdx +++ b/api_docs/kbn_interpreter.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-interpreter title: "@kbn/interpreter" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/interpreter plugin -date: 2023-09-22 +date: 2023-09-23 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 a3739a8cb041a1..9ab73c011fdd4f 100644 --- a/api_docs/kbn_io_ts_utils.mdx +++ b/api_docs/kbn_io_ts_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-io-ts-utils title: "@kbn/io-ts-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/io-ts-utils plugin -date: 2023-09-22 +date: 2023-09-23 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 b4e642d7915ad2..bd4cb84b2cb66d 100644 --- a/api_docs/kbn_jest_serializers.mdx +++ b/api_docs/kbn_jest_serializers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-jest-serializers title: "@kbn/jest-serializers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/jest-serializers plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/jest-serializers'] --- import kbnJestSerializersObj from './kbn_jest_serializers.devdocs.json'; diff --git a/api_docs/kbn_journeys.mdx b/api_docs/kbn_journeys.mdx index 6290ef6ad34508..dbb59734e20d0c 100644 --- a/api_docs/kbn_journeys.mdx +++ b/api_docs/kbn_journeys.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-journeys title: "@kbn/journeys" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/journeys plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/journeys'] --- import kbnJourneysObj from './kbn_journeys.devdocs.json'; diff --git a/api_docs/kbn_json_ast.mdx b/api_docs/kbn_json_ast.mdx index 1541ab6ce58209..4b55dec03361d2 100644 --- a/api_docs/kbn_json_ast.mdx +++ b/api_docs/kbn_json_ast.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-json-ast title: "@kbn/json-ast" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/json-ast plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/json-ast'] --- import kbnJsonAstObj from './kbn_json_ast.devdocs.json'; diff --git a/api_docs/kbn_kibana_manifest_schema.mdx b/api_docs/kbn_kibana_manifest_schema.mdx index 3b2b423d952272..6d6c9e7aa85fd3 100644 --- a/api_docs/kbn_kibana_manifest_schema.mdx +++ b/api_docs/kbn_kibana_manifest_schema.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-kibana-manifest-schema title: "@kbn/kibana-manifest-schema" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/kibana-manifest-schema plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/kibana-manifest-schema'] --- import kbnKibanaManifestSchemaObj from './kbn_kibana_manifest_schema.devdocs.json'; diff --git a/api_docs/kbn_language_documentation_popover.mdx b/api_docs/kbn_language_documentation_popover.mdx index ecfe4ef77b38e2..ba46fb07f940be 100644 --- a/api_docs/kbn_language_documentation_popover.mdx +++ b/api_docs/kbn_language_documentation_popover.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-language-documentation-popover title: "@kbn/language-documentation-popover" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/language-documentation-popover plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/language-documentation-popover'] --- import kbnLanguageDocumentationPopoverObj from './kbn_language_documentation_popover.devdocs.json'; diff --git a/api_docs/kbn_lens_embeddable_utils.mdx b/api_docs/kbn_lens_embeddable_utils.mdx index 6466a42b557760..aee78de4625946 100644 --- a/api_docs/kbn_lens_embeddable_utils.mdx +++ b/api_docs/kbn_lens_embeddable_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-lens-embeddable-utils title: "@kbn/lens-embeddable-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/lens-embeddable-utils plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/lens-embeddable-utils'] --- import kbnLensEmbeddableUtilsObj from './kbn_lens_embeddable_utils.devdocs.json'; diff --git a/api_docs/kbn_logging.mdx b/api_docs/kbn_logging.mdx index e4382559f94f5c..a76a3418d8a936 100644 --- a/api_docs/kbn_logging.mdx +++ b/api_docs/kbn_logging.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-logging title: "@kbn/logging" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/logging plugin -date: 2023-09-22 +date: 2023-09-23 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 bba3c7661af4ab..33aa75b1b4cf1d 100644 --- a/api_docs/kbn_logging_mocks.mdx +++ b/api_docs/kbn_logging_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-logging-mocks title: "@kbn/logging-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/logging-mocks plugin -date: 2023-09-22 +date: 2023-09-23 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 3619911acd7882..0545116d9d3d75 100644 --- a/api_docs/kbn_managed_vscode_config.mdx +++ b/api_docs/kbn_managed_vscode_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-managed-vscode-config title: "@kbn/managed-vscode-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/managed-vscode-config plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/managed-vscode-config'] --- import kbnManagedVscodeConfigObj from './kbn_managed_vscode_config.devdocs.json'; diff --git a/api_docs/kbn_management_cards_navigation.mdx b/api_docs/kbn_management_cards_navigation.mdx index 2ec7eef6d1e551..c9dbb000f43b7f 100644 --- a/api_docs/kbn_management_cards_navigation.mdx +++ b/api_docs/kbn_management_cards_navigation.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-cards-navigation title: "@kbn/management-cards-navigation" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-cards-navigation plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-cards-navigation'] --- import kbnManagementCardsNavigationObj from './kbn_management_cards_navigation.devdocs.json'; diff --git a/api_docs/kbn_management_settings_components_field_input.mdx b/api_docs/kbn_management_settings_components_field_input.mdx index 0533e009cceb6c..e836f1c8bf6808 100644 --- a/api_docs/kbn_management_settings_components_field_input.mdx +++ b/api_docs/kbn_management_settings_components_field_input.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-components-field-input title: "@kbn/management-settings-components-field-input" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-components-field-input plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-components-field-input'] --- import kbnManagementSettingsComponentsFieldInputObj from './kbn_management_settings_components_field_input.devdocs.json'; diff --git a/api_docs/kbn_management_settings_components_field_row.mdx b/api_docs/kbn_management_settings_components_field_row.mdx index a781bd7ca92924..f965a76d287be9 100644 --- a/api_docs/kbn_management_settings_components_field_row.mdx +++ b/api_docs/kbn_management_settings_components_field_row.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-components-field-row title: "@kbn/management-settings-components-field-row" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-components-field-row plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-components-field-row'] --- import kbnManagementSettingsComponentsFieldRowObj from './kbn_management_settings_components_field_row.devdocs.json'; diff --git a/api_docs/kbn_management_settings_field_definition.mdx b/api_docs/kbn_management_settings_field_definition.mdx index 66c05827d37c08..d3b03594b9b45e 100644 --- a/api_docs/kbn_management_settings_field_definition.mdx +++ b/api_docs/kbn_management_settings_field_definition.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-field-definition title: "@kbn/management-settings-field-definition" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-field-definition plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-field-definition'] --- import kbnManagementSettingsFieldDefinitionObj from './kbn_management_settings_field_definition.devdocs.json'; diff --git a/api_docs/kbn_management_settings_ids.mdx b/api_docs/kbn_management_settings_ids.mdx index d453d3b15c86bb..5021dc7a7ee0c5 100644 --- a/api_docs/kbn_management_settings_ids.mdx +++ b/api_docs/kbn_management_settings_ids.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-ids title: "@kbn/management-settings-ids" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-ids plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-ids'] --- import kbnManagementSettingsIdsObj from './kbn_management_settings_ids.devdocs.json'; diff --git a/api_docs/kbn_management_settings_section_registry.mdx b/api_docs/kbn_management_settings_section_registry.mdx index efecde91adf800..fc6d1c1b1591d9 100644 --- a/api_docs/kbn_management_settings_section_registry.mdx +++ b/api_docs/kbn_management_settings_section_registry.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-section-registry title: "@kbn/management-settings-section-registry" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-section-registry plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-section-registry'] --- import kbnManagementSettingsSectionRegistryObj from './kbn_management_settings_section_registry.devdocs.json'; diff --git a/api_docs/kbn_management_settings_types.mdx b/api_docs/kbn_management_settings_types.mdx index be529bdfa58688..9e5640274cf6ea 100644 --- a/api_docs/kbn_management_settings_types.mdx +++ b/api_docs/kbn_management_settings_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-types title: "@kbn/management-settings-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-types plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-types'] --- import kbnManagementSettingsTypesObj from './kbn_management_settings_types.devdocs.json'; diff --git a/api_docs/kbn_management_settings_utilities.mdx b/api_docs/kbn_management_settings_utilities.mdx index 387cf9c5ffcd8f..1314872894a9d1 100644 --- a/api_docs/kbn_management_settings_utilities.mdx +++ b/api_docs/kbn_management_settings_utilities.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-utilities title: "@kbn/management-settings-utilities" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-utilities plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-utilities'] --- import kbnManagementSettingsUtilitiesObj from './kbn_management_settings_utilities.devdocs.json'; diff --git a/api_docs/kbn_management_storybook_config.mdx b/api_docs/kbn_management_storybook_config.mdx index 12fe6e22f5cd11..a420eccf9169a0 100644 --- a/api_docs/kbn_management_storybook_config.mdx +++ b/api_docs/kbn_management_storybook_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-storybook-config title: "@kbn/management-storybook-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-storybook-config plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-storybook-config'] --- import kbnManagementStorybookConfigObj from './kbn_management_storybook_config.devdocs.json'; diff --git a/api_docs/kbn_mapbox_gl.mdx b/api_docs/kbn_mapbox_gl.mdx index be4bfee5d5a7ec..6f648ebe29fa31 100644 --- a/api_docs/kbn_mapbox_gl.mdx +++ b/api_docs/kbn_mapbox_gl.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-mapbox-gl title: "@kbn/mapbox-gl" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/mapbox-gl plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/mapbox-gl'] --- import kbnMapboxGlObj from './kbn_mapbox_gl.devdocs.json'; diff --git a/api_docs/kbn_maps_vector_tile_utils.mdx b/api_docs/kbn_maps_vector_tile_utils.mdx index 4662f2103bb6b1..3edc6f4a1735e8 100644 --- a/api_docs/kbn_maps_vector_tile_utils.mdx +++ b/api_docs/kbn_maps_vector_tile_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-maps-vector-tile-utils title: "@kbn/maps-vector-tile-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/maps-vector-tile-utils plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/maps-vector-tile-utils'] --- import kbnMapsVectorTileUtilsObj from './kbn_maps_vector_tile_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_agg_utils.mdx b/api_docs/kbn_ml_agg_utils.mdx index 5ae52c9eef87d0..ad4426470d7651 100644 --- a/api_docs/kbn_ml_agg_utils.mdx +++ b/api_docs/kbn_ml_agg_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-agg-utils title: "@kbn/ml-agg-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-agg-utils plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-agg-utils'] --- import kbnMlAggUtilsObj from './kbn_ml_agg_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_anomaly_utils.mdx b/api_docs/kbn_ml_anomaly_utils.mdx index 76b9d6d400011b..2017de97276385 100644 --- a/api_docs/kbn_ml_anomaly_utils.mdx +++ b/api_docs/kbn_ml_anomaly_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-anomaly-utils title: "@kbn/ml-anomaly-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-anomaly-utils plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-anomaly-utils'] --- import kbnMlAnomalyUtilsObj from './kbn_ml_anomaly_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_category_validator.mdx b/api_docs/kbn_ml_category_validator.mdx index 9ffba6f54aa40b..00185fa1f0e84b 100644 --- a/api_docs/kbn_ml_category_validator.mdx +++ b/api_docs/kbn_ml_category_validator.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-category-validator title: "@kbn/ml-category-validator" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-category-validator plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-category-validator'] --- import kbnMlCategoryValidatorObj from './kbn_ml_category_validator.devdocs.json'; diff --git a/api_docs/kbn_ml_data_frame_analytics_utils.mdx b/api_docs/kbn_ml_data_frame_analytics_utils.mdx index d3571c755cd112..b6f7304ab758b3 100644 --- a/api_docs/kbn_ml_data_frame_analytics_utils.mdx +++ b/api_docs/kbn_ml_data_frame_analytics_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-data-frame-analytics-utils title: "@kbn/ml-data-frame-analytics-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-data-frame-analytics-utils plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-data-frame-analytics-utils'] --- import kbnMlDataFrameAnalyticsUtilsObj from './kbn_ml_data_frame_analytics_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_data_grid.mdx b/api_docs/kbn_ml_data_grid.mdx index 3f9843c5cbc4cb..83345deaa87d40 100644 --- a/api_docs/kbn_ml_data_grid.mdx +++ b/api_docs/kbn_ml_data_grid.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-data-grid title: "@kbn/ml-data-grid" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-data-grid plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-data-grid'] --- import kbnMlDataGridObj from './kbn_ml_data_grid.devdocs.json'; diff --git a/api_docs/kbn_ml_date_picker.mdx b/api_docs/kbn_ml_date_picker.mdx index eda1bef0b06eed..44a25686945696 100644 --- a/api_docs/kbn_ml_date_picker.mdx +++ b/api_docs/kbn_ml_date_picker.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-date-picker title: "@kbn/ml-date-picker" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-date-picker plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-date-picker'] --- import kbnMlDatePickerObj from './kbn_ml_date_picker.devdocs.json'; diff --git a/api_docs/kbn_ml_date_utils.mdx b/api_docs/kbn_ml_date_utils.mdx index 5a074ab6a23e68..36633c07de0c6e 100644 --- a/api_docs/kbn_ml_date_utils.mdx +++ b/api_docs/kbn_ml_date_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-date-utils title: "@kbn/ml-date-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-date-utils plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-date-utils'] --- import kbnMlDateUtilsObj from './kbn_ml_date_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_error_utils.mdx b/api_docs/kbn_ml_error_utils.mdx index 14aa346151d442..01dd9fac8e8f97 100644 --- a/api_docs/kbn_ml_error_utils.mdx +++ b/api_docs/kbn_ml_error_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-error-utils title: "@kbn/ml-error-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-error-utils plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-error-utils'] --- import kbnMlErrorUtilsObj from './kbn_ml_error_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_in_memory_table.mdx b/api_docs/kbn_ml_in_memory_table.mdx index a98fb39a9953c7..6335986895acbe 100644 --- a/api_docs/kbn_ml_in_memory_table.mdx +++ b/api_docs/kbn_ml_in_memory_table.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-in-memory-table title: "@kbn/ml-in-memory-table" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-in-memory-table plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-in-memory-table'] --- import kbnMlInMemoryTableObj from './kbn_ml_in_memory_table.devdocs.json'; diff --git a/api_docs/kbn_ml_is_defined.mdx b/api_docs/kbn_ml_is_defined.mdx index 51cc1956c906fe..955a97f998d496 100644 --- a/api_docs/kbn_ml_is_defined.mdx +++ b/api_docs/kbn_ml_is_defined.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-is-defined title: "@kbn/ml-is-defined" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-is-defined plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-is-defined'] --- import kbnMlIsDefinedObj from './kbn_ml_is_defined.devdocs.json'; diff --git a/api_docs/kbn_ml_is_populated_object.mdx b/api_docs/kbn_ml_is_populated_object.mdx index 44684de2203e79..82a192d8b1ea7e 100644 --- a/api_docs/kbn_ml_is_populated_object.mdx +++ b/api_docs/kbn_ml_is_populated_object.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-is-populated-object title: "@kbn/ml-is-populated-object" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-is-populated-object plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-is-populated-object'] --- import kbnMlIsPopulatedObjectObj from './kbn_ml_is_populated_object.devdocs.json'; diff --git a/api_docs/kbn_ml_kibana_theme.mdx b/api_docs/kbn_ml_kibana_theme.mdx index 659a203b9162b1..c1bc2fd19f2b9c 100644 --- a/api_docs/kbn_ml_kibana_theme.mdx +++ b/api_docs/kbn_ml_kibana_theme.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-kibana-theme title: "@kbn/ml-kibana-theme" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-kibana-theme plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-kibana-theme'] --- import kbnMlKibanaThemeObj from './kbn_ml_kibana_theme.devdocs.json'; diff --git a/api_docs/kbn_ml_local_storage.mdx b/api_docs/kbn_ml_local_storage.mdx index 7ae91815f0a5a4..2803fa8d518d98 100644 --- a/api_docs/kbn_ml_local_storage.mdx +++ b/api_docs/kbn_ml_local_storage.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-local-storage title: "@kbn/ml-local-storage" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-local-storage plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-local-storage'] --- import kbnMlLocalStorageObj from './kbn_ml_local_storage.devdocs.json'; diff --git a/api_docs/kbn_ml_nested_property.mdx b/api_docs/kbn_ml_nested_property.mdx index ec959764adbd64..c944c8412d8a13 100644 --- a/api_docs/kbn_ml_nested_property.mdx +++ b/api_docs/kbn_ml_nested_property.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-nested-property title: "@kbn/ml-nested-property" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-nested-property plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-nested-property'] --- import kbnMlNestedPropertyObj from './kbn_ml_nested_property.devdocs.json'; diff --git a/api_docs/kbn_ml_number_utils.mdx b/api_docs/kbn_ml_number_utils.mdx index 05097734bfc80d..22d2d68b3bb813 100644 --- a/api_docs/kbn_ml_number_utils.mdx +++ b/api_docs/kbn_ml_number_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-number-utils title: "@kbn/ml-number-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-number-utils plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-number-utils'] --- import kbnMlNumberUtilsObj from './kbn_ml_number_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_query_utils.mdx b/api_docs/kbn_ml_query_utils.mdx index fee54383d9d368..692e708afcbc8a 100644 --- a/api_docs/kbn_ml_query_utils.mdx +++ b/api_docs/kbn_ml_query_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-query-utils title: "@kbn/ml-query-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-query-utils plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-query-utils'] --- import kbnMlQueryUtilsObj from './kbn_ml_query_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_random_sampler_utils.mdx b/api_docs/kbn_ml_random_sampler_utils.mdx index 745c775bf294a9..1aba662f6d98f8 100644 --- a/api_docs/kbn_ml_random_sampler_utils.mdx +++ b/api_docs/kbn_ml_random_sampler_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-random-sampler-utils title: "@kbn/ml-random-sampler-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-random-sampler-utils plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-random-sampler-utils'] --- import kbnMlRandomSamplerUtilsObj from './kbn_ml_random_sampler_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_route_utils.mdx b/api_docs/kbn_ml_route_utils.mdx index 7c84e790125625..bfe42610fc618d 100644 --- a/api_docs/kbn_ml_route_utils.mdx +++ b/api_docs/kbn_ml_route_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-route-utils title: "@kbn/ml-route-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-route-utils plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-route-utils'] --- import kbnMlRouteUtilsObj from './kbn_ml_route_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_runtime_field_utils.mdx b/api_docs/kbn_ml_runtime_field_utils.mdx index 70c376dc949218..cc81c1cb6715f9 100644 --- a/api_docs/kbn_ml_runtime_field_utils.mdx +++ b/api_docs/kbn_ml_runtime_field_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-runtime-field-utils title: "@kbn/ml-runtime-field-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-runtime-field-utils plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-runtime-field-utils'] --- import kbnMlRuntimeFieldUtilsObj from './kbn_ml_runtime_field_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_string_hash.mdx b/api_docs/kbn_ml_string_hash.mdx index 8c3ae1eca6fa3a..dca6deeb5ecde0 100644 --- a/api_docs/kbn_ml_string_hash.mdx +++ b/api_docs/kbn_ml_string_hash.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-string-hash title: "@kbn/ml-string-hash" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-string-hash plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-string-hash'] --- import kbnMlStringHashObj from './kbn_ml_string_hash.devdocs.json'; diff --git a/api_docs/kbn_ml_trained_models_utils.mdx b/api_docs/kbn_ml_trained_models_utils.mdx index 275e896313c4fc..b9e911af51cfa0 100644 --- a/api_docs/kbn_ml_trained_models_utils.mdx +++ b/api_docs/kbn_ml_trained_models_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-trained-models-utils title: "@kbn/ml-trained-models-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-trained-models-utils plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-trained-models-utils'] --- import kbnMlTrainedModelsUtilsObj from './kbn_ml_trained_models_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_url_state.mdx b/api_docs/kbn_ml_url_state.mdx index 22b01520ac9b66..2dcb5623c1d438 100644 --- a/api_docs/kbn_ml_url_state.mdx +++ b/api_docs/kbn_ml_url_state.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-url-state title: "@kbn/ml-url-state" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-url-state plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-url-state'] --- import kbnMlUrlStateObj from './kbn_ml_url_state.devdocs.json'; diff --git a/api_docs/kbn_monaco.mdx b/api_docs/kbn_monaco.mdx index abf1d5e31d8b0f..153eb6c6d1eb6b 100644 --- a/api_docs/kbn_monaco.mdx +++ b/api_docs/kbn_monaco.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-monaco title: "@kbn/monaco" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/monaco plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/monaco'] --- import kbnMonacoObj from './kbn_monaco.devdocs.json'; diff --git a/api_docs/kbn_object_versioning.mdx b/api_docs/kbn_object_versioning.mdx index 48d6961b4e668b..ee7ac731ab68d5 100644 --- a/api_docs/kbn_object_versioning.mdx +++ b/api_docs/kbn_object_versioning.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-object-versioning title: "@kbn/object-versioning" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/object-versioning plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/object-versioning'] --- import kbnObjectVersioningObj from './kbn_object_versioning.devdocs.json'; diff --git a/api_docs/kbn_observability_alert_details.mdx b/api_docs/kbn_observability_alert_details.mdx index 04100874810b06..3bf29cc5849e57 100644 --- a/api_docs/kbn_observability_alert_details.mdx +++ b/api_docs/kbn_observability_alert_details.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-observability-alert-details title: "@kbn/observability-alert-details" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/observability-alert-details plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/observability-alert-details'] --- import kbnObservabilityAlertDetailsObj from './kbn_observability_alert_details.devdocs.json'; diff --git a/api_docs/kbn_optimizer.mdx b/api_docs/kbn_optimizer.mdx index b3f45e08d4e75e..5d0755568b1df3 100644 --- a/api_docs/kbn_optimizer.mdx +++ b/api_docs/kbn_optimizer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-optimizer title: "@kbn/optimizer" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/optimizer plugin -date: 2023-09-22 +date: 2023-09-23 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 7998781742b06a..6ccfeb627960c9 100644 --- a/api_docs/kbn_optimizer_webpack_helpers.mdx +++ b/api_docs/kbn_optimizer_webpack_helpers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-optimizer-webpack-helpers title: "@kbn/optimizer-webpack-helpers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/optimizer-webpack-helpers plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/optimizer-webpack-helpers'] --- import kbnOptimizerWebpackHelpersObj from './kbn_optimizer_webpack_helpers.devdocs.json'; diff --git a/api_docs/kbn_osquery_io_ts_types.mdx b/api_docs/kbn_osquery_io_ts_types.mdx index d8e482526346a1..c12966cdc6688f 100644 --- a/api_docs/kbn_osquery_io_ts_types.mdx +++ b/api_docs/kbn_osquery_io_ts_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-osquery-io-ts-types title: "@kbn/osquery-io-ts-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/osquery-io-ts-types plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/osquery-io-ts-types'] --- import kbnOsqueryIoTsTypesObj from './kbn_osquery_io_ts_types.devdocs.json'; diff --git a/api_docs/kbn_performance_testing_dataset_extractor.mdx b/api_docs/kbn_performance_testing_dataset_extractor.mdx index 4ad3de6695aaca..e4ddfffe78d865 100644 --- a/api_docs/kbn_performance_testing_dataset_extractor.mdx +++ b/api_docs/kbn_performance_testing_dataset_extractor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-performance-testing-dataset-extractor title: "@kbn/performance-testing-dataset-extractor" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/performance-testing-dataset-extractor plugin -date: 2023-09-22 +date: 2023-09-23 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 757e1baf04c89b..ac12cc69942815 100644 --- a/api_docs/kbn_plugin_generator.mdx +++ b/api_docs/kbn_plugin_generator.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-plugin-generator title: "@kbn/plugin-generator" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/plugin-generator plugin -date: 2023-09-22 +date: 2023-09-23 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 a44434f1f8b8c6..4065e1097d9162 100644 --- a/api_docs/kbn_plugin_helpers.mdx +++ b/api_docs/kbn_plugin_helpers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-plugin-helpers title: "@kbn/plugin-helpers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/plugin-helpers plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/plugin-helpers'] --- import kbnPluginHelpersObj from './kbn_plugin_helpers.devdocs.json'; diff --git a/api_docs/kbn_profiling_utils.devdocs.json b/api_docs/kbn_profiling_utils.devdocs.json index 3a66fbbf976674..79259edc2989c5 100644 --- a/api_docs/kbn_profiling_utils.devdocs.json +++ b/api_docs/kbn_profiling_utils.devdocs.json @@ -1874,6 +1874,67 @@ ], "initialIsOpen": false }, + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.ProfilingStatus", + "type": "Interface", + "tags": [], + "label": "ProfilingStatus", + "description": [], + "path": "packages/kbn-profiling-utils/common/profiling_status.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.ProfilingStatus.has_setup", + "type": "boolean", + "tags": [], + "label": "has_setup", + "description": [], + "path": "packages/kbn-profiling-utils/common/profiling_status.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.ProfilingStatus.has_data", + "type": "boolean", + "tags": [], + "label": "has_data", + "description": [], + "path": "packages/kbn-profiling-utils/common/profiling_status.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.ProfilingStatus.pre_8_9_1_data", + "type": "boolean", + "tags": [], + "label": "pre_8_9_1_data", + "description": [], + "path": "packages/kbn-profiling-utils/common/profiling_status.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.ProfilingStatus.unauthorized", + "type": "CompoundType", + "tags": [], + "label": "unauthorized", + "description": [], + "signature": [ + "boolean | undefined" + ], + "path": "packages/kbn-profiling-utils/common/profiling_status.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, { "parentPluginId": "@kbn/profiling-utils", "id": "def-common.ProfilingStatusResponse", diff --git a/api_docs/kbn_profiling_utils.mdx b/api_docs/kbn_profiling_utils.mdx index bf92b0aecbe99e..bb73bee427a5f4 100644 --- a/api_docs/kbn_profiling_utils.mdx +++ b/api_docs/kbn_profiling_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-profiling-utils title: "@kbn/profiling-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/profiling-utils plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/profiling-utils'] --- import kbnProfilingUtilsObj from './kbn_profiling_utils.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/profiling-ui](https://github.com/orgs/elastic/teams/profiling- | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 160 | 0 | 17 | 0 | +| 165 | 0 | 22 | 0 | ## Common diff --git a/api_docs/kbn_random_sampling.mdx b/api_docs/kbn_random_sampling.mdx index cff489262ab5a3..a34ef52489a68b 100644 --- a/api_docs/kbn_random_sampling.mdx +++ b/api_docs/kbn_random_sampling.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-random-sampling title: "@kbn/random-sampling" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/random-sampling plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/random-sampling'] --- import kbnRandomSamplingObj from './kbn_random_sampling.devdocs.json'; diff --git a/api_docs/kbn_react_field.mdx b/api_docs/kbn_react_field.mdx index 765cecd5eeae5b..df48fd5af39f51 100644 --- a/api_docs/kbn_react_field.mdx +++ b/api_docs/kbn_react_field.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-field title: "@kbn/react-field" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-field plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-field'] --- import kbnReactFieldObj from './kbn_react_field.devdocs.json'; diff --git a/api_docs/kbn_react_kibana_context_common.mdx b/api_docs/kbn_react_kibana_context_common.mdx index c40e8cffdbbb63..2e0e0ff1b1ced2 100644 --- a/api_docs/kbn_react_kibana_context_common.mdx +++ b/api_docs/kbn_react_kibana_context_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-kibana-context-common title: "@kbn/react-kibana-context-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-kibana-context-common plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-kibana-context-common'] --- import kbnReactKibanaContextCommonObj from './kbn_react_kibana_context_common.devdocs.json'; diff --git a/api_docs/kbn_react_kibana_context_render.mdx b/api_docs/kbn_react_kibana_context_render.mdx index a314d2c7e8442d..a75c3a7a55abb2 100644 --- a/api_docs/kbn_react_kibana_context_render.mdx +++ b/api_docs/kbn_react_kibana_context_render.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-kibana-context-render title: "@kbn/react-kibana-context-render" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-kibana-context-render plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-kibana-context-render'] --- import kbnReactKibanaContextRenderObj from './kbn_react_kibana_context_render.devdocs.json'; diff --git a/api_docs/kbn_react_kibana_context_root.mdx b/api_docs/kbn_react_kibana_context_root.mdx index fd2da3293e4b56..d1ad70321c8f5a 100644 --- a/api_docs/kbn_react_kibana_context_root.mdx +++ b/api_docs/kbn_react_kibana_context_root.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-kibana-context-root title: "@kbn/react-kibana-context-root" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-kibana-context-root plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-kibana-context-root'] --- import kbnReactKibanaContextRootObj from './kbn_react_kibana_context_root.devdocs.json'; diff --git a/api_docs/kbn_react_kibana_context_styled.mdx b/api_docs/kbn_react_kibana_context_styled.mdx index edfdc760cef495..82e70aa86723f7 100644 --- a/api_docs/kbn_react_kibana_context_styled.mdx +++ b/api_docs/kbn_react_kibana_context_styled.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-kibana-context-styled title: "@kbn/react-kibana-context-styled" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-kibana-context-styled plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-kibana-context-styled'] --- import kbnReactKibanaContextStyledObj from './kbn_react_kibana_context_styled.devdocs.json'; diff --git a/api_docs/kbn_react_kibana_context_theme.mdx b/api_docs/kbn_react_kibana_context_theme.mdx index d65fbc89cde63c..bdc791e102b11f 100644 --- a/api_docs/kbn_react_kibana_context_theme.mdx +++ b/api_docs/kbn_react_kibana_context_theme.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-kibana-context-theme title: "@kbn/react-kibana-context-theme" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-kibana-context-theme plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-kibana-context-theme'] --- import kbnReactKibanaContextThemeObj from './kbn_react_kibana_context_theme.devdocs.json'; diff --git a/api_docs/kbn_react_kibana_mount.mdx b/api_docs/kbn_react_kibana_mount.mdx index 6193bce61e29f2..3429f820ccbeb7 100644 --- a/api_docs/kbn_react_kibana_mount.mdx +++ b/api_docs/kbn_react_kibana_mount.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-kibana-mount title: "@kbn/react-kibana-mount" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-kibana-mount plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-kibana-mount'] --- import kbnReactKibanaMountObj from './kbn_react_kibana_mount.devdocs.json'; diff --git a/api_docs/kbn_repo_file_maps.mdx b/api_docs/kbn_repo_file_maps.mdx index 0a303dbf9b44d4..878dabfe115b03 100644 --- a/api_docs/kbn_repo_file_maps.mdx +++ b/api_docs/kbn_repo_file_maps.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-repo-file-maps title: "@kbn/repo-file-maps" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/repo-file-maps plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/repo-file-maps'] --- import kbnRepoFileMapsObj from './kbn_repo_file_maps.devdocs.json'; diff --git a/api_docs/kbn_repo_linter.mdx b/api_docs/kbn_repo_linter.mdx index 1733dc69615a91..b47c0999360f1f 100644 --- a/api_docs/kbn_repo_linter.mdx +++ b/api_docs/kbn_repo_linter.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-repo-linter title: "@kbn/repo-linter" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/repo-linter plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/repo-linter'] --- import kbnRepoLinterObj from './kbn_repo_linter.devdocs.json'; diff --git a/api_docs/kbn_repo_path.mdx b/api_docs/kbn_repo_path.mdx index 4346f3873fbac9..7e5b49ac0ed61e 100644 --- a/api_docs/kbn_repo_path.mdx +++ b/api_docs/kbn_repo_path.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-repo-path title: "@kbn/repo-path" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/repo-path plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/repo-path'] --- import kbnRepoPathObj from './kbn_repo_path.devdocs.json'; diff --git a/api_docs/kbn_repo_source_classifier.mdx b/api_docs/kbn_repo_source_classifier.mdx index 35a3829fe910f0..cfcfdd3b9e0b3c 100644 --- a/api_docs/kbn_repo_source_classifier.mdx +++ b/api_docs/kbn_repo_source_classifier.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-repo-source-classifier title: "@kbn/repo-source-classifier" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/repo-source-classifier plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/repo-source-classifier'] --- import kbnRepoSourceClassifierObj from './kbn_repo_source_classifier.devdocs.json'; diff --git a/api_docs/kbn_reporting_common.mdx b/api_docs/kbn_reporting_common.mdx index 1bf417f743a241..eb3f91bc91c667 100644 --- a/api_docs/kbn_reporting_common.mdx +++ b/api_docs/kbn_reporting_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-reporting-common title: "@kbn/reporting-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/reporting-common plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/reporting-common'] --- import kbnReportingCommonObj from './kbn_reporting_common.devdocs.json'; diff --git a/api_docs/kbn_rison.mdx b/api_docs/kbn_rison.mdx index cd73f8efc1f9b1..364bd31cba8b48 100644 --- a/api_docs/kbn_rison.mdx +++ b/api_docs/kbn_rison.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-rison title: "@kbn/rison" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/rison plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/rison'] --- import kbnRisonObj from './kbn_rison.devdocs.json'; diff --git a/api_docs/kbn_rrule.mdx b/api_docs/kbn_rrule.mdx index cc89ce7784dc52..6787a0ef496893 100644 --- a/api_docs/kbn_rrule.mdx +++ b/api_docs/kbn_rrule.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-rrule title: "@kbn/rrule" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/rrule plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/rrule'] --- import kbnRruleObj from './kbn_rrule.devdocs.json'; diff --git a/api_docs/kbn_rule_data_utils.mdx b/api_docs/kbn_rule_data_utils.mdx index 97f5c212f037c3..42a047ccb94fc8 100644 --- a/api_docs/kbn_rule_data_utils.mdx +++ b/api_docs/kbn_rule_data_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-rule-data-utils title: "@kbn/rule-data-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/rule-data-utils plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/rule-data-utils'] --- import kbnRuleDataUtilsObj from './kbn_rule_data_utils.devdocs.json'; diff --git a/api_docs/kbn_saved_objects_settings.mdx b/api_docs/kbn_saved_objects_settings.mdx index 5e3ebaab8db10c..e97382f501235b 100644 --- a/api_docs/kbn_saved_objects_settings.mdx +++ b/api_docs/kbn_saved_objects_settings.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-saved-objects-settings title: "@kbn/saved-objects-settings" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/saved-objects-settings plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/saved-objects-settings'] --- import kbnSavedObjectsSettingsObj from './kbn_saved_objects_settings.devdocs.json'; diff --git a/api_docs/kbn_search_api_panels.mdx b/api_docs/kbn_search_api_panels.mdx index 2f2eefbba4aa37..01cc29dc3cb0e8 100644 --- a/api_docs/kbn_search_api_panels.mdx +++ b/api_docs/kbn_search_api_panels.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-search-api-panels title: "@kbn/search-api-panels" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/search-api-panels plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/search-api-panels'] --- import kbnSearchApiPanelsObj from './kbn_search_api_panels.devdocs.json'; diff --git a/api_docs/kbn_search_connectors.mdx b/api_docs/kbn_search_connectors.mdx index f70f3082fe070f..a72e945074f3e4 100644 --- a/api_docs/kbn_search_connectors.mdx +++ b/api_docs/kbn_search_connectors.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-search-connectors title: "@kbn/search-connectors" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/search-connectors plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/search-connectors'] --- import kbnSearchConnectorsObj from './kbn_search_connectors.devdocs.json'; diff --git a/api_docs/kbn_search_response_warnings.mdx b/api_docs/kbn_search_response_warnings.mdx index 93883850f5552e..ce95ffee301817 100644 --- a/api_docs/kbn_search_response_warnings.mdx +++ b/api_docs/kbn_search_response_warnings.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-search-response-warnings title: "@kbn/search-response-warnings" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/search-response-warnings plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/search-response-warnings'] --- import kbnSearchResponseWarningsObj from './kbn_search_response_warnings.devdocs.json'; diff --git a/api_docs/kbn_security_solution_features.mdx b/api_docs/kbn_security_solution_features.mdx index 9962a59d32bde0..eb4259d79ade92 100644 --- a/api_docs/kbn_security_solution_features.mdx +++ b/api_docs/kbn_security_solution_features.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-security-solution-features title: "@kbn/security-solution-features" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/security-solution-features plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/security-solution-features'] --- import kbnSecuritySolutionFeaturesObj from './kbn_security_solution_features.devdocs.json'; diff --git a/api_docs/kbn_security_solution_navigation.mdx b/api_docs/kbn_security_solution_navigation.mdx index 429303a2dbaa2a..9d3b726a9d7b0d 100644 --- a/api_docs/kbn_security_solution_navigation.mdx +++ b/api_docs/kbn_security_solution_navigation.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-security-solution-navigation title: "@kbn/security-solution-navigation" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/security-solution-navigation plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/security-solution-navigation'] --- import kbnSecuritySolutionNavigationObj from './kbn_security_solution_navigation.devdocs.json'; diff --git a/api_docs/kbn_security_solution_side_nav.mdx b/api_docs/kbn_security_solution_side_nav.mdx index a1f520a2cf2000..0d240152069ce4 100644 --- a/api_docs/kbn_security_solution_side_nav.mdx +++ b/api_docs/kbn_security_solution_side_nav.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-security-solution-side-nav title: "@kbn/security-solution-side-nav" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/security-solution-side-nav plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/security-solution-side-nav'] --- import kbnSecuritySolutionSideNavObj from './kbn_security_solution_side_nav.devdocs.json'; diff --git a/api_docs/kbn_security_solution_storybook_config.mdx b/api_docs/kbn_security_solution_storybook_config.mdx index 238685b0576c2b..87ad6e7de54f3c 100644 --- a/api_docs/kbn_security_solution_storybook_config.mdx +++ b/api_docs/kbn_security_solution_storybook_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-security-solution-storybook-config title: "@kbn/security-solution-storybook-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/security-solution-storybook-config plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/security-solution-storybook-config'] --- import kbnSecuritySolutionStorybookConfigObj from './kbn_security_solution_storybook_config.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_autocomplete.mdx b/api_docs/kbn_securitysolution_autocomplete.mdx index ab9cd5e8f545b9..1e0d90f27eb63e 100644 --- a/api_docs/kbn_securitysolution_autocomplete.mdx +++ b/api_docs/kbn_securitysolution_autocomplete.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-autocomplete title: "@kbn/securitysolution-autocomplete" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-autocomplete plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-autocomplete'] --- import kbnSecuritysolutionAutocompleteObj from './kbn_securitysolution_autocomplete.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_data_table.mdx b/api_docs/kbn_securitysolution_data_table.mdx index 190937970a1467..75f55ea78e82ed 100644 --- a/api_docs/kbn_securitysolution_data_table.mdx +++ b/api_docs/kbn_securitysolution_data_table.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-data-table title: "@kbn/securitysolution-data-table" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-data-table plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-data-table'] --- import kbnSecuritysolutionDataTableObj from './kbn_securitysolution_data_table.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_ecs.mdx b/api_docs/kbn_securitysolution_ecs.mdx index 7873a9b26d5ed9..2af904ee991962 100644 --- a/api_docs/kbn_securitysolution_ecs.mdx +++ b/api_docs/kbn_securitysolution_ecs.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-ecs title: "@kbn/securitysolution-ecs" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-ecs plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-ecs'] --- import kbnSecuritysolutionEcsObj from './kbn_securitysolution_ecs.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_es_utils.mdx b/api_docs/kbn_securitysolution_es_utils.mdx index 226811b00af95b..574567749acfd5 100644 --- a/api_docs/kbn_securitysolution_es_utils.mdx +++ b/api_docs/kbn_securitysolution_es_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-es-utils title: "@kbn/securitysolution-es-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-es-utils plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-es-utils'] --- import kbnSecuritysolutionEsUtilsObj from './kbn_securitysolution_es_utils.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_exception_list_components.mdx b/api_docs/kbn_securitysolution_exception_list_components.mdx index c665f01fc52b00..e3bf7a8555508d 100644 --- a/api_docs/kbn_securitysolution_exception_list_components.mdx +++ b/api_docs/kbn_securitysolution_exception_list_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-exception-list-components title: "@kbn/securitysolution-exception-list-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-exception-list-components plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-exception-list-components'] --- import kbnSecuritysolutionExceptionListComponentsObj from './kbn_securitysolution_exception_list_components.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_grouping.mdx b/api_docs/kbn_securitysolution_grouping.mdx index fcfd043fdbf8ed..657a050867c8fc 100644 --- a/api_docs/kbn_securitysolution_grouping.mdx +++ b/api_docs/kbn_securitysolution_grouping.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-grouping title: "@kbn/securitysolution-grouping" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-grouping plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-grouping'] --- import kbnSecuritysolutionGroupingObj from './kbn_securitysolution_grouping.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_hook_utils.mdx b/api_docs/kbn_securitysolution_hook_utils.mdx index 115b172663775e..f594bf99ec0e2c 100644 --- a/api_docs/kbn_securitysolution_hook_utils.mdx +++ b/api_docs/kbn_securitysolution_hook_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-hook-utils title: "@kbn/securitysolution-hook-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-hook-utils plugin -date: 2023-09-22 +date: 2023-09-23 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 f164108bf4e56c..0360db046213ca 100644 --- a/api_docs/kbn_securitysolution_io_ts_alerting_types.mdx +++ b/api_docs/kbn_securitysolution_io_ts_alerting_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-io-ts-alerting-types title: "@kbn/securitysolution-io-ts-alerting-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-io-ts-alerting-types plugin -date: 2023-09-22 +date: 2023-09-23 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 5154bc6c0a9c2d..267277d8e01f43 100644 --- a/api_docs/kbn_securitysolution_io_ts_list_types.mdx +++ b/api_docs/kbn_securitysolution_io_ts_list_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-io-ts-list-types title: "@kbn/securitysolution-io-ts-list-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-io-ts-list-types plugin -date: 2023-09-22 +date: 2023-09-23 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 80fcfff182c3fc..7776609174299a 100644 --- a/api_docs/kbn_securitysolution_io_ts_types.mdx +++ b/api_docs/kbn_securitysolution_io_ts_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-io-ts-types title: "@kbn/securitysolution-io-ts-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-io-ts-types plugin -date: 2023-09-22 +date: 2023-09-23 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 a9bd84fa8d245f..86db91f73ecabd 100644 --- a/api_docs/kbn_securitysolution_io_ts_utils.mdx +++ b/api_docs/kbn_securitysolution_io_ts_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-io-ts-utils title: "@kbn/securitysolution-io-ts-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-io-ts-utils plugin -date: 2023-09-22 +date: 2023-09-23 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 3fa5596c01b053..48b48b5d756a34 100644 --- a/api_docs/kbn_securitysolution_list_api.mdx +++ b/api_docs/kbn_securitysolution_list_api.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-list-api title: "@kbn/securitysolution-list-api" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-list-api plugin -date: 2023-09-22 +date: 2023-09-23 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 d7fd921b3c4fe5..a57b252c37165e 100644 --- a/api_docs/kbn_securitysolution_list_constants.mdx +++ b/api_docs/kbn_securitysolution_list_constants.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-list-constants title: "@kbn/securitysolution-list-constants" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-list-constants plugin -date: 2023-09-22 +date: 2023-09-23 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 d9f7a85cc83cbb..17ba14e6701f68 100644 --- a/api_docs/kbn_securitysolution_list_hooks.mdx +++ b/api_docs/kbn_securitysolution_list_hooks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-list-hooks title: "@kbn/securitysolution-list-hooks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-list-hooks plugin -date: 2023-09-22 +date: 2023-09-23 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 23fb37321d656e..e840b207dfbcd4 100644 --- a/api_docs/kbn_securitysolution_list_utils.mdx +++ b/api_docs/kbn_securitysolution_list_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-list-utils title: "@kbn/securitysolution-list-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-list-utils plugin -date: 2023-09-22 +date: 2023-09-23 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 5f0608796216e1..4e1eee26a7c9ac 100644 --- a/api_docs/kbn_securitysolution_rules.mdx +++ b/api_docs/kbn_securitysolution_rules.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-rules title: "@kbn/securitysolution-rules" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-rules plugin -date: 2023-09-22 +date: 2023-09-23 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 7a7003ebd0aaec..88040aa1a5251f 100644 --- a/api_docs/kbn_securitysolution_t_grid.mdx +++ b/api_docs/kbn_securitysolution_t_grid.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-t-grid title: "@kbn/securitysolution-t-grid" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-t-grid plugin -date: 2023-09-22 +date: 2023-09-23 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 e48161f7044b4e..f824ae5a30210a 100644 --- a/api_docs/kbn_securitysolution_utils.mdx +++ b/api_docs/kbn_securitysolution_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-utils title: "@kbn/securitysolution-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-utils plugin -date: 2023-09-22 +date: 2023-09-23 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 b05a004d1c35f6..bfe722d2df6a71 100644 --- a/api_docs/kbn_server_http_tools.mdx +++ b/api_docs/kbn_server_http_tools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-server-http-tools title: "@kbn/server-http-tools" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/server-http-tools plugin -date: 2023-09-22 +date: 2023-09-23 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 6e69c2d555d8bc..b043f07019d409 100644 --- a/api_docs/kbn_server_route_repository.mdx +++ b/api_docs/kbn_server_route_repository.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-server-route-repository title: "@kbn/server-route-repository" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/server-route-repository plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/server-route-repository'] --- import kbnServerRouteRepositoryObj from './kbn_server_route_repository.devdocs.json'; diff --git a/api_docs/kbn_serverless_common_settings.mdx b/api_docs/kbn_serverless_common_settings.mdx index 6ce0bf1ab77587..8f3fb4643bc111 100644 --- a/api_docs/kbn_serverless_common_settings.mdx +++ b/api_docs/kbn_serverless_common_settings.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-serverless-common-settings title: "@kbn/serverless-common-settings" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/serverless-common-settings plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/serverless-common-settings'] --- import kbnServerlessCommonSettingsObj from './kbn_serverless_common_settings.devdocs.json'; diff --git a/api_docs/kbn_serverless_observability_settings.mdx b/api_docs/kbn_serverless_observability_settings.mdx index 404dbdd3863b7e..75f1f6315e9e44 100644 --- a/api_docs/kbn_serverless_observability_settings.mdx +++ b/api_docs/kbn_serverless_observability_settings.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-serverless-observability-settings title: "@kbn/serverless-observability-settings" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/serverless-observability-settings plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/serverless-observability-settings'] --- import kbnServerlessObservabilitySettingsObj from './kbn_serverless_observability_settings.devdocs.json'; diff --git a/api_docs/kbn_serverless_project_switcher.mdx b/api_docs/kbn_serverless_project_switcher.mdx index 553f0d97f15a6d..4289663d997107 100644 --- a/api_docs/kbn_serverless_project_switcher.mdx +++ b/api_docs/kbn_serverless_project_switcher.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-serverless-project-switcher title: "@kbn/serverless-project-switcher" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/serverless-project-switcher plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/serverless-project-switcher'] --- import kbnServerlessProjectSwitcherObj from './kbn_serverless_project_switcher.devdocs.json'; diff --git a/api_docs/kbn_serverless_search_settings.mdx b/api_docs/kbn_serverless_search_settings.mdx index f57e110e2b69f0..558711296d1434 100644 --- a/api_docs/kbn_serverless_search_settings.mdx +++ b/api_docs/kbn_serverless_search_settings.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-serverless-search-settings title: "@kbn/serverless-search-settings" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/serverless-search-settings plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/serverless-search-settings'] --- import kbnServerlessSearchSettingsObj from './kbn_serverless_search_settings.devdocs.json'; diff --git a/api_docs/kbn_serverless_security_settings.mdx b/api_docs/kbn_serverless_security_settings.mdx index 86cf1e917c7649..dd67f8fbee30b7 100644 --- a/api_docs/kbn_serverless_security_settings.mdx +++ b/api_docs/kbn_serverless_security_settings.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-serverless-security-settings title: "@kbn/serverless-security-settings" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/serverless-security-settings plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/serverless-security-settings'] --- import kbnServerlessSecuritySettingsObj from './kbn_serverless_security_settings.devdocs.json'; diff --git a/api_docs/kbn_serverless_storybook_config.mdx b/api_docs/kbn_serverless_storybook_config.mdx index 4d4e828b80c0ae..020e98a931537f 100644 --- a/api_docs/kbn_serverless_storybook_config.mdx +++ b/api_docs/kbn_serverless_storybook_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-serverless-storybook-config title: "@kbn/serverless-storybook-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/serverless-storybook-config plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/serverless-storybook-config'] --- import kbnServerlessStorybookConfigObj from './kbn_serverless_storybook_config.devdocs.json'; diff --git a/api_docs/kbn_shared_svg.mdx b/api_docs/kbn_shared_svg.mdx index 022198a65a2e02..8d77c464587d65 100644 --- a/api_docs/kbn_shared_svg.mdx +++ b/api_docs/kbn_shared_svg.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-svg title: "@kbn/shared-svg" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-svg plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-svg'] --- import kbnSharedSvgObj from './kbn_shared_svg.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_avatar_solution.mdx b/api_docs/kbn_shared_ux_avatar_solution.mdx index b7ddf83dbb839c..fe360560e11dd8 100644 --- a/api_docs/kbn_shared_ux_avatar_solution.mdx +++ b/api_docs/kbn_shared_ux_avatar_solution.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-avatar-solution title: "@kbn/shared-ux-avatar-solution" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-avatar-solution plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-avatar-solution'] --- import kbnSharedUxAvatarSolutionObj from './kbn_shared_ux_avatar_solution.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_avatar_user_profile_components.mdx b/api_docs/kbn_shared_ux_avatar_user_profile_components.mdx index 354d675a83a92d..d2163ae69d79f0 100644 --- a/api_docs/kbn_shared_ux_avatar_user_profile_components.mdx +++ b/api_docs/kbn_shared_ux_avatar_user_profile_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-avatar-user-profile-components title: "@kbn/shared-ux-avatar-user-profile-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-avatar-user-profile-components plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-avatar-user-profile-components'] --- import kbnSharedUxAvatarUserProfileComponentsObj from './kbn_shared_ux_avatar_user_profile_components.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_button_exit_full_screen.mdx b/api_docs/kbn_shared_ux_button_exit_full_screen.mdx index d602c01c8f1623..e5f8d8e4b8d7ba 100644 --- a/api_docs/kbn_shared_ux_button_exit_full_screen.mdx +++ b/api_docs/kbn_shared_ux_button_exit_full_screen.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-button-exit-full-screen title: "@kbn/shared-ux-button-exit-full-screen" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-button-exit-full-screen plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-button-exit-full-screen'] --- import kbnSharedUxButtonExitFullScreenObj from './kbn_shared_ux_button_exit_full_screen.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_button_exit_full_screen_mocks.mdx b/api_docs/kbn_shared_ux_button_exit_full_screen_mocks.mdx index 2368b612381a4b..ee0d6e66bf934e 100644 --- a/api_docs/kbn_shared_ux_button_exit_full_screen_mocks.mdx +++ b/api_docs/kbn_shared_ux_button_exit_full_screen_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-button-exit-full-screen-mocks title: "@kbn/shared-ux-button-exit-full-screen-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-button-exit-full-screen-mocks plugin -date: 2023-09-22 +date: 2023-09-23 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 7ea05e0cef5f7f..ec62fd5c15d0c1 100644 --- a/api_docs/kbn_shared_ux_button_toolbar.mdx +++ b/api_docs/kbn_shared_ux_button_toolbar.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-button-toolbar title: "@kbn/shared-ux-button-toolbar" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-button-toolbar plugin -date: 2023-09-22 +date: 2023-09-23 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 88783b2cd0e6b3..b6133ff64ead53 100644 --- a/api_docs/kbn_shared_ux_card_no_data.mdx +++ b/api_docs/kbn_shared_ux_card_no_data.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-card-no-data title: "@kbn/shared-ux-card-no-data" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-card-no-data plugin -date: 2023-09-22 +date: 2023-09-23 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 4268549742f4e5..cacd38dfae6ffa 100644 --- a/api_docs/kbn_shared_ux_card_no_data_mocks.mdx +++ b/api_docs/kbn_shared_ux_card_no_data_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-card-no-data-mocks title: "@kbn/shared-ux-card-no-data-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-card-no-data-mocks plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-card-no-data-mocks'] --- import kbnSharedUxCardNoDataMocksObj from './kbn_shared_ux_card_no_data_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_chrome_navigation.mdx b/api_docs/kbn_shared_ux_chrome_navigation.mdx index 1a862faa8a3a92..72291787db5394 100644 --- a/api_docs/kbn_shared_ux_chrome_navigation.mdx +++ b/api_docs/kbn_shared_ux_chrome_navigation.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-chrome-navigation title: "@kbn/shared-ux-chrome-navigation" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-chrome-navigation plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-chrome-navigation'] --- import kbnSharedUxChromeNavigationObj from './kbn_shared_ux_chrome_navigation.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_context.mdx b/api_docs/kbn_shared_ux_file_context.mdx index 7a06306bd17603..cf90e4d9ffe6dc 100644 --- a/api_docs/kbn_shared_ux_file_context.mdx +++ b/api_docs/kbn_shared_ux_file_context.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-context title: "@kbn/shared-ux-file-context" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-context plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-context'] --- import kbnSharedUxFileContextObj from './kbn_shared_ux_file_context.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_image.mdx b/api_docs/kbn_shared_ux_file_image.mdx index 0338dac4773f8f..dd75d4f47b38be 100644 --- a/api_docs/kbn_shared_ux_file_image.mdx +++ b/api_docs/kbn_shared_ux_file_image.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-image title: "@kbn/shared-ux-file-image" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-image plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-image'] --- import kbnSharedUxFileImageObj from './kbn_shared_ux_file_image.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_image_mocks.mdx b/api_docs/kbn_shared_ux_file_image_mocks.mdx index f3744f3dc0c49e..3cad36293b67a0 100644 --- a/api_docs/kbn_shared_ux_file_image_mocks.mdx +++ b/api_docs/kbn_shared_ux_file_image_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-image-mocks title: "@kbn/shared-ux-file-image-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-image-mocks plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-image-mocks'] --- import kbnSharedUxFileImageMocksObj from './kbn_shared_ux_file_image_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_mocks.mdx b/api_docs/kbn_shared_ux_file_mocks.mdx index d7e09b4bf6e3fb..e0c24de02f9aed 100644 --- a/api_docs/kbn_shared_ux_file_mocks.mdx +++ b/api_docs/kbn_shared_ux_file_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-mocks title: "@kbn/shared-ux-file-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-mocks plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-mocks'] --- import kbnSharedUxFileMocksObj from './kbn_shared_ux_file_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_picker.mdx b/api_docs/kbn_shared_ux_file_picker.mdx index d11dbac11a3069..55bed3a0b76668 100644 --- a/api_docs/kbn_shared_ux_file_picker.mdx +++ b/api_docs/kbn_shared_ux_file_picker.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-picker title: "@kbn/shared-ux-file-picker" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-picker plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-picker'] --- import kbnSharedUxFilePickerObj from './kbn_shared_ux_file_picker.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_types.mdx b/api_docs/kbn_shared_ux_file_types.mdx index f16fcb97a9f228..6569e4c9d47f71 100644 --- a/api_docs/kbn_shared_ux_file_types.mdx +++ b/api_docs/kbn_shared_ux_file_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-types title: "@kbn/shared-ux-file-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-types plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-types'] --- import kbnSharedUxFileTypesObj from './kbn_shared_ux_file_types.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_upload.mdx b/api_docs/kbn_shared_ux_file_upload.mdx index f8748a0109fb60..5f488f21294dcb 100644 --- a/api_docs/kbn_shared_ux_file_upload.mdx +++ b/api_docs/kbn_shared_ux_file_upload.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-upload title: "@kbn/shared-ux-file-upload" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-upload plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-upload'] --- import kbnSharedUxFileUploadObj from './kbn_shared_ux_file_upload.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_util.mdx b/api_docs/kbn_shared_ux_file_util.mdx index 8c088720249f0b..a9348ca456aed8 100644 --- a/api_docs/kbn_shared_ux_file_util.mdx +++ b/api_docs/kbn_shared_ux_file_util.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-util title: "@kbn/shared-ux-file-util" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-util plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-util'] --- import kbnSharedUxFileUtilObj from './kbn_shared_ux_file_util.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_link_redirect_app.mdx b/api_docs/kbn_shared_ux_link_redirect_app.mdx index 42e7a3e74cdfe3..b35e70341ea39c 100644 --- a/api_docs/kbn_shared_ux_link_redirect_app.mdx +++ b/api_docs/kbn_shared_ux_link_redirect_app.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-link-redirect-app title: "@kbn/shared-ux-link-redirect-app" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-link-redirect-app plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-link-redirect-app'] --- import kbnSharedUxLinkRedirectAppObj from './kbn_shared_ux_link_redirect_app.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_link_redirect_app_mocks.mdx b/api_docs/kbn_shared_ux_link_redirect_app_mocks.mdx index af53361ad21571..a18cccc415e702 100644 --- a/api_docs/kbn_shared_ux_link_redirect_app_mocks.mdx +++ b/api_docs/kbn_shared_ux_link_redirect_app_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-link-redirect-app-mocks title: "@kbn/shared-ux-link-redirect-app-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-link-redirect-app-mocks plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-link-redirect-app-mocks'] --- import kbnSharedUxLinkRedirectAppMocksObj from './kbn_shared_ux_link_redirect_app_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_markdown.mdx b/api_docs/kbn_shared_ux_markdown.mdx index a4acd49c9d55e0..f543036c819b8f 100644 --- a/api_docs/kbn_shared_ux_markdown.mdx +++ b/api_docs/kbn_shared_ux_markdown.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-markdown title: "@kbn/shared-ux-markdown" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-markdown plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-markdown'] --- import kbnSharedUxMarkdownObj from './kbn_shared_ux_markdown.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_markdown_mocks.mdx b/api_docs/kbn_shared_ux_markdown_mocks.mdx index 0192bed2e10c2e..e10bb42e67b5b5 100644 --- a/api_docs/kbn_shared_ux_markdown_mocks.mdx +++ b/api_docs/kbn_shared_ux_markdown_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-markdown-mocks title: "@kbn/shared-ux-markdown-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-markdown-mocks plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-markdown-mocks'] --- import kbnSharedUxMarkdownMocksObj from './kbn_shared_ux_markdown_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_analytics_no_data.mdx b/api_docs/kbn_shared_ux_page_analytics_no_data.mdx index 3d3ee8afe7d590..6e210e381c60f9 100644 --- a/api_docs/kbn_shared_ux_page_analytics_no_data.mdx +++ b/api_docs/kbn_shared_ux_page_analytics_no_data.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-analytics-no-data title: "@kbn/shared-ux-page-analytics-no-data" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-analytics-no-data plugin -date: 2023-09-22 +date: 2023-09-23 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 34cf51d4ba439b..497e23c1a028ce 100644 --- a/api_docs/kbn_shared_ux_page_analytics_no_data_mocks.mdx +++ b/api_docs/kbn_shared_ux_page_analytics_no_data_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-analytics-no-data-mocks title: "@kbn/shared-ux-page-analytics-no-data-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-analytics-no-data-mocks plugin -date: 2023-09-22 +date: 2023-09-23 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 3193d631cdb948..6948d6527a79da 100644 --- a/api_docs/kbn_shared_ux_page_kibana_no_data.mdx +++ b/api_docs/kbn_shared_ux_page_kibana_no_data.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-kibana-no-data title: "@kbn/shared-ux-page-kibana-no-data" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-kibana-no-data plugin -date: 2023-09-22 +date: 2023-09-23 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 ebf8d3ff50ef49..4cdf732da642ea 100644 --- a/api_docs/kbn_shared_ux_page_kibana_no_data_mocks.mdx +++ b/api_docs/kbn_shared_ux_page_kibana_no_data_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-kibana-no-data-mocks title: "@kbn/shared-ux-page-kibana-no-data-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-kibana-no-data-mocks plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-kibana-no-data-mocks'] --- import kbnSharedUxPageKibanaNoDataMocksObj from './kbn_shared_ux_page_kibana_no_data_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_kibana_template.mdx b/api_docs/kbn_shared_ux_page_kibana_template.mdx index 6e95914a80bb50..f36bfbc2161a35 100644 --- a/api_docs/kbn_shared_ux_page_kibana_template.mdx +++ b/api_docs/kbn_shared_ux_page_kibana_template.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-kibana-template title: "@kbn/shared-ux-page-kibana-template" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-kibana-template plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-kibana-template'] --- import kbnSharedUxPageKibanaTemplateObj from './kbn_shared_ux_page_kibana_template.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_kibana_template_mocks.mdx b/api_docs/kbn_shared_ux_page_kibana_template_mocks.mdx index eb22647bfd33f0..1a5aabdc7f0f81 100644 --- a/api_docs/kbn_shared_ux_page_kibana_template_mocks.mdx +++ b/api_docs/kbn_shared_ux_page_kibana_template_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-kibana-template-mocks title: "@kbn/shared-ux-page-kibana-template-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-kibana-template-mocks plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-kibana-template-mocks'] --- import kbnSharedUxPageKibanaTemplateMocksObj from './kbn_shared_ux_page_kibana_template_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_no_data.mdx b/api_docs/kbn_shared_ux_page_no_data.mdx index 9d4431cb54950b..d512d76f7041b5 100644 --- a/api_docs/kbn_shared_ux_page_no_data.mdx +++ b/api_docs/kbn_shared_ux_page_no_data.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-no-data title: "@kbn/shared-ux-page-no-data" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-no-data plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-no-data'] --- import kbnSharedUxPageNoDataObj from './kbn_shared_ux_page_no_data.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_no_data_config.mdx b/api_docs/kbn_shared_ux_page_no_data_config.mdx index fe61f2a770835d..e868836b66c231 100644 --- a/api_docs/kbn_shared_ux_page_no_data_config.mdx +++ b/api_docs/kbn_shared_ux_page_no_data_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-no-data-config title: "@kbn/shared-ux-page-no-data-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-no-data-config plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-no-data-config'] --- import kbnSharedUxPageNoDataConfigObj from './kbn_shared_ux_page_no_data_config.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_no_data_config_mocks.mdx b/api_docs/kbn_shared_ux_page_no_data_config_mocks.mdx index d902cd6264abdf..1f27f7af88fd04 100644 --- a/api_docs/kbn_shared_ux_page_no_data_config_mocks.mdx +++ b/api_docs/kbn_shared_ux_page_no_data_config_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-no-data-config-mocks title: "@kbn/shared-ux-page-no-data-config-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-no-data-config-mocks plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-no-data-config-mocks'] --- import kbnSharedUxPageNoDataConfigMocksObj from './kbn_shared_ux_page_no_data_config_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_no_data_mocks.mdx b/api_docs/kbn_shared_ux_page_no_data_mocks.mdx index 5f309d581406a3..2f5ac19c3dbb98 100644 --- a/api_docs/kbn_shared_ux_page_no_data_mocks.mdx +++ b/api_docs/kbn_shared_ux_page_no_data_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-no-data-mocks title: "@kbn/shared-ux-page-no-data-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-no-data-mocks plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-no-data-mocks'] --- import kbnSharedUxPageNoDataMocksObj from './kbn_shared_ux_page_no_data_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_solution_nav.mdx b/api_docs/kbn_shared_ux_page_solution_nav.mdx index 034dd12d6f70cb..4f44f287f34b0e 100644 --- a/api_docs/kbn_shared_ux_page_solution_nav.mdx +++ b/api_docs/kbn_shared_ux_page_solution_nav.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-solution-nav title: "@kbn/shared-ux-page-solution-nav" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-solution-nav plugin -date: 2023-09-22 +date: 2023-09-23 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 95d975ae93b840..cada6a29e7b2cc 100644 --- a/api_docs/kbn_shared_ux_prompt_no_data_views.mdx +++ b/api_docs/kbn_shared_ux_prompt_no_data_views.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-prompt-no-data-views title: "@kbn/shared-ux-prompt-no-data-views" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-prompt-no-data-views plugin -date: 2023-09-22 +date: 2023-09-23 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 617372f0b14543..0a5e0e5c432f82 100644 --- a/api_docs/kbn_shared_ux_prompt_no_data_views_mocks.mdx +++ b/api_docs/kbn_shared_ux_prompt_no_data_views_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-prompt-no-data-views-mocks title: "@kbn/shared-ux-prompt-no-data-views-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-prompt-no-data-views-mocks plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-prompt-no-data-views-mocks'] --- import kbnSharedUxPromptNoDataViewsMocksObj from './kbn_shared_ux_prompt_no_data_views_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_prompt_not_found.mdx b/api_docs/kbn_shared_ux_prompt_not_found.mdx index d8d13a09d4cfd7..578df5b945c57f 100644 --- a/api_docs/kbn_shared_ux_prompt_not_found.mdx +++ b/api_docs/kbn_shared_ux_prompt_not_found.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-prompt-not-found title: "@kbn/shared-ux-prompt-not-found" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-prompt-not-found plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-prompt-not-found'] --- import kbnSharedUxPromptNotFoundObj from './kbn_shared_ux_prompt_not_found.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_router.mdx b/api_docs/kbn_shared_ux_router.mdx index ded92885807bb3..8b88c92c82471a 100644 --- a/api_docs/kbn_shared_ux_router.mdx +++ b/api_docs/kbn_shared_ux_router.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-router title: "@kbn/shared-ux-router" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-router plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-router'] --- import kbnSharedUxRouterObj from './kbn_shared_ux_router.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_router_mocks.mdx b/api_docs/kbn_shared_ux_router_mocks.mdx index 2e4e41d5ed3be4..2aecaae5e64c61 100644 --- a/api_docs/kbn_shared_ux_router_mocks.mdx +++ b/api_docs/kbn_shared_ux_router_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-router-mocks title: "@kbn/shared-ux-router-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-router-mocks plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-router-mocks'] --- import kbnSharedUxRouterMocksObj from './kbn_shared_ux_router_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_storybook_config.mdx b/api_docs/kbn_shared_ux_storybook_config.mdx index e058032ce40145..80ca056909c492 100644 --- a/api_docs/kbn_shared_ux_storybook_config.mdx +++ b/api_docs/kbn_shared_ux_storybook_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-storybook-config title: "@kbn/shared-ux-storybook-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-storybook-config plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-storybook-config'] --- import kbnSharedUxStorybookConfigObj from './kbn_shared_ux_storybook_config.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_storybook_mock.mdx b/api_docs/kbn_shared_ux_storybook_mock.mdx index 379a8153eedb49..fbf59005aec3d4 100644 --- a/api_docs/kbn_shared_ux_storybook_mock.mdx +++ b/api_docs/kbn_shared_ux_storybook_mock.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-storybook-mock title: "@kbn/shared-ux-storybook-mock" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-storybook-mock plugin -date: 2023-09-22 +date: 2023-09-23 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 bf9989c24c1f4c..fd548c469f2bbe 100644 --- a/api_docs/kbn_shared_ux_utility.mdx +++ b/api_docs/kbn_shared_ux_utility.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-utility title: "@kbn/shared-ux-utility" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-utility plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-utility'] --- import kbnSharedUxUtilityObj from './kbn_shared_ux_utility.devdocs.json'; diff --git a/api_docs/kbn_slo_schema.mdx b/api_docs/kbn_slo_schema.mdx index 969f9fca8ca6b2..4202163b650dca 100644 --- a/api_docs/kbn_slo_schema.mdx +++ b/api_docs/kbn_slo_schema.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-slo-schema title: "@kbn/slo-schema" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/slo-schema plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/slo-schema'] --- import kbnSloSchemaObj from './kbn_slo_schema.devdocs.json'; diff --git a/api_docs/kbn_some_dev_log.mdx b/api_docs/kbn_some_dev_log.mdx index dfe3c7a5ce2146..6a4b3dd2cea575 100644 --- a/api_docs/kbn_some_dev_log.mdx +++ b/api_docs/kbn_some_dev_log.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-some-dev-log title: "@kbn/some-dev-log" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/some-dev-log plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/some-dev-log'] --- import kbnSomeDevLogObj from './kbn_some_dev_log.devdocs.json'; diff --git a/api_docs/kbn_std.mdx b/api_docs/kbn_std.mdx index 2406ffda8025fc..7bd3683788a612 100644 --- a/api_docs/kbn_std.mdx +++ b/api_docs/kbn_std.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-std title: "@kbn/std" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/std plugin -date: 2023-09-22 +date: 2023-09-23 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 49c576287e6165..a5a5c8df08e7df 100644 --- a/api_docs/kbn_stdio_dev_helpers.mdx +++ b/api_docs/kbn_stdio_dev_helpers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-stdio-dev-helpers title: "@kbn/stdio-dev-helpers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/stdio-dev-helpers plugin -date: 2023-09-22 +date: 2023-09-23 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 7aea9db0bb9a6c..0d86376b619ab5 100644 --- a/api_docs/kbn_storybook.mdx +++ b/api_docs/kbn_storybook.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-storybook title: "@kbn/storybook" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/storybook plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/storybook'] --- import kbnStorybookObj from './kbn_storybook.devdocs.json'; diff --git a/api_docs/kbn_subscription_tracking.mdx b/api_docs/kbn_subscription_tracking.mdx index fd012ec6764646..505403bb41c1d0 100644 --- a/api_docs/kbn_subscription_tracking.mdx +++ b/api_docs/kbn_subscription_tracking.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-subscription-tracking title: "@kbn/subscription-tracking" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/subscription-tracking plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/subscription-tracking'] --- import kbnSubscriptionTrackingObj from './kbn_subscription_tracking.devdocs.json'; diff --git a/api_docs/kbn_telemetry_tools.mdx b/api_docs/kbn_telemetry_tools.mdx index 6280c2bf62cb39..0d675d07b9e838 100644 --- a/api_docs/kbn_telemetry_tools.mdx +++ b/api_docs/kbn_telemetry_tools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-telemetry-tools title: "@kbn/telemetry-tools" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/telemetry-tools plugin -date: 2023-09-22 +date: 2023-09-23 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 574ec8be2bc6e2..b3ea15ccce2d36 100644 --- a/api_docs/kbn_test.mdx +++ b/api_docs/kbn_test.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-test title: "@kbn/test" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/test plugin -date: 2023-09-22 +date: 2023-09-23 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 774067a74aae07..6678758a224d58 100644 --- a/api_docs/kbn_test_jest_helpers.mdx +++ b/api_docs/kbn_test_jest_helpers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-test-jest-helpers title: "@kbn/test-jest-helpers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/test-jest-helpers plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/test-jest-helpers'] --- import kbnTestJestHelpersObj from './kbn_test_jest_helpers.devdocs.json'; diff --git a/api_docs/kbn_test_subj_selector.mdx b/api_docs/kbn_test_subj_selector.mdx index 6d656fbe2f07c1..f458d73b5f5eeb 100644 --- a/api_docs/kbn_test_subj_selector.mdx +++ b/api_docs/kbn_test_subj_selector.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-test-subj-selector title: "@kbn/test-subj-selector" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/test-subj-selector plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/test-subj-selector'] --- import kbnTestSubjSelectorObj from './kbn_test_subj_selector.devdocs.json'; diff --git a/api_docs/kbn_text_based_editor.mdx b/api_docs/kbn_text_based_editor.mdx index 1a5edef44c35e2..4f356458e26ce3 100644 --- a/api_docs/kbn_text_based_editor.mdx +++ b/api_docs/kbn_text_based_editor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-text-based-editor title: "@kbn/text-based-editor" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/text-based-editor plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/text-based-editor'] --- import kbnTextBasedEditorObj from './kbn_text_based_editor.devdocs.json'; diff --git a/api_docs/kbn_tooling_log.mdx b/api_docs/kbn_tooling_log.mdx index 5a0cc9de846eef..11b9a36b2e6777 100644 --- a/api_docs/kbn_tooling_log.mdx +++ b/api_docs/kbn_tooling_log.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-tooling-log title: "@kbn/tooling-log" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/tooling-log plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/tooling-log'] --- import kbnToolingLogObj from './kbn_tooling_log.devdocs.json'; diff --git a/api_docs/kbn_ts_projects.mdx b/api_docs/kbn_ts_projects.mdx index 2403585f1a3609..79bf3d05de6a6e 100644 --- a/api_docs/kbn_ts_projects.mdx +++ b/api_docs/kbn_ts_projects.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ts-projects title: "@kbn/ts-projects" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ts-projects plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ts-projects'] --- import kbnTsProjectsObj from './kbn_ts_projects.devdocs.json'; diff --git a/api_docs/kbn_typed_react_router_config.mdx b/api_docs/kbn_typed_react_router_config.mdx index 34d962c3604260..e8bd5d2c010302 100644 --- a/api_docs/kbn_typed_react_router_config.mdx +++ b/api_docs/kbn_typed_react_router_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-typed-react-router-config title: "@kbn/typed-react-router-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/typed-react-router-config plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/typed-react-router-config'] --- import kbnTypedReactRouterConfigObj from './kbn_typed_react_router_config.devdocs.json'; diff --git a/api_docs/kbn_ui_actions_browser.mdx b/api_docs/kbn_ui_actions_browser.mdx index 464c2fab7c1af3..45238562c5a066 100644 --- a/api_docs/kbn_ui_actions_browser.mdx +++ b/api_docs/kbn_ui_actions_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ui-actions-browser title: "@kbn/ui-actions-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ui-actions-browser plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ui-actions-browser'] --- import kbnUiActionsBrowserObj from './kbn_ui_actions_browser.devdocs.json'; diff --git a/api_docs/kbn_ui_shared_deps_src.mdx b/api_docs/kbn_ui_shared_deps_src.mdx index 5276da0774513c..2365cbd72e3f33 100644 --- a/api_docs/kbn_ui_shared_deps_src.mdx +++ b/api_docs/kbn_ui_shared_deps_src.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ui-shared-deps-src title: "@kbn/ui-shared-deps-src" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ui-shared-deps-src plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ui-shared-deps-src'] --- import kbnUiSharedDepsSrcObj from './kbn_ui_shared_deps_src.devdocs.json'; diff --git a/api_docs/kbn_ui_theme.mdx b/api_docs/kbn_ui_theme.mdx index 169836f4f06413..814b0b74d2d1da 100644 --- a/api_docs/kbn_ui_theme.mdx +++ b/api_docs/kbn_ui_theme.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ui-theme title: "@kbn/ui-theme" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ui-theme plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ui-theme'] --- import kbnUiThemeObj from './kbn_ui_theme.devdocs.json'; diff --git a/api_docs/kbn_unified_data_table.mdx b/api_docs/kbn_unified_data_table.mdx index 81e5f65b678ffc..015d1a5e957a14 100644 --- a/api_docs/kbn_unified_data_table.mdx +++ b/api_docs/kbn_unified_data_table.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-unified-data-table title: "@kbn/unified-data-table" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/unified-data-table plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/unified-data-table'] --- import kbnUnifiedDataTableObj from './kbn_unified_data_table.devdocs.json'; diff --git a/api_docs/kbn_unified_doc_viewer.mdx b/api_docs/kbn_unified_doc_viewer.mdx index 38a5a452a59832..bc4ca5a09e92ff 100644 --- a/api_docs/kbn_unified_doc_viewer.mdx +++ b/api_docs/kbn_unified_doc_viewer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-unified-doc-viewer title: "@kbn/unified-doc-viewer" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/unified-doc-viewer plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/unified-doc-viewer'] --- import kbnUnifiedDocViewerObj from './kbn_unified_doc_viewer.devdocs.json'; diff --git a/api_docs/kbn_unified_field_list.mdx b/api_docs/kbn_unified_field_list.mdx index ec237e35d4df9e..990bef17347d19 100644 --- a/api_docs/kbn_unified_field_list.mdx +++ b/api_docs/kbn_unified_field_list.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-unified-field-list title: "@kbn/unified-field-list" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/unified-field-list plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/unified-field-list'] --- import kbnUnifiedFieldListObj from './kbn_unified_field_list.devdocs.json'; diff --git a/api_docs/kbn_url_state.mdx b/api_docs/kbn_url_state.mdx index 02a39cad2f77fd..3c9c4989bd9b74 100644 --- a/api_docs/kbn_url_state.mdx +++ b/api_docs/kbn_url_state.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-url-state title: "@kbn/url-state" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/url-state plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/url-state'] --- import kbnUrlStateObj from './kbn_url_state.devdocs.json'; diff --git a/api_docs/kbn_use_tracked_promise.mdx b/api_docs/kbn_use_tracked_promise.mdx index e10e10dba6309e..5419aabdbd4067 100644 --- a/api_docs/kbn_use_tracked_promise.mdx +++ b/api_docs/kbn_use_tracked_promise.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-use-tracked-promise title: "@kbn/use-tracked-promise" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/use-tracked-promise plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/use-tracked-promise'] --- import kbnUseTrackedPromiseObj from './kbn_use_tracked_promise.devdocs.json'; diff --git a/api_docs/kbn_user_profile_components.mdx b/api_docs/kbn_user_profile_components.mdx index a936d3e59969d7..58496c15529e6e 100644 --- a/api_docs/kbn_user_profile_components.mdx +++ b/api_docs/kbn_user_profile_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-user-profile-components title: "@kbn/user-profile-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/user-profile-components plugin -date: 2023-09-22 +date: 2023-09-23 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 3b4ebbe004b5c5..061730770d4777 100644 --- a/api_docs/kbn_utility_types.mdx +++ b/api_docs/kbn_utility_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-utility-types title: "@kbn/utility-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/utility-types plugin -date: 2023-09-22 +date: 2023-09-23 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 6588a288bc16b4..bbb70219e96437 100644 --- a/api_docs/kbn_utility_types_jest.mdx +++ b/api_docs/kbn_utility_types_jest.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-utility-types-jest title: "@kbn/utility-types-jest" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/utility-types-jest plugin -date: 2023-09-22 +date: 2023-09-23 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 77592d923aad89..500691a05c22d6 100644 --- a/api_docs/kbn_utils.mdx +++ b/api_docs/kbn_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-utils title: "@kbn/utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/utils plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/utils'] --- import kbnUtilsObj from './kbn_utils.devdocs.json'; diff --git a/api_docs/kbn_visualization_ui_components.mdx b/api_docs/kbn_visualization_ui_components.mdx index 18dd47e2ec4234..b55ae3dd26b7dd 100644 --- a/api_docs/kbn_visualization_ui_components.mdx +++ b/api_docs/kbn_visualization_ui_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-visualization-ui-components title: "@kbn/visualization-ui-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/visualization-ui-components plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/visualization-ui-components'] --- import kbnVisualizationUiComponentsObj from './kbn_visualization_ui_components.devdocs.json'; diff --git a/api_docs/kbn_xstate_utils.mdx b/api_docs/kbn_xstate_utils.mdx index ccba570415f832..6749bc0acdc040 100644 --- a/api_docs/kbn_xstate_utils.mdx +++ b/api_docs/kbn_xstate_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-xstate-utils title: "@kbn/xstate-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/xstate-utils plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/xstate-utils'] --- import kbnXstateUtilsObj from './kbn_xstate_utils.devdocs.json'; diff --git a/api_docs/kbn_yarn_lock_validator.mdx b/api_docs/kbn_yarn_lock_validator.mdx index 15410081dbd29e..57d0eb2a54f666 100644 --- a/api_docs/kbn_yarn_lock_validator.mdx +++ b/api_docs/kbn_yarn_lock_validator.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-yarn-lock-validator title: "@kbn/yarn-lock-validator" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/yarn-lock-validator plugin -date: 2023-09-22 +date: 2023-09-23 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 780b9e61a98356..64c71738fd1ffb 100644 --- a/api_docs/kibana_overview.mdx +++ b/api_docs/kibana_overview.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kibanaOverview title: "kibanaOverview" image: https://source.unsplash.com/400x175/?github description: API docs for the kibanaOverview plugin -date: 2023-09-22 +date: 2023-09-23 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 25a9a440a99dfe..b8bbb57aa9a7dd 100644 --- a/api_docs/kibana_react.mdx +++ b/api_docs/kibana_react.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kibanaReact title: "kibanaReact" image: https://source.unsplash.com/400x175/?github description: API docs for the kibanaReact plugin -date: 2023-09-22 +date: 2023-09-23 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 696a564b63ab42..857ff08f707ebd 100644 --- a/api_docs/kibana_utils.mdx +++ b/api_docs/kibana_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kibanaUtils title: "kibanaUtils" image: https://source.unsplash.com/400x175/?github description: API docs for the kibanaUtils plugin -date: 2023-09-22 +date: 2023-09-23 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 f0e9814f7d49f4..a49bd3a46bccc3 100644 --- a/api_docs/kubernetes_security.mdx +++ b/api_docs/kubernetes_security.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kubernetesSecurity title: "kubernetesSecurity" image: https://source.unsplash.com/400x175/?github description: API docs for the kubernetesSecurity plugin -date: 2023-09-22 +date: 2023-09-23 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 ba23faa9e44480..9c8779f969fcfd 100644 --- a/api_docs/lens.mdx +++ b/api_docs/lens.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/lens title: "lens" image: https://source.unsplash.com/400x175/?github description: API docs for the lens plugin -date: 2023-09-22 +date: 2023-09-23 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 2231825f490b50..7a3e53173e0a41 100644 --- a/api_docs/license_api_guard.mdx +++ b/api_docs/license_api_guard.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/licenseApiGuard title: "licenseApiGuard" image: https://source.unsplash.com/400x175/?github description: API docs for the licenseApiGuard plugin -date: 2023-09-22 +date: 2023-09-23 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 b501fece7b5ac3..04f5742dad19d2 100644 --- a/api_docs/license_management.mdx +++ b/api_docs/license_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/licenseManagement title: "licenseManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the licenseManagement plugin -date: 2023-09-22 +date: 2023-09-23 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 50afecd7400a55..88b702a5c12f38 100644 --- a/api_docs/licensing.mdx +++ b/api_docs/licensing.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/licensing title: "licensing" image: https://source.unsplash.com/400x175/?github description: API docs for the licensing plugin -date: 2023-09-22 +date: 2023-09-23 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 743727f6c3dde8..a43be54407c429 100644 --- a/api_docs/lists.mdx +++ b/api_docs/lists.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/lists title: "lists" image: https://source.unsplash.com/400x175/?github description: API docs for the lists plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'lists'] --- import listsObj from './lists.devdocs.json'; diff --git a/api_docs/log_explorer.mdx b/api_docs/log_explorer.mdx index 429a5643fa44d4..79cc70e7608567 100644 --- a/api_docs/log_explorer.mdx +++ b/api_docs/log_explorer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/logExplorer title: "logExplorer" image: https://source.unsplash.com/400x175/?github description: API docs for the logExplorer plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'logExplorer'] --- import logExplorerObj from './log_explorer.devdocs.json'; diff --git a/api_docs/logs_shared.mdx b/api_docs/logs_shared.mdx index eb19b249e635b1..bb51b4616fc98a 100644 --- a/api_docs/logs_shared.mdx +++ b/api_docs/logs_shared.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/logsShared title: "logsShared" image: https://source.unsplash.com/400x175/?github description: API docs for the logsShared plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'logsShared'] --- import logsSharedObj from './logs_shared.devdocs.json'; diff --git a/api_docs/management.mdx b/api_docs/management.mdx index 2c46a8f5e07ca5..ced5bb2f102a22 100644 --- a/api_docs/management.mdx +++ b/api_docs/management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/management title: "management" image: https://source.unsplash.com/400x175/?github description: API docs for the management plugin -date: 2023-09-22 +date: 2023-09-23 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 0a91066187f1de..135f42c298236c 100644 --- a/api_docs/maps.mdx +++ b/api_docs/maps.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/maps title: "maps" image: https://source.unsplash.com/400x175/?github description: API docs for the maps plugin -date: 2023-09-22 +date: 2023-09-23 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 c196613b500d01..b7abe55668f458 100644 --- a/api_docs/maps_ems.mdx +++ b/api_docs/maps_ems.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/mapsEms title: "mapsEms" image: https://source.unsplash.com/400x175/?github description: API docs for the mapsEms plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'mapsEms'] --- import mapsEmsObj from './maps_ems.devdocs.json'; diff --git a/api_docs/metrics_data_access.mdx b/api_docs/metrics_data_access.mdx index 16a1d24d3381e2..7764bf0eef124a 100644 --- a/api_docs/metrics_data_access.mdx +++ b/api_docs/metrics_data_access.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/metricsDataAccess title: "metricsDataAccess" image: https://source.unsplash.com/400x175/?github description: API docs for the metricsDataAccess plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'metricsDataAccess'] --- import metricsDataAccessObj from './metrics_data_access.devdocs.json'; diff --git a/api_docs/ml.mdx b/api_docs/ml.mdx index 228921a11afdf4..6637d787668b19 100644 --- a/api_docs/ml.mdx +++ b/api_docs/ml.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/ml title: "ml" image: https://source.unsplash.com/400x175/?github description: API docs for the ml plugin -date: 2023-09-22 +date: 2023-09-23 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 6731ea235bb53f..53739e45d3b605 100644 --- a/api_docs/monitoring.mdx +++ b/api_docs/monitoring.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/monitoring title: "monitoring" image: https://source.unsplash.com/400x175/?github description: API docs for the monitoring plugin -date: 2023-09-22 +date: 2023-09-23 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 1a642d8be10749..92a2b519cd04de 100644 --- a/api_docs/monitoring_collection.mdx +++ b/api_docs/monitoring_collection.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/monitoringCollection title: "monitoringCollection" image: https://source.unsplash.com/400x175/?github description: API docs for the monitoringCollection plugin -date: 2023-09-22 +date: 2023-09-23 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 5e6c2eadd53125..73cbab3dec8576 100644 --- a/api_docs/navigation.mdx +++ b/api_docs/navigation.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/navigation title: "navigation" image: https://source.unsplash.com/400x175/?github description: API docs for the navigation plugin -date: 2023-09-22 +date: 2023-09-23 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 8f9ddecda236af..43165dd1d71cd6 100644 --- a/api_docs/newsfeed.mdx +++ b/api_docs/newsfeed.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/newsfeed title: "newsfeed" image: https://source.unsplash.com/400x175/?github description: API docs for the newsfeed plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'newsfeed'] --- import newsfeedObj from './newsfeed.devdocs.json'; diff --git a/api_docs/no_data_page.mdx b/api_docs/no_data_page.mdx index 6f35034b6dd6ac..3b38deb200392d 100644 --- a/api_docs/no_data_page.mdx +++ b/api_docs/no_data_page.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/noDataPage title: "noDataPage" image: https://source.unsplash.com/400x175/?github description: API docs for the noDataPage plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'noDataPage'] --- import noDataPageObj from './no_data_page.devdocs.json'; diff --git a/api_docs/notifications.mdx b/api_docs/notifications.mdx index 2082c07b451bed..02a59e803253e0 100644 --- a/api_docs/notifications.mdx +++ b/api_docs/notifications.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/notifications title: "notifications" image: https://source.unsplash.com/400x175/?github description: API docs for the notifications plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'notifications'] --- import notificationsObj from './notifications.devdocs.json'; diff --git a/api_docs/observability.devdocs.json b/api_docs/observability.devdocs.json index 4af67015260783..09cf4af27f97a7 100644 --- a/api_docs/observability.devdocs.json +++ b/api_docs/observability.devdocs.json @@ -2442,7 +2442,37 @@ "label": "observabilityShared", "description": [], "signature": [ - "{ navigation: { registerSections: (sections$: ", + "{ locators: { profiling: { flamegraphLocator: ", + { + "pluginId": "share", + "scope": "common", + "docId": "kibSharePluginApi", + "section": "def-common.LocatorPublic", + "text": "LocatorPublic" + }, + "<", + "FlamegraphLocatorParams", + ">; topNFunctionsLocator: ", + { + "pluginId": "share", + "scope": "common", + "docId": "kibSharePluginApi", + "section": "def-common.LocatorPublic", + "text": "LocatorPublic" + }, + "<", + "TopNFunctionsLocatorParams", + ">; stacktracesLocator: ", + { + "pluginId": "share", + "scope": "common", + "docId": "kibSharePluginApi", + "section": "def-common.LocatorPublic", + "text": "LocatorPublic" + }, + "<", + "StacktracesLocatorParams", + ">; }; }; navigation: { registerSections: (sections$: ", "Observable", "<", { diff --git a/api_docs/observability.mdx b/api_docs/observability.mdx index 24b91072fdf6a3..5b43e6d5144454 100644 --- a/api_docs/observability.mdx +++ b/api_docs/observability.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/observability title: "observability" image: https://source.unsplash.com/400x175/?github description: API docs for the observability plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'observability'] --- import observabilityObj from './observability.devdocs.json'; diff --git a/api_docs/observability_a_i_assistant.mdx b/api_docs/observability_a_i_assistant.mdx index 64646f49219216..1bd1869ad42b55 100644 --- a/api_docs/observability_a_i_assistant.mdx +++ b/api_docs/observability_a_i_assistant.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/observabilityAIAssistant title: "observabilityAIAssistant" image: https://source.unsplash.com/400x175/?github description: API docs for the observabilityAIAssistant plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'observabilityAIAssistant'] --- import observabilityAIAssistantObj from './observability_a_i_assistant.devdocs.json'; diff --git a/api_docs/observability_log_explorer.mdx b/api_docs/observability_log_explorer.mdx index 49fb0d5a738f17..6c42cfbc22d63a 100644 --- a/api_docs/observability_log_explorer.mdx +++ b/api_docs/observability_log_explorer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/observabilityLogExplorer title: "observabilityLogExplorer" image: https://source.unsplash.com/400x175/?github description: API docs for the observabilityLogExplorer plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'observabilityLogExplorer'] --- import observabilityLogExplorerObj from './observability_log_explorer.devdocs.json'; diff --git a/api_docs/observability_onboarding.mdx b/api_docs/observability_onboarding.mdx index 5a860321373d9c..f7a4e637f015b3 100644 --- a/api_docs/observability_onboarding.mdx +++ b/api_docs/observability_onboarding.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/observabilityOnboarding title: "observabilityOnboarding" image: https://source.unsplash.com/400x175/?github description: API docs for the observabilityOnboarding plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'observabilityOnboarding'] --- import observabilityOnboardingObj from './observability_onboarding.devdocs.json'; diff --git a/api_docs/observability_shared.devdocs.json b/api_docs/observability_shared.devdocs.json index cbad322aa12d45..6fcdc031dedc8d 100644 --- a/api_docs/observability_shared.devdocs.json +++ b/api_docs/observability_shared.devdocs.json @@ -55,7 +55,47 @@ "label": "setup", "description": [], "signature": [ - "() => { navigation: { registerSections: (sections$: ", + "(coreSetup: ", + { + "pluginId": "@kbn/core-lifecycle-browser", + "scope": "common", + "docId": "kibKbnCoreLifecycleBrowserPluginApi", + "section": "def-common.CoreSetup", + "text": "CoreSetup" + }, + ", pluginsSetup: ", + "ObservabilitySharedSetup", + ") => { locators: { profiling: { flamegraphLocator: ", + { + "pluginId": "share", + "scope": "common", + "docId": "kibSharePluginApi", + "section": "def-common.LocatorPublic", + "text": "LocatorPublic" + }, + "<", + "FlamegraphLocatorParams", + ">; topNFunctionsLocator: ", + { + "pluginId": "share", + "scope": "common", + "docId": "kibSharePluginApi", + "section": "def-common.LocatorPublic", + "text": "LocatorPublic" + }, + "<", + "TopNFunctionsLocatorParams", + ">; stacktracesLocator: ", + { + "pluginId": "share", + "scope": "common", + "docId": "kibSharePluginApi", + "section": "def-common.LocatorPublic", + "text": "LocatorPublic" + }, + "<", + "StacktracesLocatorParams", + ">; }; }; navigation: { registerSections: (sections$: ", "Observable", "<", { @@ -70,7 +110,45 @@ "path": "x-pack/plugins/observability_shared/public/plugin.ts", "deprecated": false, "trackAdoption": false, - "children": [], + "children": [ + { + "parentPluginId": "observabilityShared", + "id": "def-public.ObservabilitySharedPlugin.setup.$1", + "type": "Object", + "tags": [], + "label": "coreSetup", + "description": [], + "signature": [ + { + "pluginId": "@kbn/core-lifecycle-browser", + "scope": "common", + "docId": "kibKbnCoreLifecycleBrowserPluginApi", + "section": "def-common.CoreSetup", + "text": "CoreSetup" + }, + "" + ], + "path": "x-pack/plugins/observability_shared/public/plugin.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "observabilityShared", + "id": "def-public.ObservabilitySharedPlugin.setup.$2", + "type": "Object", + "tags": [], + "label": "pluginsSetup", + "description": [], + "signature": [ + "ObservabilitySharedSetup" + ], + "path": "x-pack/plugins/observability_shared/public/plugin.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], "returnComment": [] }, { @@ -2560,7 +2638,37 @@ "label": "ObservabilitySharedPluginSetup", "description": [], "signature": [ - "{ navigation: { registerSections: (sections$: ", + "{ locators: { profiling: { flamegraphLocator: ", + { + "pluginId": "share", + "scope": "common", + "docId": "kibSharePluginApi", + "section": "def-common.LocatorPublic", + "text": "LocatorPublic" + }, + "<", + "FlamegraphLocatorParams", + ">; topNFunctionsLocator: ", + { + "pluginId": "share", + "scope": "common", + "docId": "kibSharePluginApi", + "section": "def-common.LocatorPublic", + "text": "LocatorPublic" + }, + "<", + "TopNFunctionsLocatorParams", + ">; stacktracesLocator: ", + { + "pluginId": "share", + "scope": "common", + "docId": "kibSharePluginApi", + "section": "def-common.LocatorPublic", + "text": "LocatorPublic" + }, + "<", + "StacktracesLocatorParams", + ">; }; }; navigation: { registerSections: (sections$: ", "Observable", "<", { diff --git a/api_docs/observability_shared.mdx b/api_docs/observability_shared.mdx index de7daf3b269513..e3a7a10013991d 100644 --- a/api_docs/observability_shared.mdx +++ b/api_docs/observability_shared.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/observabilityShared title: "observabilityShared" image: https://source.unsplash.com/400x175/?github description: API docs for the observabilityShared plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'observabilityShared'] --- import observabilitySharedObj from './observability_shared.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/observability-ui](https://github.com/orgs/elastic/teams/observ | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 284 | 1 | 281 | 11 | +| 286 | 1 | 283 | 15 | ## Client diff --git a/api_docs/osquery.mdx b/api_docs/osquery.mdx index 4bdcb2ce30ac06..f3a2b1408b7835 100644 --- a/api_docs/osquery.mdx +++ b/api_docs/osquery.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/osquery title: "osquery" image: https://source.unsplash.com/400x175/?github description: API docs for the osquery plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'osquery'] --- import osqueryObj from './osquery.devdocs.json'; diff --git a/api_docs/painless_lab.mdx b/api_docs/painless_lab.mdx index 0c3225be34306b..1ee005b5016405 100644 --- a/api_docs/painless_lab.mdx +++ b/api_docs/painless_lab.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/painlessLab title: "painlessLab" image: https://source.unsplash.com/400x175/?github description: API docs for the painlessLab plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'painlessLab'] --- import painlessLabObj from './painless_lab.devdocs.json'; diff --git a/api_docs/plugin_directory.mdx b/api_docs/plugin_directory.mdx index 16a06c4864c681..2ad725a1934a16 100644 --- a/api_docs/plugin_directory.mdx +++ b/api_docs/plugin_directory.mdx @@ -7,7 +7,7 @@ id: kibDevDocsPluginDirectory slug: /kibana-dev-docs/api-meta/plugin-api-directory title: Directory description: Directory of public APIs available through plugins or packages. -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- @@ -21,7 +21,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | API Count | Any Count | Missing comments | Missing exports | |--------------|----------|-----------------|--------| -| 74945 | 223 | 63920 | 1533 | +| 74970 | 223 | 63945 | 1537 | ## Plugin Directory @@ -141,12 +141,12 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/obs-ai-assistant](https://github.com/orgs/elastic/teams/obs-ai-assistant) | - | 42 | 0 | 39 | 7 | | | [@elastic/infra-monitoring-ui](https://github.com/orgs/elastic/teams/infra-monitoring-ui) | This plugin exposes and registers observability log consumption features. | 12 | 0 | 12 | 1 | | | [@elastic/apm-ui](https://github.com/orgs/elastic/teams/apm-ui) | - | 14 | 0 | 14 | 0 | -| | [@elastic/observability-ui](https://github.com/orgs/elastic/teams/observability-ui) | - | 284 | 1 | 281 | 11 | +| | [@elastic/observability-ui](https://github.com/orgs/elastic/teams/observability-ui) | - | 286 | 1 | 283 | 15 | | | [@elastic/security-defend-workflows](https://github.com/orgs/elastic/teams/security-defend-workflows) | - | 24 | 0 | 24 | 7 | | | [@elastic/platform-deployment-management](https://github.com/orgs/elastic/teams/platform-deployment-management) | - | 2 | 0 | 2 | 0 | | | [@elastic/kibana-presentation](https://github.com/orgs/elastic/teams/kibana-presentation) | The Presentation Utility Plugin is a set of common, shared components and toolkits for solutions within the Presentation space, (e.g. Dashboards, Canvas). | 218 | 2 | 164 | 11 | -| | [@elastic/profiling-ui](https://github.com/orgs/elastic/teams/profiling-ui) | - | 17 | 1 | 17 | 3 | -| | [@elastic/profiling-ui](https://github.com/orgs/elastic/teams/profiling-ui) | - | 3 | 0 | 3 | 2 | +| | [@elastic/profiling-ui](https://github.com/orgs/elastic/teams/profiling-ui) | - | 17 | 1 | 17 | 0 | +| | [@elastic/profiling-ui](https://github.com/orgs/elastic/teams/profiling-ui) | - | 21 | 0 | 21 | 5 | | | [@elastic/platform-deployment-management](https://github.com/orgs/elastic/teams/platform-deployment-management) | - | 4 | 0 | 4 | 0 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | Reporting Services enables applications to feature reports that the user can automate with Watcher and download later. | 42 | 0 | 22 | 5 | | | [@elastic/platform-deployment-management](https://github.com/orgs/elastic/teams/platform-deployment-management) | - | 21 | 0 | 21 | 0 | @@ -518,7 +518,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/kibana-performance-testing](https://github.com/orgs/elastic/teams/kibana-performance-testing) | - | 3 | 0 | 3 | 1 | | | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 1 | 0 | 1 | 0 | | | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 1 | 0 | 1 | 0 | -| | [@elastic/profiling-ui](https://github.com/orgs/elastic/teams/profiling-ui) | - | 160 | 0 | 17 | 0 | +| | [@elastic/profiling-ui](https://github.com/orgs/elastic/teams/profiling-ui) | - | 165 | 0 | 22 | 0 | | | [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/kibana-visualizations) | - | 13 | 0 | 7 | 0 | | | [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | - | 22 | 0 | 9 | 0 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 8 | 0 | 2 | 0 | diff --git a/api_docs/presentation_util.mdx b/api_docs/presentation_util.mdx index ba7cbca1982ab3..ad19848e50526f 100644 --- a/api_docs/presentation_util.mdx +++ b/api_docs/presentation_util.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/presentationUtil title: "presentationUtil" image: https://source.unsplash.com/400x175/?github description: API docs for the presentationUtil plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'presentationUtil'] --- import presentationUtilObj from './presentation_util.devdocs.json'; diff --git a/api_docs/profiling.devdocs.json b/api_docs/profiling.devdocs.json index 1b57fc843050b8..10bfb3e0e27e65 100644 --- a/api_docs/profiling.devdocs.json +++ b/api_docs/profiling.devdocs.json @@ -14,87 +14,12 @@ "label": "ProfilingLocators", "description": [], "signature": [ - "{ flamegraphLocator: ", - { - "pluginId": "share", - "scope": "common", - "docId": "kibSharePluginApi", - "section": "def-common.LocatorPublic", - "text": "LocatorPublic" - }, - "<", - "FlamegraphLocatorParams", - ">; topNFunctionsLocator: ", - { - "pluginId": "share", - "scope": "common", - "docId": "kibSharePluginApi", - "section": "def-common.LocatorPublic", - "text": "LocatorPublic" - }, - "<", - "TopNFunctionsLocatorParams", - ">; stacktracesLocator: ", - { - "pluginId": "share", - "scope": "common", - "docId": "kibSharePluginApi", - "section": "def-common.LocatorPublic", - "text": "LocatorPublic" - }, - "<", - "StacktracesLocatorParams", - ">; }" + "any" ], "path": "x-pack/plugins/profiling/public/index.tsx", "deprecated": false, "trackAdoption": false, "initialIsOpen": false - }, - { - "parentPluginId": "profiling", - "id": "def-public.ProfilingPluginSetup", - "type": "Type", - "tags": [], - "label": "ProfilingPluginSetup", - "description": [], - "signature": [ - "{ locators: { flamegraphLocator: ", - { - "pluginId": "share", - "scope": "common", - "docId": "kibSharePluginApi", - "section": "def-common.LocatorPublic", - "text": "LocatorPublic" - }, - "<", - "FlamegraphLocatorParams", - ">; topNFunctionsLocator: ", - { - "pluginId": "share", - "scope": "common", - "docId": "kibSharePluginApi", - "section": "def-common.LocatorPublic", - "text": "LocatorPublic" - }, - "<", - "TopNFunctionsLocatorParams", - ">; stacktracesLocator: ", - { - "pluginId": "share", - "scope": "common", - "docId": "kibSharePluginApi", - "section": "def-common.LocatorPublic", - "text": "LocatorPublic" - }, - "<", - "StacktracesLocatorParams", - ">; }; hasSetup: () => Promise; }" - ], - "path": "x-pack/plugins/profiling/public/plugin.tsx", - "deprecated": false, - "trackAdoption": false, - "initialIsOpen": false } ], "objects": [], diff --git a/api_docs/profiling.mdx b/api_docs/profiling.mdx index e94d185508ae03..884a3554ca0c01 100644 --- a/api_docs/profiling.mdx +++ b/api_docs/profiling.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/profiling title: "profiling" image: https://source.unsplash.com/400x175/?github description: API docs for the profiling plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'profiling'] --- import profilingObj from './profiling.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/profiling-ui](https://github.com/orgs/elastic/teams/profiling- | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 17 | 1 | 17 | 3 | +| 17 | 1 | 17 | 0 | ## Client diff --git a/api_docs/profiling_data_access.devdocs.json b/api_docs/profiling_data_access.devdocs.json index f686b78fabe46f..73b628d847d020 100644 --- a/api_docs/profiling_data_access.devdocs.json +++ b/api_docs/profiling_data_access.devdocs.json @@ -47,6 +47,20 @@ "section": "def-common.BaseFlameGraph", "text": "BaseFlameGraph" }, + ">; getStatus: ({ esClient, soClient, spaceId }: HasSetupParams) => Promise<", + { + "pluginId": "@kbn/profiling-utils", + "scope": "common", + "docId": "kibKbnProfilingUtilsPluginApi", + "section": "def-common.ProfilingStatus", + "text": "ProfilingStatus" + }, + ">; getSetupState: (options: ", + "ProfilingSetupOptions", + ", clientWithProfilingAuth: ", + "ProfilingESClient", + ") => Promise<", + "SetupState", ">; fetchFunction: ({ esClient, rangeFromMs, rangeToMs, kuery, startIndex, endIndex, }: ", "FetchFunctionsParams", ") => Promise<", @@ -85,10 +99,387 @@ }, "common": { "classes": [], - "functions": [], + "functions": [ + { + "parentPluginId": "profilingDataAccess", + "id": "def-common.getApmPolicy", + "type": "Function", + "tags": [], + "label": "getApmPolicy", + "description": [], + "signature": [ + "({\n packagePolicyClient,\n soClient,\n}: { packagePolicyClient: ", + { + "pluginId": "fleet", + "scope": "server", + "docId": "kibFleetPluginApi", + "section": "def-server.PackagePolicyClient", + "text": "PackagePolicyClient" + }, + "; soClient: ", + { + "pluginId": "@kbn/core-saved-objects-api-server", + "scope": "common", + "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", + "section": "def-common.SavedObjectsClientContract", + "text": "SavedObjectsClientContract" + }, + "; }) => Promise<", + { + "pluginId": "fleet", + "scope": "common", + "docId": "kibFleetPluginApi", + "section": "def-common.PackagePolicy", + "text": "PackagePolicy" + }, + " | null>" + ], + "path": "x-pack/plugins/profiling_data_access/common/get_apm_policy.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "profilingDataAccess", + "id": "def-common.getApmPolicy.$1", + "type": "Object", + "tags": [], + "label": "{\n packagePolicyClient,\n soClient,\n}", + "description": [], + "path": "x-pack/plugins/profiling_data_access/common/get_apm_policy.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "profilingDataAccess", + "id": "def-common.getApmPolicy.$1.packagePolicyClient", + "type": "Object", + "tags": [], + "label": "packagePolicyClient", + "description": [], + "signature": [ + { + "pluginId": "fleet", + "scope": "server", + "docId": "kibFleetPluginApi", + "section": "def-server.PackagePolicyClient", + "text": "PackagePolicyClient" + } + ], + "path": "x-pack/plugins/profiling_data_access/common/get_apm_policy.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "profilingDataAccess", + "id": "def-common.getApmPolicy.$1.soClient", + "type": "Object", + "tags": [], + "label": "soClient", + "description": [], + "signature": [ + { + "pluginId": "@kbn/core-saved-objects-api-server", + "scope": "common", + "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", + "section": "def-common.SavedObjectsClientContract", + "text": "SavedObjectsClientContract" + } + ], + "path": "x-pack/plugins/profiling_data_access/common/get_apm_policy.ts", + "deprecated": false, + "trackAdoption": false + } + ] + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "profilingDataAccess", + "id": "def-common.getCollectorPolicy", + "type": "Function", + "tags": [], + "label": "getCollectorPolicy", + "description": [], + "signature": [ + "({\n soClient,\n packagePolicyClient,\n}: { packagePolicyClient: ", + { + "pluginId": "fleet", + "scope": "server", + "docId": "kibFleetPluginApi", + "section": "def-server.PackagePolicyClient", + "text": "PackagePolicyClient" + }, + "; soClient: ", + { + "pluginId": "@kbn/core-saved-objects-api-server", + "scope": "common", + "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", + "section": "def-common.SavedObjectsClientContract", + "text": "SavedObjectsClientContract" + }, + "; }) => Promise<", + { + "pluginId": "fleet", + "scope": "common", + "docId": "kibFleetPluginApi", + "section": "def-common.PackagePolicy", + "text": "PackagePolicy" + }, + " | undefined>" + ], + "path": "x-pack/plugins/profiling_data_access/common/fleet_policies.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "profilingDataAccess", + "id": "def-common.getCollectorPolicy.$1", + "type": "Object", + "tags": [], + "label": "{\n soClient,\n packagePolicyClient,\n}", + "description": [], + "path": "x-pack/plugins/profiling_data_access/common/fleet_policies.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "profilingDataAccess", + "id": "def-common.getCollectorPolicy.$1.packagePolicyClient", + "type": "Object", + "tags": [], + "label": "packagePolicyClient", + "description": [], + "signature": [ + { + "pluginId": "fleet", + "scope": "server", + "docId": "kibFleetPluginApi", + "section": "def-server.PackagePolicyClient", + "text": "PackagePolicyClient" + } + ], + "path": "x-pack/plugins/profiling_data_access/common/fleet_policies.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "profilingDataAccess", + "id": "def-common.getCollectorPolicy.$1.soClient", + "type": "Object", + "tags": [], + "label": "soClient", + "description": [], + "signature": [ + { + "pluginId": "@kbn/core-saved-objects-api-server", + "scope": "common", + "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", + "section": "def-common.SavedObjectsClientContract", + "text": "SavedObjectsClientContract" + } + ], + "path": "x-pack/plugins/profiling_data_access/common/fleet_policies.ts", + "deprecated": false, + "trackAdoption": false + } + ] + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "profilingDataAccess", + "id": "def-common.getSymbolizerPolicy", + "type": "Function", + "tags": [], + "label": "getSymbolizerPolicy", + "description": [], + "signature": [ + "({\n soClient,\n packagePolicyClient,\n}: { packagePolicyClient: ", + { + "pluginId": "fleet", + "scope": "server", + "docId": "kibFleetPluginApi", + "section": "def-server.PackagePolicyClient", + "text": "PackagePolicyClient" + }, + "; soClient: ", + { + "pluginId": "@kbn/core-saved-objects-api-server", + "scope": "common", + "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", + "section": "def-common.SavedObjectsClientContract", + "text": "SavedObjectsClientContract" + }, + "; }) => Promise<", + { + "pluginId": "fleet", + "scope": "common", + "docId": "kibFleetPluginApi", + "section": "def-common.PackagePolicy", + "text": "PackagePolicy" + }, + " | undefined>" + ], + "path": "x-pack/plugins/profiling_data_access/common/fleet_policies.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "profilingDataAccess", + "id": "def-common.getSymbolizerPolicy.$1", + "type": "Object", + "tags": [], + "label": "{\n soClient,\n packagePolicyClient,\n}", + "description": [], + "path": "x-pack/plugins/profiling_data_access/common/fleet_policies.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "profilingDataAccess", + "id": "def-common.getSymbolizerPolicy.$1.packagePolicyClient", + "type": "Object", + "tags": [], + "label": "packagePolicyClient", + "description": [], + "signature": [ + { + "pluginId": "fleet", + "scope": "server", + "docId": "kibFleetPluginApi", + "section": "def-server.PackagePolicyClient", + "text": "PackagePolicyClient" + } + ], + "path": "x-pack/plugins/profiling_data_access/common/fleet_policies.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "profilingDataAccess", + "id": "def-common.getSymbolizerPolicy.$1.soClient", + "type": "Object", + "tags": [], + "label": "soClient", + "description": [], + "signature": [ + { + "pluginId": "@kbn/core-saved-objects-api-server", + "scope": "common", + "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", + "section": "def-common.SavedObjectsClientContract", + "text": "SavedObjectsClientContract" + } + ], + "path": "x-pack/plugins/profiling_data_access/common/fleet_policies.ts", + "deprecated": false, + "trackAdoption": false + } + ] + } + ], + "returnComment": [], + "initialIsOpen": false + } + ], "interfaces": [], "enums": [], - "misc": [], + "misc": [ + { + "parentPluginId": "profilingDataAccess", + "id": "def-common.COLLECTOR_PACKAGE_POLICY_NAME", + "type": "string", + "tags": [], + "label": "COLLECTOR_PACKAGE_POLICY_NAME", + "description": [], + "signature": [ + "\"elastic-universal-profiling-collector\"" + ], + "path": "x-pack/plugins/profiling_data_access/common/fleet_policies.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "profilingDataAccess", + "id": "def-common.ELASTIC_CLOUD_APM_POLICY", + "type": "string", + "tags": [], + "label": "ELASTIC_CLOUD_APM_POLICY", + "description": [], + "signature": [ + "\"elastic-cloud-apm\"" + ], + "path": "x-pack/plugins/profiling_data_access/common/get_apm_policy.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "profilingDataAccess", + "id": "def-common.MAX_BUCKETS", + "type": "number", + "tags": [], + "label": "MAX_BUCKETS", + "description": [], + "signature": [ + "150000" + ], + "path": "x-pack/plugins/profiling_data_access/common/cluster_settings.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "profilingDataAccess", + "id": "def-common.METADATA_VERSION", + "type": "number", + "tags": [], + "label": "METADATA_VERSION", + "description": [], + "signature": [ + "1" + ], + "path": "x-pack/plugins/profiling_data_access/common/security_role.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "profilingDataAccess", + "id": "def-common.PROFILING_READER_ROLE_NAME", + "type": "string", + "tags": [], + "label": "PROFILING_READER_ROLE_NAME", + "description": [], + "signature": [ + "\"profiling-reader\"" + ], + "path": "x-pack/plugins/profiling_data_access/common/security_role.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "profilingDataAccess", + "id": "def-common.SYMBOLIZER_PACKAGE_POLICY_NAME", + "type": "string", + "tags": [], + "label": "SYMBOLIZER_PACKAGE_POLICY_NAME", + "description": [], + "signature": [ + "\"elastic-universal-profiling-symbolizer\"" + ], + "path": "x-pack/plugins/profiling_data_access/common/fleet_policies.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + } + ], "objects": [] } } \ No newline at end of file diff --git a/api_docs/profiling_data_access.mdx b/api_docs/profiling_data_access.mdx index 0609578f23a456..1dfb5832656e1d 100644 --- a/api_docs/profiling_data_access.mdx +++ b/api_docs/profiling_data_access.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/profilingDataAccess title: "profilingDataAccess" image: https://source.unsplash.com/400x175/?github description: API docs for the profilingDataAccess plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'profilingDataAccess'] --- import profilingDataAccessObj from './profiling_data_access.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/profiling-ui](https://github.com/orgs/elastic/teams/profiling- | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 3 | 0 | 3 | 2 | +| 21 | 0 | 21 | 5 | ## Server @@ -31,3 +31,11 @@ Contact [@elastic/profiling-ui](https://github.com/orgs/elastic/teams/profiling- ### Consts, variables and types +## Common + +### Functions + + +### Consts, variables and types + + diff --git a/api_docs/remote_clusters.mdx b/api_docs/remote_clusters.mdx index 2d5df178269ee4..9862cbc5b05095 100644 --- a/api_docs/remote_clusters.mdx +++ b/api_docs/remote_clusters.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/remoteClusters title: "remoteClusters" image: https://source.unsplash.com/400x175/?github description: API docs for the remoteClusters plugin -date: 2023-09-22 +date: 2023-09-23 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 7490afd3a7fbf6..c705cf7f8d7b8a 100644 --- a/api_docs/reporting.mdx +++ b/api_docs/reporting.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/reporting title: "reporting" image: https://source.unsplash.com/400x175/?github description: API docs for the reporting plugin -date: 2023-09-22 +date: 2023-09-23 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 f73d1b04d95b2c..4ce648de64def4 100644 --- a/api_docs/rollup.mdx +++ b/api_docs/rollup.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/rollup title: "rollup" image: https://source.unsplash.com/400x175/?github description: API docs for the rollup plugin -date: 2023-09-22 +date: 2023-09-23 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 e5cce5f5f2f527..bf8a899db8ddeb 100644 --- a/api_docs/rule_registry.mdx +++ b/api_docs/rule_registry.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/ruleRegistry title: "ruleRegistry" image: https://source.unsplash.com/400x175/?github description: API docs for the ruleRegistry plugin -date: 2023-09-22 +date: 2023-09-23 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 b236704e0bfee0..e1d5f8fecec352 100644 --- a/api_docs/runtime_fields.mdx +++ b/api_docs/runtime_fields.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/runtimeFields title: "runtimeFields" image: https://source.unsplash.com/400x175/?github description: API docs for the runtimeFields plugin -date: 2023-09-22 +date: 2023-09-23 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 beb9a32bc20989..9816b9d2d9909f 100644 --- a/api_docs/saved_objects.mdx +++ b/api_docs/saved_objects.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedObjects title: "savedObjects" image: https://source.unsplash.com/400x175/?github description: API docs for the savedObjects plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'savedObjects'] --- import savedObjectsObj from './saved_objects.devdocs.json'; diff --git a/api_docs/saved_objects_finder.mdx b/api_docs/saved_objects_finder.mdx index bd00e5e103f66e..6a61178b8aa140 100644 --- a/api_docs/saved_objects_finder.mdx +++ b/api_docs/saved_objects_finder.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedObjectsFinder title: "savedObjectsFinder" image: https://source.unsplash.com/400x175/?github description: API docs for the savedObjectsFinder plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'savedObjectsFinder'] --- import savedObjectsFinderObj from './saved_objects_finder.devdocs.json'; diff --git a/api_docs/saved_objects_management.mdx b/api_docs/saved_objects_management.mdx index b0b4bde5929c3b..96af1bb9b15dbc 100644 --- a/api_docs/saved_objects_management.mdx +++ b/api_docs/saved_objects_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedObjectsManagement title: "savedObjectsManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the savedObjectsManagement plugin -date: 2023-09-22 +date: 2023-09-23 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 a75c6c3388b170..eda8a9da84e177 100644 --- a/api_docs/saved_objects_tagging.mdx +++ b/api_docs/saved_objects_tagging.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedObjectsTagging title: "savedObjectsTagging" image: https://source.unsplash.com/400x175/?github description: API docs for the savedObjectsTagging plugin -date: 2023-09-22 +date: 2023-09-23 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 50aeac53a74899..48cca1b108b264 100644 --- a/api_docs/saved_objects_tagging_oss.mdx +++ b/api_docs/saved_objects_tagging_oss.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedObjectsTaggingOss title: "savedObjectsTaggingOss" image: https://source.unsplash.com/400x175/?github description: API docs for the savedObjectsTaggingOss plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'savedObjectsTaggingOss'] --- import savedObjectsTaggingOssObj from './saved_objects_tagging_oss.devdocs.json'; diff --git a/api_docs/saved_search.mdx b/api_docs/saved_search.mdx index 8f349befd4cd10..d87ecedc28316f 100644 --- a/api_docs/saved_search.mdx +++ b/api_docs/saved_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedSearch title: "savedSearch" image: https://source.unsplash.com/400x175/?github description: API docs for the savedSearch plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'savedSearch'] --- import savedSearchObj from './saved_search.devdocs.json'; diff --git a/api_docs/screenshot_mode.mdx b/api_docs/screenshot_mode.mdx index ce4b145bbcfbbc..4f328bc7bd5f7a 100644 --- a/api_docs/screenshot_mode.mdx +++ b/api_docs/screenshot_mode.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/screenshotMode title: "screenshotMode" image: https://source.unsplash.com/400x175/?github description: API docs for the screenshotMode plugin -date: 2023-09-22 +date: 2023-09-23 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 48c750d6bc02df..3f16f0169ec9ff 100644 --- a/api_docs/screenshotting.mdx +++ b/api_docs/screenshotting.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/screenshotting title: "screenshotting" image: https://source.unsplash.com/400x175/?github description: API docs for the screenshotting plugin -date: 2023-09-22 +date: 2023-09-23 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 109af80106f2f2..e75e47bf15d543 100644 --- a/api_docs/security.mdx +++ b/api_docs/security.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/security title: "security" image: https://source.unsplash.com/400x175/?github description: API docs for the security plugin -date: 2023-09-22 +date: 2023-09-23 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 a7923ab0ebea80..c924ab9027dbca 100644 --- a/api_docs/security_solution.mdx +++ b/api_docs/security_solution.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/securitySolution title: "securitySolution" image: https://source.unsplash.com/400x175/?github description: API docs for the securitySolution plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'securitySolution'] --- import securitySolutionObj from './security_solution.devdocs.json'; diff --git a/api_docs/security_solution_ess.mdx b/api_docs/security_solution_ess.mdx index 69021925f84032..348ca865dcf41e 100644 --- a/api_docs/security_solution_ess.mdx +++ b/api_docs/security_solution_ess.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/securitySolutionEss title: "securitySolutionEss" image: https://source.unsplash.com/400x175/?github description: API docs for the securitySolutionEss plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'securitySolutionEss'] --- import securitySolutionEssObj from './security_solution_ess.devdocs.json'; diff --git a/api_docs/security_solution_serverless.mdx b/api_docs/security_solution_serverless.mdx index df2bd1d9a5c25b..be0ca0dac9f22f 100644 --- a/api_docs/security_solution_serverless.mdx +++ b/api_docs/security_solution_serverless.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/securitySolutionServerless title: "securitySolutionServerless" image: https://source.unsplash.com/400x175/?github description: API docs for the securitySolutionServerless plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'securitySolutionServerless'] --- import securitySolutionServerlessObj from './security_solution_serverless.devdocs.json'; diff --git a/api_docs/serverless.mdx b/api_docs/serverless.mdx index 02fc4ebdd5fa9e..d81e296dd56aca 100644 --- a/api_docs/serverless.mdx +++ b/api_docs/serverless.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/serverless title: "serverless" image: https://source.unsplash.com/400x175/?github description: API docs for the serverless plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'serverless'] --- import serverlessObj from './serverless.devdocs.json'; diff --git a/api_docs/serverless_observability.mdx b/api_docs/serverless_observability.mdx index 84690f348a3c41..1b605273ccb544 100644 --- a/api_docs/serverless_observability.mdx +++ b/api_docs/serverless_observability.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/serverlessObservability title: "serverlessObservability" image: https://source.unsplash.com/400x175/?github description: API docs for the serverlessObservability plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'serverlessObservability'] --- import serverlessObservabilityObj from './serverless_observability.devdocs.json'; diff --git a/api_docs/serverless_search.mdx b/api_docs/serverless_search.mdx index 37a31fd73233f4..8a63db8aa513d1 100644 --- a/api_docs/serverless_search.mdx +++ b/api_docs/serverless_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/serverlessSearch title: "serverlessSearch" image: https://source.unsplash.com/400x175/?github description: API docs for the serverlessSearch plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'serverlessSearch'] --- import serverlessSearchObj from './serverless_search.devdocs.json'; diff --git a/api_docs/session_view.mdx b/api_docs/session_view.mdx index cc616e5b79067b..a37ed08840860e 100644 --- a/api_docs/session_view.mdx +++ b/api_docs/session_view.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/sessionView title: "sessionView" image: https://source.unsplash.com/400x175/?github description: API docs for the sessionView plugin -date: 2023-09-22 +date: 2023-09-23 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 a686276f83d70b..dcabe79c18dd61 100644 --- a/api_docs/share.mdx +++ b/api_docs/share.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/share title: "share" image: https://source.unsplash.com/400x175/?github description: API docs for the share plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'share'] --- import shareObj from './share.devdocs.json'; diff --git a/api_docs/snapshot_restore.mdx b/api_docs/snapshot_restore.mdx index c96013e64620b3..f9611d7acee4ad 100644 --- a/api_docs/snapshot_restore.mdx +++ b/api_docs/snapshot_restore.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/snapshotRestore title: "snapshotRestore" image: https://source.unsplash.com/400x175/?github description: API docs for the snapshotRestore plugin -date: 2023-09-22 +date: 2023-09-23 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 ad8e3644d6856e..33593c4889e5ed 100644 --- a/api_docs/spaces.mdx +++ b/api_docs/spaces.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/spaces title: "spaces" image: https://source.unsplash.com/400x175/?github description: API docs for the spaces plugin -date: 2023-09-22 +date: 2023-09-23 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 fff86f54798a40..a7d4157f6102d5 100644 --- a/api_docs/stack_alerts.mdx +++ b/api_docs/stack_alerts.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/stackAlerts title: "stackAlerts" image: https://source.unsplash.com/400x175/?github description: API docs for the stackAlerts plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'stackAlerts'] --- import stackAlertsObj from './stack_alerts.devdocs.json'; diff --git a/api_docs/stack_connectors.mdx b/api_docs/stack_connectors.mdx index d746fa0665d1a0..f636bcd4a25417 100644 --- a/api_docs/stack_connectors.mdx +++ b/api_docs/stack_connectors.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/stackConnectors title: "stackConnectors" image: https://source.unsplash.com/400x175/?github description: API docs for the stackConnectors plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'stackConnectors'] --- import stackConnectorsObj from './stack_connectors.devdocs.json'; diff --git a/api_docs/task_manager.mdx b/api_docs/task_manager.mdx index 086262f28089cf..de16d064fef8e0 100644 --- a/api_docs/task_manager.mdx +++ b/api_docs/task_manager.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/taskManager title: "taskManager" image: https://source.unsplash.com/400x175/?github description: API docs for the taskManager plugin -date: 2023-09-22 +date: 2023-09-23 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 bb67b1cca68557..d6012d578f44f0 100644 --- a/api_docs/telemetry.mdx +++ b/api_docs/telemetry.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/telemetry title: "telemetry" image: https://source.unsplash.com/400x175/?github description: API docs for the telemetry plugin -date: 2023-09-22 +date: 2023-09-23 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 9d4155b3549e19..9a5e847d97e002 100644 --- a/api_docs/telemetry_collection_manager.mdx +++ b/api_docs/telemetry_collection_manager.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/telemetryCollectionManager title: "telemetryCollectionManager" image: https://source.unsplash.com/400x175/?github description: API docs for the telemetryCollectionManager plugin -date: 2023-09-22 +date: 2023-09-23 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 1cf90dfb7acf3a..6f90198ee9cc93 100644 --- a/api_docs/telemetry_collection_xpack.mdx +++ b/api_docs/telemetry_collection_xpack.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/telemetryCollectionXpack title: "telemetryCollectionXpack" image: https://source.unsplash.com/400x175/?github description: API docs for the telemetryCollectionXpack plugin -date: 2023-09-22 +date: 2023-09-23 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 e4ef77861002d7..0f4d84995c1052 100644 --- a/api_docs/telemetry_management_section.mdx +++ b/api_docs/telemetry_management_section.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/telemetryManagementSection title: "telemetryManagementSection" image: https://source.unsplash.com/400x175/?github description: API docs for the telemetryManagementSection plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'telemetryManagementSection'] --- import telemetryManagementSectionObj from './telemetry_management_section.devdocs.json'; diff --git a/api_docs/text_based_languages.mdx b/api_docs/text_based_languages.mdx index 69a32bdb59fff3..526d95c0099972 100644 --- a/api_docs/text_based_languages.mdx +++ b/api_docs/text_based_languages.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/textBasedLanguages title: "textBasedLanguages" image: https://source.unsplash.com/400x175/?github description: API docs for the textBasedLanguages plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'textBasedLanguages'] --- import textBasedLanguagesObj from './text_based_languages.devdocs.json'; diff --git a/api_docs/threat_intelligence.mdx b/api_docs/threat_intelligence.mdx index caa3bf81086bad..4a7d57c0f47f7d 100644 --- a/api_docs/threat_intelligence.mdx +++ b/api_docs/threat_intelligence.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/threatIntelligence title: "threatIntelligence" image: https://source.unsplash.com/400x175/?github description: API docs for the threatIntelligence plugin -date: 2023-09-22 +date: 2023-09-23 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 808f39224ace77..80980b11aabb1e 100644 --- a/api_docs/timelines.mdx +++ b/api_docs/timelines.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/timelines title: "timelines" image: https://source.unsplash.com/400x175/?github description: API docs for the timelines plugin -date: 2023-09-22 +date: 2023-09-23 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 12c0a247ef6480..be3bec59ef21c8 100644 --- a/api_docs/transform.mdx +++ b/api_docs/transform.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/transform title: "transform" image: https://source.unsplash.com/400x175/?github description: API docs for the transform plugin -date: 2023-09-22 +date: 2023-09-23 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 df5a76abf9f2d0..348681df6e29bf 100644 --- a/api_docs/triggers_actions_ui.mdx +++ b/api_docs/triggers_actions_ui.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/triggersActionsUi title: "triggersActionsUi" image: https://source.unsplash.com/400x175/?github description: API docs for the triggersActionsUi plugin -date: 2023-09-22 +date: 2023-09-23 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 d52144d661862f..e1de16dbd83a3f 100644 --- a/api_docs/ui_actions.mdx +++ b/api_docs/ui_actions.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/uiActions title: "uiActions" image: https://source.unsplash.com/400x175/?github description: API docs for the uiActions plugin -date: 2023-09-22 +date: 2023-09-23 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 05e5d8e42c28c5..7ee2c69dc27ebd 100644 --- a/api_docs/ui_actions_enhanced.mdx +++ b/api_docs/ui_actions_enhanced.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/uiActionsEnhanced title: "uiActionsEnhanced" image: https://source.unsplash.com/400x175/?github description: API docs for the uiActionsEnhanced plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'uiActionsEnhanced'] --- import uiActionsEnhancedObj from './ui_actions_enhanced.devdocs.json'; diff --git a/api_docs/unified_doc_viewer.mdx b/api_docs/unified_doc_viewer.mdx index 33048024dc6e76..8b8ac9cdd88269 100644 --- a/api_docs/unified_doc_viewer.mdx +++ b/api_docs/unified_doc_viewer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/unifiedDocViewer title: "unifiedDocViewer" image: https://source.unsplash.com/400x175/?github description: API docs for the unifiedDocViewer plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'unifiedDocViewer'] --- import unifiedDocViewerObj from './unified_doc_viewer.devdocs.json'; diff --git a/api_docs/unified_histogram.mdx b/api_docs/unified_histogram.mdx index e03dbbc665e92f..85469f96379f3b 100644 --- a/api_docs/unified_histogram.mdx +++ b/api_docs/unified_histogram.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/unifiedHistogram title: "unifiedHistogram" image: https://source.unsplash.com/400x175/?github description: API docs for the unifiedHistogram plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'unifiedHistogram'] --- import unifiedHistogramObj from './unified_histogram.devdocs.json'; diff --git a/api_docs/unified_search.mdx b/api_docs/unified_search.mdx index 22d4518d69543c..8b7624a11694e7 100644 --- a/api_docs/unified_search.mdx +++ b/api_docs/unified_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/unifiedSearch title: "unifiedSearch" image: https://source.unsplash.com/400x175/?github description: API docs for the unifiedSearch plugin -date: 2023-09-22 +date: 2023-09-23 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 c5462d81d54970..8ad7ec4dae49ba 100644 --- a/api_docs/unified_search_autocomplete.mdx +++ b/api_docs/unified_search_autocomplete.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/unifiedSearch-autocomplete title: "unifiedSearch.autocomplete" image: https://source.unsplash.com/400x175/?github description: API docs for the unifiedSearch.autocomplete plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'unifiedSearch.autocomplete'] --- import unifiedSearchAutocompleteObj from './unified_search_autocomplete.devdocs.json'; diff --git a/api_docs/uptime.mdx b/api_docs/uptime.mdx index 4f0d39cd4a1595..d82f4d5363eccf 100644 --- a/api_docs/uptime.mdx +++ b/api_docs/uptime.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/uptime title: "uptime" image: https://source.unsplash.com/400x175/?github description: API docs for the uptime plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'uptime'] --- import uptimeObj from './uptime.devdocs.json'; diff --git a/api_docs/url_forwarding.mdx b/api_docs/url_forwarding.mdx index f0026daef911bf..1cbc0ffb1e8476 100644 --- a/api_docs/url_forwarding.mdx +++ b/api_docs/url_forwarding.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/urlForwarding title: "urlForwarding" image: https://source.unsplash.com/400x175/?github description: API docs for the urlForwarding plugin -date: 2023-09-22 +date: 2023-09-23 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 ea963f774c09b6..ec03d4608c88ca 100644 --- a/api_docs/usage_collection.mdx +++ b/api_docs/usage_collection.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/usageCollection title: "usageCollection" image: https://source.unsplash.com/400x175/?github description: API docs for the usageCollection plugin -date: 2023-09-22 +date: 2023-09-23 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 064481b8f8f6b2..0fe50b76863e68 100644 --- a/api_docs/ux.mdx +++ b/api_docs/ux.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/ux title: "ux" image: https://source.unsplash.com/400x175/?github description: API docs for the ux plugin -date: 2023-09-22 +date: 2023-09-23 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 273e3e9156ee95..7e2fa4442fef01 100644 --- a/api_docs/vis_default_editor.mdx +++ b/api_docs/vis_default_editor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visDefaultEditor title: "visDefaultEditor" image: https://source.unsplash.com/400x175/?github description: API docs for the visDefaultEditor plugin -date: 2023-09-22 +date: 2023-09-23 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 3db41e76a99c29..52f1108fbe6ba8 100644 --- a/api_docs/vis_type_gauge.mdx +++ b/api_docs/vis_type_gauge.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeGauge title: "visTypeGauge" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeGauge plugin -date: 2023-09-22 +date: 2023-09-23 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 6b6a69fddd6dc2..23b33abf541084 100644 --- a/api_docs/vis_type_heatmap.mdx +++ b/api_docs/vis_type_heatmap.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeHeatmap title: "visTypeHeatmap" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeHeatmap plugin -date: 2023-09-22 +date: 2023-09-23 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 97d72682a34922..0751478a2b754a 100644 --- a/api_docs/vis_type_pie.mdx +++ b/api_docs/vis_type_pie.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypePie title: "visTypePie" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypePie plugin -date: 2023-09-22 +date: 2023-09-23 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 def64f41e8e54f..e81ec0007dd375 100644 --- a/api_docs/vis_type_table.mdx +++ b/api_docs/vis_type_table.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeTable title: "visTypeTable" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeTable plugin -date: 2023-09-22 +date: 2023-09-23 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 1181189a097a8a..bfe5de9e16e9fa 100644 --- a/api_docs/vis_type_timelion.mdx +++ b/api_docs/vis_type_timelion.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeTimelion title: "visTypeTimelion" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeTimelion plugin -date: 2023-09-22 +date: 2023-09-23 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 4d58d808a52d7d..0c753e47ad050f 100644 --- a/api_docs/vis_type_timeseries.mdx +++ b/api_docs/vis_type_timeseries.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeTimeseries title: "visTypeTimeseries" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeTimeseries plugin -date: 2023-09-22 +date: 2023-09-23 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 6562041cfc4997..cf9efdd4381aee 100644 --- a/api_docs/vis_type_vega.mdx +++ b/api_docs/vis_type_vega.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeVega title: "visTypeVega" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeVega plugin -date: 2023-09-22 +date: 2023-09-23 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 5ffd1754e564d4..7f1909e9edcc8b 100644 --- a/api_docs/vis_type_vislib.mdx +++ b/api_docs/vis_type_vislib.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeVislib title: "visTypeVislib" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeVislib plugin -date: 2023-09-22 +date: 2023-09-23 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 683d3cff7fcff0..e86a5d985c5f30 100644 --- a/api_docs/vis_type_xy.mdx +++ b/api_docs/vis_type_xy.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeXy title: "visTypeXy" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeXy plugin -date: 2023-09-22 +date: 2023-09-23 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 e7250b4926ef4b..c3d44e19ea0668 100644 --- a/api_docs/visualizations.mdx +++ b/api_docs/visualizations.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visualizations title: "visualizations" image: https://source.unsplash.com/400x175/?github description: API docs for the visualizations plugin -date: 2023-09-22 +date: 2023-09-23 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visualizations'] --- import visualizationsObj from './visualizations.devdocs.json'; From 780e05b7a988bccb25aeb66281d67373690e571f Mon Sep 17 00:00:00 2001 From: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> Date: Sun, 24 Sep 2023 00:52:01 -0400 Subject: [PATCH 60/72] [api-docs] 2023-09-24 Daily api_docs build (#167103) Generated by https://buildkite.com/elastic/kibana-api-docs-daily/builds/470 --- 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/apm_data_access.mdx | 2 +- api_docs/asset_manager.mdx | 2 +- api_docs/banners.mdx | 2 +- api_docs/bfetch.mdx | 2 +- api_docs/canvas.mdx | 2 +- api_docs/cases.mdx | 2 +- api_docs/charts.mdx | 2 +- api_docs/cloud.mdx | 2 +- api_docs/cloud_chat.mdx | 2 +- api_docs/cloud_chat_provider.mdx | 2 +- api_docs/cloud_data_migration.mdx | 2 +- api_docs/cloud_defend.mdx | 2 +- api_docs/cloud_experiments.mdx | 2 +- api_docs/cloud_security_posture.mdx | 2 +- api_docs/console.mdx | 2 +- api_docs/content_management.mdx | 2 +- api_docs/controls.mdx | 2 +- api_docs/custom_integrations.mdx | 2 +- api_docs/dashboard.mdx | 2 +- api_docs/dashboard_enhanced.mdx | 2 +- api_docs/data.mdx | 2 +- api_docs/data_query.mdx | 2 +- api_docs/data_search.mdx | 2 +- api_docs/data_view_editor.mdx | 2 +- api_docs/data_view_field_editor.mdx | 2 +- api_docs/data_view_management.mdx | 2 +- api_docs/data_views.mdx | 2 +- api_docs/data_visualizer.mdx | 2 +- api_docs/deprecations_by_api.mdx | 2 +- api_docs/deprecations_by_plugin.mdx | 2 +- api_docs/deprecations_by_team.mdx | 2 +- api_docs/dev_tools.mdx | 2 +- api_docs/discover.mdx | 2 +- api_docs/discover_enhanced.mdx | 2 +- api_docs/ecs_data_quality_dashboard.mdx | 2 +- api_docs/elastic_assistant.mdx | 2 +- api_docs/embeddable.mdx | 2 +- api_docs/embeddable_enhanced.mdx | 2 +- api_docs/encrypted_saved_objects.mdx | 2 +- api_docs/enterprise_search.mdx | 2 +- api_docs/es_ui_shared.mdx | 2 +- api_docs/event_annotation.mdx | 2 +- api_docs/event_annotation_listing.mdx | 2 +- api_docs/event_log.mdx | 2 +- api_docs/exploratory_view.mdx | 2 +- api_docs/expression_error.mdx | 2 +- api_docs/expression_gauge.mdx | 2 +- api_docs/expression_heatmap.mdx | 2 +- api_docs/expression_image.mdx | 2 +- api_docs/expression_legacy_metric_vis.mdx | 2 +- api_docs/expression_metric.mdx | 2 +- api_docs/expression_metric_vis.mdx | 2 +- api_docs/expression_partition_vis.mdx | 2 +- api_docs/expression_repeat_image.mdx | 2 +- api_docs/expression_reveal_image.mdx | 2 +- api_docs/expression_shape.mdx | 2 +- api_docs/expression_tagcloud.mdx | 2 +- api_docs/expression_x_y.mdx | 2 +- api_docs/expressions.mdx | 2 +- api_docs/features.mdx | 2 +- api_docs/field_formats.mdx | 2 +- api_docs/file_upload.mdx | 2 +- api_docs/files.mdx | 2 +- api_docs/files_management.mdx | 2 +- api_docs/fleet.mdx | 2 +- api_docs/global_search.mdx | 2 +- api_docs/guided_onboarding.mdx | 2 +- api_docs/home.mdx | 2 +- api_docs/image_embeddable.mdx | 2 +- api_docs/index_lifecycle_management.mdx | 2 +- api_docs/index_management.mdx | 2 +- api_docs/infra.mdx | 2 +- api_docs/inspector.mdx | 2 +- api_docs/interactive_setup.mdx | 2 +- api_docs/kbn_ace.mdx | 2 +- api_docs/kbn_aiops_components.mdx | 2 +- api_docs/kbn_aiops_utils.mdx | 2 +- api_docs/kbn_alerting_api_integration_helpers.mdx | 2 +- api_docs/kbn_alerting_state_types.mdx | 2 +- api_docs/kbn_alerts_as_data_utils.mdx | 2 +- api_docs/kbn_alerts_ui_shared.mdx | 2 +- api_docs/kbn_analytics.mdx | 2 +- api_docs/kbn_analytics_client.mdx | 2 +- api_docs/kbn_analytics_shippers_elastic_v3_browser.mdx | 2 +- api_docs/kbn_analytics_shippers_elastic_v3_common.mdx | 2 +- api_docs/kbn_analytics_shippers_elastic_v3_server.mdx | 2 +- api_docs/kbn_analytics_shippers_fullstory.mdx | 2 +- api_docs/kbn_analytics_shippers_gainsight.mdx | 2 +- api_docs/kbn_apm_config_loader.mdx | 2 +- api_docs/kbn_apm_synthtrace.mdx | 2 +- api_docs/kbn_apm_synthtrace_client.mdx | 2 +- api_docs/kbn_apm_utils.mdx | 2 +- api_docs/kbn_axe_config.mdx | 2 +- api_docs/kbn_cases_components.mdx | 2 +- api_docs/kbn_cell_actions.mdx | 2 +- api_docs/kbn_chart_expressions_common.mdx | 2 +- api_docs/kbn_chart_icons.mdx | 2 +- api_docs/kbn_ci_stats_core.mdx | 2 +- api_docs/kbn_ci_stats_performance_metrics.mdx | 2 +- api_docs/kbn_ci_stats_reporter.mdx | 2 +- api_docs/kbn_cli_dev_mode.mdx | 2 +- api_docs/kbn_code_editor.mdx | 2 +- api_docs/kbn_code_editor_mocks.mdx | 2 +- api_docs/kbn_coloring.mdx | 2 +- api_docs/kbn_config.mdx | 2 +- api_docs/kbn_config_mocks.mdx | 2 +- api_docs/kbn_config_schema.mdx | 2 +- api_docs/kbn_content_management_content_editor.mdx | 2 +- api_docs/kbn_content_management_tabbed_table_list_view.mdx | 2 +- api_docs/kbn_content_management_table_list_view.mdx | 2 +- api_docs/kbn_content_management_table_list_view_table.mdx | 2 +- api_docs/kbn_content_management_utils.mdx | 2 +- api_docs/kbn_core_analytics_browser.mdx | 2 +- api_docs/kbn_core_analytics_browser_internal.mdx | 2 +- api_docs/kbn_core_analytics_browser_mocks.mdx | 2 +- api_docs/kbn_core_analytics_server.mdx | 2 +- api_docs/kbn_core_analytics_server_internal.mdx | 2 +- api_docs/kbn_core_analytics_server_mocks.mdx | 2 +- api_docs/kbn_core_application_browser.mdx | 2 +- api_docs/kbn_core_application_browser_internal.mdx | 2 +- api_docs/kbn_core_application_browser_mocks.mdx | 2 +- api_docs/kbn_core_application_common.mdx | 2 +- api_docs/kbn_core_apps_browser_internal.mdx | 2 +- api_docs/kbn_core_apps_browser_mocks.mdx | 2 +- api_docs/kbn_core_apps_server_internal.mdx | 2 +- api_docs/kbn_core_base_browser_mocks.mdx | 2 +- api_docs/kbn_core_base_common.mdx | 2 +- api_docs/kbn_core_base_server_internal.mdx | 2 +- api_docs/kbn_core_base_server_mocks.mdx | 2 +- api_docs/kbn_core_capabilities_browser_mocks.mdx | 2 +- api_docs/kbn_core_capabilities_common.mdx | 2 +- api_docs/kbn_core_capabilities_server.mdx | 2 +- api_docs/kbn_core_capabilities_server_mocks.mdx | 2 +- api_docs/kbn_core_chrome_browser.mdx | 2 +- api_docs/kbn_core_chrome_browser_mocks.mdx | 2 +- api_docs/kbn_core_config_server_internal.mdx | 2 +- api_docs/kbn_core_custom_branding_browser.mdx | 2 +- api_docs/kbn_core_custom_branding_browser_internal.mdx | 2 +- api_docs/kbn_core_custom_branding_browser_mocks.mdx | 2 +- api_docs/kbn_core_custom_branding_common.mdx | 2 +- api_docs/kbn_core_custom_branding_server.mdx | 2 +- api_docs/kbn_core_custom_branding_server_internal.mdx | 2 +- api_docs/kbn_core_custom_branding_server_mocks.mdx | 2 +- api_docs/kbn_core_deprecations_browser.mdx | 2 +- api_docs/kbn_core_deprecations_browser_internal.mdx | 2 +- api_docs/kbn_core_deprecations_browser_mocks.mdx | 2 +- api_docs/kbn_core_deprecations_common.mdx | 2 +- api_docs/kbn_core_deprecations_server.mdx | 2 +- api_docs/kbn_core_deprecations_server_internal.mdx | 2 +- api_docs/kbn_core_deprecations_server_mocks.mdx | 2 +- api_docs/kbn_core_doc_links_browser.mdx | 2 +- api_docs/kbn_core_doc_links_browser_mocks.mdx | 2 +- api_docs/kbn_core_doc_links_server.mdx | 2 +- api_docs/kbn_core_doc_links_server_mocks.mdx | 2 +- api_docs/kbn_core_elasticsearch_client_server_internal.mdx | 2 +- api_docs/kbn_core_elasticsearch_client_server_mocks.mdx | 2 +- api_docs/kbn_core_elasticsearch_server.mdx | 2 +- api_docs/kbn_core_elasticsearch_server_internal.mdx | 2 +- api_docs/kbn_core_elasticsearch_server_mocks.mdx | 2 +- api_docs/kbn_core_environment_server_internal.mdx | 2 +- api_docs/kbn_core_environment_server_mocks.mdx | 2 +- api_docs/kbn_core_execution_context_browser.mdx | 2 +- api_docs/kbn_core_execution_context_browser_internal.mdx | 2 +- api_docs/kbn_core_execution_context_browser_mocks.mdx | 2 +- api_docs/kbn_core_execution_context_common.mdx | 2 +- api_docs/kbn_core_execution_context_server.mdx | 2 +- api_docs/kbn_core_execution_context_server_internal.mdx | 2 +- api_docs/kbn_core_execution_context_server_mocks.mdx | 2 +- api_docs/kbn_core_fatal_errors_browser.mdx | 2 +- api_docs/kbn_core_fatal_errors_browser_mocks.mdx | 2 +- api_docs/kbn_core_http_browser.mdx | 2 +- api_docs/kbn_core_http_browser_internal.mdx | 2 +- api_docs/kbn_core_http_browser_mocks.mdx | 2 +- api_docs/kbn_core_http_common.mdx | 2 +- api_docs/kbn_core_http_context_server_mocks.mdx | 2 +- api_docs/kbn_core_http_request_handler_context_server.mdx | 2 +- api_docs/kbn_core_http_resources_server.mdx | 2 +- api_docs/kbn_core_http_resources_server_internal.mdx | 2 +- api_docs/kbn_core_http_resources_server_mocks.mdx | 2 +- api_docs/kbn_core_http_router_server_internal.mdx | 2 +- api_docs/kbn_core_http_router_server_mocks.mdx | 2 +- api_docs/kbn_core_http_server.mdx | 2 +- api_docs/kbn_core_http_server_internal.mdx | 2 +- api_docs/kbn_core_http_server_mocks.mdx | 2 +- api_docs/kbn_core_i18n_browser.mdx | 2 +- api_docs/kbn_core_i18n_browser_mocks.mdx | 2 +- api_docs/kbn_core_i18n_server.mdx | 2 +- api_docs/kbn_core_i18n_server_internal.mdx | 2 +- api_docs/kbn_core_i18n_server_mocks.mdx | 2 +- api_docs/kbn_core_injected_metadata_browser_mocks.mdx | 2 +- api_docs/kbn_core_integrations_browser_internal.mdx | 2 +- api_docs/kbn_core_integrations_browser_mocks.mdx | 2 +- api_docs/kbn_core_lifecycle_browser.mdx | 2 +- api_docs/kbn_core_lifecycle_browser_mocks.mdx | 2 +- api_docs/kbn_core_lifecycle_server.mdx | 2 +- api_docs/kbn_core_lifecycle_server_mocks.mdx | 2 +- api_docs/kbn_core_logging_browser_mocks.mdx | 2 +- api_docs/kbn_core_logging_common_internal.mdx | 2 +- api_docs/kbn_core_logging_server.mdx | 2 +- api_docs/kbn_core_logging_server_internal.mdx | 2 +- api_docs/kbn_core_logging_server_mocks.mdx | 2 +- api_docs/kbn_core_metrics_collectors_server_internal.mdx | 2 +- api_docs/kbn_core_metrics_collectors_server_mocks.mdx | 2 +- api_docs/kbn_core_metrics_server.mdx | 2 +- api_docs/kbn_core_metrics_server_internal.mdx | 2 +- api_docs/kbn_core_metrics_server_mocks.mdx | 2 +- api_docs/kbn_core_mount_utils_browser.mdx | 2 +- api_docs/kbn_core_node_server.mdx | 2 +- api_docs/kbn_core_node_server_internal.mdx | 2 +- api_docs/kbn_core_node_server_mocks.mdx | 2 +- api_docs/kbn_core_notifications_browser.mdx | 2 +- api_docs/kbn_core_notifications_browser_internal.mdx | 2 +- api_docs/kbn_core_notifications_browser_mocks.mdx | 2 +- api_docs/kbn_core_overlays_browser.mdx | 2 +- api_docs/kbn_core_overlays_browser_internal.mdx | 2 +- api_docs/kbn_core_overlays_browser_mocks.mdx | 2 +- api_docs/kbn_core_plugins_browser.mdx | 2 +- api_docs/kbn_core_plugins_browser_mocks.mdx | 2 +- api_docs/kbn_core_plugins_server.mdx | 2 +- api_docs/kbn_core_plugins_server_mocks.mdx | 2 +- api_docs/kbn_core_preboot_server.mdx | 2 +- api_docs/kbn_core_preboot_server_mocks.mdx | 2 +- api_docs/kbn_core_rendering_browser_mocks.mdx | 2 +- api_docs/kbn_core_rendering_server_internal.mdx | 2 +- api_docs/kbn_core_rendering_server_mocks.mdx | 2 +- api_docs/kbn_core_root_server_internal.mdx | 2 +- api_docs/kbn_core_saved_objects_api_browser.mdx | 2 +- api_docs/kbn_core_saved_objects_api_server.mdx | 2 +- api_docs/kbn_core_saved_objects_api_server_mocks.mdx | 2 +- api_docs/kbn_core_saved_objects_base_server_internal.mdx | 2 +- api_docs/kbn_core_saved_objects_base_server_mocks.mdx | 2 +- api_docs/kbn_core_saved_objects_browser.mdx | 2 +- api_docs/kbn_core_saved_objects_browser_internal.mdx | 2 +- api_docs/kbn_core_saved_objects_browser_mocks.mdx | 2 +- api_docs/kbn_core_saved_objects_common.mdx | 2 +- .../kbn_core_saved_objects_import_export_server_internal.mdx | 2 +- api_docs/kbn_core_saved_objects_import_export_server_mocks.mdx | 2 +- api_docs/kbn_core_saved_objects_migration_server_internal.mdx | 2 +- api_docs/kbn_core_saved_objects_migration_server_mocks.mdx | 2 +- api_docs/kbn_core_saved_objects_server.mdx | 2 +- api_docs/kbn_core_saved_objects_server_internal.mdx | 2 +- api_docs/kbn_core_saved_objects_server_mocks.mdx | 2 +- api_docs/kbn_core_saved_objects_utils_server.mdx | 2 +- api_docs/kbn_core_status_common.mdx | 2 +- api_docs/kbn_core_status_common_internal.mdx | 2 +- api_docs/kbn_core_status_server.mdx | 2 +- api_docs/kbn_core_status_server_internal.mdx | 2 +- api_docs/kbn_core_status_server_mocks.mdx | 2 +- api_docs/kbn_core_test_helpers_deprecations_getters.mdx | 2 +- api_docs/kbn_core_test_helpers_http_setup_browser.mdx | 2 +- api_docs/kbn_core_test_helpers_kbn_server.mdx | 2 +- api_docs/kbn_core_test_helpers_so_type_serializer.mdx | 2 +- api_docs/kbn_core_test_helpers_test_utils.mdx | 2 +- api_docs/kbn_core_theme_browser.mdx | 2 +- api_docs/kbn_core_theme_browser_mocks.mdx | 2 +- api_docs/kbn_core_ui_settings_browser.mdx | 2 +- api_docs/kbn_core_ui_settings_browser_internal.mdx | 2 +- api_docs/kbn_core_ui_settings_browser_mocks.mdx | 2 +- api_docs/kbn_core_ui_settings_common.mdx | 2 +- api_docs/kbn_core_ui_settings_server.mdx | 2 +- api_docs/kbn_core_ui_settings_server_internal.mdx | 2 +- api_docs/kbn_core_ui_settings_server_mocks.mdx | 2 +- api_docs/kbn_core_usage_data_server.mdx | 2 +- api_docs/kbn_core_usage_data_server_internal.mdx | 2 +- api_docs/kbn_core_usage_data_server_mocks.mdx | 2 +- api_docs/kbn_core_user_settings_server.mdx | 2 +- api_docs/kbn_core_user_settings_server_internal.mdx | 2 +- api_docs/kbn_core_user_settings_server_mocks.mdx | 2 +- api_docs/kbn_crypto.mdx | 2 +- api_docs/kbn_crypto_browser.mdx | 2 +- api_docs/kbn_custom_integrations.mdx | 2 +- api_docs/kbn_cypress_config.mdx | 2 +- api_docs/kbn_data_service.mdx | 2 +- api_docs/kbn_datemath.mdx | 2 +- api_docs/kbn_deeplinks_analytics.mdx | 2 +- api_docs/kbn_deeplinks_devtools.mdx | 2 +- api_docs/kbn_deeplinks_management.mdx | 2 +- api_docs/kbn_deeplinks_ml.mdx | 2 +- api_docs/kbn_deeplinks_observability.mdx | 2 +- api_docs/kbn_deeplinks_search.mdx | 2 +- api_docs/kbn_default_nav_analytics.mdx | 2 +- api_docs/kbn_default_nav_devtools.mdx | 2 +- api_docs/kbn_default_nav_management.mdx | 2 +- api_docs/kbn_default_nav_ml.mdx | 2 +- api_docs/kbn_dev_cli_errors.mdx | 2 +- api_docs/kbn_dev_cli_runner.mdx | 2 +- api_docs/kbn_dev_proc_runner.mdx | 2 +- api_docs/kbn_dev_utils.mdx | 2 +- api_docs/kbn_discover_utils.mdx | 2 +- api_docs/kbn_doc_links.mdx | 2 +- api_docs/kbn_docs_utils.mdx | 2 +- api_docs/kbn_dom_drag_drop.mdx | 2 +- api_docs/kbn_ebt_tools.mdx | 2 +- api_docs/kbn_ecs.mdx | 2 +- api_docs/kbn_ecs_data_quality_dashboard.mdx | 2 +- api_docs/kbn_elastic_assistant.mdx | 2 +- api_docs/kbn_es.mdx | 2 +- api_docs/kbn_es_archiver.mdx | 2 +- api_docs/kbn_es_errors.mdx | 2 +- api_docs/kbn_es_query.mdx | 2 +- api_docs/kbn_es_types.mdx | 2 +- api_docs/kbn_eslint_plugin_imports.mdx | 2 +- api_docs/kbn_event_annotation_common.mdx | 2 +- api_docs/kbn_event_annotation_components.mdx | 2 +- api_docs/kbn_expandable_flyout.mdx | 2 +- api_docs/kbn_field_types.mdx | 2 +- api_docs/kbn_find_used_node_modules.mdx | 2 +- api_docs/kbn_ftr_common_functional_services.mdx | 2 +- api_docs/kbn_generate.mdx | 2 +- api_docs/kbn_generate_console_definitions.mdx | 2 +- api_docs/kbn_generate_csv.mdx | 2 +- api_docs/kbn_generate_csv_types.mdx | 2 +- api_docs/kbn_guided_onboarding.mdx | 2 +- api_docs/kbn_handlebars.mdx | 2 +- api_docs/kbn_hapi_mocks.mdx | 2 +- api_docs/kbn_health_gateway_server.mdx | 2 +- api_docs/kbn_home_sample_data_card.mdx | 2 +- api_docs/kbn_home_sample_data_tab.mdx | 2 +- api_docs/kbn_i18n.mdx | 2 +- api_docs/kbn_i18n_react.mdx | 2 +- api_docs/kbn_import_resolver.mdx | 2 +- api_docs/kbn_infra_forge.mdx | 2 +- api_docs/kbn_interpreter.mdx | 2 +- api_docs/kbn_io_ts_utils.mdx | 2 +- api_docs/kbn_jest_serializers.mdx | 2 +- api_docs/kbn_journeys.mdx | 2 +- api_docs/kbn_json_ast.mdx | 2 +- api_docs/kbn_kibana_manifest_schema.mdx | 2 +- api_docs/kbn_language_documentation_popover.mdx | 2 +- api_docs/kbn_lens_embeddable_utils.mdx | 2 +- api_docs/kbn_logging.mdx | 2 +- api_docs/kbn_logging_mocks.mdx | 2 +- api_docs/kbn_managed_vscode_config.mdx | 2 +- api_docs/kbn_management_cards_navigation.mdx | 2 +- api_docs/kbn_management_settings_components_field_input.mdx | 2 +- api_docs/kbn_management_settings_components_field_row.mdx | 2 +- api_docs/kbn_management_settings_field_definition.mdx | 2 +- api_docs/kbn_management_settings_ids.mdx | 2 +- api_docs/kbn_management_settings_section_registry.mdx | 2 +- api_docs/kbn_management_settings_types.mdx | 2 +- api_docs/kbn_management_settings_utilities.mdx | 2 +- api_docs/kbn_management_storybook_config.mdx | 2 +- api_docs/kbn_mapbox_gl.mdx | 2 +- api_docs/kbn_maps_vector_tile_utils.mdx | 2 +- api_docs/kbn_ml_agg_utils.mdx | 2 +- api_docs/kbn_ml_anomaly_utils.mdx | 2 +- api_docs/kbn_ml_category_validator.mdx | 2 +- api_docs/kbn_ml_data_frame_analytics_utils.mdx | 2 +- api_docs/kbn_ml_data_grid.mdx | 2 +- api_docs/kbn_ml_date_picker.mdx | 2 +- api_docs/kbn_ml_date_utils.mdx | 2 +- api_docs/kbn_ml_error_utils.mdx | 2 +- api_docs/kbn_ml_in_memory_table.mdx | 2 +- api_docs/kbn_ml_is_defined.mdx | 2 +- api_docs/kbn_ml_is_populated_object.mdx | 2 +- api_docs/kbn_ml_kibana_theme.mdx | 2 +- api_docs/kbn_ml_local_storage.mdx | 2 +- api_docs/kbn_ml_nested_property.mdx | 2 +- api_docs/kbn_ml_number_utils.mdx | 2 +- api_docs/kbn_ml_query_utils.mdx | 2 +- api_docs/kbn_ml_random_sampler_utils.mdx | 2 +- api_docs/kbn_ml_route_utils.mdx | 2 +- api_docs/kbn_ml_runtime_field_utils.mdx | 2 +- api_docs/kbn_ml_string_hash.mdx | 2 +- api_docs/kbn_ml_trained_models_utils.mdx | 2 +- api_docs/kbn_ml_url_state.mdx | 2 +- api_docs/kbn_monaco.mdx | 2 +- api_docs/kbn_object_versioning.mdx | 2 +- api_docs/kbn_observability_alert_details.mdx | 2 +- api_docs/kbn_optimizer.mdx | 2 +- api_docs/kbn_optimizer_webpack_helpers.mdx | 2 +- api_docs/kbn_osquery_io_ts_types.mdx | 2 +- api_docs/kbn_performance_testing_dataset_extractor.mdx | 2 +- api_docs/kbn_plugin_generator.mdx | 2 +- api_docs/kbn_plugin_helpers.mdx | 2 +- api_docs/kbn_profiling_utils.mdx | 2 +- api_docs/kbn_random_sampling.mdx | 2 +- api_docs/kbn_react_field.mdx | 2 +- api_docs/kbn_react_kibana_context_common.mdx | 2 +- api_docs/kbn_react_kibana_context_render.mdx | 2 +- api_docs/kbn_react_kibana_context_root.mdx | 2 +- api_docs/kbn_react_kibana_context_styled.mdx | 2 +- api_docs/kbn_react_kibana_context_theme.mdx | 2 +- api_docs/kbn_react_kibana_mount.mdx | 2 +- api_docs/kbn_repo_file_maps.mdx | 2 +- api_docs/kbn_repo_linter.mdx | 2 +- api_docs/kbn_repo_path.mdx | 2 +- api_docs/kbn_repo_source_classifier.mdx | 2 +- api_docs/kbn_reporting_common.mdx | 2 +- api_docs/kbn_rison.mdx | 2 +- api_docs/kbn_rrule.mdx | 2 +- api_docs/kbn_rule_data_utils.mdx | 2 +- api_docs/kbn_saved_objects_settings.mdx | 2 +- api_docs/kbn_search_api_panels.mdx | 2 +- api_docs/kbn_search_connectors.mdx | 2 +- api_docs/kbn_search_response_warnings.mdx | 2 +- api_docs/kbn_security_solution_features.mdx | 2 +- api_docs/kbn_security_solution_navigation.mdx | 2 +- api_docs/kbn_security_solution_side_nav.mdx | 2 +- api_docs/kbn_security_solution_storybook_config.mdx | 2 +- api_docs/kbn_securitysolution_autocomplete.mdx | 2 +- api_docs/kbn_securitysolution_data_table.mdx | 2 +- api_docs/kbn_securitysolution_ecs.mdx | 2 +- api_docs/kbn_securitysolution_es_utils.mdx | 2 +- api_docs/kbn_securitysolution_exception_list_components.mdx | 2 +- api_docs/kbn_securitysolution_grouping.mdx | 2 +- api_docs/kbn_securitysolution_hook_utils.mdx | 2 +- api_docs/kbn_securitysolution_io_ts_alerting_types.mdx | 2 +- api_docs/kbn_securitysolution_io_ts_list_types.mdx | 2 +- api_docs/kbn_securitysolution_io_ts_types.mdx | 2 +- api_docs/kbn_securitysolution_io_ts_utils.mdx | 2 +- api_docs/kbn_securitysolution_list_api.mdx | 2 +- api_docs/kbn_securitysolution_list_constants.mdx | 2 +- api_docs/kbn_securitysolution_list_hooks.mdx | 2 +- api_docs/kbn_securitysolution_list_utils.mdx | 2 +- api_docs/kbn_securitysolution_rules.mdx | 2 +- api_docs/kbn_securitysolution_t_grid.mdx | 2 +- api_docs/kbn_securitysolution_utils.mdx | 2 +- api_docs/kbn_server_http_tools.mdx | 2 +- api_docs/kbn_server_route_repository.mdx | 2 +- api_docs/kbn_serverless_common_settings.mdx | 2 +- api_docs/kbn_serverless_observability_settings.mdx | 2 +- api_docs/kbn_serverless_project_switcher.mdx | 2 +- api_docs/kbn_serverless_search_settings.mdx | 2 +- api_docs/kbn_serverless_security_settings.mdx | 2 +- api_docs/kbn_serverless_storybook_config.mdx | 2 +- api_docs/kbn_shared_svg.mdx | 2 +- api_docs/kbn_shared_ux_avatar_solution.mdx | 2 +- api_docs/kbn_shared_ux_avatar_user_profile_components.mdx | 2 +- api_docs/kbn_shared_ux_button_exit_full_screen.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_chrome_navigation.mdx | 2 +- api_docs/kbn_shared_ux_file_context.mdx | 2 +- api_docs/kbn_shared_ux_file_image.mdx | 2 +- api_docs/kbn_shared_ux_file_image_mocks.mdx | 2 +- api_docs/kbn_shared_ux_file_mocks.mdx | 2 +- api_docs/kbn_shared_ux_file_picker.mdx | 2 +- api_docs/kbn_shared_ux_file_types.mdx | 2 +- api_docs/kbn_shared_ux_file_upload.mdx | 2 +- api_docs/kbn_shared_ux_file_util.mdx | 2 +- api_docs/kbn_shared_ux_link_redirect_app.mdx | 2 +- api_docs/kbn_shared_ux_link_redirect_app_mocks.mdx | 2 +- api_docs/kbn_shared_ux_markdown.mdx | 2 +- api_docs/kbn_shared_ux_markdown_mocks.mdx | 2 +- api_docs/kbn_shared_ux_page_analytics_no_data.mdx | 2 +- api_docs/kbn_shared_ux_page_analytics_no_data_mocks.mdx | 2 +- api_docs/kbn_shared_ux_page_kibana_no_data.mdx | 2 +- api_docs/kbn_shared_ux_page_kibana_no_data_mocks.mdx | 2 +- api_docs/kbn_shared_ux_page_kibana_template.mdx | 2 +- api_docs/kbn_shared_ux_page_kibana_template_mocks.mdx | 2 +- api_docs/kbn_shared_ux_page_no_data.mdx | 2 +- api_docs/kbn_shared_ux_page_no_data_config.mdx | 2 +- api_docs/kbn_shared_ux_page_no_data_config_mocks.mdx | 2 +- api_docs/kbn_shared_ux_page_no_data_mocks.mdx | 2 +- api_docs/kbn_shared_ux_page_solution_nav.mdx | 2 +- api_docs/kbn_shared_ux_prompt_no_data_views.mdx | 2 +- api_docs/kbn_shared_ux_prompt_no_data_views_mocks.mdx | 2 +- api_docs/kbn_shared_ux_prompt_not_found.mdx | 2 +- api_docs/kbn_shared_ux_router.mdx | 2 +- api_docs/kbn_shared_ux_router_mocks.mdx | 2 +- api_docs/kbn_shared_ux_storybook_config.mdx | 2 +- api_docs/kbn_shared_ux_storybook_mock.mdx | 2 +- api_docs/kbn_shared_ux_utility.mdx | 2 +- api_docs/kbn_slo_schema.mdx | 2 +- api_docs/kbn_some_dev_log.mdx | 2 +- api_docs/kbn_std.mdx | 2 +- api_docs/kbn_stdio_dev_helpers.mdx | 2 +- api_docs/kbn_storybook.mdx | 2 +- api_docs/kbn_subscription_tracking.mdx | 2 +- api_docs/kbn_telemetry_tools.mdx | 2 +- api_docs/kbn_test.mdx | 2 +- api_docs/kbn_test_jest_helpers.mdx | 2 +- api_docs/kbn_test_subj_selector.mdx | 2 +- api_docs/kbn_text_based_editor.mdx | 2 +- api_docs/kbn_tooling_log.mdx | 2 +- api_docs/kbn_ts_projects.mdx | 2 +- api_docs/kbn_typed_react_router_config.mdx | 2 +- api_docs/kbn_ui_actions_browser.mdx | 2 +- api_docs/kbn_ui_shared_deps_src.mdx | 2 +- api_docs/kbn_ui_theme.mdx | 2 +- api_docs/kbn_unified_data_table.mdx | 2 +- api_docs/kbn_unified_doc_viewer.mdx | 2 +- api_docs/kbn_unified_field_list.mdx | 2 +- api_docs/kbn_url_state.mdx | 2 +- api_docs/kbn_use_tracked_promise.mdx | 2 +- api_docs/kbn_user_profile_components.mdx | 2 +- api_docs/kbn_utility_types.mdx | 2 +- api_docs/kbn_utility_types_jest.mdx | 2 +- api_docs/kbn_utils.mdx | 2 +- api_docs/kbn_visualization_ui_components.mdx | 2 +- api_docs/kbn_xstate_utils.mdx | 2 +- api_docs/kbn_yarn_lock_validator.mdx | 2 +- api_docs/kibana_overview.mdx | 2 +- api_docs/kibana_react.mdx | 2 +- api_docs/kibana_utils.mdx | 2 +- api_docs/kubernetes_security.mdx | 2 +- api_docs/lens.mdx | 2 +- api_docs/license_api_guard.mdx | 2 +- api_docs/license_management.mdx | 2 +- api_docs/licensing.mdx | 2 +- api_docs/lists.mdx | 2 +- api_docs/log_explorer.mdx | 2 +- api_docs/logs_shared.mdx | 2 +- api_docs/management.mdx | 2 +- api_docs/maps.mdx | 2 +- api_docs/maps_ems.mdx | 2 +- api_docs/metrics_data_access.mdx | 2 +- api_docs/ml.mdx | 2 +- api_docs/monitoring.mdx | 2 +- api_docs/monitoring_collection.mdx | 2 +- api_docs/navigation.mdx | 2 +- api_docs/newsfeed.mdx | 2 +- api_docs/no_data_page.mdx | 2 +- api_docs/notifications.mdx | 2 +- api_docs/observability.mdx | 2 +- api_docs/observability_a_i_assistant.mdx | 2 +- api_docs/observability_log_explorer.mdx | 2 +- api_docs/observability_onboarding.mdx | 2 +- api_docs/observability_shared.mdx | 2 +- api_docs/osquery.mdx | 2 +- api_docs/painless_lab.mdx | 2 +- api_docs/plugin_directory.mdx | 2 +- api_docs/presentation_util.mdx | 2 +- api_docs/profiling.mdx | 2 +- api_docs/profiling_data_access.mdx | 2 +- api_docs/remote_clusters.mdx | 2 +- api_docs/reporting.mdx | 2 +- api_docs/rollup.mdx | 2 +- api_docs/rule_registry.mdx | 2 +- api_docs/runtime_fields.mdx | 2 +- api_docs/saved_objects.mdx | 2 +- api_docs/saved_objects_finder.mdx | 2 +- api_docs/saved_objects_management.mdx | 2 +- api_docs/saved_objects_tagging.mdx | 2 +- api_docs/saved_objects_tagging_oss.mdx | 2 +- api_docs/saved_search.mdx | 2 +- api_docs/screenshot_mode.mdx | 2 +- api_docs/screenshotting.mdx | 2 +- api_docs/security.mdx | 2 +- api_docs/security_solution.mdx | 2 +- api_docs/security_solution_ess.mdx | 2 +- api_docs/security_solution_serverless.mdx | 2 +- api_docs/serverless.mdx | 2 +- api_docs/serverless_observability.mdx | 2 +- api_docs/serverless_search.mdx | 2 +- api_docs/session_view.mdx | 2 +- api_docs/share.mdx | 2 +- api_docs/snapshot_restore.mdx | 2 +- api_docs/spaces.mdx | 2 +- api_docs/stack_alerts.mdx | 2 +- api_docs/stack_connectors.mdx | 2 +- api_docs/task_manager.mdx | 2 +- api_docs/telemetry.mdx | 2 +- api_docs/telemetry_collection_manager.mdx | 2 +- api_docs/telemetry_collection_xpack.mdx | 2 +- api_docs/telemetry_management_section.mdx | 2 +- api_docs/text_based_languages.mdx | 2 +- api_docs/threat_intelligence.mdx | 2 +- api_docs/timelines.mdx | 2 +- api_docs/transform.mdx | 2 +- api_docs/triggers_actions_ui.mdx | 2 +- api_docs/ui_actions.mdx | 2 +- api_docs/ui_actions_enhanced.mdx | 2 +- api_docs/unified_doc_viewer.mdx | 2 +- api_docs/unified_histogram.mdx | 2 +- api_docs/unified_search.mdx | 2 +- api_docs/unified_search_autocomplete.mdx | 2 +- api_docs/uptime.mdx | 2 +- api_docs/url_forwarding.mdx | 2 +- api_docs/usage_collection.mdx | 2 +- api_docs/ux.mdx | 2 +- api_docs/vis_default_editor.mdx | 2 +- api_docs/vis_type_gauge.mdx | 2 +- api_docs/vis_type_heatmap.mdx | 2 +- api_docs/vis_type_pie.mdx | 2 +- api_docs/vis_type_table.mdx | 2 +- api_docs/vis_type_timelion.mdx | 2 +- api_docs/vis_type_timeseries.mdx | 2 +- api_docs/vis_type_vega.mdx | 2 +- api_docs/vis_type_vislib.mdx | 2 +- api_docs/vis_type_xy.mdx | 2 +- api_docs/visualizations.mdx | 2 +- 590 files changed, 590 insertions(+), 590 deletions(-) diff --git a/api_docs/actions.mdx b/api_docs/actions.mdx index 39c297a638f27e..39face604ae3db 100644 --- a/api_docs/actions.mdx +++ b/api_docs/actions.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/actions title: "actions" image: https://source.unsplash.com/400x175/?github description: API docs for the actions plugin -date: 2023-09-23 +date: 2023-09-24 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 0faae24a8b94ba..c6332255c07d23 100644 --- a/api_docs/advanced_settings.mdx +++ b/api_docs/advanced_settings.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/advancedSettings title: "advancedSettings" image: https://source.unsplash.com/400x175/?github description: API docs for the advancedSettings plugin -date: 2023-09-23 +date: 2023-09-24 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 c5baeb0cb22b64..76bf810afcfec2 100644 --- a/api_docs/aiops.mdx +++ b/api_docs/aiops.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/aiops title: "aiops" image: https://source.unsplash.com/400x175/?github description: API docs for the aiops plugin -date: 2023-09-23 +date: 2023-09-24 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 ebf06c986dcff8..9ae244d8db0ccd 100644 --- a/api_docs/alerting.mdx +++ b/api_docs/alerting.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/alerting title: "alerting" image: https://source.unsplash.com/400x175/?github description: API docs for the alerting plugin -date: 2023-09-23 +date: 2023-09-24 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 d23c9ecb57f961..56ec920d06f45f 100644 --- a/api_docs/apm.mdx +++ b/api_docs/apm.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/apm title: "apm" image: https://source.unsplash.com/400x175/?github description: API docs for the apm plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'apm'] --- import apmObj from './apm.devdocs.json'; diff --git a/api_docs/apm_data_access.mdx b/api_docs/apm_data_access.mdx index e40d36a069eb15..0b0fd19404459d 100644 --- a/api_docs/apm_data_access.mdx +++ b/api_docs/apm_data_access.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/apmDataAccess title: "apmDataAccess" image: https://source.unsplash.com/400x175/?github description: API docs for the apmDataAccess plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'apmDataAccess'] --- import apmDataAccessObj from './apm_data_access.devdocs.json'; diff --git a/api_docs/asset_manager.mdx b/api_docs/asset_manager.mdx index ac64992ea455ae..164e791dc247b2 100644 --- a/api_docs/asset_manager.mdx +++ b/api_docs/asset_manager.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/assetManager title: "assetManager" image: https://source.unsplash.com/400x175/?github description: API docs for the assetManager plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'assetManager'] --- import assetManagerObj from './asset_manager.devdocs.json'; diff --git a/api_docs/banners.mdx b/api_docs/banners.mdx index f0d7089b28decd..7bbe86c2286b24 100644 --- a/api_docs/banners.mdx +++ b/api_docs/banners.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/banners title: "banners" image: https://source.unsplash.com/400x175/?github description: API docs for the banners plugin -date: 2023-09-23 +date: 2023-09-24 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 ba6854e641b926..ed255848972411 100644 --- a/api_docs/bfetch.mdx +++ b/api_docs/bfetch.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/bfetch title: "bfetch" image: https://source.unsplash.com/400x175/?github description: API docs for the bfetch plugin -date: 2023-09-23 +date: 2023-09-24 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 5f35c75afcb6fe..aba883f9820063 100644 --- a/api_docs/canvas.mdx +++ b/api_docs/canvas.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/canvas title: "canvas" image: https://source.unsplash.com/400x175/?github description: API docs for the canvas plugin -date: 2023-09-23 +date: 2023-09-24 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 bdc5394cad81be..bd758c3d7f4c3a 100644 --- a/api_docs/cases.mdx +++ b/api_docs/cases.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cases title: "cases" image: https://source.unsplash.com/400x175/?github description: API docs for the cases plugin -date: 2023-09-23 +date: 2023-09-24 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 e63df42601a6e9..430aec9b77dea4 100644 --- a/api_docs/charts.mdx +++ b/api_docs/charts.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/charts title: "charts" image: https://source.unsplash.com/400x175/?github description: API docs for the charts plugin -date: 2023-09-23 +date: 2023-09-24 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 d07db034502880..5e6193110818b2 100644 --- a/api_docs/cloud.mdx +++ b/api_docs/cloud.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloud title: "cloud" image: https://source.unsplash.com/400x175/?github description: API docs for the cloud plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloud'] --- import cloudObj from './cloud.devdocs.json'; diff --git a/api_docs/cloud_chat.mdx b/api_docs/cloud_chat.mdx index e69eb9b03aedb2..28b8dcc12a2395 100644 --- a/api_docs/cloud_chat.mdx +++ b/api_docs/cloud_chat.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudChat title: "cloudChat" image: https://source.unsplash.com/400x175/?github description: API docs for the cloudChat plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudChat'] --- import cloudChatObj from './cloud_chat.devdocs.json'; diff --git a/api_docs/cloud_chat_provider.mdx b/api_docs/cloud_chat_provider.mdx index f410339b45d8eb..400e8d2ecb93fd 100644 --- a/api_docs/cloud_chat_provider.mdx +++ b/api_docs/cloud_chat_provider.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudChatProvider title: "cloudChatProvider" image: https://source.unsplash.com/400x175/?github description: API docs for the cloudChatProvider plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudChatProvider'] --- import cloudChatProviderObj from './cloud_chat_provider.devdocs.json'; diff --git a/api_docs/cloud_data_migration.mdx b/api_docs/cloud_data_migration.mdx index 85744f1f164f82..5b07f8828f80a0 100644 --- a/api_docs/cloud_data_migration.mdx +++ b/api_docs/cloud_data_migration.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudDataMigration title: "cloudDataMigration" image: https://source.unsplash.com/400x175/?github description: API docs for the cloudDataMigration plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudDataMigration'] --- import cloudDataMigrationObj from './cloud_data_migration.devdocs.json'; diff --git a/api_docs/cloud_defend.mdx b/api_docs/cloud_defend.mdx index cffb497135d51f..8b2149823b4b28 100644 --- a/api_docs/cloud_defend.mdx +++ b/api_docs/cloud_defend.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudDefend title: "cloudDefend" image: https://source.unsplash.com/400x175/?github description: API docs for the cloudDefend plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudDefend'] --- import cloudDefendObj from './cloud_defend.devdocs.json'; diff --git a/api_docs/cloud_experiments.mdx b/api_docs/cloud_experiments.mdx index 8976cad89f07f7..dc82c38698b520 100644 --- a/api_docs/cloud_experiments.mdx +++ b/api_docs/cloud_experiments.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudExperiments title: "cloudExperiments" image: https://source.unsplash.com/400x175/?github description: API docs for the cloudExperiments plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudExperiments'] --- import cloudExperimentsObj from './cloud_experiments.devdocs.json'; diff --git a/api_docs/cloud_security_posture.mdx b/api_docs/cloud_security_posture.mdx index 0f9787fe113099..00fd75266f7e66 100644 --- a/api_docs/cloud_security_posture.mdx +++ b/api_docs/cloud_security_posture.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudSecurityPosture title: "cloudSecurityPosture" image: https://source.unsplash.com/400x175/?github description: API docs for the cloudSecurityPosture plugin -date: 2023-09-23 +date: 2023-09-24 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 21a78cec424be1..5459b168e3a3fd 100644 --- a/api_docs/console.mdx +++ b/api_docs/console.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/console title: "console" image: https://source.unsplash.com/400x175/?github description: API docs for the console plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'console'] --- import consoleObj from './console.devdocs.json'; diff --git a/api_docs/content_management.mdx b/api_docs/content_management.mdx index 19e039f6d97f81..746b2aa7664647 100644 --- a/api_docs/content_management.mdx +++ b/api_docs/content_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/contentManagement title: "contentManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the contentManagement plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'contentManagement'] --- import contentManagementObj from './content_management.devdocs.json'; diff --git a/api_docs/controls.mdx b/api_docs/controls.mdx index 2744c1b24ed6bc..dd78b89830f2c4 100644 --- a/api_docs/controls.mdx +++ b/api_docs/controls.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/controls title: "controls" image: https://source.unsplash.com/400x175/?github description: API docs for the controls plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'controls'] --- import controlsObj from './controls.devdocs.json'; diff --git a/api_docs/custom_integrations.mdx b/api_docs/custom_integrations.mdx index 488ccad1de288d..b4f3babff5610a 100644 --- a/api_docs/custom_integrations.mdx +++ b/api_docs/custom_integrations.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/customIntegrations title: "customIntegrations" image: https://source.unsplash.com/400x175/?github description: API docs for the customIntegrations plugin -date: 2023-09-23 +date: 2023-09-24 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 5345d51b10a7e4..88dad232187bfc 100644 --- a/api_docs/dashboard.mdx +++ b/api_docs/dashboard.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dashboard title: "dashboard" image: https://source.unsplash.com/400x175/?github description: API docs for the dashboard plugin -date: 2023-09-23 +date: 2023-09-24 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 2e81b7cb05ceea..3be0035d0c5590 100644 --- a/api_docs/dashboard_enhanced.mdx +++ b/api_docs/dashboard_enhanced.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dashboardEnhanced title: "dashboardEnhanced" image: https://source.unsplash.com/400x175/?github description: API docs for the dashboardEnhanced plugin -date: 2023-09-23 +date: 2023-09-24 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 f8e13f109a9f19..4f028146ba0211 100644 --- a/api_docs/data.mdx +++ b/api_docs/data.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/data title: "data" image: https://source.unsplash.com/400x175/?github description: API docs for the data plugin -date: 2023-09-23 +date: 2023-09-24 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 56c7063e309eb6..500c30f4aec9c2 100644 --- a/api_docs/data_query.mdx +++ b/api_docs/data_query.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/data-query title: "data.query" image: https://source.unsplash.com/400x175/?github description: API docs for the data.query plugin -date: 2023-09-23 +date: 2023-09-24 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 5a73fdd5c982cd..845ebf3f4e76c7 100644 --- a/api_docs/data_search.mdx +++ b/api_docs/data_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/data-search title: "data.search" image: https://source.unsplash.com/400x175/?github description: API docs for the data.search plugin -date: 2023-09-23 +date: 2023-09-24 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 68bfdb1b521575..b26e52a4035d8b 100644 --- a/api_docs/data_view_editor.mdx +++ b/api_docs/data_view_editor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataViewEditor title: "dataViewEditor" image: https://source.unsplash.com/400x175/?github description: API docs for the dataViewEditor plugin -date: 2023-09-23 +date: 2023-09-24 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 b3806e94e88859..959fe2b132b382 100644 --- a/api_docs/data_view_field_editor.mdx +++ b/api_docs/data_view_field_editor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataViewFieldEditor title: "dataViewFieldEditor" image: https://source.unsplash.com/400x175/?github description: API docs for the dataViewFieldEditor plugin -date: 2023-09-23 +date: 2023-09-24 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 e3cc4f687f9907..7915dd40dca6d1 100644 --- a/api_docs/data_view_management.mdx +++ b/api_docs/data_view_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataViewManagement title: "dataViewManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the dataViewManagement plugin -date: 2023-09-23 +date: 2023-09-24 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 84d53a40fbfe79..4d131b156a5f0d 100644 --- a/api_docs/data_views.mdx +++ b/api_docs/data_views.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataViews title: "dataViews" image: https://source.unsplash.com/400x175/?github description: API docs for the dataViews plugin -date: 2023-09-23 +date: 2023-09-24 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 85e9bedd3e90eb..4685266c576542 100644 --- a/api_docs/data_visualizer.mdx +++ b/api_docs/data_visualizer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataVisualizer title: "dataVisualizer" image: https://source.unsplash.com/400x175/?github description: API docs for the dataVisualizer plugin -date: 2023-09-23 +date: 2023-09-24 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 2f3d1ce6b6ef5c..4216d83dd937a7 100644 --- a/api_docs/deprecations_by_api.mdx +++ b/api_docs/deprecations_by_api.mdx @@ -7,7 +7,7 @@ id: kibDevDocsDeprecationsByApi slug: /kibana-dev-docs/api-meta/deprecated-api-list-by-api title: Deprecated API usage by API description: A list of deprecated APIs, which plugins are still referencing them, and when they need to be removed by. -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- diff --git a/api_docs/deprecations_by_plugin.mdx b/api_docs/deprecations_by_plugin.mdx index ad4487487aa4be..c8fea21aaad843 100644 --- a/api_docs/deprecations_by_plugin.mdx +++ b/api_docs/deprecations_by_plugin.mdx @@ -7,7 +7,7 @@ id: kibDevDocsDeprecationsByPlugin slug: /kibana-dev-docs/api-meta/deprecated-api-list-by-plugin title: Deprecated API usage by plugin description: A list of deprecated APIs, which plugins are still referencing them, and when they need to be removed by. -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- diff --git a/api_docs/deprecations_by_team.mdx b/api_docs/deprecations_by_team.mdx index 2a23f6adaa66a9..bb3593e09f3042 100644 --- a/api_docs/deprecations_by_team.mdx +++ b/api_docs/deprecations_by_team.mdx @@ -7,7 +7,7 @@ id: kibDevDocsDeprecationsDueByTeam slug: /kibana-dev-docs/api-meta/deprecations-due-by-team title: Deprecated APIs due to be removed, by team description: Lists the teams that are referencing deprecated APIs with a remove by date. -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- diff --git a/api_docs/dev_tools.mdx b/api_docs/dev_tools.mdx index 399fdec476c1b7..32cc9785a5061c 100644 --- a/api_docs/dev_tools.mdx +++ b/api_docs/dev_tools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/devTools title: "devTools" image: https://source.unsplash.com/400x175/?github description: API docs for the devTools plugin -date: 2023-09-23 +date: 2023-09-24 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 d5e1c0a7224c73..ae772ff77dfdef 100644 --- a/api_docs/discover.mdx +++ b/api_docs/discover.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/discover title: "discover" image: https://source.unsplash.com/400x175/?github description: API docs for the discover plugin -date: 2023-09-23 +date: 2023-09-24 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 7b42e812c5d4aa..68a6830ff31d8f 100644 --- a/api_docs/discover_enhanced.mdx +++ b/api_docs/discover_enhanced.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/discoverEnhanced title: "discoverEnhanced" image: https://source.unsplash.com/400x175/?github description: API docs for the discoverEnhanced plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'discoverEnhanced'] --- import discoverEnhancedObj from './discover_enhanced.devdocs.json'; diff --git a/api_docs/ecs_data_quality_dashboard.mdx b/api_docs/ecs_data_quality_dashboard.mdx index 64b3268431998f..292e22f3ebf713 100644 --- a/api_docs/ecs_data_quality_dashboard.mdx +++ b/api_docs/ecs_data_quality_dashboard.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/ecsDataQualityDashboard title: "ecsDataQualityDashboard" image: https://source.unsplash.com/400x175/?github description: API docs for the ecsDataQualityDashboard plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'ecsDataQualityDashboard'] --- import ecsDataQualityDashboardObj from './ecs_data_quality_dashboard.devdocs.json'; diff --git a/api_docs/elastic_assistant.mdx b/api_docs/elastic_assistant.mdx index b21c6e5fdb9f08..55eff2b5cd2f7e 100644 --- a/api_docs/elastic_assistant.mdx +++ b/api_docs/elastic_assistant.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/elasticAssistant title: "elasticAssistant" image: https://source.unsplash.com/400x175/?github description: API docs for the elasticAssistant plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'elasticAssistant'] --- import elasticAssistantObj from './elastic_assistant.devdocs.json'; diff --git a/api_docs/embeddable.mdx b/api_docs/embeddable.mdx index 4b2f89c4c30f6f..fd47d961bb3cec 100644 --- a/api_docs/embeddable.mdx +++ b/api_docs/embeddable.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/embeddable title: "embeddable" image: https://source.unsplash.com/400x175/?github description: API docs for the embeddable plugin -date: 2023-09-23 +date: 2023-09-24 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 7accd2a9ff9064..351e75f786f328 100644 --- a/api_docs/embeddable_enhanced.mdx +++ b/api_docs/embeddable_enhanced.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/embeddableEnhanced title: "embeddableEnhanced" image: https://source.unsplash.com/400x175/?github description: API docs for the embeddableEnhanced plugin -date: 2023-09-23 +date: 2023-09-24 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 ed165823eeba56..770955afe32dec 100644 --- a/api_docs/encrypted_saved_objects.mdx +++ b/api_docs/encrypted_saved_objects.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/encryptedSavedObjects title: "encryptedSavedObjects" image: https://source.unsplash.com/400x175/?github description: API docs for the encryptedSavedObjects plugin -date: 2023-09-23 +date: 2023-09-24 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 933a99513d24a8..b1783b619570f3 100644 --- a/api_docs/enterprise_search.mdx +++ b/api_docs/enterprise_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/enterpriseSearch title: "enterpriseSearch" image: https://source.unsplash.com/400x175/?github description: API docs for the enterpriseSearch plugin -date: 2023-09-23 +date: 2023-09-24 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 06b56354ca7e57..3a8dc4aeb58d37 100644 --- a/api_docs/es_ui_shared.mdx +++ b/api_docs/es_ui_shared.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/esUiShared title: "esUiShared" image: https://source.unsplash.com/400x175/?github description: API docs for the esUiShared plugin -date: 2023-09-23 +date: 2023-09-24 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 fc36eccea87fab..fabeda4e8edf95 100644 --- a/api_docs/event_annotation.mdx +++ b/api_docs/event_annotation.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/eventAnnotation title: "eventAnnotation" image: https://source.unsplash.com/400x175/?github description: API docs for the eventAnnotation plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'eventAnnotation'] --- import eventAnnotationObj from './event_annotation.devdocs.json'; diff --git a/api_docs/event_annotation_listing.mdx b/api_docs/event_annotation_listing.mdx index 834d438105a26d..0e8b6a0f0608a0 100644 --- a/api_docs/event_annotation_listing.mdx +++ b/api_docs/event_annotation_listing.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/eventAnnotationListing title: "eventAnnotationListing" image: https://source.unsplash.com/400x175/?github description: API docs for the eventAnnotationListing plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'eventAnnotationListing'] --- import eventAnnotationListingObj from './event_annotation_listing.devdocs.json'; diff --git a/api_docs/event_log.mdx b/api_docs/event_log.mdx index b0f61adb7b1d48..6880cc40ae6ccd 100644 --- a/api_docs/event_log.mdx +++ b/api_docs/event_log.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/eventLog title: "eventLog" image: https://source.unsplash.com/400x175/?github description: API docs for the eventLog plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'eventLog'] --- import eventLogObj from './event_log.devdocs.json'; diff --git a/api_docs/exploratory_view.mdx b/api_docs/exploratory_view.mdx index 12fb004f20339f..2daeccfc262f21 100644 --- a/api_docs/exploratory_view.mdx +++ b/api_docs/exploratory_view.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/exploratoryView title: "exploratoryView" image: https://source.unsplash.com/400x175/?github description: API docs for the exploratoryView plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'exploratoryView'] --- import exploratoryViewObj from './exploratory_view.devdocs.json'; diff --git a/api_docs/expression_error.mdx b/api_docs/expression_error.mdx index 2b19031586a339..9f4ac52e1eb056 100644 --- a/api_docs/expression_error.mdx +++ b/api_docs/expression_error.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionError title: "expressionError" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionError plugin -date: 2023-09-23 +date: 2023-09-24 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 3f660f17600e3b..d270b49ced6e6d 100644 --- a/api_docs/expression_gauge.mdx +++ b/api_docs/expression_gauge.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionGauge title: "expressionGauge" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionGauge plugin -date: 2023-09-23 +date: 2023-09-24 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 033028fc9c101c..41ed400b67d75a 100644 --- a/api_docs/expression_heatmap.mdx +++ b/api_docs/expression_heatmap.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionHeatmap title: "expressionHeatmap" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionHeatmap plugin -date: 2023-09-23 +date: 2023-09-24 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 2285535bde98d4..27cd1f47bab13a 100644 --- a/api_docs/expression_image.mdx +++ b/api_docs/expression_image.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionImage title: "expressionImage" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionImage plugin -date: 2023-09-23 +date: 2023-09-24 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 e346a850e4bb7a..64624dd139f63a 100644 --- a/api_docs/expression_legacy_metric_vis.mdx +++ b/api_docs/expression_legacy_metric_vis.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionLegacyMetricVis title: "expressionLegacyMetricVis" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionLegacyMetricVis plugin -date: 2023-09-23 +date: 2023-09-24 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 df093ab9e3b8f9..4a4ac47666a77f 100644 --- a/api_docs/expression_metric.mdx +++ b/api_docs/expression_metric.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionMetric title: "expressionMetric" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionMetric plugin -date: 2023-09-23 +date: 2023-09-24 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 2cad8ad38455ab..002d59ca7660ef 100644 --- a/api_docs/expression_metric_vis.mdx +++ b/api_docs/expression_metric_vis.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionMetricVis title: "expressionMetricVis" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionMetricVis plugin -date: 2023-09-23 +date: 2023-09-24 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 2067b09ebc2e35..cf1cf917cc73fa 100644 --- a/api_docs/expression_partition_vis.mdx +++ b/api_docs/expression_partition_vis.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionPartitionVis title: "expressionPartitionVis" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionPartitionVis plugin -date: 2023-09-23 +date: 2023-09-24 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 09433ef3bc48c7..7b412af327943d 100644 --- a/api_docs/expression_repeat_image.mdx +++ b/api_docs/expression_repeat_image.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionRepeatImage title: "expressionRepeatImage" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionRepeatImage plugin -date: 2023-09-23 +date: 2023-09-24 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 95ff560b17c6f6..0147f086773d5a 100644 --- a/api_docs/expression_reveal_image.mdx +++ b/api_docs/expression_reveal_image.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionRevealImage title: "expressionRevealImage" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionRevealImage plugin -date: 2023-09-23 +date: 2023-09-24 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 0e7f4e8982ce38..686ee350af88d7 100644 --- a/api_docs/expression_shape.mdx +++ b/api_docs/expression_shape.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionShape title: "expressionShape" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionShape plugin -date: 2023-09-23 +date: 2023-09-24 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 9a0a4e21546df9..6553c3e0d10483 100644 --- a/api_docs/expression_tagcloud.mdx +++ b/api_docs/expression_tagcloud.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionTagcloud title: "expressionTagcloud" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionTagcloud plugin -date: 2023-09-23 +date: 2023-09-24 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 418d5c10ae30ca..b4b7fa427c088d 100644 --- a/api_docs/expression_x_y.mdx +++ b/api_docs/expression_x_y.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionXY title: "expressionXY" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionXY plugin -date: 2023-09-23 +date: 2023-09-24 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 95dd0d3591c393..b0fb097b14cca9 100644 --- a/api_docs/expressions.mdx +++ b/api_docs/expressions.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressions title: "expressions" image: https://source.unsplash.com/400x175/?github description: API docs for the expressions plugin -date: 2023-09-23 +date: 2023-09-24 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 0338812903fa85..3d169fdc6d3546 100644 --- a/api_docs/features.mdx +++ b/api_docs/features.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/features title: "features" image: https://source.unsplash.com/400x175/?github description: API docs for the features plugin -date: 2023-09-23 +date: 2023-09-24 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 35ed198e2cdb3f..cabfa1fbe94702 100644 --- a/api_docs/field_formats.mdx +++ b/api_docs/field_formats.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/fieldFormats title: "fieldFormats" image: https://source.unsplash.com/400x175/?github description: API docs for the fieldFormats plugin -date: 2023-09-23 +date: 2023-09-24 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 b51307a7c4a030..50e81e54eae24b 100644 --- a/api_docs/file_upload.mdx +++ b/api_docs/file_upload.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/fileUpload title: "fileUpload" image: https://source.unsplash.com/400x175/?github description: API docs for the fileUpload plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'fileUpload'] --- import fileUploadObj from './file_upload.devdocs.json'; diff --git a/api_docs/files.mdx b/api_docs/files.mdx index 3ffaed46165ce6..dcd511c6540db5 100644 --- a/api_docs/files.mdx +++ b/api_docs/files.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/files title: "files" image: https://source.unsplash.com/400x175/?github description: API docs for the files plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'files'] --- import filesObj from './files.devdocs.json'; diff --git a/api_docs/files_management.mdx b/api_docs/files_management.mdx index 342412b96cc1fd..182aaf75574ee3 100644 --- a/api_docs/files_management.mdx +++ b/api_docs/files_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/filesManagement title: "filesManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the filesManagement plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'filesManagement'] --- import filesManagementObj from './files_management.devdocs.json'; diff --git a/api_docs/fleet.mdx b/api_docs/fleet.mdx index 7fecad9e82b8a3..3ee486564e95c1 100644 --- a/api_docs/fleet.mdx +++ b/api_docs/fleet.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/fleet title: "fleet" image: https://source.unsplash.com/400x175/?github description: API docs for the fleet plugin -date: 2023-09-23 +date: 2023-09-24 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 be0e77b55c53cb..cd356daf439187 100644 --- a/api_docs/global_search.mdx +++ b/api_docs/global_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/globalSearch title: "globalSearch" image: https://source.unsplash.com/400x175/?github description: API docs for the globalSearch plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'globalSearch'] --- import globalSearchObj from './global_search.devdocs.json'; diff --git a/api_docs/guided_onboarding.mdx b/api_docs/guided_onboarding.mdx index 529ef530c71ade..12ed9bddf5dff9 100644 --- a/api_docs/guided_onboarding.mdx +++ b/api_docs/guided_onboarding.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/guidedOnboarding title: "guidedOnboarding" image: https://source.unsplash.com/400x175/?github description: API docs for the guidedOnboarding plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'guidedOnboarding'] --- import guidedOnboardingObj from './guided_onboarding.devdocs.json'; diff --git a/api_docs/home.mdx b/api_docs/home.mdx index 5f198bd156da7e..42f631105beae6 100644 --- a/api_docs/home.mdx +++ b/api_docs/home.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/home title: "home" image: https://source.unsplash.com/400x175/?github description: API docs for the home plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'home'] --- import homeObj from './home.devdocs.json'; diff --git a/api_docs/image_embeddable.mdx b/api_docs/image_embeddable.mdx index d00e10da036520..6287c67f486a1d 100644 --- a/api_docs/image_embeddable.mdx +++ b/api_docs/image_embeddable.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/imageEmbeddable title: "imageEmbeddable" image: https://source.unsplash.com/400x175/?github description: API docs for the imageEmbeddable plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'imageEmbeddable'] --- import imageEmbeddableObj from './image_embeddable.devdocs.json'; diff --git a/api_docs/index_lifecycle_management.mdx b/api_docs/index_lifecycle_management.mdx index cdecb343560a93..c1a4c179062194 100644 --- a/api_docs/index_lifecycle_management.mdx +++ b/api_docs/index_lifecycle_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/indexLifecycleManagement title: "indexLifecycleManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the indexLifecycleManagement plugin -date: 2023-09-23 +date: 2023-09-24 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 e57ae54f82a6da..f699db46a62b48 100644 --- a/api_docs/index_management.mdx +++ b/api_docs/index_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/indexManagement title: "indexManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the indexManagement plugin -date: 2023-09-23 +date: 2023-09-24 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 e4d8c125588a60..5a4c8bb111e3da 100644 --- a/api_docs/infra.mdx +++ b/api_docs/infra.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/infra title: "infra" image: https://source.unsplash.com/400x175/?github description: API docs for the infra plugin -date: 2023-09-23 +date: 2023-09-24 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 fa0d8d034e450b..2ca10075bc0c56 100644 --- a/api_docs/inspector.mdx +++ b/api_docs/inspector.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/inspector title: "inspector" image: https://source.unsplash.com/400x175/?github description: API docs for the inspector plugin -date: 2023-09-23 +date: 2023-09-24 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 9ed572925e2448..a9b2a8e54b5b5d 100644 --- a/api_docs/interactive_setup.mdx +++ b/api_docs/interactive_setup.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/interactiveSetup title: "interactiveSetup" image: https://source.unsplash.com/400x175/?github description: API docs for the interactiveSetup plugin -date: 2023-09-23 +date: 2023-09-24 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 625be92c362e13..904e2423c8713e 100644 --- a/api_docs/kbn_ace.mdx +++ b/api_docs/kbn_ace.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ace title: "@kbn/ace" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ace plugin -date: 2023-09-23 +date: 2023-09-24 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 b3a40d401d4d06..9a3c6a19e36698 100644 --- a/api_docs/kbn_aiops_components.mdx +++ b/api_docs/kbn_aiops_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-aiops-components title: "@kbn/aiops-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/aiops-components plugin -date: 2023-09-23 +date: 2023-09-24 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 9d01c430462d13..3a914f57928305 100644 --- a/api_docs/kbn_aiops_utils.mdx +++ b/api_docs/kbn_aiops_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-aiops-utils title: "@kbn/aiops-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/aiops-utils plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/aiops-utils'] --- import kbnAiopsUtilsObj from './kbn_aiops_utils.devdocs.json'; diff --git a/api_docs/kbn_alerting_api_integration_helpers.mdx b/api_docs/kbn_alerting_api_integration_helpers.mdx index e2a7578651b2df..0580e3693ecadb 100644 --- a/api_docs/kbn_alerting_api_integration_helpers.mdx +++ b/api_docs/kbn_alerting_api_integration_helpers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-alerting-api-integration-helpers title: "@kbn/alerting-api-integration-helpers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/alerting-api-integration-helpers plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/alerting-api-integration-helpers'] --- import kbnAlertingApiIntegrationHelpersObj from './kbn_alerting_api_integration_helpers.devdocs.json'; diff --git a/api_docs/kbn_alerting_state_types.mdx b/api_docs/kbn_alerting_state_types.mdx index 0bb0368549761f..55d0a6fbf266cd 100644 --- a/api_docs/kbn_alerting_state_types.mdx +++ b/api_docs/kbn_alerting_state_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-alerting-state-types title: "@kbn/alerting-state-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/alerting-state-types plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/alerting-state-types'] --- import kbnAlertingStateTypesObj from './kbn_alerting_state_types.devdocs.json'; diff --git a/api_docs/kbn_alerts_as_data_utils.mdx b/api_docs/kbn_alerts_as_data_utils.mdx index f1430aef504ee5..cdfc1ceb9aba5b 100644 --- a/api_docs/kbn_alerts_as_data_utils.mdx +++ b/api_docs/kbn_alerts_as_data_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-alerts-as-data-utils title: "@kbn/alerts-as-data-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/alerts-as-data-utils plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/alerts-as-data-utils'] --- import kbnAlertsAsDataUtilsObj from './kbn_alerts_as_data_utils.devdocs.json'; diff --git a/api_docs/kbn_alerts_ui_shared.mdx b/api_docs/kbn_alerts_ui_shared.mdx index 2f521228405208..2118630b3bc6cc 100644 --- a/api_docs/kbn_alerts_ui_shared.mdx +++ b/api_docs/kbn_alerts_ui_shared.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-alerts-ui-shared title: "@kbn/alerts-ui-shared" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/alerts-ui-shared plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/alerts-ui-shared'] --- import kbnAlertsUiSharedObj from './kbn_alerts_ui_shared.devdocs.json'; diff --git a/api_docs/kbn_analytics.mdx b/api_docs/kbn_analytics.mdx index e0e1901bda5201..f4600466dd0d88 100644 --- a/api_docs/kbn_analytics.mdx +++ b/api_docs/kbn_analytics.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics title: "@kbn/analytics" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics plugin -date: 2023-09-23 +date: 2023-09-24 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 5c05b7a9b70713..8576dce7ed23c1 100644 --- a/api_docs/kbn_analytics_client.mdx +++ b/api_docs/kbn_analytics_client.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-client title: "@kbn/analytics-client" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics-client plugin -date: 2023-09-23 +date: 2023-09-24 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 22546130c2b0b8..09eadd9326896c 100644 --- a/api_docs/kbn_analytics_shippers_elastic_v3_browser.mdx +++ b/api_docs/kbn_analytics_shippers_elastic_v3_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-shippers-elastic-v3-browser title: "@kbn/analytics-shippers-elastic-v3-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics-shippers-elastic-v3-browser plugin -date: 2023-09-23 +date: 2023-09-24 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 720989ea4211e5..e2810d7d4c8bad 100644 --- a/api_docs/kbn_analytics_shippers_elastic_v3_common.mdx +++ b/api_docs/kbn_analytics_shippers_elastic_v3_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-shippers-elastic-v3-common title: "@kbn/analytics-shippers-elastic-v3-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics-shippers-elastic-v3-common plugin -date: 2023-09-23 +date: 2023-09-24 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 a334b9a625595a..092ce17fcda61a 100644 --- a/api_docs/kbn_analytics_shippers_elastic_v3_server.mdx +++ b/api_docs/kbn_analytics_shippers_elastic_v3_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-shippers-elastic-v3-server title: "@kbn/analytics-shippers-elastic-v3-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics-shippers-elastic-v3-server plugin -date: 2023-09-23 +date: 2023-09-24 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 85dc4b00032d4c..3180648d943a27 100644 --- a/api_docs/kbn_analytics_shippers_fullstory.mdx +++ b/api_docs/kbn_analytics_shippers_fullstory.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-shippers-fullstory title: "@kbn/analytics-shippers-fullstory" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics-shippers-fullstory plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics-shippers-fullstory'] --- import kbnAnalyticsShippersFullstoryObj from './kbn_analytics_shippers_fullstory.devdocs.json'; diff --git a/api_docs/kbn_analytics_shippers_gainsight.mdx b/api_docs/kbn_analytics_shippers_gainsight.mdx index 7a7a9d8f99151f..2789ca57dd817e 100644 --- a/api_docs/kbn_analytics_shippers_gainsight.mdx +++ b/api_docs/kbn_analytics_shippers_gainsight.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-shippers-gainsight title: "@kbn/analytics-shippers-gainsight" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics-shippers-gainsight plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics-shippers-gainsight'] --- import kbnAnalyticsShippersGainsightObj from './kbn_analytics_shippers_gainsight.devdocs.json'; diff --git a/api_docs/kbn_apm_config_loader.mdx b/api_docs/kbn_apm_config_loader.mdx index a682f4923be11c..26454e28b31b45 100644 --- a/api_docs/kbn_apm_config_loader.mdx +++ b/api_docs/kbn_apm_config_loader.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-apm-config-loader title: "@kbn/apm-config-loader" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/apm-config-loader plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/apm-config-loader'] --- import kbnApmConfigLoaderObj from './kbn_apm_config_loader.devdocs.json'; diff --git a/api_docs/kbn_apm_synthtrace.mdx b/api_docs/kbn_apm_synthtrace.mdx index a35385986bbf0f..93d90c4218914d 100644 --- a/api_docs/kbn_apm_synthtrace.mdx +++ b/api_docs/kbn_apm_synthtrace.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-apm-synthtrace title: "@kbn/apm-synthtrace" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/apm-synthtrace plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/apm-synthtrace'] --- import kbnApmSynthtraceObj from './kbn_apm_synthtrace.devdocs.json'; diff --git a/api_docs/kbn_apm_synthtrace_client.mdx b/api_docs/kbn_apm_synthtrace_client.mdx index cde636d3154cc4..e5ab795d4aadd2 100644 --- a/api_docs/kbn_apm_synthtrace_client.mdx +++ b/api_docs/kbn_apm_synthtrace_client.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-apm-synthtrace-client title: "@kbn/apm-synthtrace-client" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/apm-synthtrace-client plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/apm-synthtrace-client'] --- import kbnApmSynthtraceClientObj from './kbn_apm_synthtrace_client.devdocs.json'; diff --git a/api_docs/kbn_apm_utils.mdx b/api_docs/kbn_apm_utils.mdx index b7c66640e9f484..f7f11b392443cf 100644 --- a/api_docs/kbn_apm_utils.mdx +++ b/api_docs/kbn_apm_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-apm-utils title: "@kbn/apm-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/apm-utils plugin -date: 2023-09-23 +date: 2023-09-24 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 42593fa6a3d388..1b0f5f61a70f7d 100644 --- a/api_docs/kbn_axe_config.mdx +++ b/api_docs/kbn_axe_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-axe-config title: "@kbn/axe-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/axe-config plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/axe-config'] --- import kbnAxeConfigObj from './kbn_axe_config.devdocs.json'; diff --git a/api_docs/kbn_cases_components.mdx b/api_docs/kbn_cases_components.mdx index 008b0b3994b4de..2f0cfa1858ea12 100644 --- a/api_docs/kbn_cases_components.mdx +++ b/api_docs/kbn_cases_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-cases-components title: "@kbn/cases-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/cases-components plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/cases-components'] --- import kbnCasesComponentsObj from './kbn_cases_components.devdocs.json'; diff --git a/api_docs/kbn_cell_actions.mdx b/api_docs/kbn_cell_actions.mdx index a63477312c0e4c..d2777d76bdb07b 100644 --- a/api_docs/kbn_cell_actions.mdx +++ b/api_docs/kbn_cell_actions.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-cell-actions title: "@kbn/cell-actions" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/cell-actions plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/cell-actions'] --- import kbnCellActionsObj from './kbn_cell_actions.devdocs.json'; diff --git a/api_docs/kbn_chart_expressions_common.mdx b/api_docs/kbn_chart_expressions_common.mdx index 01863bd0a42de1..5508beab6190c1 100644 --- a/api_docs/kbn_chart_expressions_common.mdx +++ b/api_docs/kbn_chart_expressions_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-chart-expressions-common title: "@kbn/chart-expressions-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/chart-expressions-common plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/chart-expressions-common'] --- import kbnChartExpressionsCommonObj from './kbn_chart_expressions_common.devdocs.json'; diff --git a/api_docs/kbn_chart_icons.mdx b/api_docs/kbn_chart_icons.mdx index ce8cf44cbfb400..9991f89cfcb367 100644 --- a/api_docs/kbn_chart_icons.mdx +++ b/api_docs/kbn_chart_icons.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-chart-icons title: "@kbn/chart-icons" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/chart-icons plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/chart-icons'] --- import kbnChartIconsObj from './kbn_chart_icons.devdocs.json'; diff --git a/api_docs/kbn_ci_stats_core.mdx b/api_docs/kbn_ci_stats_core.mdx index c15f21610b9fee..ee0b02b68d8dc3 100644 --- a/api_docs/kbn_ci_stats_core.mdx +++ b/api_docs/kbn_ci_stats_core.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ci-stats-core title: "@kbn/ci-stats-core" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ci-stats-core plugin -date: 2023-09-23 +date: 2023-09-24 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 ba50f72e8df1ee..fdae608228f3fd 100644 --- a/api_docs/kbn_ci_stats_performance_metrics.mdx +++ b/api_docs/kbn_ci_stats_performance_metrics.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ci-stats-performance-metrics title: "@kbn/ci-stats-performance-metrics" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ci-stats-performance-metrics plugin -date: 2023-09-23 +date: 2023-09-24 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 3c816936f38ad5..54fbcb85b42869 100644 --- a/api_docs/kbn_ci_stats_reporter.mdx +++ b/api_docs/kbn_ci_stats_reporter.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ci-stats-reporter title: "@kbn/ci-stats-reporter" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ci-stats-reporter plugin -date: 2023-09-23 +date: 2023-09-24 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 d6aba69629bb56..18466f8286cb86 100644 --- a/api_docs/kbn_cli_dev_mode.mdx +++ b/api_docs/kbn_cli_dev_mode.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-cli-dev-mode title: "@kbn/cli-dev-mode" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/cli-dev-mode plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/cli-dev-mode'] --- import kbnCliDevModeObj from './kbn_cli_dev_mode.devdocs.json'; diff --git a/api_docs/kbn_code_editor.mdx b/api_docs/kbn_code_editor.mdx index 7058e2916b5c3e..20bee7f3f73691 100644 --- a/api_docs/kbn_code_editor.mdx +++ b/api_docs/kbn_code_editor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-code-editor title: "@kbn/code-editor" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/code-editor plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/code-editor'] --- import kbnCodeEditorObj from './kbn_code_editor.devdocs.json'; diff --git a/api_docs/kbn_code_editor_mocks.mdx b/api_docs/kbn_code_editor_mocks.mdx index 4f5d975bfe593e..dd3bdd6d65bec6 100644 --- a/api_docs/kbn_code_editor_mocks.mdx +++ b/api_docs/kbn_code_editor_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-code-editor-mocks title: "@kbn/code-editor-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/code-editor-mocks plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/code-editor-mocks'] --- import kbnCodeEditorMocksObj from './kbn_code_editor_mocks.devdocs.json'; diff --git a/api_docs/kbn_coloring.mdx b/api_docs/kbn_coloring.mdx index 173dcdbe38fe8b..b13e01fd6355cb 100644 --- a/api_docs/kbn_coloring.mdx +++ b/api_docs/kbn_coloring.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-coloring title: "@kbn/coloring" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/coloring plugin -date: 2023-09-23 +date: 2023-09-24 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 5e18b4cfcaec8b..8367af75b9aa93 100644 --- a/api_docs/kbn_config.mdx +++ b/api_docs/kbn_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-config title: "@kbn/config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/config plugin -date: 2023-09-23 +date: 2023-09-24 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 24d57e1f2669c9..45d3087283838f 100644 --- a/api_docs/kbn_config_mocks.mdx +++ b/api_docs/kbn_config_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-config-mocks title: "@kbn/config-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/config-mocks plugin -date: 2023-09-23 +date: 2023-09-24 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 ea8d490158f924..ad9a215ec945f1 100644 --- a/api_docs/kbn_config_schema.mdx +++ b/api_docs/kbn_config_schema.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-config-schema title: "@kbn/config-schema" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/config-schema plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/config-schema'] --- import kbnConfigSchemaObj from './kbn_config_schema.devdocs.json'; diff --git a/api_docs/kbn_content_management_content_editor.mdx b/api_docs/kbn_content_management_content_editor.mdx index 65a4ed0ca2ee95..0ba6f52709355b 100644 --- a/api_docs/kbn_content_management_content_editor.mdx +++ b/api_docs/kbn_content_management_content_editor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-content-editor title: "@kbn/content-management-content-editor" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/content-management-content-editor plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-content-editor'] --- import kbnContentManagementContentEditorObj from './kbn_content_management_content_editor.devdocs.json'; diff --git a/api_docs/kbn_content_management_tabbed_table_list_view.mdx b/api_docs/kbn_content_management_tabbed_table_list_view.mdx index c00acaffe97f67..239df910df25ea 100644 --- a/api_docs/kbn_content_management_tabbed_table_list_view.mdx +++ b/api_docs/kbn_content_management_tabbed_table_list_view.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-tabbed-table-list-view title: "@kbn/content-management-tabbed-table-list-view" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/content-management-tabbed-table-list-view plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-tabbed-table-list-view'] --- import kbnContentManagementTabbedTableListViewObj from './kbn_content_management_tabbed_table_list_view.devdocs.json'; diff --git a/api_docs/kbn_content_management_table_list_view.mdx b/api_docs/kbn_content_management_table_list_view.mdx index 9d4a88a441c1b1..541a8340b82b0e 100644 --- a/api_docs/kbn_content_management_table_list_view.mdx +++ b/api_docs/kbn_content_management_table_list_view.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-table-list-view title: "@kbn/content-management-table-list-view" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/content-management-table-list-view plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-table-list-view'] --- import kbnContentManagementTableListViewObj from './kbn_content_management_table_list_view.devdocs.json'; diff --git a/api_docs/kbn_content_management_table_list_view_table.mdx b/api_docs/kbn_content_management_table_list_view_table.mdx index 8b161315cf5b7d..1499fa31f0e56d 100644 --- a/api_docs/kbn_content_management_table_list_view_table.mdx +++ b/api_docs/kbn_content_management_table_list_view_table.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-table-list-view-table title: "@kbn/content-management-table-list-view-table" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/content-management-table-list-view-table plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-table-list-view-table'] --- import kbnContentManagementTableListViewTableObj from './kbn_content_management_table_list_view_table.devdocs.json'; diff --git a/api_docs/kbn_content_management_utils.mdx b/api_docs/kbn_content_management_utils.mdx index 769f6cd9fc988a..372c7c37e46e24 100644 --- a/api_docs/kbn_content_management_utils.mdx +++ b/api_docs/kbn_content_management_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-utils title: "@kbn/content-management-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/content-management-utils plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-utils'] --- import kbnContentManagementUtilsObj from './kbn_content_management_utils.devdocs.json'; diff --git a/api_docs/kbn_core_analytics_browser.mdx b/api_docs/kbn_core_analytics_browser.mdx index f843605285324c..d0e292246ab437 100644 --- a/api_docs/kbn_core_analytics_browser.mdx +++ b/api_docs/kbn_core_analytics_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-browser title: "@kbn/core-analytics-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-browser plugin -date: 2023-09-23 +date: 2023-09-24 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 6da119646bddef..4af4b55b4abc24 100644 --- a/api_docs/kbn_core_analytics_browser_internal.mdx +++ b/api_docs/kbn_core_analytics_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-browser-internal title: "@kbn/core-analytics-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-browser-internal plugin -date: 2023-09-23 +date: 2023-09-24 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 11ba0ceb6b1b39..28787ad93750ca 100644 --- a/api_docs/kbn_core_analytics_browser_mocks.mdx +++ b/api_docs/kbn_core_analytics_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-browser-mocks title: "@kbn/core-analytics-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-browser-mocks plugin -date: 2023-09-23 +date: 2023-09-24 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 42742cc5064136..2f84b9076289ec 100644 --- a/api_docs/kbn_core_analytics_server.mdx +++ b/api_docs/kbn_core_analytics_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-server title: "@kbn/core-analytics-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-server plugin -date: 2023-09-23 +date: 2023-09-24 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 2fc99d3c59289c..9ccb3ae0c8309e 100644 --- a/api_docs/kbn_core_analytics_server_internal.mdx +++ b/api_docs/kbn_core_analytics_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-server-internal title: "@kbn/core-analytics-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-server-internal plugin -date: 2023-09-23 +date: 2023-09-24 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 15d0ea680fa90f..8c33a5a9387c77 100644 --- a/api_docs/kbn_core_analytics_server_mocks.mdx +++ b/api_docs/kbn_core_analytics_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-server-mocks title: "@kbn/core-analytics-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-server-mocks plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-analytics-server-mocks'] --- import kbnCoreAnalyticsServerMocksObj from './kbn_core_analytics_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_application_browser.mdx b/api_docs/kbn_core_application_browser.mdx index 08cbab1d7d3cc3..8bd09792c0a241 100644 --- a/api_docs/kbn_core_application_browser.mdx +++ b/api_docs/kbn_core_application_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-application-browser title: "@kbn/core-application-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-application-browser plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-application-browser'] --- import kbnCoreApplicationBrowserObj from './kbn_core_application_browser.devdocs.json'; diff --git a/api_docs/kbn_core_application_browser_internal.mdx b/api_docs/kbn_core_application_browser_internal.mdx index f4a29d396b4be6..fde5cb66cb498b 100644 --- a/api_docs/kbn_core_application_browser_internal.mdx +++ b/api_docs/kbn_core_application_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-application-browser-internal title: "@kbn/core-application-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-application-browser-internal plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-application-browser-internal'] --- import kbnCoreApplicationBrowserInternalObj from './kbn_core_application_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_application_browser_mocks.mdx b/api_docs/kbn_core_application_browser_mocks.mdx index 2680b8b3105a44..0962109b853bdf 100644 --- a/api_docs/kbn_core_application_browser_mocks.mdx +++ b/api_docs/kbn_core_application_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-application-browser-mocks title: "@kbn/core-application-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-application-browser-mocks plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-application-browser-mocks'] --- import kbnCoreApplicationBrowserMocksObj from './kbn_core_application_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_application_common.mdx b/api_docs/kbn_core_application_common.mdx index 3f4fb77959b562..2d0524c09a8737 100644 --- a/api_docs/kbn_core_application_common.mdx +++ b/api_docs/kbn_core_application_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-application-common title: "@kbn/core-application-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-application-common plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-application-common'] --- import kbnCoreApplicationCommonObj from './kbn_core_application_common.devdocs.json'; diff --git a/api_docs/kbn_core_apps_browser_internal.mdx b/api_docs/kbn_core_apps_browser_internal.mdx index 0e9134f3964865..c7a4c7a2a86629 100644 --- a/api_docs/kbn_core_apps_browser_internal.mdx +++ b/api_docs/kbn_core_apps_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-apps-browser-internal title: "@kbn/core-apps-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-apps-browser-internal plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-apps-browser-internal'] --- import kbnCoreAppsBrowserInternalObj from './kbn_core_apps_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_apps_browser_mocks.mdx b/api_docs/kbn_core_apps_browser_mocks.mdx index a91d4c90e8479d..4615655d4277a1 100644 --- a/api_docs/kbn_core_apps_browser_mocks.mdx +++ b/api_docs/kbn_core_apps_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-apps-browser-mocks title: "@kbn/core-apps-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-apps-browser-mocks plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-apps-browser-mocks'] --- import kbnCoreAppsBrowserMocksObj from './kbn_core_apps_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_apps_server_internal.mdx b/api_docs/kbn_core_apps_server_internal.mdx index 7a8b15189c229b..bcc81a35bf72c0 100644 --- a/api_docs/kbn_core_apps_server_internal.mdx +++ b/api_docs/kbn_core_apps_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-apps-server-internal title: "@kbn/core-apps-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-apps-server-internal plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-apps-server-internal'] --- import kbnCoreAppsServerInternalObj from './kbn_core_apps_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_base_browser_mocks.mdx b/api_docs/kbn_core_base_browser_mocks.mdx index b9097c58ff75f4..0b34b05a5f29ac 100644 --- a/api_docs/kbn_core_base_browser_mocks.mdx +++ b/api_docs/kbn_core_base_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-base-browser-mocks title: "@kbn/core-base-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-base-browser-mocks plugin -date: 2023-09-23 +date: 2023-09-24 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 17438fdd121714..6c30443c5d7534 100644 --- a/api_docs/kbn_core_base_common.mdx +++ b/api_docs/kbn_core_base_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-base-common title: "@kbn/core-base-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-base-common plugin -date: 2023-09-23 +date: 2023-09-24 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 43971ae1ef5a4e..fc82a254c75add 100644 --- a/api_docs/kbn_core_base_server_internal.mdx +++ b/api_docs/kbn_core_base_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-base-server-internal title: "@kbn/core-base-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-base-server-internal plugin -date: 2023-09-23 +date: 2023-09-24 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 a4b13fe2a192c3..da1a8507c78faa 100644 --- a/api_docs/kbn_core_base_server_mocks.mdx +++ b/api_docs/kbn_core_base_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-base-server-mocks title: "@kbn/core-base-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-base-server-mocks plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-base-server-mocks'] --- import kbnCoreBaseServerMocksObj from './kbn_core_base_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_capabilities_browser_mocks.mdx b/api_docs/kbn_core_capabilities_browser_mocks.mdx index b09be70dc3d11a..1ce8ee8ee41743 100644 --- a/api_docs/kbn_core_capabilities_browser_mocks.mdx +++ b/api_docs/kbn_core_capabilities_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-capabilities-browser-mocks title: "@kbn/core-capabilities-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-capabilities-browser-mocks plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-capabilities-browser-mocks'] --- import kbnCoreCapabilitiesBrowserMocksObj from './kbn_core_capabilities_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_capabilities_common.mdx b/api_docs/kbn_core_capabilities_common.mdx index 4ec4c3fab91eeb..3c24bd18e05acc 100644 --- a/api_docs/kbn_core_capabilities_common.mdx +++ b/api_docs/kbn_core_capabilities_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-capabilities-common title: "@kbn/core-capabilities-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-capabilities-common plugin -date: 2023-09-23 +date: 2023-09-24 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 fc42fa354eefbd..0d978689131bb8 100644 --- a/api_docs/kbn_core_capabilities_server.mdx +++ b/api_docs/kbn_core_capabilities_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-capabilities-server title: "@kbn/core-capabilities-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-capabilities-server plugin -date: 2023-09-23 +date: 2023-09-24 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 2ad921c1e96fd8..ffb56b1235b030 100644 --- a/api_docs/kbn_core_capabilities_server_mocks.mdx +++ b/api_docs/kbn_core_capabilities_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-capabilities-server-mocks title: "@kbn/core-capabilities-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-capabilities-server-mocks plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-capabilities-server-mocks'] --- import kbnCoreCapabilitiesServerMocksObj from './kbn_core_capabilities_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_chrome_browser.mdx b/api_docs/kbn_core_chrome_browser.mdx index 58ee2a0358778c..5d97de10a78004 100644 --- a/api_docs/kbn_core_chrome_browser.mdx +++ b/api_docs/kbn_core_chrome_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-chrome-browser title: "@kbn/core-chrome-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-chrome-browser plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-chrome-browser'] --- import kbnCoreChromeBrowserObj from './kbn_core_chrome_browser.devdocs.json'; diff --git a/api_docs/kbn_core_chrome_browser_mocks.mdx b/api_docs/kbn_core_chrome_browser_mocks.mdx index ffc0099aa1163b..321decd7d35671 100644 --- a/api_docs/kbn_core_chrome_browser_mocks.mdx +++ b/api_docs/kbn_core_chrome_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-chrome-browser-mocks title: "@kbn/core-chrome-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-chrome-browser-mocks plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-chrome-browser-mocks'] --- import kbnCoreChromeBrowserMocksObj from './kbn_core_chrome_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_config_server_internal.mdx b/api_docs/kbn_core_config_server_internal.mdx index 5e4f99d7ac4b32..3ab50f60ce0428 100644 --- a/api_docs/kbn_core_config_server_internal.mdx +++ b/api_docs/kbn_core_config_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-config-server-internal title: "@kbn/core-config-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-config-server-internal plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-config-server-internal'] --- import kbnCoreConfigServerInternalObj from './kbn_core_config_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_custom_branding_browser.mdx b/api_docs/kbn_core_custom_branding_browser.mdx index ace8913888ab09..032338e03c9da1 100644 --- a/api_docs/kbn_core_custom_branding_browser.mdx +++ b/api_docs/kbn_core_custom_branding_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-browser title: "@kbn/core-custom-branding-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-browser plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-custom-branding-browser'] --- import kbnCoreCustomBrandingBrowserObj from './kbn_core_custom_branding_browser.devdocs.json'; diff --git a/api_docs/kbn_core_custom_branding_browser_internal.mdx b/api_docs/kbn_core_custom_branding_browser_internal.mdx index ffd27fa74c9b1e..a6d9f04ab48caa 100644 --- a/api_docs/kbn_core_custom_branding_browser_internal.mdx +++ b/api_docs/kbn_core_custom_branding_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-browser-internal title: "@kbn/core-custom-branding-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-browser-internal plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-custom-branding-browser-internal'] --- import kbnCoreCustomBrandingBrowserInternalObj from './kbn_core_custom_branding_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_custom_branding_browser_mocks.mdx b/api_docs/kbn_core_custom_branding_browser_mocks.mdx index 493761a0f3ec9f..aa7d4fe6218819 100644 --- a/api_docs/kbn_core_custom_branding_browser_mocks.mdx +++ b/api_docs/kbn_core_custom_branding_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-browser-mocks title: "@kbn/core-custom-branding-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-browser-mocks plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-custom-branding-browser-mocks'] --- import kbnCoreCustomBrandingBrowserMocksObj from './kbn_core_custom_branding_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_custom_branding_common.mdx b/api_docs/kbn_core_custom_branding_common.mdx index 5c43940ee3c737..01e9b0d58df8be 100644 --- a/api_docs/kbn_core_custom_branding_common.mdx +++ b/api_docs/kbn_core_custom_branding_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-common title: "@kbn/core-custom-branding-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-common plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-custom-branding-common'] --- import kbnCoreCustomBrandingCommonObj from './kbn_core_custom_branding_common.devdocs.json'; diff --git a/api_docs/kbn_core_custom_branding_server.mdx b/api_docs/kbn_core_custom_branding_server.mdx index d7dee6ddc22368..182151fb989ed6 100644 --- a/api_docs/kbn_core_custom_branding_server.mdx +++ b/api_docs/kbn_core_custom_branding_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-server title: "@kbn/core-custom-branding-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-server plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-custom-branding-server'] --- import kbnCoreCustomBrandingServerObj from './kbn_core_custom_branding_server.devdocs.json'; diff --git a/api_docs/kbn_core_custom_branding_server_internal.mdx b/api_docs/kbn_core_custom_branding_server_internal.mdx index e883a320fb6d19..235d14523094f7 100644 --- a/api_docs/kbn_core_custom_branding_server_internal.mdx +++ b/api_docs/kbn_core_custom_branding_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-server-internal title: "@kbn/core-custom-branding-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-server-internal plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-custom-branding-server-internal'] --- import kbnCoreCustomBrandingServerInternalObj from './kbn_core_custom_branding_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_custom_branding_server_mocks.mdx b/api_docs/kbn_core_custom_branding_server_mocks.mdx index 7de20c95a50143..c003ad48d35b9c 100644 --- a/api_docs/kbn_core_custom_branding_server_mocks.mdx +++ b/api_docs/kbn_core_custom_branding_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-server-mocks title: "@kbn/core-custom-branding-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-server-mocks plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-custom-branding-server-mocks'] --- import kbnCoreCustomBrandingServerMocksObj from './kbn_core_custom_branding_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_deprecations_browser.mdx b/api_docs/kbn_core_deprecations_browser.mdx index 90f24d8d31093e..5ce6c5079755cc 100644 --- a/api_docs/kbn_core_deprecations_browser.mdx +++ b/api_docs/kbn_core_deprecations_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-browser title: "@kbn/core-deprecations-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-browser plugin -date: 2023-09-23 +date: 2023-09-24 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 efe4135f0e6f7c..5da95c3a4a9bbc 100644 --- a/api_docs/kbn_core_deprecations_browser_internal.mdx +++ b/api_docs/kbn_core_deprecations_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-browser-internal title: "@kbn/core-deprecations-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-browser-internal plugin -date: 2023-09-23 +date: 2023-09-24 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 7b6efb80d101f6..6bdb7a72cfb0d9 100644 --- a/api_docs/kbn_core_deprecations_browser_mocks.mdx +++ b/api_docs/kbn_core_deprecations_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-browser-mocks title: "@kbn/core-deprecations-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-browser-mocks plugin -date: 2023-09-23 +date: 2023-09-24 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 bd668fba036a45..5f3d3370fd6bfe 100644 --- a/api_docs/kbn_core_deprecations_common.mdx +++ b/api_docs/kbn_core_deprecations_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-common title: "@kbn/core-deprecations-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-common plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-deprecations-common'] --- import kbnCoreDeprecationsCommonObj from './kbn_core_deprecations_common.devdocs.json'; diff --git a/api_docs/kbn_core_deprecations_server.mdx b/api_docs/kbn_core_deprecations_server.mdx index 707414989e98c9..7cd9f3ecd75a1a 100644 --- a/api_docs/kbn_core_deprecations_server.mdx +++ b/api_docs/kbn_core_deprecations_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-server title: "@kbn/core-deprecations-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-server plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-deprecations-server'] --- import kbnCoreDeprecationsServerObj from './kbn_core_deprecations_server.devdocs.json'; diff --git a/api_docs/kbn_core_deprecations_server_internal.mdx b/api_docs/kbn_core_deprecations_server_internal.mdx index b65e3150755c0b..0880e43dff4610 100644 --- a/api_docs/kbn_core_deprecations_server_internal.mdx +++ b/api_docs/kbn_core_deprecations_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-server-internal title: "@kbn/core-deprecations-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-server-internal plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-deprecations-server-internal'] --- import kbnCoreDeprecationsServerInternalObj from './kbn_core_deprecations_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_deprecations_server_mocks.mdx b/api_docs/kbn_core_deprecations_server_mocks.mdx index c075cb87b151e0..5c244de1b507dd 100644 --- a/api_docs/kbn_core_deprecations_server_mocks.mdx +++ b/api_docs/kbn_core_deprecations_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-server-mocks title: "@kbn/core-deprecations-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-server-mocks plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-deprecations-server-mocks'] --- import kbnCoreDeprecationsServerMocksObj from './kbn_core_deprecations_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_doc_links_browser.mdx b/api_docs/kbn_core_doc_links_browser.mdx index 8eeb56fd8a2c2c..35cf675733f260 100644 --- a/api_docs/kbn_core_doc_links_browser.mdx +++ b/api_docs/kbn_core_doc_links_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-doc-links-browser title: "@kbn/core-doc-links-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-doc-links-browser plugin -date: 2023-09-23 +date: 2023-09-24 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 1df98e7a701a1c..a6603bf7c25d15 100644 --- a/api_docs/kbn_core_doc_links_browser_mocks.mdx +++ b/api_docs/kbn_core_doc_links_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-doc-links-browser-mocks title: "@kbn/core-doc-links-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-doc-links-browser-mocks plugin -date: 2023-09-23 +date: 2023-09-24 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 b99262937075c7..4dc3e3ae5f12df 100644 --- a/api_docs/kbn_core_doc_links_server.mdx +++ b/api_docs/kbn_core_doc_links_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-doc-links-server title: "@kbn/core-doc-links-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-doc-links-server plugin -date: 2023-09-23 +date: 2023-09-24 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 3034b6fadc5a5d..93c665a51bbf6b 100644 --- a/api_docs/kbn_core_doc_links_server_mocks.mdx +++ b/api_docs/kbn_core_doc_links_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-doc-links-server-mocks title: "@kbn/core-doc-links-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-doc-links-server-mocks plugin -date: 2023-09-23 +date: 2023-09-24 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 22a11f8e4f1793..1503d9255e005b 100644 --- a/api_docs/kbn_core_elasticsearch_client_server_internal.mdx +++ b/api_docs/kbn_core_elasticsearch_client_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-elasticsearch-client-server-internal title: "@kbn/core-elasticsearch-client-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-elasticsearch-client-server-internal plugin -date: 2023-09-23 +date: 2023-09-24 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 f561b8c511dc22..ad9a3244a7232c 100644 --- a/api_docs/kbn_core_elasticsearch_client_server_mocks.mdx +++ b/api_docs/kbn_core_elasticsearch_client_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-elasticsearch-client-server-mocks title: "@kbn/core-elasticsearch-client-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-elasticsearch-client-server-mocks plugin -date: 2023-09-23 +date: 2023-09-24 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 b1d3e9775cda7a..d72955f8f94c1a 100644 --- a/api_docs/kbn_core_elasticsearch_server.mdx +++ b/api_docs/kbn_core_elasticsearch_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-elasticsearch-server title: "@kbn/core-elasticsearch-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-elasticsearch-server plugin -date: 2023-09-23 +date: 2023-09-24 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 8ee539c5d81326..745b388416f9db 100644 --- a/api_docs/kbn_core_elasticsearch_server_internal.mdx +++ b/api_docs/kbn_core_elasticsearch_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-elasticsearch-server-internal title: "@kbn/core-elasticsearch-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-elasticsearch-server-internal plugin -date: 2023-09-23 +date: 2023-09-24 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 44432149aea83c..321e66034ed089 100644 --- a/api_docs/kbn_core_elasticsearch_server_mocks.mdx +++ b/api_docs/kbn_core_elasticsearch_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-elasticsearch-server-mocks title: "@kbn/core-elasticsearch-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-elasticsearch-server-mocks plugin -date: 2023-09-23 +date: 2023-09-24 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 f850dfc8bc4390..229eaaa522b888 100644 --- a/api_docs/kbn_core_environment_server_internal.mdx +++ b/api_docs/kbn_core_environment_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-environment-server-internal title: "@kbn/core-environment-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-environment-server-internal plugin -date: 2023-09-23 +date: 2023-09-24 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 5dffcb1cd39f52..a767d00d0be594 100644 --- a/api_docs/kbn_core_environment_server_mocks.mdx +++ b/api_docs/kbn_core_environment_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-environment-server-mocks title: "@kbn/core-environment-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-environment-server-mocks plugin -date: 2023-09-23 +date: 2023-09-24 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 a682822468c96c..61f4436aa6c184 100644 --- a/api_docs/kbn_core_execution_context_browser.mdx +++ b/api_docs/kbn_core_execution_context_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-browser title: "@kbn/core-execution-context-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-browser plugin -date: 2023-09-23 +date: 2023-09-24 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 2d4bd1cf8609ee..d56259f5e244bb 100644 --- a/api_docs/kbn_core_execution_context_browser_internal.mdx +++ b/api_docs/kbn_core_execution_context_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-browser-internal title: "@kbn/core-execution-context-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-browser-internal plugin -date: 2023-09-23 +date: 2023-09-24 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 eb1dbe43dee641..960138ea417194 100644 --- a/api_docs/kbn_core_execution_context_browser_mocks.mdx +++ b/api_docs/kbn_core_execution_context_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-browser-mocks title: "@kbn/core-execution-context-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-browser-mocks plugin -date: 2023-09-23 +date: 2023-09-24 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 6fefef63753037..97c1cb450b3421 100644 --- a/api_docs/kbn_core_execution_context_common.mdx +++ b/api_docs/kbn_core_execution_context_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-common title: "@kbn/core-execution-context-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-common plugin -date: 2023-09-23 +date: 2023-09-24 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 c56c8b5582824c..62315172ca4bfe 100644 --- a/api_docs/kbn_core_execution_context_server.mdx +++ b/api_docs/kbn_core_execution_context_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-server title: "@kbn/core-execution-context-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-server plugin -date: 2023-09-23 +date: 2023-09-24 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 2d4595cd49883e..20a65ea4c4e814 100644 --- a/api_docs/kbn_core_execution_context_server_internal.mdx +++ b/api_docs/kbn_core_execution_context_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-server-internal title: "@kbn/core-execution-context-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-server-internal plugin -date: 2023-09-23 +date: 2023-09-24 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 32be5c82173a87..5c2f91d1e5d75d 100644 --- a/api_docs/kbn_core_execution_context_server_mocks.mdx +++ b/api_docs/kbn_core_execution_context_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-server-mocks title: "@kbn/core-execution-context-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-server-mocks plugin -date: 2023-09-23 +date: 2023-09-24 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 ab36f400e20e05..8fcdcf61b8e8cb 100644 --- a/api_docs/kbn_core_fatal_errors_browser.mdx +++ b/api_docs/kbn_core_fatal_errors_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-fatal-errors-browser title: "@kbn/core-fatal-errors-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-fatal-errors-browser plugin -date: 2023-09-23 +date: 2023-09-24 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 767fcdd7c3735a..d03a7b2230e7ce 100644 --- a/api_docs/kbn_core_fatal_errors_browser_mocks.mdx +++ b/api_docs/kbn_core_fatal_errors_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-fatal-errors-browser-mocks title: "@kbn/core-fatal-errors-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-fatal-errors-browser-mocks plugin -date: 2023-09-23 +date: 2023-09-24 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 0fb9b47f63cd86..0e5a0b6e8a8a7d 100644 --- a/api_docs/kbn_core_http_browser.mdx +++ b/api_docs/kbn_core_http_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-browser title: "@kbn/core-http-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-browser plugin -date: 2023-09-23 +date: 2023-09-24 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 872b841f3e976e..8426090b8c6411 100644 --- a/api_docs/kbn_core_http_browser_internal.mdx +++ b/api_docs/kbn_core_http_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-browser-internal title: "@kbn/core-http-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-browser-internal plugin -date: 2023-09-23 +date: 2023-09-24 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 7d5287d2ad7e52..d8223fdffaee90 100644 --- a/api_docs/kbn_core_http_browser_mocks.mdx +++ b/api_docs/kbn_core_http_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-browser-mocks title: "@kbn/core-http-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-browser-mocks plugin -date: 2023-09-23 +date: 2023-09-24 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 7467345cb383eb..b8095c7ed47802 100644 --- a/api_docs/kbn_core_http_common.mdx +++ b/api_docs/kbn_core_http_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-common title: "@kbn/core-http-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-common plugin -date: 2023-09-23 +date: 2023-09-24 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 665742ca6ee65f..e15477f448f278 100644 --- a/api_docs/kbn_core_http_context_server_mocks.mdx +++ b/api_docs/kbn_core_http_context_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-context-server-mocks title: "@kbn/core-http-context-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-context-server-mocks plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-context-server-mocks'] --- import kbnCoreHttpContextServerMocksObj from './kbn_core_http_context_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_http_request_handler_context_server.mdx b/api_docs/kbn_core_http_request_handler_context_server.mdx index 89530b07848d1a..e31f7e11d4aabc 100644 --- a/api_docs/kbn_core_http_request_handler_context_server.mdx +++ b/api_docs/kbn_core_http_request_handler_context_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-request-handler-context-server title: "@kbn/core-http-request-handler-context-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-request-handler-context-server plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-request-handler-context-server'] --- import kbnCoreHttpRequestHandlerContextServerObj from './kbn_core_http_request_handler_context_server.devdocs.json'; diff --git a/api_docs/kbn_core_http_resources_server.mdx b/api_docs/kbn_core_http_resources_server.mdx index 293a2a77e11036..31f595a60782ac 100644 --- a/api_docs/kbn_core_http_resources_server.mdx +++ b/api_docs/kbn_core_http_resources_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-resources-server title: "@kbn/core-http-resources-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-resources-server plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-resources-server'] --- import kbnCoreHttpResourcesServerObj from './kbn_core_http_resources_server.devdocs.json'; diff --git a/api_docs/kbn_core_http_resources_server_internal.mdx b/api_docs/kbn_core_http_resources_server_internal.mdx index 04e3782c01b4c4..0d23c26be36da8 100644 --- a/api_docs/kbn_core_http_resources_server_internal.mdx +++ b/api_docs/kbn_core_http_resources_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-resources-server-internal title: "@kbn/core-http-resources-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-resources-server-internal plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-resources-server-internal'] --- import kbnCoreHttpResourcesServerInternalObj from './kbn_core_http_resources_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_http_resources_server_mocks.mdx b/api_docs/kbn_core_http_resources_server_mocks.mdx index ed45ee32cfe2be..9197e1b8efff1e 100644 --- a/api_docs/kbn_core_http_resources_server_mocks.mdx +++ b/api_docs/kbn_core_http_resources_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-resources-server-mocks title: "@kbn/core-http-resources-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-resources-server-mocks plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-resources-server-mocks'] --- import kbnCoreHttpResourcesServerMocksObj from './kbn_core_http_resources_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_http_router_server_internal.mdx b/api_docs/kbn_core_http_router_server_internal.mdx index b5bf1b91f66d94..f1159681a33d28 100644 --- a/api_docs/kbn_core_http_router_server_internal.mdx +++ b/api_docs/kbn_core_http_router_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-router-server-internal title: "@kbn/core-http-router-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-router-server-internal plugin -date: 2023-09-23 +date: 2023-09-24 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 15d0615cf6b9ea..1086954fd05831 100644 --- a/api_docs/kbn_core_http_router_server_mocks.mdx +++ b/api_docs/kbn_core_http_router_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-router-server-mocks title: "@kbn/core-http-router-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-router-server-mocks plugin -date: 2023-09-23 +date: 2023-09-24 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 02cbf77bcc365d..ad5bb942cf9338 100644 --- a/api_docs/kbn_core_http_server.mdx +++ b/api_docs/kbn_core_http_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-server title: "@kbn/core-http-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-server plugin -date: 2023-09-23 +date: 2023-09-24 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 d54ea45429d7a5..360a79fd97b79c 100644 --- a/api_docs/kbn_core_http_server_internal.mdx +++ b/api_docs/kbn_core_http_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-server-internal title: "@kbn/core-http-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-server-internal plugin -date: 2023-09-23 +date: 2023-09-24 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 d88a4bcd5e888e..a69a981fccf63b 100644 --- a/api_docs/kbn_core_http_server_mocks.mdx +++ b/api_docs/kbn_core_http_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-server-mocks title: "@kbn/core-http-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-server-mocks plugin -date: 2023-09-23 +date: 2023-09-24 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 23d4c2a2ef4240..a3d260e436ef54 100644 --- a/api_docs/kbn_core_i18n_browser.mdx +++ b/api_docs/kbn_core_i18n_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-i18n-browser title: "@kbn/core-i18n-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-i18n-browser plugin -date: 2023-09-23 +date: 2023-09-24 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 622c30d134fb36..5cc8466c465264 100644 --- a/api_docs/kbn_core_i18n_browser_mocks.mdx +++ b/api_docs/kbn_core_i18n_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-i18n-browser-mocks title: "@kbn/core-i18n-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-i18n-browser-mocks plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-i18n-browser-mocks'] --- import kbnCoreI18nBrowserMocksObj from './kbn_core_i18n_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_i18n_server.mdx b/api_docs/kbn_core_i18n_server.mdx index 0d828f797502cd..8cb466664417ca 100644 --- a/api_docs/kbn_core_i18n_server.mdx +++ b/api_docs/kbn_core_i18n_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-i18n-server title: "@kbn/core-i18n-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-i18n-server plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-i18n-server'] --- import kbnCoreI18nServerObj from './kbn_core_i18n_server.devdocs.json'; diff --git a/api_docs/kbn_core_i18n_server_internal.mdx b/api_docs/kbn_core_i18n_server_internal.mdx index ba5d96ea802d46..b1875e21b465df 100644 --- a/api_docs/kbn_core_i18n_server_internal.mdx +++ b/api_docs/kbn_core_i18n_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-i18n-server-internal title: "@kbn/core-i18n-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-i18n-server-internal plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-i18n-server-internal'] --- import kbnCoreI18nServerInternalObj from './kbn_core_i18n_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_i18n_server_mocks.mdx b/api_docs/kbn_core_i18n_server_mocks.mdx index 5e041ebc1c40b4..b921925e35d0c6 100644 --- a/api_docs/kbn_core_i18n_server_mocks.mdx +++ b/api_docs/kbn_core_i18n_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-i18n-server-mocks title: "@kbn/core-i18n-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-i18n-server-mocks plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-i18n-server-mocks'] --- import kbnCoreI18nServerMocksObj from './kbn_core_i18n_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_injected_metadata_browser_mocks.mdx b/api_docs/kbn_core_injected_metadata_browser_mocks.mdx index b7521a3f057761..82cea0f5d6067f 100644 --- a/api_docs/kbn_core_injected_metadata_browser_mocks.mdx +++ b/api_docs/kbn_core_injected_metadata_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-injected-metadata-browser-mocks title: "@kbn/core-injected-metadata-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-injected-metadata-browser-mocks plugin -date: 2023-09-23 +date: 2023-09-24 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 02f1c2bdf66d35..75218d78579acf 100644 --- a/api_docs/kbn_core_integrations_browser_internal.mdx +++ b/api_docs/kbn_core_integrations_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-integrations-browser-internal title: "@kbn/core-integrations-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-integrations-browser-internal plugin -date: 2023-09-23 +date: 2023-09-24 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 f51a9f420fe39f..2d71cb1c9d6e8d 100644 --- a/api_docs/kbn_core_integrations_browser_mocks.mdx +++ b/api_docs/kbn_core_integrations_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-integrations-browser-mocks title: "@kbn/core-integrations-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-integrations-browser-mocks plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-integrations-browser-mocks'] --- import kbnCoreIntegrationsBrowserMocksObj from './kbn_core_integrations_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_lifecycle_browser.mdx b/api_docs/kbn_core_lifecycle_browser.mdx index 8ca90d810440b7..b67d8ea89d8b93 100644 --- a/api_docs/kbn_core_lifecycle_browser.mdx +++ b/api_docs/kbn_core_lifecycle_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-lifecycle-browser title: "@kbn/core-lifecycle-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-lifecycle-browser plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-lifecycle-browser'] --- import kbnCoreLifecycleBrowserObj from './kbn_core_lifecycle_browser.devdocs.json'; diff --git a/api_docs/kbn_core_lifecycle_browser_mocks.mdx b/api_docs/kbn_core_lifecycle_browser_mocks.mdx index a5884366be59ff..ba73f8ed648a7a 100644 --- a/api_docs/kbn_core_lifecycle_browser_mocks.mdx +++ b/api_docs/kbn_core_lifecycle_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-lifecycle-browser-mocks title: "@kbn/core-lifecycle-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-lifecycle-browser-mocks plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-lifecycle-browser-mocks'] --- import kbnCoreLifecycleBrowserMocksObj from './kbn_core_lifecycle_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_lifecycle_server.mdx b/api_docs/kbn_core_lifecycle_server.mdx index 100c6cc8b88ec3..ce193861e24c0b 100644 --- a/api_docs/kbn_core_lifecycle_server.mdx +++ b/api_docs/kbn_core_lifecycle_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-lifecycle-server title: "@kbn/core-lifecycle-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-lifecycle-server plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-lifecycle-server'] --- import kbnCoreLifecycleServerObj from './kbn_core_lifecycle_server.devdocs.json'; diff --git a/api_docs/kbn_core_lifecycle_server_mocks.mdx b/api_docs/kbn_core_lifecycle_server_mocks.mdx index be2e19ee4ba368..a9dd0b9c836dbc 100644 --- a/api_docs/kbn_core_lifecycle_server_mocks.mdx +++ b/api_docs/kbn_core_lifecycle_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-lifecycle-server-mocks title: "@kbn/core-lifecycle-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-lifecycle-server-mocks plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-lifecycle-server-mocks'] --- import kbnCoreLifecycleServerMocksObj from './kbn_core_lifecycle_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_logging_browser_mocks.mdx b/api_docs/kbn_core_logging_browser_mocks.mdx index c0b3bb0d072aa6..617985c6a9d7f6 100644 --- a/api_docs/kbn_core_logging_browser_mocks.mdx +++ b/api_docs/kbn_core_logging_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-logging-browser-mocks title: "@kbn/core-logging-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-logging-browser-mocks plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-logging-browser-mocks'] --- import kbnCoreLoggingBrowserMocksObj from './kbn_core_logging_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_logging_common_internal.mdx b/api_docs/kbn_core_logging_common_internal.mdx index 5abafc85a74547..407f6afaf9d158 100644 --- a/api_docs/kbn_core_logging_common_internal.mdx +++ b/api_docs/kbn_core_logging_common_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-logging-common-internal title: "@kbn/core-logging-common-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-logging-common-internal plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-logging-common-internal'] --- import kbnCoreLoggingCommonInternalObj from './kbn_core_logging_common_internal.devdocs.json'; diff --git a/api_docs/kbn_core_logging_server.mdx b/api_docs/kbn_core_logging_server.mdx index fd4b837db45046..50b1d9f6d102ee 100644 --- a/api_docs/kbn_core_logging_server.mdx +++ b/api_docs/kbn_core_logging_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-logging-server title: "@kbn/core-logging-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-logging-server plugin -date: 2023-09-23 +date: 2023-09-24 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 f563ef394377fb..7f18846be1b151 100644 --- a/api_docs/kbn_core_logging_server_internal.mdx +++ b/api_docs/kbn_core_logging_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-logging-server-internal title: "@kbn/core-logging-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-logging-server-internal plugin -date: 2023-09-23 +date: 2023-09-24 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 9e385d6bc91391..5d763835f750be 100644 --- a/api_docs/kbn_core_logging_server_mocks.mdx +++ b/api_docs/kbn_core_logging_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-logging-server-mocks title: "@kbn/core-logging-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-logging-server-mocks plugin -date: 2023-09-23 +date: 2023-09-24 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 ae44afc1313bfa..1b9c54d2a790c4 100644 --- a/api_docs/kbn_core_metrics_collectors_server_internal.mdx +++ b/api_docs/kbn_core_metrics_collectors_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-metrics-collectors-server-internal title: "@kbn/core-metrics-collectors-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-metrics-collectors-server-internal plugin -date: 2023-09-23 +date: 2023-09-24 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 dcd3a4e25fe68b..750ce11f1f152a 100644 --- a/api_docs/kbn_core_metrics_collectors_server_mocks.mdx +++ b/api_docs/kbn_core_metrics_collectors_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-metrics-collectors-server-mocks title: "@kbn/core-metrics-collectors-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-metrics-collectors-server-mocks plugin -date: 2023-09-23 +date: 2023-09-24 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 eff9f5c749f6e2..ad895c771a43a8 100644 --- a/api_docs/kbn_core_metrics_server.mdx +++ b/api_docs/kbn_core_metrics_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-metrics-server title: "@kbn/core-metrics-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-metrics-server plugin -date: 2023-09-23 +date: 2023-09-24 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 376250795f66b9..59073ed95eb151 100644 --- a/api_docs/kbn_core_metrics_server_internal.mdx +++ b/api_docs/kbn_core_metrics_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-metrics-server-internal title: "@kbn/core-metrics-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-metrics-server-internal plugin -date: 2023-09-23 +date: 2023-09-24 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 6e818ee25694ff..ad078986f7ce79 100644 --- a/api_docs/kbn_core_metrics_server_mocks.mdx +++ b/api_docs/kbn_core_metrics_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-metrics-server-mocks title: "@kbn/core-metrics-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-metrics-server-mocks plugin -date: 2023-09-23 +date: 2023-09-24 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 4b9aa4ee299db4..20ab1f3674a11d 100644 --- a/api_docs/kbn_core_mount_utils_browser.mdx +++ b/api_docs/kbn_core_mount_utils_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-mount-utils-browser title: "@kbn/core-mount-utils-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-mount-utils-browser plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-mount-utils-browser'] --- import kbnCoreMountUtilsBrowserObj from './kbn_core_mount_utils_browser.devdocs.json'; diff --git a/api_docs/kbn_core_node_server.mdx b/api_docs/kbn_core_node_server.mdx index 9bd42d7e8345dd..ea6a100a675067 100644 --- a/api_docs/kbn_core_node_server.mdx +++ b/api_docs/kbn_core_node_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-node-server title: "@kbn/core-node-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-node-server plugin -date: 2023-09-23 +date: 2023-09-24 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 8e78bd8b1f8963..8edb2a6f5b3015 100644 --- a/api_docs/kbn_core_node_server_internal.mdx +++ b/api_docs/kbn_core_node_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-node-server-internal title: "@kbn/core-node-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-node-server-internal plugin -date: 2023-09-23 +date: 2023-09-24 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 bdcbdd503afd24..18efc45a4caf47 100644 --- a/api_docs/kbn_core_node_server_mocks.mdx +++ b/api_docs/kbn_core_node_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-node-server-mocks title: "@kbn/core-node-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-node-server-mocks plugin -date: 2023-09-23 +date: 2023-09-24 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 45b3acc6cb17c2..9c8c19fdebd4cd 100644 --- a/api_docs/kbn_core_notifications_browser.mdx +++ b/api_docs/kbn_core_notifications_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-notifications-browser title: "@kbn/core-notifications-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-notifications-browser plugin -date: 2023-09-23 +date: 2023-09-24 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 8b6d36e23e460b..1927fdb29e165c 100644 --- a/api_docs/kbn_core_notifications_browser_internal.mdx +++ b/api_docs/kbn_core_notifications_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-notifications-browser-internal title: "@kbn/core-notifications-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-notifications-browser-internal plugin -date: 2023-09-23 +date: 2023-09-24 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 aacce3f31cd0c9..22c211654a3297 100644 --- a/api_docs/kbn_core_notifications_browser_mocks.mdx +++ b/api_docs/kbn_core_notifications_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-notifications-browser-mocks title: "@kbn/core-notifications-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-notifications-browser-mocks plugin -date: 2023-09-23 +date: 2023-09-24 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 bd42268ea9a357..b214ac65b6e024 100644 --- a/api_docs/kbn_core_overlays_browser.mdx +++ b/api_docs/kbn_core_overlays_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-overlays-browser title: "@kbn/core-overlays-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-overlays-browser plugin -date: 2023-09-23 +date: 2023-09-24 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 575fa8ebfb82f2..08ed6897e830be 100644 --- a/api_docs/kbn_core_overlays_browser_internal.mdx +++ b/api_docs/kbn_core_overlays_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-overlays-browser-internal title: "@kbn/core-overlays-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-overlays-browser-internal plugin -date: 2023-09-23 +date: 2023-09-24 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 e55417d2adf438..ba9d3150067e5b 100644 --- a/api_docs/kbn_core_overlays_browser_mocks.mdx +++ b/api_docs/kbn_core_overlays_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-overlays-browser-mocks title: "@kbn/core-overlays-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-overlays-browser-mocks plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-overlays-browser-mocks'] --- import kbnCoreOverlaysBrowserMocksObj from './kbn_core_overlays_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_plugins_browser.mdx b/api_docs/kbn_core_plugins_browser.mdx index 720f3a8df48bb2..9baa752daf11b2 100644 --- a/api_docs/kbn_core_plugins_browser.mdx +++ b/api_docs/kbn_core_plugins_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-plugins-browser title: "@kbn/core-plugins-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-plugins-browser plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-plugins-browser'] --- import kbnCorePluginsBrowserObj from './kbn_core_plugins_browser.devdocs.json'; diff --git a/api_docs/kbn_core_plugins_browser_mocks.mdx b/api_docs/kbn_core_plugins_browser_mocks.mdx index e50fa1f563de2d..67e18623b1d007 100644 --- a/api_docs/kbn_core_plugins_browser_mocks.mdx +++ b/api_docs/kbn_core_plugins_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-plugins-browser-mocks title: "@kbn/core-plugins-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-plugins-browser-mocks plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-plugins-browser-mocks'] --- import kbnCorePluginsBrowserMocksObj from './kbn_core_plugins_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_plugins_server.mdx b/api_docs/kbn_core_plugins_server.mdx index 8ba18a347b60cc..3d6b1ddecce05f 100644 --- a/api_docs/kbn_core_plugins_server.mdx +++ b/api_docs/kbn_core_plugins_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-plugins-server title: "@kbn/core-plugins-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-plugins-server plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-plugins-server'] --- import kbnCorePluginsServerObj from './kbn_core_plugins_server.devdocs.json'; diff --git a/api_docs/kbn_core_plugins_server_mocks.mdx b/api_docs/kbn_core_plugins_server_mocks.mdx index d82297ad029df5..c487ed14ffe62c 100644 --- a/api_docs/kbn_core_plugins_server_mocks.mdx +++ b/api_docs/kbn_core_plugins_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-plugins-server-mocks title: "@kbn/core-plugins-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-plugins-server-mocks plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-plugins-server-mocks'] --- import kbnCorePluginsServerMocksObj from './kbn_core_plugins_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_preboot_server.mdx b/api_docs/kbn_core_preboot_server.mdx index facc525488e1ef..485b2ccf228116 100644 --- a/api_docs/kbn_core_preboot_server.mdx +++ b/api_docs/kbn_core_preboot_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-preboot-server title: "@kbn/core-preboot-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-preboot-server plugin -date: 2023-09-23 +date: 2023-09-24 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 8993b180e5414c..095d797573ecb3 100644 --- a/api_docs/kbn_core_preboot_server_mocks.mdx +++ b/api_docs/kbn_core_preboot_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-preboot-server-mocks title: "@kbn/core-preboot-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-preboot-server-mocks plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-preboot-server-mocks'] --- import kbnCorePrebootServerMocksObj from './kbn_core_preboot_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_rendering_browser_mocks.mdx b/api_docs/kbn_core_rendering_browser_mocks.mdx index 90ad4d9f09d8c2..4966c4aec52325 100644 --- a/api_docs/kbn_core_rendering_browser_mocks.mdx +++ b/api_docs/kbn_core_rendering_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-rendering-browser-mocks title: "@kbn/core-rendering-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-rendering-browser-mocks plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-rendering-browser-mocks'] --- import kbnCoreRenderingBrowserMocksObj from './kbn_core_rendering_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_rendering_server_internal.mdx b/api_docs/kbn_core_rendering_server_internal.mdx index 5d4a91771c5c3b..2b323d7bbda508 100644 --- a/api_docs/kbn_core_rendering_server_internal.mdx +++ b/api_docs/kbn_core_rendering_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-rendering-server-internal title: "@kbn/core-rendering-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-rendering-server-internal plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-rendering-server-internal'] --- import kbnCoreRenderingServerInternalObj from './kbn_core_rendering_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_rendering_server_mocks.mdx b/api_docs/kbn_core_rendering_server_mocks.mdx index aed9735f057603..a48e5901034f86 100644 --- a/api_docs/kbn_core_rendering_server_mocks.mdx +++ b/api_docs/kbn_core_rendering_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-rendering-server-mocks title: "@kbn/core-rendering-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-rendering-server-mocks plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-rendering-server-mocks'] --- import kbnCoreRenderingServerMocksObj from './kbn_core_rendering_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_root_server_internal.mdx b/api_docs/kbn_core_root_server_internal.mdx index 25ec601e57f857..dd5746dc051287 100644 --- a/api_docs/kbn_core_root_server_internal.mdx +++ b/api_docs/kbn_core_root_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-root-server-internal title: "@kbn/core-root-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-root-server-internal plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-root-server-internal'] --- import kbnCoreRootServerInternalObj from './kbn_core_root_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_api_browser.mdx b/api_docs/kbn_core_saved_objects_api_browser.mdx index b7a88ccc39084f..c58b73a7f9999d 100644 --- a/api_docs/kbn_core_saved_objects_api_browser.mdx +++ b/api_docs/kbn_core_saved_objects_api_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-api-browser title: "@kbn/core-saved-objects-api-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-api-browser plugin -date: 2023-09-23 +date: 2023-09-24 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 86a4b60f1a3259..4abf420f0588bd 100644 --- a/api_docs/kbn_core_saved_objects_api_server.mdx +++ b/api_docs/kbn_core_saved_objects_api_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-api-server title: "@kbn/core-saved-objects-api-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-api-server plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-api-server'] --- import kbnCoreSavedObjectsApiServerObj from './kbn_core_saved_objects_api_server.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_api_server_mocks.mdx b/api_docs/kbn_core_saved_objects_api_server_mocks.mdx index 68ac467bd7f372..7f8e60720510f9 100644 --- a/api_docs/kbn_core_saved_objects_api_server_mocks.mdx +++ b/api_docs/kbn_core_saved_objects_api_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-api-server-mocks title: "@kbn/core-saved-objects-api-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-api-server-mocks plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-api-server-mocks'] --- import kbnCoreSavedObjectsApiServerMocksObj from './kbn_core_saved_objects_api_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_base_server_internal.mdx b/api_docs/kbn_core_saved_objects_base_server_internal.mdx index fb7b39aaa07563..c98df7dc377c12 100644 --- a/api_docs/kbn_core_saved_objects_base_server_internal.mdx +++ b/api_docs/kbn_core_saved_objects_base_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-base-server-internal title: "@kbn/core-saved-objects-base-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-base-server-internal plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-base-server-internal'] --- import kbnCoreSavedObjectsBaseServerInternalObj from './kbn_core_saved_objects_base_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_base_server_mocks.mdx b/api_docs/kbn_core_saved_objects_base_server_mocks.mdx index 08636f379961f8..8297aad5a02487 100644 --- a/api_docs/kbn_core_saved_objects_base_server_mocks.mdx +++ b/api_docs/kbn_core_saved_objects_base_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-base-server-mocks title: "@kbn/core-saved-objects-base-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-base-server-mocks plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-base-server-mocks'] --- import kbnCoreSavedObjectsBaseServerMocksObj from './kbn_core_saved_objects_base_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_browser.mdx b/api_docs/kbn_core_saved_objects_browser.mdx index d86d5cf4320220..238efdf3a140f8 100644 --- a/api_docs/kbn_core_saved_objects_browser.mdx +++ b/api_docs/kbn_core_saved_objects_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-browser title: "@kbn/core-saved-objects-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-browser plugin -date: 2023-09-23 +date: 2023-09-24 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 e6912c8395ec8b..f7b20c3919f65a 100644 --- a/api_docs/kbn_core_saved_objects_browser_internal.mdx +++ b/api_docs/kbn_core_saved_objects_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-browser-internal title: "@kbn/core-saved-objects-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-browser-internal plugin -date: 2023-09-23 +date: 2023-09-24 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 993521798ba5b1..dce5a6bb3b88d7 100644 --- a/api_docs/kbn_core_saved_objects_browser_mocks.mdx +++ b/api_docs/kbn_core_saved_objects_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-browser-mocks title: "@kbn/core-saved-objects-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-browser-mocks plugin -date: 2023-09-23 +date: 2023-09-24 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 3cd4b871bdaedc..287a3b80b1ae6c 100644 --- a/api_docs/kbn_core_saved_objects_common.mdx +++ b/api_docs/kbn_core_saved_objects_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-common title: "@kbn/core-saved-objects-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-common plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-common'] --- import kbnCoreSavedObjectsCommonObj from './kbn_core_saved_objects_common.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_import_export_server_internal.mdx b/api_docs/kbn_core_saved_objects_import_export_server_internal.mdx index c95f032dd68e68..f3239366c99707 100644 --- a/api_docs/kbn_core_saved_objects_import_export_server_internal.mdx +++ b/api_docs/kbn_core_saved_objects_import_export_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-import-export-server-internal title: "@kbn/core-saved-objects-import-export-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-import-export-server-internal plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-import-export-server-internal'] --- import kbnCoreSavedObjectsImportExportServerInternalObj from './kbn_core_saved_objects_import_export_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_import_export_server_mocks.mdx b/api_docs/kbn_core_saved_objects_import_export_server_mocks.mdx index 38317757705020..0c91d8300ec8ab 100644 --- a/api_docs/kbn_core_saved_objects_import_export_server_mocks.mdx +++ b/api_docs/kbn_core_saved_objects_import_export_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-import-export-server-mocks title: "@kbn/core-saved-objects-import-export-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-import-export-server-mocks plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-import-export-server-mocks'] --- import kbnCoreSavedObjectsImportExportServerMocksObj from './kbn_core_saved_objects_import_export_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_migration_server_internal.mdx b/api_docs/kbn_core_saved_objects_migration_server_internal.mdx index 103dbeb3121208..1085f0fd8cc1c7 100644 --- a/api_docs/kbn_core_saved_objects_migration_server_internal.mdx +++ b/api_docs/kbn_core_saved_objects_migration_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-migration-server-internal title: "@kbn/core-saved-objects-migration-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-migration-server-internal plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-migration-server-internal'] --- import kbnCoreSavedObjectsMigrationServerInternalObj from './kbn_core_saved_objects_migration_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_migration_server_mocks.mdx b/api_docs/kbn_core_saved_objects_migration_server_mocks.mdx index ad820da6dbabb9..04362285691f85 100644 --- a/api_docs/kbn_core_saved_objects_migration_server_mocks.mdx +++ b/api_docs/kbn_core_saved_objects_migration_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-migration-server-mocks title: "@kbn/core-saved-objects-migration-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-migration-server-mocks plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-migration-server-mocks'] --- import kbnCoreSavedObjectsMigrationServerMocksObj from './kbn_core_saved_objects_migration_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_server.mdx b/api_docs/kbn_core_saved_objects_server.mdx index 5546b88646fc41..c417f3d387179a 100644 --- a/api_docs/kbn_core_saved_objects_server.mdx +++ b/api_docs/kbn_core_saved_objects_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-server title: "@kbn/core-saved-objects-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-server plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-server'] --- import kbnCoreSavedObjectsServerObj from './kbn_core_saved_objects_server.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_server_internal.mdx b/api_docs/kbn_core_saved_objects_server_internal.mdx index bb23f5aea34d0e..e36c0fe93b5b83 100644 --- a/api_docs/kbn_core_saved_objects_server_internal.mdx +++ b/api_docs/kbn_core_saved_objects_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-server-internal title: "@kbn/core-saved-objects-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-server-internal plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-server-internal'] --- import kbnCoreSavedObjectsServerInternalObj from './kbn_core_saved_objects_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_server_mocks.mdx b/api_docs/kbn_core_saved_objects_server_mocks.mdx index b64c688ceedec5..dfd3ff950e04a1 100644 --- a/api_docs/kbn_core_saved_objects_server_mocks.mdx +++ b/api_docs/kbn_core_saved_objects_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-server-mocks title: "@kbn/core-saved-objects-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-server-mocks plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-server-mocks'] --- import kbnCoreSavedObjectsServerMocksObj from './kbn_core_saved_objects_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_utils_server.mdx b/api_docs/kbn_core_saved_objects_utils_server.mdx index d7ac2ff92c3c9d..92d9ad3d0f8737 100644 --- a/api_docs/kbn_core_saved_objects_utils_server.mdx +++ b/api_docs/kbn_core_saved_objects_utils_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-utils-server title: "@kbn/core-saved-objects-utils-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-utils-server plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-utils-server'] --- import kbnCoreSavedObjectsUtilsServerObj from './kbn_core_saved_objects_utils_server.devdocs.json'; diff --git a/api_docs/kbn_core_status_common.mdx b/api_docs/kbn_core_status_common.mdx index c23f8977c589e5..dedcb182f4a480 100644 --- a/api_docs/kbn_core_status_common.mdx +++ b/api_docs/kbn_core_status_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-status-common title: "@kbn/core-status-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-status-common plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-status-common'] --- import kbnCoreStatusCommonObj from './kbn_core_status_common.devdocs.json'; diff --git a/api_docs/kbn_core_status_common_internal.mdx b/api_docs/kbn_core_status_common_internal.mdx index 5928a3b750b573..a2a5d31dd33d8b 100644 --- a/api_docs/kbn_core_status_common_internal.mdx +++ b/api_docs/kbn_core_status_common_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-status-common-internal title: "@kbn/core-status-common-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-status-common-internal plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-status-common-internal'] --- import kbnCoreStatusCommonInternalObj from './kbn_core_status_common_internal.devdocs.json'; diff --git a/api_docs/kbn_core_status_server.mdx b/api_docs/kbn_core_status_server.mdx index a5c66906747a0b..20bc090deba12d 100644 --- a/api_docs/kbn_core_status_server.mdx +++ b/api_docs/kbn_core_status_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-status-server title: "@kbn/core-status-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-status-server plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-status-server'] --- import kbnCoreStatusServerObj from './kbn_core_status_server.devdocs.json'; diff --git a/api_docs/kbn_core_status_server_internal.mdx b/api_docs/kbn_core_status_server_internal.mdx index 8d0a1b8c2ee3d3..155f4f4b704584 100644 --- a/api_docs/kbn_core_status_server_internal.mdx +++ b/api_docs/kbn_core_status_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-status-server-internal title: "@kbn/core-status-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-status-server-internal plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-status-server-internal'] --- import kbnCoreStatusServerInternalObj from './kbn_core_status_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_status_server_mocks.mdx b/api_docs/kbn_core_status_server_mocks.mdx index c658622aadc513..0e34263cae43ae 100644 --- a/api_docs/kbn_core_status_server_mocks.mdx +++ b/api_docs/kbn_core_status_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-status-server-mocks title: "@kbn/core-status-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-status-server-mocks plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-status-server-mocks'] --- import kbnCoreStatusServerMocksObj from './kbn_core_status_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_test_helpers_deprecations_getters.mdx b/api_docs/kbn_core_test_helpers_deprecations_getters.mdx index dac178362cdbc9..5f1ba9a2b40682 100644 --- a/api_docs/kbn_core_test_helpers_deprecations_getters.mdx +++ b/api_docs/kbn_core_test_helpers_deprecations_getters.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-test-helpers-deprecations-getters title: "@kbn/core-test-helpers-deprecations-getters" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-test-helpers-deprecations-getters plugin -date: 2023-09-23 +date: 2023-09-24 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 1ed4ef1dd5f655..5e7b266ec735cb 100644 --- a/api_docs/kbn_core_test_helpers_http_setup_browser.mdx +++ b/api_docs/kbn_core_test_helpers_http_setup_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-test-helpers-http-setup-browser title: "@kbn/core-test-helpers-http-setup-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-test-helpers-http-setup-browser plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-test-helpers-http-setup-browser'] --- import kbnCoreTestHelpersHttpSetupBrowserObj from './kbn_core_test_helpers_http_setup_browser.devdocs.json'; diff --git a/api_docs/kbn_core_test_helpers_kbn_server.mdx b/api_docs/kbn_core_test_helpers_kbn_server.mdx index 9d4aa85d4ce095..446b9a5a1327a1 100644 --- a/api_docs/kbn_core_test_helpers_kbn_server.mdx +++ b/api_docs/kbn_core_test_helpers_kbn_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-test-helpers-kbn-server title: "@kbn/core-test-helpers-kbn-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-test-helpers-kbn-server plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-test-helpers-kbn-server'] --- import kbnCoreTestHelpersKbnServerObj from './kbn_core_test_helpers_kbn_server.devdocs.json'; diff --git a/api_docs/kbn_core_test_helpers_so_type_serializer.mdx b/api_docs/kbn_core_test_helpers_so_type_serializer.mdx index 31cdb38084c0e6..35322d2af040ff 100644 --- a/api_docs/kbn_core_test_helpers_so_type_serializer.mdx +++ b/api_docs/kbn_core_test_helpers_so_type_serializer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-test-helpers-so-type-serializer title: "@kbn/core-test-helpers-so-type-serializer" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-test-helpers-so-type-serializer plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-test-helpers-so-type-serializer'] --- import kbnCoreTestHelpersSoTypeSerializerObj from './kbn_core_test_helpers_so_type_serializer.devdocs.json'; diff --git a/api_docs/kbn_core_test_helpers_test_utils.mdx b/api_docs/kbn_core_test_helpers_test_utils.mdx index a1b2fc98628c05..9e5a1c94fcf3c9 100644 --- a/api_docs/kbn_core_test_helpers_test_utils.mdx +++ b/api_docs/kbn_core_test_helpers_test_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-test-helpers-test-utils title: "@kbn/core-test-helpers-test-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-test-helpers-test-utils plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-test-helpers-test-utils'] --- import kbnCoreTestHelpersTestUtilsObj from './kbn_core_test_helpers_test_utils.devdocs.json'; diff --git a/api_docs/kbn_core_theme_browser.mdx b/api_docs/kbn_core_theme_browser.mdx index 89a23157099ca6..066ce4cae51a26 100644 --- a/api_docs/kbn_core_theme_browser.mdx +++ b/api_docs/kbn_core_theme_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-theme-browser title: "@kbn/core-theme-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-theme-browser plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-theme-browser'] --- import kbnCoreThemeBrowserObj from './kbn_core_theme_browser.devdocs.json'; diff --git a/api_docs/kbn_core_theme_browser_mocks.mdx b/api_docs/kbn_core_theme_browser_mocks.mdx index 7a02c027cc5aad..01de5c6578554f 100644 --- a/api_docs/kbn_core_theme_browser_mocks.mdx +++ b/api_docs/kbn_core_theme_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-theme-browser-mocks title: "@kbn/core-theme-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-theme-browser-mocks plugin -date: 2023-09-23 +date: 2023-09-24 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 f06fdca9d93c39..d62a87bd7fdfed 100644 --- a/api_docs/kbn_core_ui_settings_browser.mdx +++ b/api_docs/kbn_core_ui_settings_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-browser title: "@kbn/core-ui-settings-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-browser plugin -date: 2023-09-23 +date: 2023-09-24 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 9cd58b21143612..20bd28bdbd38c2 100644 --- a/api_docs/kbn_core_ui_settings_browser_internal.mdx +++ b/api_docs/kbn_core_ui_settings_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-browser-internal title: "@kbn/core-ui-settings-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-browser-internal plugin -date: 2023-09-23 +date: 2023-09-24 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 5542650f4975db..844c73b2b35f14 100644 --- a/api_docs/kbn_core_ui_settings_browser_mocks.mdx +++ b/api_docs/kbn_core_ui_settings_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-browser-mocks title: "@kbn/core-ui-settings-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-browser-mocks plugin -date: 2023-09-23 +date: 2023-09-24 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 34da10a397ea5e..bd4c4c763ed83c 100644 --- a/api_docs/kbn_core_ui_settings_common.mdx +++ b/api_docs/kbn_core_ui_settings_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-common title: "@kbn/core-ui-settings-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-common plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-ui-settings-common'] --- import kbnCoreUiSettingsCommonObj from './kbn_core_ui_settings_common.devdocs.json'; diff --git a/api_docs/kbn_core_ui_settings_server.mdx b/api_docs/kbn_core_ui_settings_server.mdx index 800ef326ff69ac..543dab2ceb12c5 100644 --- a/api_docs/kbn_core_ui_settings_server.mdx +++ b/api_docs/kbn_core_ui_settings_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-server title: "@kbn/core-ui-settings-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-server plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-ui-settings-server'] --- import kbnCoreUiSettingsServerObj from './kbn_core_ui_settings_server.devdocs.json'; diff --git a/api_docs/kbn_core_ui_settings_server_internal.mdx b/api_docs/kbn_core_ui_settings_server_internal.mdx index 83ba249adab7ee..9f7276884ad403 100644 --- a/api_docs/kbn_core_ui_settings_server_internal.mdx +++ b/api_docs/kbn_core_ui_settings_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-server-internal title: "@kbn/core-ui-settings-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-server-internal plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-ui-settings-server-internal'] --- import kbnCoreUiSettingsServerInternalObj from './kbn_core_ui_settings_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_ui_settings_server_mocks.mdx b/api_docs/kbn_core_ui_settings_server_mocks.mdx index 0e31535a69a3a9..76816ffd4065bf 100644 --- a/api_docs/kbn_core_ui_settings_server_mocks.mdx +++ b/api_docs/kbn_core_ui_settings_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-server-mocks title: "@kbn/core-ui-settings-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-server-mocks plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-ui-settings-server-mocks'] --- import kbnCoreUiSettingsServerMocksObj from './kbn_core_ui_settings_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_usage_data_server.mdx b/api_docs/kbn_core_usage_data_server.mdx index 285184b814bafe..ffd35a3e9affa3 100644 --- a/api_docs/kbn_core_usage_data_server.mdx +++ b/api_docs/kbn_core_usage_data_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-usage-data-server title: "@kbn/core-usage-data-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-usage-data-server plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-usage-data-server'] --- import kbnCoreUsageDataServerObj from './kbn_core_usage_data_server.devdocs.json'; diff --git a/api_docs/kbn_core_usage_data_server_internal.mdx b/api_docs/kbn_core_usage_data_server_internal.mdx index 46e11343283018..e6e1bc339ba277 100644 --- a/api_docs/kbn_core_usage_data_server_internal.mdx +++ b/api_docs/kbn_core_usage_data_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-usage-data-server-internal title: "@kbn/core-usage-data-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-usage-data-server-internal plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-usage-data-server-internal'] --- import kbnCoreUsageDataServerInternalObj from './kbn_core_usage_data_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_usage_data_server_mocks.mdx b/api_docs/kbn_core_usage_data_server_mocks.mdx index f6773379105921..71c4852365ed08 100644 --- a/api_docs/kbn_core_usage_data_server_mocks.mdx +++ b/api_docs/kbn_core_usage_data_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-usage-data-server-mocks title: "@kbn/core-usage-data-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-usage-data-server-mocks plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-usage-data-server-mocks'] --- import kbnCoreUsageDataServerMocksObj from './kbn_core_usage_data_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_user_settings_server.mdx b/api_docs/kbn_core_user_settings_server.mdx index cb1162f3c8e9a7..fb964a3cbe8ca3 100644 --- a/api_docs/kbn_core_user_settings_server.mdx +++ b/api_docs/kbn_core_user_settings_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-user-settings-server title: "@kbn/core-user-settings-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-user-settings-server plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-user-settings-server'] --- import kbnCoreUserSettingsServerObj from './kbn_core_user_settings_server.devdocs.json'; diff --git a/api_docs/kbn_core_user_settings_server_internal.mdx b/api_docs/kbn_core_user_settings_server_internal.mdx index 4c8a4b1f3e22fb..b7020e23920214 100644 --- a/api_docs/kbn_core_user_settings_server_internal.mdx +++ b/api_docs/kbn_core_user_settings_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-user-settings-server-internal title: "@kbn/core-user-settings-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-user-settings-server-internal plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-user-settings-server-internal'] --- import kbnCoreUserSettingsServerInternalObj from './kbn_core_user_settings_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_user_settings_server_mocks.mdx b/api_docs/kbn_core_user_settings_server_mocks.mdx index ab21ebf5a8062e..a66bfb3e191b6d 100644 --- a/api_docs/kbn_core_user_settings_server_mocks.mdx +++ b/api_docs/kbn_core_user_settings_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-user-settings-server-mocks title: "@kbn/core-user-settings-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-user-settings-server-mocks plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-user-settings-server-mocks'] --- import kbnCoreUserSettingsServerMocksObj from './kbn_core_user_settings_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_crypto.mdx b/api_docs/kbn_crypto.mdx index 12af295c81a0ca..a72bcd076a9c5d 100644 --- a/api_docs/kbn_crypto.mdx +++ b/api_docs/kbn_crypto.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-crypto title: "@kbn/crypto" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/crypto plugin -date: 2023-09-23 +date: 2023-09-24 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 db2067d3b8ec19..83bda624ebc267 100644 --- a/api_docs/kbn_crypto_browser.mdx +++ b/api_docs/kbn_crypto_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-crypto-browser title: "@kbn/crypto-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/crypto-browser plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/crypto-browser'] --- import kbnCryptoBrowserObj from './kbn_crypto_browser.devdocs.json'; diff --git a/api_docs/kbn_custom_integrations.mdx b/api_docs/kbn_custom_integrations.mdx index 1782e0a6b5cd67..87c89b59f3eabd 100644 --- a/api_docs/kbn_custom_integrations.mdx +++ b/api_docs/kbn_custom_integrations.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-custom-integrations title: "@kbn/custom-integrations" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/custom-integrations plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/custom-integrations'] --- import kbnCustomIntegrationsObj from './kbn_custom_integrations.devdocs.json'; diff --git a/api_docs/kbn_cypress_config.mdx b/api_docs/kbn_cypress_config.mdx index 622a12203b52b9..33deed4878990e 100644 --- a/api_docs/kbn_cypress_config.mdx +++ b/api_docs/kbn_cypress_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-cypress-config title: "@kbn/cypress-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/cypress-config plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/cypress-config'] --- import kbnCypressConfigObj from './kbn_cypress_config.devdocs.json'; diff --git a/api_docs/kbn_data_service.mdx b/api_docs/kbn_data_service.mdx index 58bfcdb9dae435..6130d9f08ffd6e 100644 --- a/api_docs/kbn_data_service.mdx +++ b/api_docs/kbn_data_service.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-data-service title: "@kbn/data-service" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/data-service plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/data-service'] --- import kbnDataServiceObj from './kbn_data_service.devdocs.json'; diff --git a/api_docs/kbn_datemath.mdx b/api_docs/kbn_datemath.mdx index 6311aee441faed..131ef24dc80322 100644 --- a/api_docs/kbn_datemath.mdx +++ b/api_docs/kbn_datemath.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-datemath title: "@kbn/datemath" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/datemath plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/datemath'] --- import kbnDatemathObj from './kbn_datemath.devdocs.json'; diff --git a/api_docs/kbn_deeplinks_analytics.mdx b/api_docs/kbn_deeplinks_analytics.mdx index 896c687f4180d8..dacd6d9856dd20 100644 --- a/api_docs/kbn_deeplinks_analytics.mdx +++ b/api_docs/kbn_deeplinks_analytics.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-analytics title: "@kbn/deeplinks-analytics" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-analytics plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-analytics'] --- import kbnDeeplinksAnalyticsObj from './kbn_deeplinks_analytics.devdocs.json'; diff --git a/api_docs/kbn_deeplinks_devtools.mdx b/api_docs/kbn_deeplinks_devtools.mdx index 38569e61fde650..11572e77755219 100644 --- a/api_docs/kbn_deeplinks_devtools.mdx +++ b/api_docs/kbn_deeplinks_devtools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-devtools title: "@kbn/deeplinks-devtools" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-devtools plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-devtools'] --- import kbnDeeplinksDevtoolsObj from './kbn_deeplinks_devtools.devdocs.json'; diff --git a/api_docs/kbn_deeplinks_management.mdx b/api_docs/kbn_deeplinks_management.mdx index f11cbd59a3054b..170ff6791523a4 100644 --- a/api_docs/kbn_deeplinks_management.mdx +++ b/api_docs/kbn_deeplinks_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-management title: "@kbn/deeplinks-management" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-management plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-management'] --- import kbnDeeplinksManagementObj from './kbn_deeplinks_management.devdocs.json'; diff --git a/api_docs/kbn_deeplinks_ml.mdx b/api_docs/kbn_deeplinks_ml.mdx index 4d78ee68f09283..3923f334f87aeb 100644 --- a/api_docs/kbn_deeplinks_ml.mdx +++ b/api_docs/kbn_deeplinks_ml.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-ml title: "@kbn/deeplinks-ml" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-ml plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-ml'] --- import kbnDeeplinksMlObj from './kbn_deeplinks_ml.devdocs.json'; diff --git a/api_docs/kbn_deeplinks_observability.mdx b/api_docs/kbn_deeplinks_observability.mdx index 8797d23c5c5cab..2a75a0149e2db1 100644 --- a/api_docs/kbn_deeplinks_observability.mdx +++ b/api_docs/kbn_deeplinks_observability.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-observability title: "@kbn/deeplinks-observability" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-observability plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-observability'] --- import kbnDeeplinksObservabilityObj from './kbn_deeplinks_observability.devdocs.json'; diff --git a/api_docs/kbn_deeplinks_search.mdx b/api_docs/kbn_deeplinks_search.mdx index 736a3eb4d2e229..48777bd4740049 100644 --- a/api_docs/kbn_deeplinks_search.mdx +++ b/api_docs/kbn_deeplinks_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-search title: "@kbn/deeplinks-search" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-search plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-search'] --- import kbnDeeplinksSearchObj from './kbn_deeplinks_search.devdocs.json'; diff --git a/api_docs/kbn_default_nav_analytics.mdx b/api_docs/kbn_default_nav_analytics.mdx index 94d30fd3f54daf..a1df8c133a385d 100644 --- a/api_docs/kbn_default_nav_analytics.mdx +++ b/api_docs/kbn_default_nav_analytics.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-default-nav-analytics title: "@kbn/default-nav-analytics" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/default-nav-analytics plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/default-nav-analytics'] --- import kbnDefaultNavAnalyticsObj from './kbn_default_nav_analytics.devdocs.json'; diff --git a/api_docs/kbn_default_nav_devtools.mdx b/api_docs/kbn_default_nav_devtools.mdx index 06cf330de003d2..23f3b57ebf7ba5 100644 --- a/api_docs/kbn_default_nav_devtools.mdx +++ b/api_docs/kbn_default_nav_devtools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-default-nav-devtools title: "@kbn/default-nav-devtools" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/default-nav-devtools plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/default-nav-devtools'] --- import kbnDefaultNavDevtoolsObj from './kbn_default_nav_devtools.devdocs.json'; diff --git a/api_docs/kbn_default_nav_management.mdx b/api_docs/kbn_default_nav_management.mdx index 2af0f183256676..3179a5f6cd9283 100644 --- a/api_docs/kbn_default_nav_management.mdx +++ b/api_docs/kbn_default_nav_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-default-nav-management title: "@kbn/default-nav-management" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/default-nav-management plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/default-nav-management'] --- import kbnDefaultNavManagementObj from './kbn_default_nav_management.devdocs.json'; diff --git a/api_docs/kbn_default_nav_ml.mdx b/api_docs/kbn_default_nav_ml.mdx index f25a10d836d91a..8f2431f7cdd35d 100644 --- a/api_docs/kbn_default_nav_ml.mdx +++ b/api_docs/kbn_default_nav_ml.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-default-nav-ml title: "@kbn/default-nav-ml" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/default-nav-ml plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/default-nav-ml'] --- import kbnDefaultNavMlObj from './kbn_default_nav_ml.devdocs.json'; diff --git a/api_docs/kbn_dev_cli_errors.mdx b/api_docs/kbn_dev_cli_errors.mdx index 1167baa62f8cdd..e1f806a785759c 100644 --- a/api_docs/kbn_dev_cli_errors.mdx +++ b/api_docs/kbn_dev_cli_errors.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-dev-cli-errors title: "@kbn/dev-cli-errors" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/dev-cli-errors plugin -date: 2023-09-23 +date: 2023-09-24 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 316795e9501379..18588849e9e2e9 100644 --- a/api_docs/kbn_dev_cli_runner.mdx +++ b/api_docs/kbn_dev_cli_runner.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-dev-cli-runner title: "@kbn/dev-cli-runner" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/dev-cli-runner plugin -date: 2023-09-23 +date: 2023-09-24 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 e54d9451a52f00..592ae6218a2308 100644 --- a/api_docs/kbn_dev_proc_runner.mdx +++ b/api_docs/kbn_dev_proc_runner.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-dev-proc-runner title: "@kbn/dev-proc-runner" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/dev-proc-runner plugin -date: 2023-09-23 +date: 2023-09-24 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 56c355c8a1d9b1..0024649fbd0a24 100644 --- a/api_docs/kbn_dev_utils.mdx +++ b/api_docs/kbn_dev_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-dev-utils title: "@kbn/dev-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/dev-utils plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/dev-utils'] --- import kbnDevUtilsObj from './kbn_dev_utils.devdocs.json'; diff --git a/api_docs/kbn_discover_utils.mdx b/api_docs/kbn_discover_utils.mdx index 46fbd75b541b9e..097d55296d8db7 100644 --- a/api_docs/kbn_discover_utils.mdx +++ b/api_docs/kbn_discover_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-discover-utils title: "@kbn/discover-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/discover-utils plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/discover-utils'] --- import kbnDiscoverUtilsObj from './kbn_discover_utils.devdocs.json'; diff --git a/api_docs/kbn_doc_links.mdx b/api_docs/kbn_doc_links.mdx index a4e687d893727b..f570ce6c2beaed 100644 --- a/api_docs/kbn_doc_links.mdx +++ b/api_docs/kbn_doc_links.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-doc-links title: "@kbn/doc-links" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/doc-links plugin -date: 2023-09-23 +date: 2023-09-24 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 b2685d90479a60..dac4dae5833ed3 100644 --- a/api_docs/kbn_docs_utils.mdx +++ b/api_docs/kbn_docs_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-docs-utils title: "@kbn/docs-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/docs-utils plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/docs-utils'] --- import kbnDocsUtilsObj from './kbn_docs_utils.devdocs.json'; diff --git a/api_docs/kbn_dom_drag_drop.mdx b/api_docs/kbn_dom_drag_drop.mdx index 805c85e2e5d23e..14a2a304dd0cc1 100644 --- a/api_docs/kbn_dom_drag_drop.mdx +++ b/api_docs/kbn_dom_drag_drop.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-dom-drag-drop title: "@kbn/dom-drag-drop" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/dom-drag-drop plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/dom-drag-drop'] --- import kbnDomDragDropObj from './kbn_dom_drag_drop.devdocs.json'; diff --git a/api_docs/kbn_ebt_tools.mdx b/api_docs/kbn_ebt_tools.mdx index 09f9faa15eff0f..995724988c38ae 100644 --- a/api_docs/kbn_ebt_tools.mdx +++ b/api_docs/kbn_ebt_tools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ebt-tools title: "@kbn/ebt-tools" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ebt-tools plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ebt-tools'] --- import kbnEbtToolsObj from './kbn_ebt_tools.devdocs.json'; diff --git a/api_docs/kbn_ecs.mdx b/api_docs/kbn_ecs.mdx index 7c80d15acba3c0..418aa6ef5001e4 100644 --- a/api_docs/kbn_ecs.mdx +++ b/api_docs/kbn_ecs.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ecs title: "@kbn/ecs" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ecs plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ecs'] --- import kbnEcsObj from './kbn_ecs.devdocs.json'; diff --git a/api_docs/kbn_ecs_data_quality_dashboard.mdx b/api_docs/kbn_ecs_data_quality_dashboard.mdx index 88181aab0a4950..317da83c8bbae3 100644 --- a/api_docs/kbn_ecs_data_quality_dashboard.mdx +++ b/api_docs/kbn_ecs_data_quality_dashboard.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ecs-data-quality-dashboard title: "@kbn/ecs-data-quality-dashboard" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ecs-data-quality-dashboard plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ecs-data-quality-dashboard'] --- import kbnEcsDataQualityDashboardObj from './kbn_ecs_data_quality_dashboard.devdocs.json'; diff --git a/api_docs/kbn_elastic_assistant.mdx b/api_docs/kbn_elastic_assistant.mdx index 053c3891f1da5b..5f71bc564f84b0 100644 --- a/api_docs/kbn_elastic_assistant.mdx +++ b/api_docs/kbn_elastic_assistant.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-elastic-assistant title: "@kbn/elastic-assistant" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/elastic-assistant plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/elastic-assistant'] --- import kbnElasticAssistantObj from './kbn_elastic_assistant.devdocs.json'; diff --git a/api_docs/kbn_es.mdx b/api_docs/kbn_es.mdx index 891d5c75de7b67..ef8b119313fcae 100644 --- a/api_docs/kbn_es.mdx +++ b/api_docs/kbn_es.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-es title: "@kbn/es" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/es plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/es'] --- import kbnEsObj from './kbn_es.devdocs.json'; diff --git a/api_docs/kbn_es_archiver.mdx b/api_docs/kbn_es_archiver.mdx index 60a06c9f3ae3cd..621ba80d648762 100644 --- a/api_docs/kbn_es_archiver.mdx +++ b/api_docs/kbn_es_archiver.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-es-archiver title: "@kbn/es-archiver" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/es-archiver plugin -date: 2023-09-23 +date: 2023-09-24 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 5a96d603d9b676..efed25a56f7ea6 100644 --- a/api_docs/kbn_es_errors.mdx +++ b/api_docs/kbn_es_errors.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-es-errors title: "@kbn/es-errors" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/es-errors plugin -date: 2023-09-23 +date: 2023-09-24 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 1522b31958f9e3..e8832574f6a62b 100644 --- a/api_docs/kbn_es_query.mdx +++ b/api_docs/kbn_es_query.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-es-query title: "@kbn/es-query" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/es-query plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/es-query'] --- import kbnEsQueryObj from './kbn_es_query.devdocs.json'; diff --git a/api_docs/kbn_es_types.mdx b/api_docs/kbn_es_types.mdx index 6ef1097ef4ceb6..5da8d62aed006e 100644 --- a/api_docs/kbn_es_types.mdx +++ b/api_docs/kbn_es_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-es-types title: "@kbn/es-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/es-types plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/es-types'] --- import kbnEsTypesObj from './kbn_es_types.devdocs.json'; diff --git a/api_docs/kbn_eslint_plugin_imports.mdx b/api_docs/kbn_eslint_plugin_imports.mdx index a7049cee310509..5bdb34bba2806a 100644 --- a/api_docs/kbn_eslint_plugin_imports.mdx +++ b/api_docs/kbn_eslint_plugin_imports.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-eslint-plugin-imports title: "@kbn/eslint-plugin-imports" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/eslint-plugin-imports plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/eslint-plugin-imports'] --- import kbnEslintPluginImportsObj from './kbn_eslint_plugin_imports.devdocs.json'; diff --git a/api_docs/kbn_event_annotation_common.mdx b/api_docs/kbn_event_annotation_common.mdx index 820452718ecc11..fca4f111e574c9 100644 --- a/api_docs/kbn_event_annotation_common.mdx +++ b/api_docs/kbn_event_annotation_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-event-annotation-common title: "@kbn/event-annotation-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/event-annotation-common plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/event-annotation-common'] --- import kbnEventAnnotationCommonObj from './kbn_event_annotation_common.devdocs.json'; diff --git a/api_docs/kbn_event_annotation_components.mdx b/api_docs/kbn_event_annotation_components.mdx index a5915d78cf2b7d..59f59453dbfe68 100644 --- a/api_docs/kbn_event_annotation_components.mdx +++ b/api_docs/kbn_event_annotation_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-event-annotation-components title: "@kbn/event-annotation-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/event-annotation-components plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/event-annotation-components'] --- import kbnEventAnnotationComponentsObj from './kbn_event_annotation_components.devdocs.json'; diff --git a/api_docs/kbn_expandable_flyout.mdx b/api_docs/kbn_expandable_flyout.mdx index df75973fa64377..96b199b7dd931d 100644 --- a/api_docs/kbn_expandable_flyout.mdx +++ b/api_docs/kbn_expandable_flyout.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-expandable-flyout title: "@kbn/expandable-flyout" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/expandable-flyout plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/expandable-flyout'] --- import kbnExpandableFlyoutObj from './kbn_expandable_flyout.devdocs.json'; diff --git a/api_docs/kbn_field_types.mdx b/api_docs/kbn_field_types.mdx index 111a404ec0af52..80fea7dfb9fe5e 100644 --- a/api_docs/kbn_field_types.mdx +++ b/api_docs/kbn_field_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-field-types title: "@kbn/field-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/field-types plugin -date: 2023-09-23 +date: 2023-09-24 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 ce3961c46e3e4e..512c5670976938 100644 --- a/api_docs/kbn_find_used_node_modules.mdx +++ b/api_docs/kbn_find_used_node_modules.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-find-used-node-modules title: "@kbn/find-used-node-modules" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/find-used-node-modules plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/find-used-node-modules'] --- import kbnFindUsedNodeModulesObj from './kbn_find_used_node_modules.devdocs.json'; diff --git a/api_docs/kbn_ftr_common_functional_services.mdx b/api_docs/kbn_ftr_common_functional_services.mdx index d678181b08edac..4acbe9ee6a9ec0 100644 --- a/api_docs/kbn_ftr_common_functional_services.mdx +++ b/api_docs/kbn_ftr_common_functional_services.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ftr-common-functional-services title: "@kbn/ftr-common-functional-services" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ftr-common-functional-services plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ftr-common-functional-services'] --- import kbnFtrCommonFunctionalServicesObj from './kbn_ftr_common_functional_services.devdocs.json'; diff --git a/api_docs/kbn_generate.mdx b/api_docs/kbn_generate.mdx index 0f3d7636cd487e..1f903aa9c81060 100644 --- a/api_docs/kbn_generate.mdx +++ b/api_docs/kbn_generate.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-generate title: "@kbn/generate" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/generate plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/generate'] --- import kbnGenerateObj from './kbn_generate.devdocs.json'; diff --git a/api_docs/kbn_generate_console_definitions.mdx b/api_docs/kbn_generate_console_definitions.mdx index 99cb25bd70b8ba..8fd74108525567 100644 --- a/api_docs/kbn_generate_console_definitions.mdx +++ b/api_docs/kbn_generate_console_definitions.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-generate-console-definitions title: "@kbn/generate-console-definitions" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/generate-console-definitions plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/generate-console-definitions'] --- import kbnGenerateConsoleDefinitionsObj from './kbn_generate_console_definitions.devdocs.json'; diff --git a/api_docs/kbn_generate_csv.mdx b/api_docs/kbn_generate_csv.mdx index e51c83fca0c012..c1e848c13623e3 100644 --- a/api_docs/kbn_generate_csv.mdx +++ b/api_docs/kbn_generate_csv.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-generate-csv title: "@kbn/generate-csv" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/generate-csv plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/generate-csv'] --- import kbnGenerateCsvObj from './kbn_generate_csv.devdocs.json'; diff --git a/api_docs/kbn_generate_csv_types.mdx b/api_docs/kbn_generate_csv_types.mdx index f18cc442d3cc78..e4da8ba1d0a7b0 100644 --- a/api_docs/kbn_generate_csv_types.mdx +++ b/api_docs/kbn_generate_csv_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-generate-csv-types title: "@kbn/generate-csv-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/generate-csv-types plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/generate-csv-types'] --- import kbnGenerateCsvTypesObj from './kbn_generate_csv_types.devdocs.json'; diff --git a/api_docs/kbn_guided_onboarding.mdx b/api_docs/kbn_guided_onboarding.mdx index a48ea36d35693a..1c5d5de6ae4dc3 100644 --- a/api_docs/kbn_guided_onboarding.mdx +++ b/api_docs/kbn_guided_onboarding.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-guided-onboarding title: "@kbn/guided-onboarding" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/guided-onboarding plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/guided-onboarding'] --- import kbnGuidedOnboardingObj from './kbn_guided_onboarding.devdocs.json'; diff --git a/api_docs/kbn_handlebars.mdx b/api_docs/kbn_handlebars.mdx index bce960e115fdaa..919e96b8d50835 100644 --- a/api_docs/kbn_handlebars.mdx +++ b/api_docs/kbn_handlebars.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-handlebars title: "@kbn/handlebars" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/handlebars plugin -date: 2023-09-23 +date: 2023-09-24 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 23901e6ea68fa7..3c11d839c4af46 100644 --- a/api_docs/kbn_hapi_mocks.mdx +++ b/api_docs/kbn_hapi_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-hapi-mocks title: "@kbn/hapi-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/hapi-mocks plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/hapi-mocks'] --- import kbnHapiMocksObj from './kbn_hapi_mocks.devdocs.json'; diff --git a/api_docs/kbn_health_gateway_server.mdx b/api_docs/kbn_health_gateway_server.mdx index 0d6a9bd32d9216..f1d3348efc9b98 100644 --- a/api_docs/kbn_health_gateway_server.mdx +++ b/api_docs/kbn_health_gateway_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-health-gateway-server title: "@kbn/health-gateway-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/health-gateway-server plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/health-gateway-server'] --- import kbnHealthGatewayServerObj from './kbn_health_gateway_server.devdocs.json'; diff --git a/api_docs/kbn_home_sample_data_card.mdx b/api_docs/kbn_home_sample_data_card.mdx index 385264a2e6b16d..968c772c1c591a 100644 --- a/api_docs/kbn_home_sample_data_card.mdx +++ b/api_docs/kbn_home_sample_data_card.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-home-sample-data-card title: "@kbn/home-sample-data-card" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/home-sample-data-card plugin -date: 2023-09-23 +date: 2023-09-24 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 0121496b737585..02168d6c638f9a 100644 --- a/api_docs/kbn_home_sample_data_tab.mdx +++ b/api_docs/kbn_home_sample_data_tab.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-home-sample-data-tab title: "@kbn/home-sample-data-tab" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/home-sample-data-tab plugin -date: 2023-09-23 +date: 2023-09-24 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 d2cdf79ebdadf3..f2eac89d8f1728 100644 --- a/api_docs/kbn_i18n.mdx +++ b/api_docs/kbn_i18n.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-i18n title: "@kbn/i18n" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/i18n plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/i18n'] --- import kbnI18nObj from './kbn_i18n.devdocs.json'; diff --git a/api_docs/kbn_i18n_react.mdx b/api_docs/kbn_i18n_react.mdx index 31ce3940b0e79e..a54b799549dd8d 100644 --- a/api_docs/kbn_i18n_react.mdx +++ b/api_docs/kbn_i18n_react.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-i18n-react title: "@kbn/i18n-react" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/i18n-react plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/i18n-react'] --- import kbnI18nReactObj from './kbn_i18n_react.devdocs.json'; diff --git a/api_docs/kbn_import_resolver.mdx b/api_docs/kbn_import_resolver.mdx index f1ca34f4ab5f6c..1cbaf3bdac6041 100644 --- a/api_docs/kbn_import_resolver.mdx +++ b/api_docs/kbn_import_resolver.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-import-resolver title: "@kbn/import-resolver" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/import-resolver plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/import-resolver'] --- import kbnImportResolverObj from './kbn_import_resolver.devdocs.json'; diff --git a/api_docs/kbn_infra_forge.mdx b/api_docs/kbn_infra_forge.mdx index 2cf5bfcc189ec6..f2a65d26a8adf5 100644 --- a/api_docs/kbn_infra_forge.mdx +++ b/api_docs/kbn_infra_forge.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-infra-forge title: "@kbn/infra-forge" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/infra-forge plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/infra-forge'] --- import kbnInfraForgeObj from './kbn_infra_forge.devdocs.json'; diff --git a/api_docs/kbn_interpreter.mdx b/api_docs/kbn_interpreter.mdx index 5e1d7a35e9f359..fd6051a9444cec 100644 --- a/api_docs/kbn_interpreter.mdx +++ b/api_docs/kbn_interpreter.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-interpreter title: "@kbn/interpreter" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/interpreter plugin -date: 2023-09-23 +date: 2023-09-24 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 9ab73c011fdd4f..e192a67e9236cf 100644 --- a/api_docs/kbn_io_ts_utils.mdx +++ b/api_docs/kbn_io_ts_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-io-ts-utils title: "@kbn/io-ts-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/io-ts-utils plugin -date: 2023-09-23 +date: 2023-09-24 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 bd4cb84b2cb66d..b5efbe7e33ff71 100644 --- a/api_docs/kbn_jest_serializers.mdx +++ b/api_docs/kbn_jest_serializers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-jest-serializers title: "@kbn/jest-serializers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/jest-serializers plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/jest-serializers'] --- import kbnJestSerializersObj from './kbn_jest_serializers.devdocs.json'; diff --git a/api_docs/kbn_journeys.mdx b/api_docs/kbn_journeys.mdx index dbb59734e20d0c..ec890e4012b6a5 100644 --- a/api_docs/kbn_journeys.mdx +++ b/api_docs/kbn_journeys.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-journeys title: "@kbn/journeys" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/journeys plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/journeys'] --- import kbnJourneysObj from './kbn_journeys.devdocs.json'; diff --git a/api_docs/kbn_json_ast.mdx b/api_docs/kbn_json_ast.mdx index 4b55dec03361d2..fa277f36a57b64 100644 --- a/api_docs/kbn_json_ast.mdx +++ b/api_docs/kbn_json_ast.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-json-ast title: "@kbn/json-ast" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/json-ast plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/json-ast'] --- import kbnJsonAstObj from './kbn_json_ast.devdocs.json'; diff --git a/api_docs/kbn_kibana_manifest_schema.mdx b/api_docs/kbn_kibana_manifest_schema.mdx index 6d6c9e7aa85fd3..74745c1dad7e40 100644 --- a/api_docs/kbn_kibana_manifest_schema.mdx +++ b/api_docs/kbn_kibana_manifest_schema.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-kibana-manifest-schema title: "@kbn/kibana-manifest-schema" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/kibana-manifest-schema plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/kibana-manifest-schema'] --- import kbnKibanaManifestSchemaObj from './kbn_kibana_manifest_schema.devdocs.json'; diff --git a/api_docs/kbn_language_documentation_popover.mdx b/api_docs/kbn_language_documentation_popover.mdx index ba46fb07f940be..2208a22b35d9d7 100644 --- a/api_docs/kbn_language_documentation_popover.mdx +++ b/api_docs/kbn_language_documentation_popover.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-language-documentation-popover title: "@kbn/language-documentation-popover" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/language-documentation-popover plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/language-documentation-popover'] --- import kbnLanguageDocumentationPopoverObj from './kbn_language_documentation_popover.devdocs.json'; diff --git a/api_docs/kbn_lens_embeddable_utils.mdx b/api_docs/kbn_lens_embeddable_utils.mdx index aee78de4625946..f294b6f982209f 100644 --- a/api_docs/kbn_lens_embeddable_utils.mdx +++ b/api_docs/kbn_lens_embeddable_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-lens-embeddable-utils title: "@kbn/lens-embeddable-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/lens-embeddable-utils plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/lens-embeddable-utils'] --- import kbnLensEmbeddableUtilsObj from './kbn_lens_embeddable_utils.devdocs.json'; diff --git a/api_docs/kbn_logging.mdx b/api_docs/kbn_logging.mdx index a76a3418d8a936..9986ca75c1325e 100644 --- a/api_docs/kbn_logging.mdx +++ b/api_docs/kbn_logging.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-logging title: "@kbn/logging" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/logging plugin -date: 2023-09-23 +date: 2023-09-24 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 33aa75b1b4cf1d..2bcc411211f8bd 100644 --- a/api_docs/kbn_logging_mocks.mdx +++ b/api_docs/kbn_logging_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-logging-mocks title: "@kbn/logging-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/logging-mocks plugin -date: 2023-09-23 +date: 2023-09-24 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 0545116d9d3d75..d122897870a677 100644 --- a/api_docs/kbn_managed_vscode_config.mdx +++ b/api_docs/kbn_managed_vscode_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-managed-vscode-config title: "@kbn/managed-vscode-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/managed-vscode-config plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/managed-vscode-config'] --- import kbnManagedVscodeConfigObj from './kbn_managed_vscode_config.devdocs.json'; diff --git a/api_docs/kbn_management_cards_navigation.mdx b/api_docs/kbn_management_cards_navigation.mdx index c9dbb000f43b7f..2697cb9c2263f2 100644 --- a/api_docs/kbn_management_cards_navigation.mdx +++ b/api_docs/kbn_management_cards_navigation.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-cards-navigation title: "@kbn/management-cards-navigation" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-cards-navigation plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-cards-navigation'] --- import kbnManagementCardsNavigationObj from './kbn_management_cards_navigation.devdocs.json'; diff --git a/api_docs/kbn_management_settings_components_field_input.mdx b/api_docs/kbn_management_settings_components_field_input.mdx index e836f1c8bf6808..d5fb5616ab7ef4 100644 --- a/api_docs/kbn_management_settings_components_field_input.mdx +++ b/api_docs/kbn_management_settings_components_field_input.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-components-field-input title: "@kbn/management-settings-components-field-input" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-components-field-input plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-components-field-input'] --- import kbnManagementSettingsComponentsFieldInputObj from './kbn_management_settings_components_field_input.devdocs.json'; diff --git a/api_docs/kbn_management_settings_components_field_row.mdx b/api_docs/kbn_management_settings_components_field_row.mdx index f965a76d287be9..273457c3879dc1 100644 --- a/api_docs/kbn_management_settings_components_field_row.mdx +++ b/api_docs/kbn_management_settings_components_field_row.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-components-field-row title: "@kbn/management-settings-components-field-row" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-components-field-row plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-components-field-row'] --- import kbnManagementSettingsComponentsFieldRowObj from './kbn_management_settings_components_field_row.devdocs.json'; diff --git a/api_docs/kbn_management_settings_field_definition.mdx b/api_docs/kbn_management_settings_field_definition.mdx index d3b03594b9b45e..3b12bc40f45ab9 100644 --- a/api_docs/kbn_management_settings_field_definition.mdx +++ b/api_docs/kbn_management_settings_field_definition.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-field-definition title: "@kbn/management-settings-field-definition" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-field-definition plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-field-definition'] --- import kbnManagementSettingsFieldDefinitionObj from './kbn_management_settings_field_definition.devdocs.json'; diff --git a/api_docs/kbn_management_settings_ids.mdx b/api_docs/kbn_management_settings_ids.mdx index 5021dc7a7ee0c5..a9d5aa061c0c95 100644 --- a/api_docs/kbn_management_settings_ids.mdx +++ b/api_docs/kbn_management_settings_ids.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-ids title: "@kbn/management-settings-ids" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-ids plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-ids'] --- import kbnManagementSettingsIdsObj from './kbn_management_settings_ids.devdocs.json'; diff --git a/api_docs/kbn_management_settings_section_registry.mdx b/api_docs/kbn_management_settings_section_registry.mdx index fc6d1c1b1591d9..ab0d3f0406780b 100644 --- a/api_docs/kbn_management_settings_section_registry.mdx +++ b/api_docs/kbn_management_settings_section_registry.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-section-registry title: "@kbn/management-settings-section-registry" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-section-registry plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-section-registry'] --- import kbnManagementSettingsSectionRegistryObj from './kbn_management_settings_section_registry.devdocs.json'; diff --git a/api_docs/kbn_management_settings_types.mdx b/api_docs/kbn_management_settings_types.mdx index 9e5640274cf6ea..8c5c42e591dcbc 100644 --- a/api_docs/kbn_management_settings_types.mdx +++ b/api_docs/kbn_management_settings_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-types title: "@kbn/management-settings-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-types plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-types'] --- import kbnManagementSettingsTypesObj from './kbn_management_settings_types.devdocs.json'; diff --git a/api_docs/kbn_management_settings_utilities.mdx b/api_docs/kbn_management_settings_utilities.mdx index 1314872894a9d1..5a7af74a53ed5e 100644 --- a/api_docs/kbn_management_settings_utilities.mdx +++ b/api_docs/kbn_management_settings_utilities.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-utilities title: "@kbn/management-settings-utilities" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-utilities plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-utilities'] --- import kbnManagementSettingsUtilitiesObj from './kbn_management_settings_utilities.devdocs.json'; diff --git a/api_docs/kbn_management_storybook_config.mdx b/api_docs/kbn_management_storybook_config.mdx index a420eccf9169a0..b1fb21d39d2578 100644 --- a/api_docs/kbn_management_storybook_config.mdx +++ b/api_docs/kbn_management_storybook_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-storybook-config title: "@kbn/management-storybook-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-storybook-config plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-storybook-config'] --- import kbnManagementStorybookConfigObj from './kbn_management_storybook_config.devdocs.json'; diff --git a/api_docs/kbn_mapbox_gl.mdx b/api_docs/kbn_mapbox_gl.mdx index 6f648ebe29fa31..86e25aceb366ce 100644 --- a/api_docs/kbn_mapbox_gl.mdx +++ b/api_docs/kbn_mapbox_gl.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-mapbox-gl title: "@kbn/mapbox-gl" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/mapbox-gl plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/mapbox-gl'] --- import kbnMapboxGlObj from './kbn_mapbox_gl.devdocs.json'; diff --git a/api_docs/kbn_maps_vector_tile_utils.mdx b/api_docs/kbn_maps_vector_tile_utils.mdx index 3edc6f4a1735e8..f4f916ce8dec1c 100644 --- a/api_docs/kbn_maps_vector_tile_utils.mdx +++ b/api_docs/kbn_maps_vector_tile_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-maps-vector-tile-utils title: "@kbn/maps-vector-tile-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/maps-vector-tile-utils plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/maps-vector-tile-utils'] --- import kbnMapsVectorTileUtilsObj from './kbn_maps_vector_tile_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_agg_utils.mdx b/api_docs/kbn_ml_agg_utils.mdx index ad4426470d7651..376f5405da9201 100644 --- a/api_docs/kbn_ml_agg_utils.mdx +++ b/api_docs/kbn_ml_agg_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-agg-utils title: "@kbn/ml-agg-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-agg-utils plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-agg-utils'] --- import kbnMlAggUtilsObj from './kbn_ml_agg_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_anomaly_utils.mdx b/api_docs/kbn_ml_anomaly_utils.mdx index 2017de97276385..e609c5a1f706b8 100644 --- a/api_docs/kbn_ml_anomaly_utils.mdx +++ b/api_docs/kbn_ml_anomaly_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-anomaly-utils title: "@kbn/ml-anomaly-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-anomaly-utils plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-anomaly-utils'] --- import kbnMlAnomalyUtilsObj from './kbn_ml_anomaly_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_category_validator.mdx b/api_docs/kbn_ml_category_validator.mdx index 00185fa1f0e84b..241a5792afc0d5 100644 --- a/api_docs/kbn_ml_category_validator.mdx +++ b/api_docs/kbn_ml_category_validator.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-category-validator title: "@kbn/ml-category-validator" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-category-validator plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-category-validator'] --- import kbnMlCategoryValidatorObj from './kbn_ml_category_validator.devdocs.json'; diff --git a/api_docs/kbn_ml_data_frame_analytics_utils.mdx b/api_docs/kbn_ml_data_frame_analytics_utils.mdx index b6f7304ab758b3..d5b6d80e320085 100644 --- a/api_docs/kbn_ml_data_frame_analytics_utils.mdx +++ b/api_docs/kbn_ml_data_frame_analytics_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-data-frame-analytics-utils title: "@kbn/ml-data-frame-analytics-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-data-frame-analytics-utils plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-data-frame-analytics-utils'] --- import kbnMlDataFrameAnalyticsUtilsObj from './kbn_ml_data_frame_analytics_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_data_grid.mdx b/api_docs/kbn_ml_data_grid.mdx index 83345deaa87d40..4285f4ee682649 100644 --- a/api_docs/kbn_ml_data_grid.mdx +++ b/api_docs/kbn_ml_data_grid.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-data-grid title: "@kbn/ml-data-grid" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-data-grid plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-data-grid'] --- import kbnMlDataGridObj from './kbn_ml_data_grid.devdocs.json'; diff --git a/api_docs/kbn_ml_date_picker.mdx b/api_docs/kbn_ml_date_picker.mdx index 44a25686945696..3dd7c4a0a68d8f 100644 --- a/api_docs/kbn_ml_date_picker.mdx +++ b/api_docs/kbn_ml_date_picker.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-date-picker title: "@kbn/ml-date-picker" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-date-picker plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-date-picker'] --- import kbnMlDatePickerObj from './kbn_ml_date_picker.devdocs.json'; diff --git a/api_docs/kbn_ml_date_utils.mdx b/api_docs/kbn_ml_date_utils.mdx index 36633c07de0c6e..f7fae44d60e4f0 100644 --- a/api_docs/kbn_ml_date_utils.mdx +++ b/api_docs/kbn_ml_date_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-date-utils title: "@kbn/ml-date-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-date-utils plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-date-utils'] --- import kbnMlDateUtilsObj from './kbn_ml_date_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_error_utils.mdx b/api_docs/kbn_ml_error_utils.mdx index 01dd9fac8e8f97..87e5e16d82e80d 100644 --- a/api_docs/kbn_ml_error_utils.mdx +++ b/api_docs/kbn_ml_error_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-error-utils title: "@kbn/ml-error-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-error-utils plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-error-utils'] --- import kbnMlErrorUtilsObj from './kbn_ml_error_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_in_memory_table.mdx b/api_docs/kbn_ml_in_memory_table.mdx index 6335986895acbe..0b4964fea46c05 100644 --- a/api_docs/kbn_ml_in_memory_table.mdx +++ b/api_docs/kbn_ml_in_memory_table.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-in-memory-table title: "@kbn/ml-in-memory-table" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-in-memory-table plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-in-memory-table'] --- import kbnMlInMemoryTableObj from './kbn_ml_in_memory_table.devdocs.json'; diff --git a/api_docs/kbn_ml_is_defined.mdx b/api_docs/kbn_ml_is_defined.mdx index 955a97f998d496..f2496f246e1c9e 100644 --- a/api_docs/kbn_ml_is_defined.mdx +++ b/api_docs/kbn_ml_is_defined.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-is-defined title: "@kbn/ml-is-defined" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-is-defined plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-is-defined'] --- import kbnMlIsDefinedObj from './kbn_ml_is_defined.devdocs.json'; diff --git a/api_docs/kbn_ml_is_populated_object.mdx b/api_docs/kbn_ml_is_populated_object.mdx index 82a192d8b1ea7e..e12933d26f4864 100644 --- a/api_docs/kbn_ml_is_populated_object.mdx +++ b/api_docs/kbn_ml_is_populated_object.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-is-populated-object title: "@kbn/ml-is-populated-object" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-is-populated-object plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-is-populated-object'] --- import kbnMlIsPopulatedObjectObj from './kbn_ml_is_populated_object.devdocs.json'; diff --git a/api_docs/kbn_ml_kibana_theme.mdx b/api_docs/kbn_ml_kibana_theme.mdx index c1bc2fd19f2b9c..5a00766fc91f86 100644 --- a/api_docs/kbn_ml_kibana_theme.mdx +++ b/api_docs/kbn_ml_kibana_theme.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-kibana-theme title: "@kbn/ml-kibana-theme" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-kibana-theme plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-kibana-theme'] --- import kbnMlKibanaThemeObj from './kbn_ml_kibana_theme.devdocs.json'; diff --git a/api_docs/kbn_ml_local_storage.mdx b/api_docs/kbn_ml_local_storage.mdx index 2803fa8d518d98..a436663c6758a3 100644 --- a/api_docs/kbn_ml_local_storage.mdx +++ b/api_docs/kbn_ml_local_storage.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-local-storage title: "@kbn/ml-local-storage" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-local-storage plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-local-storage'] --- import kbnMlLocalStorageObj from './kbn_ml_local_storage.devdocs.json'; diff --git a/api_docs/kbn_ml_nested_property.mdx b/api_docs/kbn_ml_nested_property.mdx index c944c8412d8a13..8e06ddbbe23337 100644 --- a/api_docs/kbn_ml_nested_property.mdx +++ b/api_docs/kbn_ml_nested_property.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-nested-property title: "@kbn/ml-nested-property" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-nested-property plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-nested-property'] --- import kbnMlNestedPropertyObj from './kbn_ml_nested_property.devdocs.json'; diff --git a/api_docs/kbn_ml_number_utils.mdx b/api_docs/kbn_ml_number_utils.mdx index 22d2d68b3bb813..6091513acc6a01 100644 --- a/api_docs/kbn_ml_number_utils.mdx +++ b/api_docs/kbn_ml_number_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-number-utils title: "@kbn/ml-number-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-number-utils plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-number-utils'] --- import kbnMlNumberUtilsObj from './kbn_ml_number_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_query_utils.mdx b/api_docs/kbn_ml_query_utils.mdx index 692e708afcbc8a..d9c3105aa346e1 100644 --- a/api_docs/kbn_ml_query_utils.mdx +++ b/api_docs/kbn_ml_query_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-query-utils title: "@kbn/ml-query-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-query-utils plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-query-utils'] --- import kbnMlQueryUtilsObj from './kbn_ml_query_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_random_sampler_utils.mdx b/api_docs/kbn_ml_random_sampler_utils.mdx index 1aba662f6d98f8..cd078f12de67ec 100644 --- a/api_docs/kbn_ml_random_sampler_utils.mdx +++ b/api_docs/kbn_ml_random_sampler_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-random-sampler-utils title: "@kbn/ml-random-sampler-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-random-sampler-utils plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-random-sampler-utils'] --- import kbnMlRandomSamplerUtilsObj from './kbn_ml_random_sampler_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_route_utils.mdx b/api_docs/kbn_ml_route_utils.mdx index bfe42610fc618d..ea27087fc06a0e 100644 --- a/api_docs/kbn_ml_route_utils.mdx +++ b/api_docs/kbn_ml_route_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-route-utils title: "@kbn/ml-route-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-route-utils plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-route-utils'] --- import kbnMlRouteUtilsObj from './kbn_ml_route_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_runtime_field_utils.mdx b/api_docs/kbn_ml_runtime_field_utils.mdx index cc81c1cb6715f9..4dc78102f6125d 100644 --- a/api_docs/kbn_ml_runtime_field_utils.mdx +++ b/api_docs/kbn_ml_runtime_field_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-runtime-field-utils title: "@kbn/ml-runtime-field-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-runtime-field-utils plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-runtime-field-utils'] --- import kbnMlRuntimeFieldUtilsObj from './kbn_ml_runtime_field_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_string_hash.mdx b/api_docs/kbn_ml_string_hash.mdx index dca6deeb5ecde0..61b0a7ea3270c6 100644 --- a/api_docs/kbn_ml_string_hash.mdx +++ b/api_docs/kbn_ml_string_hash.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-string-hash title: "@kbn/ml-string-hash" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-string-hash plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-string-hash'] --- import kbnMlStringHashObj from './kbn_ml_string_hash.devdocs.json'; diff --git a/api_docs/kbn_ml_trained_models_utils.mdx b/api_docs/kbn_ml_trained_models_utils.mdx index b9e911af51cfa0..ef7d77d8af1784 100644 --- a/api_docs/kbn_ml_trained_models_utils.mdx +++ b/api_docs/kbn_ml_trained_models_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-trained-models-utils title: "@kbn/ml-trained-models-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-trained-models-utils plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-trained-models-utils'] --- import kbnMlTrainedModelsUtilsObj from './kbn_ml_trained_models_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_url_state.mdx b/api_docs/kbn_ml_url_state.mdx index 2dcb5623c1d438..4bf5182ad6eb5b 100644 --- a/api_docs/kbn_ml_url_state.mdx +++ b/api_docs/kbn_ml_url_state.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-url-state title: "@kbn/ml-url-state" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-url-state plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-url-state'] --- import kbnMlUrlStateObj from './kbn_ml_url_state.devdocs.json'; diff --git a/api_docs/kbn_monaco.mdx b/api_docs/kbn_monaco.mdx index 153eb6c6d1eb6b..f72650d44a6da9 100644 --- a/api_docs/kbn_monaco.mdx +++ b/api_docs/kbn_monaco.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-monaco title: "@kbn/monaco" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/monaco plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/monaco'] --- import kbnMonacoObj from './kbn_monaco.devdocs.json'; diff --git a/api_docs/kbn_object_versioning.mdx b/api_docs/kbn_object_versioning.mdx index ee7ac731ab68d5..529e649cc52bd1 100644 --- a/api_docs/kbn_object_versioning.mdx +++ b/api_docs/kbn_object_versioning.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-object-versioning title: "@kbn/object-versioning" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/object-versioning plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/object-versioning'] --- import kbnObjectVersioningObj from './kbn_object_versioning.devdocs.json'; diff --git a/api_docs/kbn_observability_alert_details.mdx b/api_docs/kbn_observability_alert_details.mdx index 3bf29cc5849e57..6ee6c0784ea7c3 100644 --- a/api_docs/kbn_observability_alert_details.mdx +++ b/api_docs/kbn_observability_alert_details.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-observability-alert-details title: "@kbn/observability-alert-details" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/observability-alert-details plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/observability-alert-details'] --- import kbnObservabilityAlertDetailsObj from './kbn_observability_alert_details.devdocs.json'; diff --git a/api_docs/kbn_optimizer.mdx b/api_docs/kbn_optimizer.mdx index 5d0755568b1df3..6c2b04620e0f69 100644 --- a/api_docs/kbn_optimizer.mdx +++ b/api_docs/kbn_optimizer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-optimizer title: "@kbn/optimizer" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/optimizer plugin -date: 2023-09-23 +date: 2023-09-24 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 6ccfeb627960c9..a2a4d936d8ca6b 100644 --- a/api_docs/kbn_optimizer_webpack_helpers.mdx +++ b/api_docs/kbn_optimizer_webpack_helpers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-optimizer-webpack-helpers title: "@kbn/optimizer-webpack-helpers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/optimizer-webpack-helpers plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/optimizer-webpack-helpers'] --- import kbnOptimizerWebpackHelpersObj from './kbn_optimizer_webpack_helpers.devdocs.json'; diff --git a/api_docs/kbn_osquery_io_ts_types.mdx b/api_docs/kbn_osquery_io_ts_types.mdx index c12966cdc6688f..3f83d80990033f 100644 --- a/api_docs/kbn_osquery_io_ts_types.mdx +++ b/api_docs/kbn_osquery_io_ts_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-osquery-io-ts-types title: "@kbn/osquery-io-ts-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/osquery-io-ts-types plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/osquery-io-ts-types'] --- import kbnOsqueryIoTsTypesObj from './kbn_osquery_io_ts_types.devdocs.json'; diff --git a/api_docs/kbn_performance_testing_dataset_extractor.mdx b/api_docs/kbn_performance_testing_dataset_extractor.mdx index e4ddfffe78d865..c700ef8c2cd2da 100644 --- a/api_docs/kbn_performance_testing_dataset_extractor.mdx +++ b/api_docs/kbn_performance_testing_dataset_extractor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-performance-testing-dataset-extractor title: "@kbn/performance-testing-dataset-extractor" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/performance-testing-dataset-extractor plugin -date: 2023-09-23 +date: 2023-09-24 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 ac12cc69942815..850a772e85d532 100644 --- a/api_docs/kbn_plugin_generator.mdx +++ b/api_docs/kbn_plugin_generator.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-plugin-generator title: "@kbn/plugin-generator" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/plugin-generator plugin -date: 2023-09-23 +date: 2023-09-24 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 4065e1097d9162..7994b5adb6d25c 100644 --- a/api_docs/kbn_plugin_helpers.mdx +++ b/api_docs/kbn_plugin_helpers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-plugin-helpers title: "@kbn/plugin-helpers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/plugin-helpers plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/plugin-helpers'] --- import kbnPluginHelpersObj from './kbn_plugin_helpers.devdocs.json'; diff --git a/api_docs/kbn_profiling_utils.mdx b/api_docs/kbn_profiling_utils.mdx index bb73bee427a5f4..1c85ba30ab2462 100644 --- a/api_docs/kbn_profiling_utils.mdx +++ b/api_docs/kbn_profiling_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-profiling-utils title: "@kbn/profiling-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/profiling-utils plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/profiling-utils'] --- import kbnProfilingUtilsObj from './kbn_profiling_utils.devdocs.json'; diff --git a/api_docs/kbn_random_sampling.mdx b/api_docs/kbn_random_sampling.mdx index a34ef52489a68b..37552f457dfec0 100644 --- a/api_docs/kbn_random_sampling.mdx +++ b/api_docs/kbn_random_sampling.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-random-sampling title: "@kbn/random-sampling" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/random-sampling plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/random-sampling'] --- import kbnRandomSamplingObj from './kbn_random_sampling.devdocs.json'; diff --git a/api_docs/kbn_react_field.mdx b/api_docs/kbn_react_field.mdx index df48fd5af39f51..8268076851c787 100644 --- a/api_docs/kbn_react_field.mdx +++ b/api_docs/kbn_react_field.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-field title: "@kbn/react-field" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-field plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-field'] --- import kbnReactFieldObj from './kbn_react_field.devdocs.json'; diff --git a/api_docs/kbn_react_kibana_context_common.mdx b/api_docs/kbn_react_kibana_context_common.mdx index 2e0e0ff1b1ced2..a3abe26c85bafb 100644 --- a/api_docs/kbn_react_kibana_context_common.mdx +++ b/api_docs/kbn_react_kibana_context_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-kibana-context-common title: "@kbn/react-kibana-context-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-kibana-context-common plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-kibana-context-common'] --- import kbnReactKibanaContextCommonObj from './kbn_react_kibana_context_common.devdocs.json'; diff --git a/api_docs/kbn_react_kibana_context_render.mdx b/api_docs/kbn_react_kibana_context_render.mdx index a75c3a7a55abb2..2c844614eb5d82 100644 --- a/api_docs/kbn_react_kibana_context_render.mdx +++ b/api_docs/kbn_react_kibana_context_render.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-kibana-context-render title: "@kbn/react-kibana-context-render" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-kibana-context-render plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-kibana-context-render'] --- import kbnReactKibanaContextRenderObj from './kbn_react_kibana_context_render.devdocs.json'; diff --git a/api_docs/kbn_react_kibana_context_root.mdx b/api_docs/kbn_react_kibana_context_root.mdx index d1ad70321c8f5a..e56515be733411 100644 --- a/api_docs/kbn_react_kibana_context_root.mdx +++ b/api_docs/kbn_react_kibana_context_root.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-kibana-context-root title: "@kbn/react-kibana-context-root" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-kibana-context-root plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-kibana-context-root'] --- import kbnReactKibanaContextRootObj from './kbn_react_kibana_context_root.devdocs.json'; diff --git a/api_docs/kbn_react_kibana_context_styled.mdx b/api_docs/kbn_react_kibana_context_styled.mdx index 82e70aa86723f7..dfa1c23251601e 100644 --- a/api_docs/kbn_react_kibana_context_styled.mdx +++ b/api_docs/kbn_react_kibana_context_styled.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-kibana-context-styled title: "@kbn/react-kibana-context-styled" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-kibana-context-styled plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-kibana-context-styled'] --- import kbnReactKibanaContextStyledObj from './kbn_react_kibana_context_styled.devdocs.json'; diff --git a/api_docs/kbn_react_kibana_context_theme.mdx b/api_docs/kbn_react_kibana_context_theme.mdx index bdc791e102b11f..4f6c351dfc02e5 100644 --- a/api_docs/kbn_react_kibana_context_theme.mdx +++ b/api_docs/kbn_react_kibana_context_theme.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-kibana-context-theme title: "@kbn/react-kibana-context-theme" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-kibana-context-theme plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-kibana-context-theme'] --- import kbnReactKibanaContextThemeObj from './kbn_react_kibana_context_theme.devdocs.json'; diff --git a/api_docs/kbn_react_kibana_mount.mdx b/api_docs/kbn_react_kibana_mount.mdx index 3429f820ccbeb7..50405fe09162f6 100644 --- a/api_docs/kbn_react_kibana_mount.mdx +++ b/api_docs/kbn_react_kibana_mount.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-kibana-mount title: "@kbn/react-kibana-mount" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-kibana-mount plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-kibana-mount'] --- import kbnReactKibanaMountObj from './kbn_react_kibana_mount.devdocs.json'; diff --git a/api_docs/kbn_repo_file_maps.mdx b/api_docs/kbn_repo_file_maps.mdx index 878dabfe115b03..4c09951c5ff792 100644 --- a/api_docs/kbn_repo_file_maps.mdx +++ b/api_docs/kbn_repo_file_maps.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-repo-file-maps title: "@kbn/repo-file-maps" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/repo-file-maps plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/repo-file-maps'] --- import kbnRepoFileMapsObj from './kbn_repo_file_maps.devdocs.json'; diff --git a/api_docs/kbn_repo_linter.mdx b/api_docs/kbn_repo_linter.mdx index b47c0999360f1f..ab0eccce35d856 100644 --- a/api_docs/kbn_repo_linter.mdx +++ b/api_docs/kbn_repo_linter.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-repo-linter title: "@kbn/repo-linter" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/repo-linter plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/repo-linter'] --- import kbnRepoLinterObj from './kbn_repo_linter.devdocs.json'; diff --git a/api_docs/kbn_repo_path.mdx b/api_docs/kbn_repo_path.mdx index 7e5b49ac0ed61e..631638512c6131 100644 --- a/api_docs/kbn_repo_path.mdx +++ b/api_docs/kbn_repo_path.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-repo-path title: "@kbn/repo-path" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/repo-path plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/repo-path'] --- import kbnRepoPathObj from './kbn_repo_path.devdocs.json'; diff --git a/api_docs/kbn_repo_source_classifier.mdx b/api_docs/kbn_repo_source_classifier.mdx index cfcfdd3b9e0b3c..ecfa863d25a0e5 100644 --- a/api_docs/kbn_repo_source_classifier.mdx +++ b/api_docs/kbn_repo_source_classifier.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-repo-source-classifier title: "@kbn/repo-source-classifier" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/repo-source-classifier plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/repo-source-classifier'] --- import kbnRepoSourceClassifierObj from './kbn_repo_source_classifier.devdocs.json'; diff --git a/api_docs/kbn_reporting_common.mdx b/api_docs/kbn_reporting_common.mdx index eb3f91bc91c667..b4d73be05bfb0f 100644 --- a/api_docs/kbn_reporting_common.mdx +++ b/api_docs/kbn_reporting_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-reporting-common title: "@kbn/reporting-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/reporting-common plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/reporting-common'] --- import kbnReportingCommonObj from './kbn_reporting_common.devdocs.json'; diff --git a/api_docs/kbn_rison.mdx b/api_docs/kbn_rison.mdx index 364bd31cba8b48..442778fa546937 100644 --- a/api_docs/kbn_rison.mdx +++ b/api_docs/kbn_rison.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-rison title: "@kbn/rison" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/rison plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/rison'] --- import kbnRisonObj from './kbn_rison.devdocs.json'; diff --git a/api_docs/kbn_rrule.mdx b/api_docs/kbn_rrule.mdx index 6787a0ef496893..17c07dc32c52b1 100644 --- a/api_docs/kbn_rrule.mdx +++ b/api_docs/kbn_rrule.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-rrule title: "@kbn/rrule" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/rrule plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/rrule'] --- import kbnRruleObj from './kbn_rrule.devdocs.json'; diff --git a/api_docs/kbn_rule_data_utils.mdx b/api_docs/kbn_rule_data_utils.mdx index 42a047ccb94fc8..43780e42acfa3d 100644 --- a/api_docs/kbn_rule_data_utils.mdx +++ b/api_docs/kbn_rule_data_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-rule-data-utils title: "@kbn/rule-data-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/rule-data-utils plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/rule-data-utils'] --- import kbnRuleDataUtilsObj from './kbn_rule_data_utils.devdocs.json'; diff --git a/api_docs/kbn_saved_objects_settings.mdx b/api_docs/kbn_saved_objects_settings.mdx index e97382f501235b..6e20707ad29e31 100644 --- a/api_docs/kbn_saved_objects_settings.mdx +++ b/api_docs/kbn_saved_objects_settings.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-saved-objects-settings title: "@kbn/saved-objects-settings" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/saved-objects-settings plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/saved-objects-settings'] --- import kbnSavedObjectsSettingsObj from './kbn_saved_objects_settings.devdocs.json'; diff --git a/api_docs/kbn_search_api_panels.mdx b/api_docs/kbn_search_api_panels.mdx index 01cc29dc3cb0e8..7a59430006acff 100644 --- a/api_docs/kbn_search_api_panels.mdx +++ b/api_docs/kbn_search_api_panels.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-search-api-panels title: "@kbn/search-api-panels" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/search-api-panels plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/search-api-panels'] --- import kbnSearchApiPanelsObj from './kbn_search_api_panels.devdocs.json'; diff --git a/api_docs/kbn_search_connectors.mdx b/api_docs/kbn_search_connectors.mdx index a72e945074f3e4..93878cc821b32b 100644 --- a/api_docs/kbn_search_connectors.mdx +++ b/api_docs/kbn_search_connectors.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-search-connectors title: "@kbn/search-connectors" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/search-connectors plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/search-connectors'] --- import kbnSearchConnectorsObj from './kbn_search_connectors.devdocs.json'; diff --git a/api_docs/kbn_search_response_warnings.mdx b/api_docs/kbn_search_response_warnings.mdx index ce95ffee301817..6b998b92eca369 100644 --- a/api_docs/kbn_search_response_warnings.mdx +++ b/api_docs/kbn_search_response_warnings.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-search-response-warnings title: "@kbn/search-response-warnings" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/search-response-warnings plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/search-response-warnings'] --- import kbnSearchResponseWarningsObj from './kbn_search_response_warnings.devdocs.json'; diff --git a/api_docs/kbn_security_solution_features.mdx b/api_docs/kbn_security_solution_features.mdx index eb4259d79ade92..6fd9ab1163c90f 100644 --- a/api_docs/kbn_security_solution_features.mdx +++ b/api_docs/kbn_security_solution_features.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-security-solution-features title: "@kbn/security-solution-features" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/security-solution-features plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/security-solution-features'] --- import kbnSecuritySolutionFeaturesObj from './kbn_security_solution_features.devdocs.json'; diff --git a/api_docs/kbn_security_solution_navigation.mdx b/api_docs/kbn_security_solution_navigation.mdx index 9d3b726a9d7b0d..6167fd19f44311 100644 --- a/api_docs/kbn_security_solution_navigation.mdx +++ b/api_docs/kbn_security_solution_navigation.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-security-solution-navigation title: "@kbn/security-solution-navigation" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/security-solution-navigation plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/security-solution-navigation'] --- import kbnSecuritySolutionNavigationObj from './kbn_security_solution_navigation.devdocs.json'; diff --git a/api_docs/kbn_security_solution_side_nav.mdx b/api_docs/kbn_security_solution_side_nav.mdx index 0d240152069ce4..29987c77464ae7 100644 --- a/api_docs/kbn_security_solution_side_nav.mdx +++ b/api_docs/kbn_security_solution_side_nav.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-security-solution-side-nav title: "@kbn/security-solution-side-nav" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/security-solution-side-nav plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/security-solution-side-nav'] --- import kbnSecuritySolutionSideNavObj from './kbn_security_solution_side_nav.devdocs.json'; diff --git a/api_docs/kbn_security_solution_storybook_config.mdx b/api_docs/kbn_security_solution_storybook_config.mdx index 87ad6e7de54f3c..8940d349885f4d 100644 --- a/api_docs/kbn_security_solution_storybook_config.mdx +++ b/api_docs/kbn_security_solution_storybook_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-security-solution-storybook-config title: "@kbn/security-solution-storybook-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/security-solution-storybook-config plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/security-solution-storybook-config'] --- import kbnSecuritySolutionStorybookConfigObj from './kbn_security_solution_storybook_config.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_autocomplete.mdx b/api_docs/kbn_securitysolution_autocomplete.mdx index 1e0d90f27eb63e..58859d38b078c3 100644 --- a/api_docs/kbn_securitysolution_autocomplete.mdx +++ b/api_docs/kbn_securitysolution_autocomplete.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-autocomplete title: "@kbn/securitysolution-autocomplete" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-autocomplete plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-autocomplete'] --- import kbnSecuritysolutionAutocompleteObj from './kbn_securitysolution_autocomplete.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_data_table.mdx b/api_docs/kbn_securitysolution_data_table.mdx index 75f55ea78e82ed..a54f3051a1907c 100644 --- a/api_docs/kbn_securitysolution_data_table.mdx +++ b/api_docs/kbn_securitysolution_data_table.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-data-table title: "@kbn/securitysolution-data-table" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-data-table plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-data-table'] --- import kbnSecuritysolutionDataTableObj from './kbn_securitysolution_data_table.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_ecs.mdx b/api_docs/kbn_securitysolution_ecs.mdx index 2af904ee991962..471435f8d8eb7f 100644 --- a/api_docs/kbn_securitysolution_ecs.mdx +++ b/api_docs/kbn_securitysolution_ecs.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-ecs title: "@kbn/securitysolution-ecs" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-ecs plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-ecs'] --- import kbnSecuritysolutionEcsObj from './kbn_securitysolution_ecs.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_es_utils.mdx b/api_docs/kbn_securitysolution_es_utils.mdx index 574567749acfd5..0ef461f114e0be 100644 --- a/api_docs/kbn_securitysolution_es_utils.mdx +++ b/api_docs/kbn_securitysolution_es_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-es-utils title: "@kbn/securitysolution-es-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-es-utils plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-es-utils'] --- import kbnSecuritysolutionEsUtilsObj from './kbn_securitysolution_es_utils.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_exception_list_components.mdx b/api_docs/kbn_securitysolution_exception_list_components.mdx index e3bf7a8555508d..e00bd50c1a1139 100644 --- a/api_docs/kbn_securitysolution_exception_list_components.mdx +++ b/api_docs/kbn_securitysolution_exception_list_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-exception-list-components title: "@kbn/securitysolution-exception-list-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-exception-list-components plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-exception-list-components'] --- import kbnSecuritysolutionExceptionListComponentsObj from './kbn_securitysolution_exception_list_components.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_grouping.mdx b/api_docs/kbn_securitysolution_grouping.mdx index 657a050867c8fc..9aa0f9317e025b 100644 --- a/api_docs/kbn_securitysolution_grouping.mdx +++ b/api_docs/kbn_securitysolution_grouping.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-grouping title: "@kbn/securitysolution-grouping" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-grouping plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-grouping'] --- import kbnSecuritysolutionGroupingObj from './kbn_securitysolution_grouping.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_hook_utils.mdx b/api_docs/kbn_securitysolution_hook_utils.mdx index f594bf99ec0e2c..b47f473bfe30e2 100644 --- a/api_docs/kbn_securitysolution_hook_utils.mdx +++ b/api_docs/kbn_securitysolution_hook_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-hook-utils title: "@kbn/securitysolution-hook-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-hook-utils plugin -date: 2023-09-23 +date: 2023-09-24 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 0360db046213ca..60fdaf542c0308 100644 --- a/api_docs/kbn_securitysolution_io_ts_alerting_types.mdx +++ b/api_docs/kbn_securitysolution_io_ts_alerting_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-io-ts-alerting-types title: "@kbn/securitysolution-io-ts-alerting-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-io-ts-alerting-types plugin -date: 2023-09-23 +date: 2023-09-24 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 267277d8e01f43..af7735d0c2e8eb 100644 --- a/api_docs/kbn_securitysolution_io_ts_list_types.mdx +++ b/api_docs/kbn_securitysolution_io_ts_list_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-io-ts-list-types title: "@kbn/securitysolution-io-ts-list-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-io-ts-list-types plugin -date: 2023-09-23 +date: 2023-09-24 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 7776609174299a..3bdd1afb87680f 100644 --- a/api_docs/kbn_securitysolution_io_ts_types.mdx +++ b/api_docs/kbn_securitysolution_io_ts_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-io-ts-types title: "@kbn/securitysolution-io-ts-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-io-ts-types plugin -date: 2023-09-23 +date: 2023-09-24 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 86db91f73ecabd..a9e76ad54d86d5 100644 --- a/api_docs/kbn_securitysolution_io_ts_utils.mdx +++ b/api_docs/kbn_securitysolution_io_ts_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-io-ts-utils title: "@kbn/securitysolution-io-ts-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-io-ts-utils plugin -date: 2023-09-23 +date: 2023-09-24 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 48b48b5d756a34..be119b565c6845 100644 --- a/api_docs/kbn_securitysolution_list_api.mdx +++ b/api_docs/kbn_securitysolution_list_api.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-list-api title: "@kbn/securitysolution-list-api" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-list-api plugin -date: 2023-09-23 +date: 2023-09-24 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 a57b252c37165e..7a1bd3b88ad893 100644 --- a/api_docs/kbn_securitysolution_list_constants.mdx +++ b/api_docs/kbn_securitysolution_list_constants.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-list-constants title: "@kbn/securitysolution-list-constants" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-list-constants plugin -date: 2023-09-23 +date: 2023-09-24 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 17ba14e6701f68..b5ac5c6007a69b 100644 --- a/api_docs/kbn_securitysolution_list_hooks.mdx +++ b/api_docs/kbn_securitysolution_list_hooks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-list-hooks title: "@kbn/securitysolution-list-hooks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-list-hooks plugin -date: 2023-09-23 +date: 2023-09-24 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 e840b207dfbcd4..de953e46de517a 100644 --- a/api_docs/kbn_securitysolution_list_utils.mdx +++ b/api_docs/kbn_securitysolution_list_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-list-utils title: "@kbn/securitysolution-list-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-list-utils plugin -date: 2023-09-23 +date: 2023-09-24 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 4e1eee26a7c9ac..4efa43d4ac65e0 100644 --- a/api_docs/kbn_securitysolution_rules.mdx +++ b/api_docs/kbn_securitysolution_rules.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-rules title: "@kbn/securitysolution-rules" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-rules plugin -date: 2023-09-23 +date: 2023-09-24 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 88040aa1a5251f..bd416c366f8655 100644 --- a/api_docs/kbn_securitysolution_t_grid.mdx +++ b/api_docs/kbn_securitysolution_t_grid.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-t-grid title: "@kbn/securitysolution-t-grid" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-t-grid plugin -date: 2023-09-23 +date: 2023-09-24 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 f824ae5a30210a..ad8ef4077762e1 100644 --- a/api_docs/kbn_securitysolution_utils.mdx +++ b/api_docs/kbn_securitysolution_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-utils title: "@kbn/securitysolution-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-utils plugin -date: 2023-09-23 +date: 2023-09-24 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 bfe722d2df6a71..0d1083cc48b17c 100644 --- a/api_docs/kbn_server_http_tools.mdx +++ b/api_docs/kbn_server_http_tools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-server-http-tools title: "@kbn/server-http-tools" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/server-http-tools plugin -date: 2023-09-23 +date: 2023-09-24 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 b043f07019d409..e984cc77086a09 100644 --- a/api_docs/kbn_server_route_repository.mdx +++ b/api_docs/kbn_server_route_repository.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-server-route-repository title: "@kbn/server-route-repository" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/server-route-repository plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/server-route-repository'] --- import kbnServerRouteRepositoryObj from './kbn_server_route_repository.devdocs.json'; diff --git a/api_docs/kbn_serverless_common_settings.mdx b/api_docs/kbn_serverless_common_settings.mdx index 8f3fb4643bc111..9519a6ee038ca2 100644 --- a/api_docs/kbn_serverless_common_settings.mdx +++ b/api_docs/kbn_serverless_common_settings.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-serverless-common-settings title: "@kbn/serverless-common-settings" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/serverless-common-settings plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/serverless-common-settings'] --- import kbnServerlessCommonSettingsObj from './kbn_serverless_common_settings.devdocs.json'; diff --git a/api_docs/kbn_serverless_observability_settings.mdx b/api_docs/kbn_serverless_observability_settings.mdx index 75f1f6315e9e44..525725deefc66a 100644 --- a/api_docs/kbn_serverless_observability_settings.mdx +++ b/api_docs/kbn_serverless_observability_settings.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-serverless-observability-settings title: "@kbn/serverless-observability-settings" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/serverless-observability-settings plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/serverless-observability-settings'] --- import kbnServerlessObservabilitySettingsObj from './kbn_serverless_observability_settings.devdocs.json'; diff --git a/api_docs/kbn_serverless_project_switcher.mdx b/api_docs/kbn_serverless_project_switcher.mdx index 4289663d997107..2c5ca5f1d4a370 100644 --- a/api_docs/kbn_serverless_project_switcher.mdx +++ b/api_docs/kbn_serverless_project_switcher.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-serverless-project-switcher title: "@kbn/serverless-project-switcher" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/serverless-project-switcher plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/serverless-project-switcher'] --- import kbnServerlessProjectSwitcherObj from './kbn_serverless_project_switcher.devdocs.json'; diff --git a/api_docs/kbn_serverless_search_settings.mdx b/api_docs/kbn_serverless_search_settings.mdx index 558711296d1434..016691c82c62de 100644 --- a/api_docs/kbn_serverless_search_settings.mdx +++ b/api_docs/kbn_serverless_search_settings.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-serverless-search-settings title: "@kbn/serverless-search-settings" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/serverless-search-settings plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/serverless-search-settings'] --- import kbnServerlessSearchSettingsObj from './kbn_serverless_search_settings.devdocs.json'; diff --git a/api_docs/kbn_serverless_security_settings.mdx b/api_docs/kbn_serverless_security_settings.mdx index dd67f8fbee30b7..686c36db5de5f8 100644 --- a/api_docs/kbn_serverless_security_settings.mdx +++ b/api_docs/kbn_serverless_security_settings.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-serverless-security-settings title: "@kbn/serverless-security-settings" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/serverless-security-settings plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/serverless-security-settings'] --- import kbnServerlessSecuritySettingsObj from './kbn_serverless_security_settings.devdocs.json'; diff --git a/api_docs/kbn_serverless_storybook_config.mdx b/api_docs/kbn_serverless_storybook_config.mdx index 020e98a931537f..e6d79294dabab0 100644 --- a/api_docs/kbn_serverless_storybook_config.mdx +++ b/api_docs/kbn_serverless_storybook_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-serverless-storybook-config title: "@kbn/serverless-storybook-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/serverless-storybook-config plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/serverless-storybook-config'] --- import kbnServerlessStorybookConfigObj from './kbn_serverless_storybook_config.devdocs.json'; diff --git a/api_docs/kbn_shared_svg.mdx b/api_docs/kbn_shared_svg.mdx index 8d77c464587d65..e1a2241652cef7 100644 --- a/api_docs/kbn_shared_svg.mdx +++ b/api_docs/kbn_shared_svg.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-svg title: "@kbn/shared-svg" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-svg plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-svg'] --- import kbnSharedSvgObj from './kbn_shared_svg.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_avatar_solution.mdx b/api_docs/kbn_shared_ux_avatar_solution.mdx index fe360560e11dd8..40918f1cf51fdc 100644 --- a/api_docs/kbn_shared_ux_avatar_solution.mdx +++ b/api_docs/kbn_shared_ux_avatar_solution.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-avatar-solution title: "@kbn/shared-ux-avatar-solution" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-avatar-solution plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-avatar-solution'] --- import kbnSharedUxAvatarSolutionObj from './kbn_shared_ux_avatar_solution.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_avatar_user_profile_components.mdx b/api_docs/kbn_shared_ux_avatar_user_profile_components.mdx index d2163ae69d79f0..4f63c3f991263c 100644 --- a/api_docs/kbn_shared_ux_avatar_user_profile_components.mdx +++ b/api_docs/kbn_shared_ux_avatar_user_profile_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-avatar-user-profile-components title: "@kbn/shared-ux-avatar-user-profile-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-avatar-user-profile-components plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-avatar-user-profile-components'] --- import kbnSharedUxAvatarUserProfileComponentsObj from './kbn_shared_ux_avatar_user_profile_components.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_button_exit_full_screen.mdx b/api_docs/kbn_shared_ux_button_exit_full_screen.mdx index e5f8d8e4b8d7ba..f37b45d56576d9 100644 --- a/api_docs/kbn_shared_ux_button_exit_full_screen.mdx +++ b/api_docs/kbn_shared_ux_button_exit_full_screen.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-button-exit-full-screen title: "@kbn/shared-ux-button-exit-full-screen" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-button-exit-full-screen plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-button-exit-full-screen'] --- import kbnSharedUxButtonExitFullScreenObj from './kbn_shared_ux_button_exit_full_screen.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_button_exit_full_screen_mocks.mdx b/api_docs/kbn_shared_ux_button_exit_full_screen_mocks.mdx index ee0d6e66bf934e..a4e605eaeae0c2 100644 --- a/api_docs/kbn_shared_ux_button_exit_full_screen_mocks.mdx +++ b/api_docs/kbn_shared_ux_button_exit_full_screen_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-button-exit-full-screen-mocks title: "@kbn/shared-ux-button-exit-full-screen-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-button-exit-full-screen-mocks plugin -date: 2023-09-23 +date: 2023-09-24 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 ec62fd5c15d0c1..38241d44f6dc3e 100644 --- a/api_docs/kbn_shared_ux_button_toolbar.mdx +++ b/api_docs/kbn_shared_ux_button_toolbar.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-button-toolbar title: "@kbn/shared-ux-button-toolbar" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-button-toolbar plugin -date: 2023-09-23 +date: 2023-09-24 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 b6133ff64ead53..f9bfa148b7e4f9 100644 --- a/api_docs/kbn_shared_ux_card_no_data.mdx +++ b/api_docs/kbn_shared_ux_card_no_data.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-card-no-data title: "@kbn/shared-ux-card-no-data" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-card-no-data plugin -date: 2023-09-23 +date: 2023-09-24 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 cacd38dfae6ffa..b7f1ee7081a7a0 100644 --- a/api_docs/kbn_shared_ux_card_no_data_mocks.mdx +++ b/api_docs/kbn_shared_ux_card_no_data_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-card-no-data-mocks title: "@kbn/shared-ux-card-no-data-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-card-no-data-mocks plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-card-no-data-mocks'] --- import kbnSharedUxCardNoDataMocksObj from './kbn_shared_ux_card_no_data_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_chrome_navigation.mdx b/api_docs/kbn_shared_ux_chrome_navigation.mdx index 72291787db5394..59c10ebdbb90e7 100644 --- a/api_docs/kbn_shared_ux_chrome_navigation.mdx +++ b/api_docs/kbn_shared_ux_chrome_navigation.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-chrome-navigation title: "@kbn/shared-ux-chrome-navigation" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-chrome-navigation plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-chrome-navigation'] --- import kbnSharedUxChromeNavigationObj from './kbn_shared_ux_chrome_navigation.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_context.mdx b/api_docs/kbn_shared_ux_file_context.mdx index cf90e4d9ffe6dc..02bd010e1c9090 100644 --- a/api_docs/kbn_shared_ux_file_context.mdx +++ b/api_docs/kbn_shared_ux_file_context.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-context title: "@kbn/shared-ux-file-context" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-context plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-context'] --- import kbnSharedUxFileContextObj from './kbn_shared_ux_file_context.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_image.mdx b/api_docs/kbn_shared_ux_file_image.mdx index dd75d4f47b38be..8fdaefb622fd67 100644 --- a/api_docs/kbn_shared_ux_file_image.mdx +++ b/api_docs/kbn_shared_ux_file_image.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-image title: "@kbn/shared-ux-file-image" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-image plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-image'] --- import kbnSharedUxFileImageObj from './kbn_shared_ux_file_image.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_image_mocks.mdx b/api_docs/kbn_shared_ux_file_image_mocks.mdx index 3cad36293b67a0..3a224b387d4bb2 100644 --- a/api_docs/kbn_shared_ux_file_image_mocks.mdx +++ b/api_docs/kbn_shared_ux_file_image_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-image-mocks title: "@kbn/shared-ux-file-image-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-image-mocks plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-image-mocks'] --- import kbnSharedUxFileImageMocksObj from './kbn_shared_ux_file_image_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_mocks.mdx b/api_docs/kbn_shared_ux_file_mocks.mdx index e0c24de02f9aed..e7c1f0fef0efbb 100644 --- a/api_docs/kbn_shared_ux_file_mocks.mdx +++ b/api_docs/kbn_shared_ux_file_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-mocks title: "@kbn/shared-ux-file-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-mocks plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-mocks'] --- import kbnSharedUxFileMocksObj from './kbn_shared_ux_file_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_picker.mdx b/api_docs/kbn_shared_ux_file_picker.mdx index 55bed3a0b76668..124dd48dca51a9 100644 --- a/api_docs/kbn_shared_ux_file_picker.mdx +++ b/api_docs/kbn_shared_ux_file_picker.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-picker title: "@kbn/shared-ux-file-picker" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-picker plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-picker'] --- import kbnSharedUxFilePickerObj from './kbn_shared_ux_file_picker.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_types.mdx b/api_docs/kbn_shared_ux_file_types.mdx index 6569e4c9d47f71..c81e5010edea50 100644 --- a/api_docs/kbn_shared_ux_file_types.mdx +++ b/api_docs/kbn_shared_ux_file_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-types title: "@kbn/shared-ux-file-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-types plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-types'] --- import kbnSharedUxFileTypesObj from './kbn_shared_ux_file_types.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_upload.mdx b/api_docs/kbn_shared_ux_file_upload.mdx index 5f488f21294dcb..4168b4011c163d 100644 --- a/api_docs/kbn_shared_ux_file_upload.mdx +++ b/api_docs/kbn_shared_ux_file_upload.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-upload title: "@kbn/shared-ux-file-upload" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-upload plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-upload'] --- import kbnSharedUxFileUploadObj from './kbn_shared_ux_file_upload.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_util.mdx b/api_docs/kbn_shared_ux_file_util.mdx index a9348ca456aed8..d2511f7da68a4a 100644 --- a/api_docs/kbn_shared_ux_file_util.mdx +++ b/api_docs/kbn_shared_ux_file_util.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-util title: "@kbn/shared-ux-file-util" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-util plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-util'] --- import kbnSharedUxFileUtilObj from './kbn_shared_ux_file_util.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_link_redirect_app.mdx b/api_docs/kbn_shared_ux_link_redirect_app.mdx index b35e70341ea39c..222cec2807076e 100644 --- a/api_docs/kbn_shared_ux_link_redirect_app.mdx +++ b/api_docs/kbn_shared_ux_link_redirect_app.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-link-redirect-app title: "@kbn/shared-ux-link-redirect-app" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-link-redirect-app plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-link-redirect-app'] --- import kbnSharedUxLinkRedirectAppObj from './kbn_shared_ux_link_redirect_app.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_link_redirect_app_mocks.mdx b/api_docs/kbn_shared_ux_link_redirect_app_mocks.mdx index a18cccc415e702..e6e8c865c16ac3 100644 --- a/api_docs/kbn_shared_ux_link_redirect_app_mocks.mdx +++ b/api_docs/kbn_shared_ux_link_redirect_app_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-link-redirect-app-mocks title: "@kbn/shared-ux-link-redirect-app-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-link-redirect-app-mocks plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-link-redirect-app-mocks'] --- import kbnSharedUxLinkRedirectAppMocksObj from './kbn_shared_ux_link_redirect_app_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_markdown.mdx b/api_docs/kbn_shared_ux_markdown.mdx index f543036c819b8f..e43a38bb4e9c6e 100644 --- a/api_docs/kbn_shared_ux_markdown.mdx +++ b/api_docs/kbn_shared_ux_markdown.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-markdown title: "@kbn/shared-ux-markdown" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-markdown plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-markdown'] --- import kbnSharedUxMarkdownObj from './kbn_shared_ux_markdown.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_markdown_mocks.mdx b/api_docs/kbn_shared_ux_markdown_mocks.mdx index e10bb42e67b5b5..f0e84ed910664c 100644 --- a/api_docs/kbn_shared_ux_markdown_mocks.mdx +++ b/api_docs/kbn_shared_ux_markdown_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-markdown-mocks title: "@kbn/shared-ux-markdown-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-markdown-mocks plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-markdown-mocks'] --- import kbnSharedUxMarkdownMocksObj from './kbn_shared_ux_markdown_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_analytics_no_data.mdx b/api_docs/kbn_shared_ux_page_analytics_no_data.mdx index 6e210e381c60f9..e6af848bd8f85f 100644 --- a/api_docs/kbn_shared_ux_page_analytics_no_data.mdx +++ b/api_docs/kbn_shared_ux_page_analytics_no_data.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-analytics-no-data title: "@kbn/shared-ux-page-analytics-no-data" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-analytics-no-data plugin -date: 2023-09-23 +date: 2023-09-24 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 497e23c1a028ce..a7518ab94ec277 100644 --- a/api_docs/kbn_shared_ux_page_analytics_no_data_mocks.mdx +++ b/api_docs/kbn_shared_ux_page_analytics_no_data_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-analytics-no-data-mocks title: "@kbn/shared-ux-page-analytics-no-data-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-analytics-no-data-mocks plugin -date: 2023-09-23 +date: 2023-09-24 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 6948d6527a79da..a60732b1a89b3c 100644 --- a/api_docs/kbn_shared_ux_page_kibana_no_data.mdx +++ b/api_docs/kbn_shared_ux_page_kibana_no_data.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-kibana-no-data title: "@kbn/shared-ux-page-kibana-no-data" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-kibana-no-data plugin -date: 2023-09-23 +date: 2023-09-24 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 4cdf732da642ea..a4fabb26019185 100644 --- a/api_docs/kbn_shared_ux_page_kibana_no_data_mocks.mdx +++ b/api_docs/kbn_shared_ux_page_kibana_no_data_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-kibana-no-data-mocks title: "@kbn/shared-ux-page-kibana-no-data-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-kibana-no-data-mocks plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-kibana-no-data-mocks'] --- import kbnSharedUxPageKibanaNoDataMocksObj from './kbn_shared_ux_page_kibana_no_data_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_kibana_template.mdx b/api_docs/kbn_shared_ux_page_kibana_template.mdx index f36bfbc2161a35..226f8fad82738f 100644 --- a/api_docs/kbn_shared_ux_page_kibana_template.mdx +++ b/api_docs/kbn_shared_ux_page_kibana_template.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-kibana-template title: "@kbn/shared-ux-page-kibana-template" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-kibana-template plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-kibana-template'] --- import kbnSharedUxPageKibanaTemplateObj from './kbn_shared_ux_page_kibana_template.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_kibana_template_mocks.mdx b/api_docs/kbn_shared_ux_page_kibana_template_mocks.mdx index 1a5aabdc7f0f81..29d3cb56e58ccd 100644 --- a/api_docs/kbn_shared_ux_page_kibana_template_mocks.mdx +++ b/api_docs/kbn_shared_ux_page_kibana_template_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-kibana-template-mocks title: "@kbn/shared-ux-page-kibana-template-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-kibana-template-mocks plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-kibana-template-mocks'] --- import kbnSharedUxPageKibanaTemplateMocksObj from './kbn_shared_ux_page_kibana_template_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_no_data.mdx b/api_docs/kbn_shared_ux_page_no_data.mdx index d512d76f7041b5..c536515078ec75 100644 --- a/api_docs/kbn_shared_ux_page_no_data.mdx +++ b/api_docs/kbn_shared_ux_page_no_data.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-no-data title: "@kbn/shared-ux-page-no-data" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-no-data plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-no-data'] --- import kbnSharedUxPageNoDataObj from './kbn_shared_ux_page_no_data.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_no_data_config.mdx b/api_docs/kbn_shared_ux_page_no_data_config.mdx index e868836b66c231..bd204262f616b5 100644 --- a/api_docs/kbn_shared_ux_page_no_data_config.mdx +++ b/api_docs/kbn_shared_ux_page_no_data_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-no-data-config title: "@kbn/shared-ux-page-no-data-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-no-data-config plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-no-data-config'] --- import kbnSharedUxPageNoDataConfigObj from './kbn_shared_ux_page_no_data_config.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_no_data_config_mocks.mdx b/api_docs/kbn_shared_ux_page_no_data_config_mocks.mdx index 1f27f7af88fd04..5dcb8a0817de84 100644 --- a/api_docs/kbn_shared_ux_page_no_data_config_mocks.mdx +++ b/api_docs/kbn_shared_ux_page_no_data_config_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-no-data-config-mocks title: "@kbn/shared-ux-page-no-data-config-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-no-data-config-mocks plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-no-data-config-mocks'] --- import kbnSharedUxPageNoDataConfigMocksObj from './kbn_shared_ux_page_no_data_config_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_no_data_mocks.mdx b/api_docs/kbn_shared_ux_page_no_data_mocks.mdx index 2f5ac19c3dbb98..450a530b3311c2 100644 --- a/api_docs/kbn_shared_ux_page_no_data_mocks.mdx +++ b/api_docs/kbn_shared_ux_page_no_data_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-no-data-mocks title: "@kbn/shared-ux-page-no-data-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-no-data-mocks plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-no-data-mocks'] --- import kbnSharedUxPageNoDataMocksObj from './kbn_shared_ux_page_no_data_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_solution_nav.mdx b/api_docs/kbn_shared_ux_page_solution_nav.mdx index 4f44f287f34b0e..34be8420885559 100644 --- a/api_docs/kbn_shared_ux_page_solution_nav.mdx +++ b/api_docs/kbn_shared_ux_page_solution_nav.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-solution-nav title: "@kbn/shared-ux-page-solution-nav" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-solution-nav plugin -date: 2023-09-23 +date: 2023-09-24 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 cada6a29e7b2cc..1f47207661a7b5 100644 --- a/api_docs/kbn_shared_ux_prompt_no_data_views.mdx +++ b/api_docs/kbn_shared_ux_prompt_no_data_views.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-prompt-no-data-views title: "@kbn/shared-ux-prompt-no-data-views" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-prompt-no-data-views plugin -date: 2023-09-23 +date: 2023-09-24 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 0a5e0e5c432f82..126259f712a607 100644 --- a/api_docs/kbn_shared_ux_prompt_no_data_views_mocks.mdx +++ b/api_docs/kbn_shared_ux_prompt_no_data_views_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-prompt-no-data-views-mocks title: "@kbn/shared-ux-prompt-no-data-views-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-prompt-no-data-views-mocks plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-prompt-no-data-views-mocks'] --- import kbnSharedUxPromptNoDataViewsMocksObj from './kbn_shared_ux_prompt_no_data_views_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_prompt_not_found.mdx b/api_docs/kbn_shared_ux_prompt_not_found.mdx index 578df5b945c57f..b6a460c3537d6d 100644 --- a/api_docs/kbn_shared_ux_prompt_not_found.mdx +++ b/api_docs/kbn_shared_ux_prompt_not_found.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-prompt-not-found title: "@kbn/shared-ux-prompt-not-found" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-prompt-not-found plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-prompt-not-found'] --- import kbnSharedUxPromptNotFoundObj from './kbn_shared_ux_prompt_not_found.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_router.mdx b/api_docs/kbn_shared_ux_router.mdx index 8b88c92c82471a..85a4b1004c8f5a 100644 --- a/api_docs/kbn_shared_ux_router.mdx +++ b/api_docs/kbn_shared_ux_router.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-router title: "@kbn/shared-ux-router" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-router plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-router'] --- import kbnSharedUxRouterObj from './kbn_shared_ux_router.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_router_mocks.mdx b/api_docs/kbn_shared_ux_router_mocks.mdx index 2aecaae5e64c61..b06276cbf06a6b 100644 --- a/api_docs/kbn_shared_ux_router_mocks.mdx +++ b/api_docs/kbn_shared_ux_router_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-router-mocks title: "@kbn/shared-ux-router-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-router-mocks plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-router-mocks'] --- import kbnSharedUxRouterMocksObj from './kbn_shared_ux_router_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_storybook_config.mdx b/api_docs/kbn_shared_ux_storybook_config.mdx index 80ca056909c492..16dfefc73ea455 100644 --- a/api_docs/kbn_shared_ux_storybook_config.mdx +++ b/api_docs/kbn_shared_ux_storybook_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-storybook-config title: "@kbn/shared-ux-storybook-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-storybook-config plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-storybook-config'] --- import kbnSharedUxStorybookConfigObj from './kbn_shared_ux_storybook_config.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_storybook_mock.mdx b/api_docs/kbn_shared_ux_storybook_mock.mdx index fbf59005aec3d4..1f8b7661058ae4 100644 --- a/api_docs/kbn_shared_ux_storybook_mock.mdx +++ b/api_docs/kbn_shared_ux_storybook_mock.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-storybook-mock title: "@kbn/shared-ux-storybook-mock" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-storybook-mock plugin -date: 2023-09-23 +date: 2023-09-24 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 fd548c469f2bbe..a1ab6faedbdf9b 100644 --- a/api_docs/kbn_shared_ux_utility.mdx +++ b/api_docs/kbn_shared_ux_utility.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-utility title: "@kbn/shared-ux-utility" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-utility plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-utility'] --- import kbnSharedUxUtilityObj from './kbn_shared_ux_utility.devdocs.json'; diff --git a/api_docs/kbn_slo_schema.mdx b/api_docs/kbn_slo_schema.mdx index 4202163b650dca..c2bde861ba287c 100644 --- a/api_docs/kbn_slo_schema.mdx +++ b/api_docs/kbn_slo_schema.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-slo-schema title: "@kbn/slo-schema" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/slo-schema plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/slo-schema'] --- import kbnSloSchemaObj from './kbn_slo_schema.devdocs.json'; diff --git a/api_docs/kbn_some_dev_log.mdx b/api_docs/kbn_some_dev_log.mdx index 6a4b3dd2cea575..9e38184dcd7e26 100644 --- a/api_docs/kbn_some_dev_log.mdx +++ b/api_docs/kbn_some_dev_log.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-some-dev-log title: "@kbn/some-dev-log" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/some-dev-log plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/some-dev-log'] --- import kbnSomeDevLogObj from './kbn_some_dev_log.devdocs.json'; diff --git a/api_docs/kbn_std.mdx b/api_docs/kbn_std.mdx index 7bd3683788a612..9bb26b5c718587 100644 --- a/api_docs/kbn_std.mdx +++ b/api_docs/kbn_std.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-std title: "@kbn/std" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/std plugin -date: 2023-09-23 +date: 2023-09-24 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 a5a5c8df08e7df..4f23d4a8bb9a62 100644 --- a/api_docs/kbn_stdio_dev_helpers.mdx +++ b/api_docs/kbn_stdio_dev_helpers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-stdio-dev-helpers title: "@kbn/stdio-dev-helpers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/stdio-dev-helpers plugin -date: 2023-09-23 +date: 2023-09-24 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 0d86376b619ab5..857c212bbd0878 100644 --- a/api_docs/kbn_storybook.mdx +++ b/api_docs/kbn_storybook.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-storybook title: "@kbn/storybook" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/storybook plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/storybook'] --- import kbnStorybookObj from './kbn_storybook.devdocs.json'; diff --git a/api_docs/kbn_subscription_tracking.mdx b/api_docs/kbn_subscription_tracking.mdx index 505403bb41c1d0..2f05cbb2824d0f 100644 --- a/api_docs/kbn_subscription_tracking.mdx +++ b/api_docs/kbn_subscription_tracking.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-subscription-tracking title: "@kbn/subscription-tracking" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/subscription-tracking plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/subscription-tracking'] --- import kbnSubscriptionTrackingObj from './kbn_subscription_tracking.devdocs.json'; diff --git a/api_docs/kbn_telemetry_tools.mdx b/api_docs/kbn_telemetry_tools.mdx index 0d675d07b9e838..758e86bc5c4f2a 100644 --- a/api_docs/kbn_telemetry_tools.mdx +++ b/api_docs/kbn_telemetry_tools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-telemetry-tools title: "@kbn/telemetry-tools" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/telemetry-tools plugin -date: 2023-09-23 +date: 2023-09-24 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 b3ea15ccce2d36..89453adc0fb3dc 100644 --- a/api_docs/kbn_test.mdx +++ b/api_docs/kbn_test.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-test title: "@kbn/test" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/test plugin -date: 2023-09-23 +date: 2023-09-24 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 6678758a224d58..ab0c9182abc734 100644 --- a/api_docs/kbn_test_jest_helpers.mdx +++ b/api_docs/kbn_test_jest_helpers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-test-jest-helpers title: "@kbn/test-jest-helpers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/test-jest-helpers plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/test-jest-helpers'] --- import kbnTestJestHelpersObj from './kbn_test_jest_helpers.devdocs.json'; diff --git a/api_docs/kbn_test_subj_selector.mdx b/api_docs/kbn_test_subj_selector.mdx index f458d73b5f5eeb..4756647bf32ffd 100644 --- a/api_docs/kbn_test_subj_selector.mdx +++ b/api_docs/kbn_test_subj_selector.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-test-subj-selector title: "@kbn/test-subj-selector" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/test-subj-selector plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/test-subj-selector'] --- import kbnTestSubjSelectorObj from './kbn_test_subj_selector.devdocs.json'; diff --git a/api_docs/kbn_text_based_editor.mdx b/api_docs/kbn_text_based_editor.mdx index 4f356458e26ce3..169e1526c2153e 100644 --- a/api_docs/kbn_text_based_editor.mdx +++ b/api_docs/kbn_text_based_editor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-text-based-editor title: "@kbn/text-based-editor" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/text-based-editor plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/text-based-editor'] --- import kbnTextBasedEditorObj from './kbn_text_based_editor.devdocs.json'; diff --git a/api_docs/kbn_tooling_log.mdx b/api_docs/kbn_tooling_log.mdx index 11b9a36b2e6777..24a5532c84c919 100644 --- a/api_docs/kbn_tooling_log.mdx +++ b/api_docs/kbn_tooling_log.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-tooling-log title: "@kbn/tooling-log" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/tooling-log plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/tooling-log'] --- import kbnToolingLogObj from './kbn_tooling_log.devdocs.json'; diff --git a/api_docs/kbn_ts_projects.mdx b/api_docs/kbn_ts_projects.mdx index 79bf3d05de6a6e..0089ed071c18c2 100644 --- a/api_docs/kbn_ts_projects.mdx +++ b/api_docs/kbn_ts_projects.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ts-projects title: "@kbn/ts-projects" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ts-projects plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ts-projects'] --- import kbnTsProjectsObj from './kbn_ts_projects.devdocs.json'; diff --git a/api_docs/kbn_typed_react_router_config.mdx b/api_docs/kbn_typed_react_router_config.mdx index e8bd5d2c010302..04172d8e9845ca 100644 --- a/api_docs/kbn_typed_react_router_config.mdx +++ b/api_docs/kbn_typed_react_router_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-typed-react-router-config title: "@kbn/typed-react-router-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/typed-react-router-config plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/typed-react-router-config'] --- import kbnTypedReactRouterConfigObj from './kbn_typed_react_router_config.devdocs.json'; diff --git a/api_docs/kbn_ui_actions_browser.mdx b/api_docs/kbn_ui_actions_browser.mdx index 45238562c5a066..7d6ff9129b42a3 100644 --- a/api_docs/kbn_ui_actions_browser.mdx +++ b/api_docs/kbn_ui_actions_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ui-actions-browser title: "@kbn/ui-actions-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ui-actions-browser plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ui-actions-browser'] --- import kbnUiActionsBrowserObj from './kbn_ui_actions_browser.devdocs.json'; diff --git a/api_docs/kbn_ui_shared_deps_src.mdx b/api_docs/kbn_ui_shared_deps_src.mdx index 2365cbd72e3f33..0f2baeec933153 100644 --- a/api_docs/kbn_ui_shared_deps_src.mdx +++ b/api_docs/kbn_ui_shared_deps_src.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ui-shared-deps-src title: "@kbn/ui-shared-deps-src" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ui-shared-deps-src plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ui-shared-deps-src'] --- import kbnUiSharedDepsSrcObj from './kbn_ui_shared_deps_src.devdocs.json'; diff --git a/api_docs/kbn_ui_theme.mdx b/api_docs/kbn_ui_theme.mdx index 814b0b74d2d1da..e149d516851327 100644 --- a/api_docs/kbn_ui_theme.mdx +++ b/api_docs/kbn_ui_theme.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ui-theme title: "@kbn/ui-theme" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ui-theme plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ui-theme'] --- import kbnUiThemeObj from './kbn_ui_theme.devdocs.json'; diff --git a/api_docs/kbn_unified_data_table.mdx b/api_docs/kbn_unified_data_table.mdx index 015d1a5e957a14..3014cf039e245c 100644 --- a/api_docs/kbn_unified_data_table.mdx +++ b/api_docs/kbn_unified_data_table.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-unified-data-table title: "@kbn/unified-data-table" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/unified-data-table plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/unified-data-table'] --- import kbnUnifiedDataTableObj from './kbn_unified_data_table.devdocs.json'; diff --git a/api_docs/kbn_unified_doc_viewer.mdx b/api_docs/kbn_unified_doc_viewer.mdx index bc4ca5a09e92ff..f761b9f4ad8812 100644 --- a/api_docs/kbn_unified_doc_viewer.mdx +++ b/api_docs/kbn_unified_doc_viewer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-unified-doc-viewer title: "@kbn/unified-doc-viewer" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/unified-doc-viewer plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/unified-doc-viewer'] --- import kbnUnifiedDocViewerObj from './kbn_unified_doc_viewer.devdocs.json'; diff --git a/api_docs/kbn_unified_field_list.mdx b/api_docs/kbn_unified_field_list.mdx index 990bef17347d19..49d224e42aaa5f 100644 --- a/api_docs/kbn_unified_field_list.mdx +++ b/api_docs/kbn_unified_field_list.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-unified-field-list title: "@kbn/unified-field-list" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/unified-field-list plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/unified-field-list'] --- import kbnUnifiedFieldListObj from './kbn_unified_field_list.devdocs.json'; diff --git a/api_docs/kbn_url_state.mdx b/api_docs/kbn_url_state.mdx index 3c9c4989bd9b74..f1f04423ea9602 100644 --- a/api_docs/kbn_url_state.mdx +++ b/api_docs/kbn_url_state.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-url-state title: "@kbn/url-state" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/url-state plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/url-state'] --- import kbnUrlStateObj from './kbn_url_state.devdocs.json'; diff --git a/api_docs/kbn_use_tracked_promise.mdx b/api_docs/kbn_use_tracked_promise.mdx index 5419aabdbd4067..bd93ecbdf7caf9 100644 --- a/api_docs/kbn_use_tracked_promise.mdx +++ b/api_docs/kbn_use_tracked_promise.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-use-tracked-promise title: "@kbn/use-tracked-promise" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/use-tracked-promise plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/use-tracked-promise'] --- import kbnUseTrackedPromiseObj from './kbn_use_tracked_promise.devdocs.json'; diff --git a/api_docs/kbn_user_profile_components.mdx b/api_docs/kbn_user_profile_components.mdx index 58496c15529e6e..8f77fe2136a03b 100644 --- a/api_docs/kbn_user_profile_components.mdx +++ b/api_docs/kbn_user_profile_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-user-profile-components title: "@kbn/user-profile-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/user-profile-components plugin -date: 2023-09-23 +date: 2023-09-24 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 061730770d4777..4884b1139283d5 100644 --- a/api_docs/kbn_utility_types.mdx +++ b/api_docs/kbn_utility_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-utility-types title: "@kbn/utility-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/utility-types plugin -date: 2023-09-23 +date: 2023-09-24 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 bbb70219e96437..34c80502494e1a 100644 --- a/api_docs/kbn_utility_types_jest.mdx +++ b/api_docs/kbn_utility_types_jest.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-utility-types-jest title: "@kbn/utility-types-jest" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/utility-types-jest plugin -date: 2023-09-23 +date: 2023-09-24 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 500691a05c22d6..3c9acfc2e66037 100644 --- a/api_docs/kbn_utils.mdx +++ b/api_docs/kbn_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-utils title: "@kbn/utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/utils plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/utils'] --- import kbnUtilsObj from './kbn_utils.devdocs.json'; diff --git a/api_docs/kbn_visualization_ui_components.mdx b/api_docs/kbn_visualization_ui_components.mdx index b55ae3dd26b7dd..5cfb58d2aab5c5 100644 --- a/api_docs/kbn_visualization_ui_components.mdx +++ b/api_docs/kbn_visualization_ui_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-visualization-ui-components title: "@kbn/visualization-ui-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/visualization-ui-components plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/visualization-ui-components'] --- import kbnVisualizationUiComponentsObj from './kbn_visualization_ui_components.devdocs.json'; diff --git a/api_docs/kbn_xstate_utils.mdx b/api_docs/kbn_xstate_utils.mdx index 6749bc0acdc040..0ba0d581441202 100644 --- a/api_docs/kbn_xstate_utils.mdx +++ b/api_docs/kbn_xstate_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-xstate-utils title: "@kbn/xstate-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/xstate-utils plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/xstate-utils'] --- import kbnXstateUtilsObj from './kbn_xstate_utils.devdocs.json'; diff --git a/api_docs/kbn_yarn_lock_validator.mdx b/api_docs/kbn_yarn_lock_validator.mdx index 57d0eb2a54f666..fda80620346636 100644 --- a/api_docs/kbn_yarn_lock_validator.mdx +++ b/api_docs/kbn_yarn_lock_validator.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-yarn-lock-validator title: "@kbn/yarn-lock-validator" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/yarn-lock-validator plugin -date: 2023-09-23 +date: 2023-09-24 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 64c71738fd1ffb..726d2fbeae7018 100644 --- a/api_docs/kibana_overview.mdx +++ b/api_docs/kibana_overview.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kibanaOverview title: "kibanaOverview" image: https://source.unsplash.com/400x175/?github description: API docs for the kibanaOverview plugin -date: 2023-09-23 +date: 2023-09-24 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 b8bbb57aa9a7dd..115bfd9c036910 100644 --- a/api_docs/kibana_react.mdx +++ b/api_docs/kibana_react.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kibanaReact title: "kibanaReact" image: https://source.unsplash.com/400x175/?github description: API docs for the kibanaReact plugin -date: 2023-09-23 +date: 2023-09-24 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 857ff08f707ebd..4a0f7e9cd0ccda 100644 --- a/api_docs/kibana_utils.mdx +++ b/api_docs/kibana_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kibanaUtils title: "kibanaUtils" image: https://source.unsplash.com/400x175/?github description: API docs for the kibanaUtils plugin -date: 2023-09-23 +date: 2023-09-24 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 a49bd3a46bccc3..5fade0342f4553 100644 --- a/api_docs/kubernetes_security.mdx +++ b/api_docs/kubernetes_security.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kubernetesSecurity title: "kubernetesSecurity" image: https://source.unsplash.com/400x175/?github description: API docs for the kubernetesSecurity plugin -date: 2023-09-23 +date: 2023-09-24 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 9c8779f969fcfd..269aa15ab9d3ea 100644 --- a/api_docs/lens.mdx +++ b/api_docs/lens.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/lens title: "lens" image: https://source.unsplash.com/400x175/?github description: API docs for the lens plugin -date: 2023-09-23 +date: 2023-09-24 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 7a3e53173e0a41..9218cf95f10c83 100644 --- a/api_docs/license_api_guard.mdx +++ b/api_docs/license_api_guard.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/licenseApiGuard title: "licenseApiGuard" image: https://source.unsplash.com/400x175/?github description: API docs for the licenseApiGuard plugin -date: 2023-09-23 +date: 2023-09-24 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 04f5742dad19d2..c72b2553496fe7 100644 --- a/api_docs/license_management.mdx +++ b/api_docs/license_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/licenseManagement title: "licenseManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the licenseManagement plugin -date: 2023-09-23 +date: 2023-09-24 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 88b702a5c12f38..5976a25b3078d3 100644 --- a/api_docs/licensing.mdx +++ b/api_docs/licensing.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/licensing title: "licensing" image: https://source.unsplash.com/400x175/?github description: API docs for the licensing plugin -date: 2023-09-23 +date: 2023-09-24 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 a43be54407c429..e6a55170a65f4f 100644 --- a/api_docs/lists.mdx +++ b/api_docs/lists.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/lists title: "lists" image: https://source.unsplash.com/400x175/?github description: API docs for the lists plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'lists'] --- import listsObj from './lists.devdocs.json'; diff --git a/api_docs/log_explorer.mdx b/api_docs/log_explorer.mdx index 79cc70e7608567..e6d4befe9fa902 100644 --- a/api_docs/log_explorer.mdx +++ b/api_docs/log_explorer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/logExplorer title: "logExplorer" image: https://source.unsplash.com/400x175/?github description: API docs for the logExplorer plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'logExplorer'] --- import logExplorerObj from './log_explorer.devdocs.json'; diff --git a/api_docs/logs_shared.mdx b/api_docs/logs_shared.mdx index bb51b4616fc98a..04ab9ed8098c43 100644 --- a/api_docs/logs_shared.mdx +++ b/api_docs/logs_shared.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/logsShared title: "logsShared" image: https://source.unsplash.com/400x175/?github description: API docs for the logsShared plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'logsShared'] --- import logsSharedObj from './logs_shared.devdocs.json'; diff --git a/api_docs/management.mdx b/api_docs/management.mdx index ced5bb2f102a22..88fd2ad96c4a7d 100644 --- a/api_docs/management.mdx +++ b/api_docs/management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/management title: "management" image: https://source.unsplash.com/400x175/?github description: API docs for the management plugin -date: 2023-09-23 +date: 2023-09-24 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 135f42c298236c..2299a2732bdff4 100644 --- a/api_docs/maps.mdx +++ b/api_docs/maps.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/maps title: "maps" image: https://source.unsplash.com/400x175/?github description: API docs for the maps plugin -date: 2023-09-23 +date: 2023-09-24 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 b7abe55668f458..cc61c10d7a1237 100644 --- a/api_docs/maps_ems.mdx +++ b/api_docs/maps_ems.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/mapsEms title: "mapsEms" image: https://source.unsplash.com/400x175/?github description: API docs for the mapsEms plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'mapsEms'] --- import mapsEmsObj from './maps_ems.devdocs.json'; diff --git a/api_docs/metrics_data_access.mdx b/api_docs/metrics_data_access.mdx index 7764bf0eef124a..be9f1ad9f01f3e 100644 --- a/api_docs/metrics_data_access.mdx +++ b/api_docs/metrics_data_access.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/metricsDataAccess title: "metricsDataAccess" image: https://source.unsplash.com/400x175/?github description: API docs for the metricsDataAccess plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'metricsDataAccess'] --- import metricsDataAccessObj from './metrics_data_access.devdocs.json'; diff --git a/api_docs/ml.mdx b/api_docs/ml.mdx index 6637d787668b19..c78a28aaa0789c 100644 --- a/api_docs/ml.mdx +++ b/api_docs/ml.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/ml title: "ml" image: https://source.unsplash.com/400x175/?github description: API docs for the ml plugin -date: 2023-09-23 +date: 2023-09-24 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 53739e45d3b605..4d97f0e344cafe 100644 --- a/api_docs/monitoring.mdx +++ b/api_docs/monitoring.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/monitoring title: "monitoring" image: https://source.unsplash.com/400x175/?github description: API docs for the monitoring plugin -date: 2023-09-23 +date: 2023-09-24 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 92a2b519cd04de..5cd7c646f56dd0 100644 --- a/api_docs/monitoring_collection.mdx +++ b/api_docs/monitoring_collection.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/monitoringCollection title: "monitoringCollection" image: https://source.unsplash.com/400x175/?github description: API docs for the monitoringCollection plugin -date: 2023-09-23 +date: 2023-09-24 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 73cbab3dec8576..dc449a0a0c6771 100644 --- a/api_docs/navigation.mdx +++ b/api_docs/navigation.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/navigation title: "navigation" image: https://source.unsplash.com/400x175/?github description: API docs for the navigation plugin -date: 2023-09-23 +date: 2023-09-24 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 43165dd1d71cd6..acfaf0f4a7d712 100644 --- a/api_docs/newsfeed.mdx +++ b/api_docs/newsfeed.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/newsfeed title: "newsfeed" image: https://source.unsplash.com/400x175/?github description: API docs for the newsfeed plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'newsfeed'] --- import newsfeedObj from './newsfeed.devdocs.json'; diff --git a/api_docs/no_data_page.mdx b/api_docs/no_data_page.mdx index 3b38deb200392d..2f8e51a09958a5 100644 --- a/api_docs/no_data_page.mdx +++ b/api_docs/no_data_page.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/noDataPage title: "noDataPage" image: https://source.unsplash.com/400x175/?github description: API docs for the noDataPage plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'noDataPage'] --- import noDataPageObj from './no_data_page.devdocs.json'; diff --git a/api_docs/notifications.mdx b/api_docs/notifications.mdx index 02a59e803253e0..f2394fc402ede2 100644 --- a/api_docs/notifications.mdx +++ b/api_docs/notifications.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/notifications title: "notifications" image: https://source.unsplash.com/400x175/?github description: API docs for the notifications plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'notifications'] --- import notificationsObj from './notifications.devdocs.json'; diff --git a/api_docs/observability.mdx b/api_docs/observability.mdx index 5b43e6d5144454..1945330ee0100a 100644 --- a/api_docs/observability.mdx +++ b/api_docs/observability.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/observability title: "observability" image: https://source.unsplash.com/400x175/?github description: API docs for the observability plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'observability'] --- import observabilityObj from './observability.devdocs.json'; diff --git a/api_docs/observability_a_i_assistant.mdx b/api_docs/observability_a_i_assistant.mdx index 1bd1869ad42b55..874d65312c8dfc 100644 --- a/api_docs/observability_a_i_assistant.mdx +++ b/api_docs/observability_a_i_assistant.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/observabilityAIAssistant title: "observabilityAIAssistant" image: https://source.unsplash.com/400x175/?github description: API docs for the observabilityAIAssistant plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'observabilityAIAssistant'] --- import observabilityAIAssistantObj from './observability_a_i_assistant.devdocs.json'; diff --git a/api_docs/observability_log_explorer.mdx b/api_docs/observability_log_explorer.mdx index 6c42cfbc22d63a..a69406883002a7 100644 --- a/api_docs/observability_log_explorer.mdx +++ b/api_docs/observability_log_explorer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/observabilityLogExplorer title: "observabilityLogExplorer" image: https://source.unsplash.com/400x175/?github description: API docs for the observabilityLogExplorer plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'observabilityLogExplorer'] --- import observabilityLogExplorerObj from './observability_log_explorer.devdocs.json'; diff --git a/api_docs/observability_onboarding.mdx b/api_docs/observability_onboarding.mdx index f7a4e637f015b3..4c01f4b89da934 100644 --- a/api_docs/observability_onboarding.mdx +++ b/api_docs/observability_onboarding.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/observabilityOnboarding title: "observabilityOnboarding" image: https://source.unsplash.com/400x175/?github description: API docs for the observabilityOnboarding plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'observabilityOnboarding'] --- import observabilityOnboardingObj from './observability_onboarding.devdocs.json'; diff --git a/api_docs/observability_shared.mdx b/api_docs/observability_shared.mdx index e3a7a10013991d..228cd71c0238ff 100644 --- a/api_docs/observability_shared.mdx +++ b/api_docs/observability_shared.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/observabilityShared title: "observabilityShared" image: https://source.unsplash.com/400x175/?github description: API docs for the observabilityShared plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'observabilityShared'] --- import observabilitySharedObj from './observability_shared.devdocs.json'; diff --git a/api_docs/osquery.mdx b/api_docs/osquery.mdx index f3a2b1408b7835..df19784d03b1a4 100644 --- a/api_docs/osquery.mdx +++ b/api_docs/osquery.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/osquery title: "osquery" image: https://source.unsplash.com/400x175/?github description: API docs for the osquery plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'osquery'] --- import osqueryObj from './osquery.devdocs.json'; diff --git a/api_docs/painless_lab.mdx b/api_docs/painless_lab.mdx index 1ee005b5016405..0d6bd68d4dbaf5 100644 --- a/api_docs/painless_lab.mdx +++ b/api_docs/painless_lab.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/painlessLab title: "painlessLab" image: https://source.unsplash.com/400x175/?github description: API docs for the painlessLab plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'painlessLab'] --- import painlessLabObj from './painless_lab.devdocs.json'; diff --git a/api_docs/plugin_directory.mdx b/api_docs/plugin_directory.mdx index 2ad725a1934a16..139702f8465aba 100644 --- a/api_docs/plugin_directory.mdx +++ b/api_docs/plugin_directory.mdx @@ -7,7 +7,7 @@ id: kibDevDocsPluginDirectory slug: /kibana-dev-docs/api-meta/plugin-api-directory title: Directory description: Directory of public APIs available through plugins or packages. -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- diff --git a/api_docs/presentation_util.mdx b/api_docs/presentation_util.mdx index ad19848e50526f..1b9b5f7a49043d 100644 --- a/api_docs/presentation_util.mdx +++ b/api_docs/presentation_util.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/presentationUtil title: "presentationUtil" image: https://source.unsplash.com/400x175/?github description: API docs for the presentationUtil plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'presentationUtil'] --- import presentationUtilObj from './presentation_util.devdocs.json'; diff --git a/api_docs/profiling.mdx b/api_docs/profiling.mdx index 884a3554ca0c01..61f7f2e7a4a46e 100644 --- a/api_docs/profiling.mdx +++ b/api_docs/profiling.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/profiling title: "profiling" image: https://source.unsplash.com/400x175/?github description: API docs for the profiling plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'profiling'] --- import profilingObj from './profiling.devdocs.json'; diff --git a/api_docs/profiling_data_access.mdx b/api_docs/profiling_data_access.mdx index 1dfb5832656e1d..ebcf736ebab141 100644 --- a/api_docs/profiling_data_access.mdx +++ b/api_docs/profiling_data_access.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/profilingDataAccess title: "profilingDataAccess" image: https://source.unsplash.com/400x175/?github description: API docs for the profilingDataAccess plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'profilingDataAccess'] --- import profilingDataAccessObj from './profiling_data_access.devdocs.json'; diff --git a/api_docs/remote_clusters.mdx b/api_docs/remote_clusters.mdx index 9862cbc5b05095..dd0097a6dd6a62 100644 --- a/api_docs/remote_clusters.mdx +++ b/api_docs/remote_clusters.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/remoteClusters title: "remoteClusters" image: https://source.unsplash.com/400x175/?github description: API docs for the remoteClusters plugin -date: 2023-09-23 +date: 2023-09-24 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 c705cf7f8d7b8a..6452e7f7b24b0e 100644 --- a/api_docs/reporting.mdx +++ b/api_docs/reporting.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/reporting title: "reporting" image: https://source.unsplash.com/400x175/?github description: API docs for the reporting plugin -date: 2023-09-23 +date: 2023-09-24 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 4ce648de64def4..0d62b6be384434 100644 --- a/api_docs/rollup.mdx +++ b/api_docs/rollup.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/rollup title: "rollup" image: https://source.unsplash.com/400x175/?github description: API docs for the rollup plugin -date: 2023-09-23 +date: 2023-09-24 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 bf8a899db8ddeb..69539da58b214b 100644 --- a/api_docs/rule_registry.mdx +++ b/api_docs/rule_registry.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/ruleRegistry title: "ruleRegistry" image: https://source.unsplash.com/400x175/?github description: API docs for the ruleRegistry plugin -date: 2023-09-23 +date: 2023-09-24 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 e1d5f8fecec352..658eddd5cd63cd 100644 --- a/api_docs/runtime_fields.mdx +++ b/api_docs/runtime_fields.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/runtimeFields title: "runtimeFields" image: https://source.unsplash.com/400x175/?github description: API docs for the runtimeFields plugin -date: 2023-09-23 +date: 2023-09-24 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 9816b9d2d9909f..8832653e360322 100644 --- a/api_docs/saved_objects.mdx +++ b/api_docs/saved_objects.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedObjects title: "savedObjects" image: https://source.unsplash.com/400x175/?github description: API docs for the savedObjects plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'savedObjects'] --- import savedObjectsObj from './saved_objects.devdocs.json'; diff --git a/api_docs/saved_objects_finder.mdx b/api_docs/saved_objects_finder.mdx index 6a61178b8aa140..4230f700090ebb 100644 --- a/api_docs/saved_objects_finder.mdx +++ b/api_docs/saved_objects_finder.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedObjectsFinder title: "savedObjectsFinder" image: https://source.unsplash.com/400x175/?github description: API docs for the savedObjectsFinder plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'savedObjectsFinder'] --- import savedObjectsFinderObj from './saved_objects_finder.devdocs.json'; diff --git a/api_docs/saved_objects_management.mdx b/api_docs/saved_objects_management.mdx index 96af1bb9b15dbc..da307d35226ded 100644 --- a/api_docs/saved_objects_management.mdx +++ b/api_docs/saved_objects_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedObjectsManagement title: "savedObjectsManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the savedObjectsManagement plugin -date: 2023-09-23 +date: 2023-09-24 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 eda8a9da84e177..3a7e7814cb095c 100644 --- a/api_docs/saved_objects_tagging.mdx +++ b/api_docs/saved_objects_tagging.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedObjectsTagging title: "savedObjectsTagging" image: https://source.unsplash.com/400x175/?github description: API docs for the savedObjectsTagging plugin -date: 2023-09-23 +date: 2023-09-24 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 48cca1b108b264..7b8e080108be69 100644 --- a/api_docs/saved_objects_tagging_oss.mdx +++ b/api_docs/saved_objects_tagging_oss.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedObjectsTaggingOss title: "savedObjectsTaggingOss" image: https://source.unsplash.com/400x175/?github description: API docs for the savedObjectsTaggingOss plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'savedObjectsTaggingOss'] --- import savedObjectsTaggingOssObj from './saved_objects_tagging_oss.devdocs.json'; diff --git a/api_docs/saved_search.mdx b/api_docs/saved_search.mdx index d87ecedc28316f..7b966cf8fe30c9 100644 --- a/api_docs/saved_search.mdx +++ b/api_docs/saved_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedSearch title: "savedSearch" image: https://source.unsplash.com/400x175/?github description: API docs for the savedSearch plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'savedSearch'] --- import savedSearchObj from './saved_search.devdocs.json'; diff --git a/api_docs/screenshot_mode.mdx b/api_docs/screenshot_mode.mdx index 4f328bc7bd5f7a..09cd789f3d7022 100644 --- a/api_docs/screenshot_mode.mdx +++ b/api_docs/screenshot_mode.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/screenshotMode title: "screenshotMode" image: https://source.unsplash.com/400x175/?github description: API docs for the screenshotMode plugin -date: 2023-09-23 +date: 2023-09-24 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 3f16f0169ec9ff..7e44bde918c3b7 100644 --- a/api_docs/screenshotting.mdx +++ b/api_docs/screenshotting.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/screenshotting title: "screenshotting" image: https://source.unsplash.com/400x175/?github description: API docs for the screenshotting plugin -date: 2023-09-23 +date: 2023-09-24 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 e75e47bf15d543..a671e749e7205e 100644 --- a/api_docs/security.mdx +++ b/api_docs/security.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/security title: "security" image: https://source.unsplash.com/400x175/?github description: API docs for the security plugin -date: 2023-09-23 +date: 2023-09-24 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 c924ab9027dbca..024d739b221a09 100644 --- a/api_docs/security_solution.mdx +++ b/api_docs/security_solution.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/securitySolution title: "securitySolution" image: https://source.unsplash.com/400x175/?github description: API docs for the securitySolution plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'securitySolution'] --- import securitySolutionObj from './security_solution.devdocs.json'; diff --git a/api_docs/security_solution_ess.mdx b/api_docs/security_solution_ess.mdx index 348ca865dcf41e..f87dd79ad2cf52 100644 --- a/api_docs/security_solution_ess.mdx +++ b/api_docs/security_solution_ess.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/securitySolutionEss title: "securitySolutionEss" image: https://source.unsplash.com/400x175/?github description: API docs for the securitySolutionEss plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'securitySolutionEss'] --- import securitySolutionEssObj from './security_solution_ess.devdocs.json'; diff --git a/api_docs/security_solution_serverless.mdx b/api_docs/security_solution_serverless.mdx index be0ca0dac9f22f..71b798117cd516 100644 --- a/api_docs/security_solution_serverless.mdx +++ b/api_docs/security_solution_serverless.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/securitySolutionServerless title: "securitySolutionServerless" image: https://source.unsplash.com/400x175/?github description: API docs for the securitySolutionServerless plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'securitySolutionServerless'] --- import securitySolutionServerlessObj from './security_solution_serverless.devdocs.json'; diff --git a/api_docs/serverless.mdx b/api_docs/serverless.mdx index d81e296dd56aca..e09c3de3c163f9 100644 --- a/api_docs/serverless.mdx +++ b/api_docs/serverless.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/serverless title: "serverless" image: https://source.unsplash.com/400x175/?github description: API docs for the serverless plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'serverless'] --- import serverlessObj from './serverless.devdocs.json'; diff --git a/api_docs/serverless_observability.mdx b/api_docs/serverless_observability.mdx index 1b605273ccb544..cf26c2822da687 100644 --- a/api_docs/serverless_observability.mdx +++ b/api_docs/serverless_observability.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/serverlessObservability title: "serverlessObservability" image: https://source.unsplash.com/400x175/?github description: API docs for the serverlessObservability plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'serverlessObservability'] --- import serverlessObservabilityObj from './serverless_observability.devdocs.json'; diff --git a/api_docs/serverless_search.mdx b/api_docs/serverless_search.mdx index 8a63db8aa513d1..acf01467bd5772 100644 --- a/api_docs/serverless_search.mdx +++ b/api_docs/serverless_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/serverlessSearch title: "serverlessSearch" image: https://source.unsplash.com/400x175/?github description: API docs for the serverlessSearch plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'serverlessSearch'] --- import serverlessSearchObj from './serverless_search.devdocs.json'; diff --git a/api_docs/session_view.mdx b/api_docs/session_view.mdx index a37ed08840860e..75128e866a7e82 100644 --- a/api_docs/session_view.mdx +++ b/api_docs/session_view.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/sessionView title: "sessionView" image: https://source.unsplash.com/400x175/?github description: API docs for the sessionView plugin -date: 2023-09-23 +date: 2023-09-24 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 dcabe79c18dd61..e666300ded6afd 100644 --- a/api_docs/share.mdx +++ b/api_docs/share.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/share title: "share" image: https://source.unsplash.com/400x175/?github description: API docs for the share plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'share'] --- import shareObj from './share.devdocs.json'; diff --git a/api_docs/snapshot_restore.mdx b/api_docs/snapshot_restore.mdx index f9611d7acee4ad..82fbd81a70ade2 100644 --- a/api_docs/snapshot_restore.mdx +++ b/api_docs/snapshot_restore.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/snapshotRestore title: "snapshotRestore" image: https://source.unsplash.com/400x175/?github description: API docs for the snapshotRestore plugin -date: 2023-09-23 +date: 2023-09-24 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 33593c4889e5ed..6b307fb8cde424 100644 --- a/api_docs/spaces.mdx +++ b/api_docs/spaces.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/spaces title: "spaces" image: https://source.unsplash.com/400x175/?github description: API docs for the spaces plugin -date: 2023-09-23 +date: 2023-09-24 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 a7d4157f6102d5..341f0ef7b28e9e 100644 --- a/api_docs/stack_alerts.mdx +++ b/api_docs/stack_alerts.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/stackAlerts title: "stackAlerts" image: https://source.unsplash.com/400x175/?github description: API docs for the stackAlerts plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'stackAlerts'] --- import stackAlertsObj from './stack_alerts.devdocs.json'; diff --git a/api_docs/stack_connectors.mdx b/api_docs/stack_connectors.mdx index f636bcd4a25417..d4c63671cc5ed9 100644 --- a/api_docs/stack_connectors.mdx +++ b/api_docs/stack_connectors.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/stackConnectors title: "stackConnectors" image: https://source.unsplash.com/400x175/?github description: API docs for the stackConnectors plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'stackConnectors'] --- import stackConnectorsObj from './stack_connectors.devdocs.json'; diff --git a/api_docs/task_manager.mdx b/api_docs/task_manager.mdx index de16d064fef8e0..6658c43ba954e4 100644 --- a/api_docs/task_manager.mdx +++ b/api_docs/task_manager.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/taskManager title: "taskManager" image: https://source.unsplash.com/400x175/?github description: API docs for the taskManager plugin -date: 2023-09-23 +date: 2023-09-24 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 d6012d578f44f0..d03a8c2d3ecb5b 100644 --- a/api_docs/telemetry.mdx +++ b/api_docs/telemetry.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/telemetry title: "telemetry" image: https://source.unsplash.com/400x175/?github description: API docs for the telemetry plugin -date: 2023-09-23 +date: 2023-09-24 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 9a5e847d97e002..8bc9434cdc710d 100644 --- a/api_docs/telemetry_collection_manager.mdx +++ b/api_docs/telemetry_collection_manager.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/telemetryCollectionManager title: "telemetryCollectionManager" image: https://source.unsplash.com/400x175/?github description: API docs for the telemetryCollectionManager plugin -date: 2023-09-23 +date: 2023-09-24 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 6f90198ee9cc93..5dab15e8a2d8a8 100644 --- a/api_docs/telemetry_collection_xpack.mdx +++ b/api_docs/telemetry_collection_xpack.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/telemetryCollectionXpack title: "telemetryCollectionXpack" image: https://source.unsplash.com/400x175/?github description: API docs for the telemetryCollectionXpack plugin -date: 2023-09-23 +date: 2023-09-24 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 0f4d84995c1052..31883582f8e309 100644 --- a/api_docs/telemetry_management_section.mdx +++ b/api_docs/telemetry_management_section.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/telemetryManagementSection title: "telemetryManagementSection" image: https://source.unsplash.com/400x175/?github description: API docs for the telemetryManagementSection plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'telemetryManagementSection'] --- import telemetryManagementSectionObj from './telemetry_management_section.devdocs.json'; diff --git a/api_docs/text_based_languages.mdx b/api_docs/text_based_languages.mdx index 526d95c0099972..399642e35b464b 100644 --- a/api_docs/text_based_languages.mdx +++ b/api_docs/text_based_languages.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/textBasedLanguages title: "textBasedLanguages" image: https://source.unsplash.com/400x175/?github description: API docs for the textBasedLanguages plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'textBasedLanguages'] --- import textBasedLanguagesObj from './text_based_languages.devdocs.json'; diff --git a/api_docs/threat_intelligence.mdx b/api_docs/threat_intelligence.mdx index 4a7d57c0f47f7d..10239ba587c19e 100644 --- a/api_docs/threat_intelligence.mdx +++ b/api_docs/threat_intelligence.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/threatIntelligence title: "threatIntelligence" image: https://source.unsplash.com/400x175/?github description: API docs for the threatIntelligence plugin -date: 2023-09-23 +date: 2023-09-24 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 80980b11aabb1e..2458ff75c99fdf 100644 --- a/api_docs/timelines.mdx +++ b/api_docs/timelines.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/timelines title: "timelines" image: https://source.unsplash.com/400x175/?github description: API docs for the timelines plugin -date: 2023-09-23 +date: 2023-09-24 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 be3bec59ef21c8..2704f42fd03c9f 100644 --- a/api_docs/transform.mdx +++ b/api_docs/transform.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/transform title: "transform" image: https://source.unsplash.com/400x175/?github description: API docs for the transform plugin -date: 2023-09-23 +date: 2023-09-24 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 348681df6e29bf..04eb6d2daf9c4d 100644 --- a/api_docs/triggers_actions_ui.mdx +++ b/api_docs/triggers_actions_ui.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/triggersActionsUi title: "triggersActionsUi" image: https://source.unsplash.com/400x175/?github description: API docs for the triggersActionsUi plugin -date: 2023-09-23 +date: 2023-09-24 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 e1de16dbd83a3f..240a07fc54ae3b 100644 --- a/api_docs/ui_actions.mdx +++ b/api_docs/ui_actions.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/uiActions title: "uiActions" image: https://source.unsplash.com/400x175/?github description: API docs for the uiActions plugin -date: 2023-09-23 +date: 2023-09-24 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 7ee2c69dc27ebd..d62217a21ccf30 100644 --- a/api_docs/ui_actions_enhanced.mdx +++ b/api_docs/ui_actions_enhanced.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/uiActionsEnhanced title: "uiActionsEnhanced" image: https://source.unsplash.com/400x175/?github description: API docs for the uiActionsEnhanced plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'uiActionsEnhanced'] --- import uiActionsEnhancedObj from './ui_actions_enhanced.devdocs.json'; diff --git a/api_docs/unified_doc_viewer.mdx b/api_docs/unified_doc_viewer.mdx index 8b8ac9cdd88269..e0aebea8987dac 100644 --- a/api_docs/unified_doc_viewer.mdx +++ b/api_docs/unified_doc_viewer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/unifiedDocViewer title: "unifiedDocViewer" image: https://source.unsplash.com/400x175/?github description: API docs for the unifiedDocViewer plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'unifiedDocViewer'] --- import unifiedDocViewerObj from './unified_doc_viewer.devdocs.json'; diff --git a/api_docs/unified_histogram.mdx b/api_docs/unified_histogram.mdx index 85469f96379f3b..0ee26ed996c414 100644 --- a/api_docs/unified_histogram.mdx +++ b/api_docs/unified_histogram.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/unifiedHistogram title: "unifiedHistogram" image: https://source.unsplash.com/400x175/?github description: API docs for the unifiedHistogram plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'unifiedHistogram'] --- import unifiedHistogramObj from './unified_histogram.devdocs.json'; diff --git a/api_docs/unified_search.mdx b/api_docs/unified_search.mdx index 8b7624a11694e7..43b350666985e8 100644 --- a/api_docs/unified_search.mdx +++ b/api_docs/unified_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/unifiedSearch title: "unifiedSearch" image: https://source.unsplash.com/400x175/?github description: API docs for the unifiedSearch plugin -date: 2023-09-23 +date: 2023-09-24 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 8ad7ec4dae49ba..2150e5bf00c716 100644 --- a/api_docs/unified_search_autocomplete.mdx +++ b/api_docs/unified_search_autocomplete.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/unifiedSearch-autocomplete title: "unifiedSearch.autocomplete" image: https://source.unsplash.com/400x175/?github description: API docs for the unifiedSearch.autocomplete plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'unifiedSearch.autocomplete'] --- import unifiedSearchAutocompleteObj from './unified_search_autocomplete.devdocs.json'; diff --git a/api_docs/uptime.mdx b/api_docs/uptime.mdx index d82f4d5363eccf..4c99f574bd533f 100644 --- a/api_docs/uptime.mdx +++ b/api_docs/uptime.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/uptime title: "uptime" image: https://source.unsplash.com/400x175/?github description: API docs for the uptime plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'uptime'] --- import uptimeObj from './uptime.devdocs.json'; diff --git a/api_docs/url_forwarding.mdx b/api_docs/url_forwarding.mdx index 1cbc0ffb1e8476..41ff928efbd588 100644 --- a/api_docs/url_forwarding.mdx +++ b/api_docs/url_forwarding.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/urlForwarding title: "urlForwarding" image: https://source.unsplash.com/400x175/?github description: API docs for the urlForwarding plugin -date: 2023-09-23 +date: 2023-09-24 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 ec03d4608c88ca..9ac2dbba836a3f 100644 --- a/api_docs/usage_collection.mdx +++ b/api_docs/usage_collection.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/usageCollection title: "usageCollection" image: https://source.unsplash.com/400x175/?github description: API docs for the usageCollection plugin -date: 2023-09-23 +date: 2023-09-24 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 0fe50b76863e68..975f22ba455604 100644 --- a/api_docs/ux.mdx +++ b/api_docs/ux.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/ux title: "ux" image: https://source.unsplash.com/400x175/?github description: API docs for the ux plugin -date: 2023-09-23 +date: 2023-09-24 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 7e2fa4442fef01..4f49116553d9f6 100644 --- a/api_docs/vis_default_editor.mdx +++ b/api_docs/vis_default_editor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visDefaultEditor title: "visDefaultEditor" image: https://source.unsplash.com/400x175/?github description: API docs for the visDefaultEditor plugin -date: 2023-09-23 +date: 2023-09-24 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 52f1108fbe6ba8..bed6faa33b4554 100644 --- a/api_docs/vis_type_gauge.mdx +++ b/api_docs/vis_type_gauge.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeGauge title: "visTypeGauge" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeGauge plugin -date: 2023-09-23 +date: 2023-09-24 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 23b33abf541084..3b19aa9f532f2b 100644 --- a/api_docs/vis_type_heatmap.mdx +++ b/api_docs/vis_type_heatmap.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeHeatmap title: "visTypeHeatmap" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeHeatmap plugin -date: 2023-09-23 +date: 2023-09-24 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 0751478a2b754a..9141f80d8dad2e 100644 --- a/api_docs/vis_type_pie.mdx +++ b/api_docs/vis_type_pie.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypePie title: "visTypePie" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypePie plugin -date: 2023-09-23 +date: 2023-09-24 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 e81ec0007dd375..6f70f9feb73b77 100644 --- a/api_docs/vis_type_table.mdx +++ b/api_docs/vis_type_table.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeTable title: "visTypeTable" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeTable plugin -date: 2023-09-23 +date: 2023-09-24 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 bfe5de9e16e9fa..ca7bd2a7e393a6 100644 --- a/api_docs/vis_type_timelion.mdx +++ b/api_docs/vis_type_timelion.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeTimelion title: "visTypeTimelion" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeTimelion plugin -date: 2023-09-23 +date: 2023-09-24 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 0c753e47ad050f..09252995bf9a60 100644 --- a/api_docs/vis_type_timeseries.mdx +++ b/api_docs/vis_type_timeseries.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeTimeseries title: "visTypeTimeseries" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeTimeseries plugin -date: 2023-09-23 +date: 2023-09-24 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 cf9efdd4381aee..f23b770a7117a2 100644 --- a/api_docs/vis_type_vega.mdx +++ b/api_docs/vis_type_vega.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeVega title: "visTypeVega" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeVega plugin -date: 2023-09-23 +date: 2023-09-24 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 7f1909e9edcc8b..3b850e7b7c1d7f 100644 --- a/api_docs/vis_type_vislib.mdx +++ b/api_docs/vis_type_vislib.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeVislib title: "visTypeVislib" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeVislib plugin -date: 2023-09-23 +date: 2023-09-24 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 e86a5d985c5f30..d838b84da099d2 100644 --- a/api_docs/vis_type_xy.mdx +++ b/api_docs/vis_type_xy.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeXy title: "visTypeXy" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeXy plugin -date: 2023-09-23 +date: 2023-09-24 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 c3d44e19ea0668..2b9ed1af100c25 100644 --- a/api_docs/visualizations.mdx +++ b/api_docs/visualizations.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visualizations title: "visualizations" image: https://source.unsplash.com/400x175/?github description: API docs for the visualizations plugin -date: 2023-09-23 +date: 2023-09-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visualizations'] --- import visualizationsObj from './visualizations.devdocs.json'; From 823a1d542bc007ea4f58a280e40dd268f103a3f5 Mon Sep 17 00:00:00 2001 From: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> Date: Mon, 25 Sep 2023 00:54:39 -0400 Subject: [PATCH 61/72] [api-docs] 2023-09-25 Daily api_docs build (#167109) Generated by https://buildkite.com/elastic/kibana-api-docs-daily/builds/471 --- 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/apm_data_access.mdx | 2 +- api_docs/asset_manager.mdx | 2 +- api_docs/banners.mdx | 2 +- api_docs/bfetch.mdx | 2 +- api_docs/canvas.mdx | 2 +- api_docs/cases.mdx | 2 +- api_docs/charts.mdx | 2 +- api_docs/cloud.mdx | 2 +- api_docs/cloud_chat.mdx | 2 +- api_docs/cloud_chat_provider.mdx | 2 +- api_docs/cloud_data_migration.mdx | 2 +- api_docs/cloud_defend.mdx | 2 +- api_docs/cloud_experiments.mdx | 2 +- api_docs/cloud_security_posture.mdx | 2 +- api_docs/console.mdx | 2 +- api_docs/content_management.mdx | 2 +- api_docs/controls.mdx | 2 +- api_docs/custom_integrations.mdx | 2 +- api_docs/dashboard.mdx | 2 +- api_docs/dashboard_enhanced.mdx | 2 +- api_docs/data.mdx | 2 +- api_docs/data_query.mdx | 2 +- api_docs/data_search.mdx | 2 +- api_docs/data_view_editor.mdx | 2 +- api_docs/data_view_field_editor.mdx | 2 +- api_docs/data_view_management.mdx | 2 +- api_docs/data_views.mdx | 2 +- api_docs/data_visualizer.mdx | 2 +- api_docs/deprecations_by_api.mdx | 2 +- api_docs/deprecations_by_plugin.mdx | 2 +- api_docs/deprecations_by_team.mdx | 2 +- api_docs/dev_tools.mdx | 2 +- api_docs/discover.mdx | 2 +- api_docs/discover_enhanced.mdx | 2 +- api_docs/ecs_data_quality_dashboard.mdx | 2 +- api_docs/elastic_assistant.mdx | 2 +- api_docs/embeddable.mdx | 2 +- api_docs/embeddable_enhanced.mdx | 2 +- api_docs/encrypted_saved_objects.mdx | 2 +- api_docs/enterprise_search.mdx | 2 +- api_docs/es_ui_shared.mdx | 2 +- api_docs/event_annotation.mdx | 2 +- api_docs/event_annotation_listing.mdx | 2 +- api_docs/event_log.mdx | 2 +- api_docs/exploratory_view.mdx | 2 +- api_docs/expression_error.mdx | 2 +- api_docs/expression_gauge.mdx | 2 +- api_docs/expression_heatmap.mdx | 2 +- api_docs/expression_image.mdx | 2 +- api_docs/expression_legacy_metric_vis.mdx | 2 +- api_docs/expression_metric.mdx | 2 +- api_docs/expression_metric_vis.mdx | 2 +- api_docs/expression_partition_vis.mdx | 2 +- api_docs/expression_repeat_image.mdx | 2 +- api_docs/expression_reveal_image.mdx | 2 +- api_docs/expression_shape.mdx | 2 +- api_docs/expression_tagcloud.mdx | 2 +- api_docs/expression_x_y.mdx | 2 +- api_docs/expressions.mdx | 2 +- api_docs/features.mdx | 2 +- api_docs/field_formats.mdx | 2 +- api_docs/file_upload.mdx | 2 +- api_docs/files.mdx | 2 +- api_docs/files_management.mdx | 2 +- api_docs/fleet.mdx | 2 +- api_docs/global_search.mdx | 2 +- api_docs/guided_onboarding.mdx | 2 +- api_docs/home.mdx | 2 +- api_docs/image_embeddable.mdx | 2 +- api_docs/index_lifecycle_management.mdx | 2 +- api_docs/index_management.mdx | 2 +- api_docs/infra.mdx | 2 +- api_docs/inspector.mdx | 2 +- api_docs/interactive_setup.mdx | 2 +- api_docs/kbn_ace.mdx | 2 +- api_docs/kbn_aiops_components.mdx | 2 +- api_docs/kbn_aiops_utils.mdx | 2 +- api_docs/kbn_alerting_api_integration_helpers.mdx | 2 +- api_docs/kbn_alerting_state_types.mdx | 2 +- api_docs/kbn_alerts_as_data_utils.mdx | 2 +- api_docs/kbn_alerts_ui_shared.mdx | 2 +- api_docs/kbn_analytics.mdx | 2 +- api_docs/kbn_analytics_client.mdx | 2 +- api_docs/kbn_analytics_shippers_elastic_v3_browser.mdx | 2 +- api_docs/kbn_analytics_shippers_elastic_v3_common.mdx | 2 +- api_docs/kbn_analytics_shippers_elastic_v3_server.mdx | 2 +- api_docs/kbn_analytics_shippers_fullstory.mdx | 2 +- api_docs/kbn_analytics_shippers_gainsight.mdx | 2 +- api_docs/kbn_apm_config_loader.mdx | 2 +- api_docs/kbn_apm_synthtrace.mdx | 2 +- api_docs/kbn_apm_synthtrace_client.mdx | 2 +- api_docs/kbn_apm_utils.mdx | 2 +- api_docs/kbn_axe_config.mdx | 2 +- api_docs/kbn_cases_components.mdx | 2 +- api_docs/kbn_cell_actions.mdx | 2 +- api_docs/kbn_chart_expressions_common.mdx | 2 +- api_docs/kbn_chart_icons.mdx | 2 +- api_docs/kbn_ci_stats_core.mdx | 2 +- api_docs/kbn_ci_stats_performance_metrics.mdx | 2 +- api_docs/kbn_ci_stats_reporter.mdx | 2 +- api_docs/kbn_cli_dev_mode.mdx | 2 +- api_docs/kbn_code_editor.mdx | 2 +- api_docs/kbn_code_editor_mocks.mdx | 2 +- api_docs/kbn_coloring.mdx | 2 +- api_docs/kbn_config.mdx | 2 +- api_docs/kbn_config_mocks.mdx | 2 +- api_docs/kbn_config_schema.mdx | 2 +- api_docs/kbn_content_management_content_editor.mdx | 2 +- api_docs/kbn_content_management_tabbed_table_list_view.mdx | 2 +- api_docs/kbn_content_management_table_list_view.mdx | 2 +- api_docs/kbn_content_management_table_list_view_table.mdx | 2 +- api_docs/kbn_content_management_utils.mdx | 2 +- api_docs/kbn_core_analytics_browser.mdx | 2 +- api_docs/kbn_core_analytics_browser_internal.mdx | 2 +- api_docs/kbn_core_analytics_browser_mocks.mdx | 2 +- api_docs/kbn_core_analytics_server.mdx | 2 +- api_docs/kbn_core_analytics_server_internal.mdx | 2 +- api_docs/kbn_core_analytics_server_mocks.mdx | 2 +- api_docs/kbn_core_application_browser.mdx | 2 +- api_docs/kbn_core_application_browser_internal.mdx | 2 +- api_docs/kbn_core_application_browser_mocks.mdx | 2 +- api_docs/kbn_core_application_common.mdx | 2 +- api_docs/kbn_core_apps_browser_internal.mdx | 2 +- api_docs/kbn_core_apps_browser_mocks.mdx | 2 +- api_docs/kbn_core_apps_server_internal.mdx | 2 +- api_docs/kbn_core_base_browser_mocks.mdx | 2 +- api_docs/kbn_core_base_common.mdx | 2 +- api_docs/kbn_core_base_server_internal.mdx | 2 +- api_docs/kbn_core_base_server_mocks.mdx | 2 +- api_docs/kbn_core_capabilities_browser_mocks.mdx | 2 +- api_docs/kbn_core_capabilities_common.mdx | 2 +- api_docs/kbn_core_capabilities_server.mdx | 2 +- api_docs/kbn_core_capabilities_server_mocks.mdx | 2 +- api_docs/kbn_core_chrome_browser.mdx | 2 +- api_docs/kbn_core_chrome_browser_mocks.mdx | 2 +- api_docs/kbn_core_config_server_internal.mdx | 2 +- api_docs/kbn_core_custom_branding_browser.mdx | 2 +- api_docs/kbn_core_custom_branding_browser_internal.mdx | 2 +- api_docs/kbn_core_custom_branding_browser_mocks.mdx | 2 +- api_docs/kbn_core_custom_branding_common.mdx | 2 +- api_docs/kbn_core_custom_branding_server.mdx | 2 +- api_docs/kbn_core_custom_branding_server_internal.mdx | 2 +- api_docs/kbn_core_custom_branding_server_mocks.mdx | 2 +- api_docs/kbn_core_deprecations_browser.mdx | 2 +- api_docs/kbn_core_deprecations_browser_internal.mdx | 2 +- api_docs/kbn_core_deprecations_browser_mocks.mdx | 2 +- api_docs/kbn_core_deprecations_common.mdx | 2 +- api_docs/kbn_core_deprecations_server.mdx | 2 +- api_docs/kbn_core_deprecations_server_internal.mdx | 2 +- api_docs/kbn_core_deprecations_server_mocks.mdx | 2 +- api_docs/kbn_core_doc_links_browser.mdx | 2 +- api_docs/kbn_core_doc_links_browser_mocks.mdx | 2 +- api_docs/kbn_core_doc_links_server.mdx | 2 +- api_docs/kbn_core_doc_links_server_mocks.mdx | 2 +- api_docs/kbn_core_elasticsearch_client_server_internal.mdx | 2 +- api_docs/kbn_core_elasticsearch_client_server_mocks.mdx | 2 +- api_docs/kbn_core_elasticsearch_server.mdx | 2 +- api_docs/kbn_core_elasticsearch_server_internal.mdx | 2 +- api_docs/kbn_core_elasticsearch_server_mocks.mdx | 2 +- api_docs/kbn_core_environment_server_internal.mdx | 2 +- api_docs/kbn_core_environment_server_mocks.mdx | 2 +- api_docs/kbn_core_execution_context_browser.mdx | 2 +- api_docs/kbn_core_execution_context_browser_internal.mdx | 2 +- api_docs/kbn_core_execution_context_browser_mocks.mdx | 2 +- api_docs/kbn_core_execution_context_common.mdx | 2 +- api_docs/kbn_core_execution_context_server.mdx | 2 +- api_docs/kbn_core_execution_context_server_internal.mdx | 2 +- api_docs/kbn_core_execution_context_server_mocks.mdx | 2 +- api_docs/kbn_core_fatal_errors_browser.mdx | 2 +- api_docs/kbn_core_fatal_errors_browser_mocks.mdx | 2 +- api_docs/kbn_core_http_browser.mdx | 2 +- api_docs/kbn_core_http_browser_internal.mdx | 2 +- api_docs/kbn_core_http_browser_mocks.mdx | 2 +- api_docs/kbn_core_http_common.mdx | 2 +- api_docs/kbn_core_http_context_server_mocks.mdx | 2 +- api_docs/kbn_core_http_request_handler_context_server.mdx | 2 +- api_docs/kbn_core_http_resources_server.mdx | 2 +- api_docs/kbn_core_http_resources_server_internal.mdx | 2 +- api_docs/kbn_core_http_resources_server_mocks.mdx | 2 +- api_docs/kbn_core_http_router_server_internal.mdx | 2 +- api_docs/kbn_core_http_router_server_mocks.mdx | 2 +- api_docs/kbn_core_http_server.mdx | 2 +- api_docs/kbn_core_http_server_internal.mdx | 2 +- api_docs/kbn_core_http_server_mocks.mdx | 2 +- api_docs/kbn_core_i18n_browser.mdx | 2 +- api_docs/kbn_core_i18n_browser_mocks.mdx | 2 +- api_docs/kbn_core_i18n_server.mdx | 2 +- api_docs/kbn_core_i18n_server_internal.mdx | 2 +- api_docs/kbn_core_i18n_server_mocks.mdx | 2 +- api_docs/kbn_core_injected_metadata_browser_mocks.mdx | 2 +- api_docs/kbn_core_integrations_browser_internal.mdx | 2 +- api_docs/kbn_core_integrations_browser_mocks.mdx | 2 +- api_docs/kbn_core_lifecycle_browser.mdx | 2 +- api_docs/kbn_core_lifecycle_browser_mocks.mdx | 2 +- api_docs/kbn_core_lifecycle_server.mdx | 2 +- api_docs/kbn_core_lifecycle_server_mocks.mdx | 2 +- api_docs/kbn_core_logging_browser_mocks.mdx | 2 +- api_docs/kbn_core_logging_common_internal.mdx | 2 +- api_docs/kbn_core_logging_server.mdx | 2 +- api_docs/kbn_core_logging_server_internal.mdx | 2 +- api_docs/kbn_core_logging_server_mocks.mdx | 2 +- api_docs/kbn_core_metrics_collectors_server_internal.mdx | 2 +- api_docs/kbn_core_metrics_collectors_server_mocks.mdx | 2 +- api_docs/kbn_core_metrics_server.mdx | 2 +- api_docs/kbn_core_metrics_server_internal.mdx | 2 +- api_docs/kbn_core_metrics_server_mocks.mdx | 2 +- api_docs/kbn_core_mount_utils_browser.mdx | 2 +- api_docs/kbn_core_node_server.mdx | 2 +- api_docs/kbn_core_node_server_internal.mdx | 2 +- api_docs/kbn_core_node_server_mocks.mdx | 2 +- api_docs/kbn_core_notifications_browser.mdx | 2 +- api_docs/kbn_core_notifications_browser_internal.mdx | 2 +- api_docs/kbn_core_notifications_browser_mocks.mdx | 2 +- api_docs/kbn_core_overlays_browser.mdx | 2 +- api_docs/kbn_core_overlays_browser_internal.mdx | 2 +- api_docs/kbn_core_overlays_browser_mocks.mdx | 2 +- api_docs/kbn_core_plugins_browser.mdx | 2 +- api_docs/kbn_core_plugins_browser_mocks.mdx | 2 +- api_docs/kbn_core_plugins_server.mdx | 2 +- api_docs/kbn_core_plugins_server_mocks.mdx | 2 +- api_docs/kbn_core_preboot_server.mdx | 2 +- api_docs/kbn_core_preboot_server_mocks.mdx | 2 +- api_docs/kbn_core_rendering_browser_mocks.mdx | 2 +- api_docs/kbn_core_rendering_server_internal.mdx | 2 +- api_docs/kbn_core_rendering_server_mocks.mdx | 2 +- api_docs/kbn_core_root_server_internal.mdx | 2 +- api_docs/kbn_core_saved_objects_api_browser.mdx | 2 +- api_docs/kbn_core_saved_objects_api_server.mdx | 2 +- api_docs/kbn_core_saved_objects_api_server_mocks.mdx | 2 +- api_docs/kbn_core_saved_objects_base_server_internal.mdx | 2 +- api_docs/kbn_core_saved_objects_base_server_mocks.mdx | 2 +- api_docs/kbn_core_saved_objects_browser.mdx | 2 +- api_docs/kbn_core_saved_objects_browser_internal.mdx | 2 +- api_docs/kbn_core_saved_objects_browser_mocks.mdx | 2 +- api_docs/kbn_core_saved_objects_common.mdx | 2 +- .../kbn_core_saved_objects_import_export_server_internal.mdx | 2 +- api_docs/kbn_core_saved_objects_import_export_server_mocks.mdx | 2 +- api_docs/kbn_core_saved_objects_migration_server_internal.mdx | 2 +- api_docs/kbn_core_saved_objects_migration_server_mocks.mdx | 2 +- api_docs/kbn_core_saved_objects_server.mdx | 2 +- api_docs/kbn_core_saved_objects_server_internal.mdx | 2 +- api_docs/kbn_core_saved_objects_server_mocks.mdx | 2 +- api_docs/kbn_core_saved_objects_utils_server.mdx | 2 +- api_docs/kbn_core_status_common.mdx | 2 +- api_docs/kbn_core_status_common_internal.mdx | 2 +- api_docs/kbn_core_status_server.mdx | 2 +- api_docs/kbn_core_status_server_internal.mdx | 2 +- api_docs/kbn_core_status_server_mocks.mdx | 2 +- api_docs/kbn_core_test_helpers_deprecations_getters.mdx | 2 +- api_docs/kbn_core_test_helpers_http_setup_browser.mdx | 2 +- api_docs/kbn_core_test_helpers_kbn_server.mdx | 2 +- api_docs/kbn_core_test_helpers_so_type_serializer.mdx | 2 +- api_docs/kbn_core_test_helpers_test_utils.mdx | 2 +- api_docs/kbn_core_theme_browser.mdx | 2 +- api_docs/kbn_core_theme_browser_mocks.mdx | 2 +- api_docs/kbn_core_ui_settings_browser.mdx | 2 +- api_docs/kbn_core_ui_settings_browser_internal.mdx | 2 +- api_docs/kbn_core_ui_settings_browser_mocks.mdx | 2 +- api_docs/kbn_core_ui_settings_common.mdx | 2 +- api_docs/kbn_core_ui_settings_server.mdx | 2 +- api_docs/kbn_core_ui_settings_server_internal.mdx | 2 +- api_docs/kbn_core_ui_settings_server_mocks.mdx | 2 +- api_docs/kbn_core_usage_data_server.mdx | 2 +- api_docs/kbn_core_usage_data_server_internal.mdx | 2 +- api_docs/kbn_core_usage_data_server_mocks.mdx | 2 +- api_docs/kbn_core_user_settings_server.mdx | 2 +- api_docs/kbn_core_user_settings_server_internal.mdx | 2 +- api_docs/kbn_core_user_settings_server_mocks.mdx | 2 +- api_docs/kbn_crypto.mdx | 2 +- api_docs/kbn_crypto_browser.mdx | 2 +- api_docs/kbn_custom_integrations.mdx | 2 +- api_docs/kbn_cypress_config.mdx | 2 +- api_docs/kbn_data_service.mdx | 2 +- api_docs/kbn_datemath.mdx | 2 +- api_docs/kbn_deeplinks_analytics.mdx | 2 +- api_docs/kbn_deeplinks_devtools.mdx | 2 +- api_docs/kbn_deeplinks_management.mdx | 2 +- api_docs/kbn_deeplinks_ml.mdx | 2 +- api_docs/kbn_deeplinks_observability.mdx | 2 +- api_docs/kbn_deeplinks_search.mdx | 2 +- api_docs/kbn_default_nav_analytics.mdx | 2 +- api_docs/kbn_default_nav_devtools.mdx | 2 +- api_docs/kbn_default_nav_management.mdx | 2 +- api_docs/kbn_default_nav_ml.mdx | 2 +- api_docs/kbn_dev_cli_errors.mdx | 2 +- api_docs/kbn_dev_cli_runner.mdx | 2 +- api_docs/kbn_dev_proc_runner.mdx | 2 +- api_docs/kbn_dev_utils.mdx | 2 +- api_docs/kbn_discover_utils.mdx | 2 +- api_docs/kbn_doc_links.mdx | 2 +- api_docs/kbn_docs_utils.mdx | 2 +- api_docs/kbn_dom_drag_drop.mdx | 2 +- api_docs/kbn_ebt_tools.mdx | 2 +- api_docs/kbn_ecs.mdx | 2 +- api_docs/kbn_ecs_data_quality_dashboard.mdx | 2 +- api_docs/kbn_elastic_assistant.mdx | 2 +- api_docs/kbn_es.mdx | 2 +- api_docs/kbn_es_archiver.mdx | 2 +- api_docs/kbn_es_errors.mdx | 2 +- api_docs/kbn_es_query.mdx | 2 +- api_docs/kbn_es_types.mdx | 2 +- api_docs/kbn_eslint_plugin_imports.mdx | 2 +- api_docs/kbn_event_annotation_common.mdx | 2 +- api_docs/kbn_event_annotation_components.mdx | 2 +- api_docs/kbn_expandable_flyout.mdx | 2 +- api_docs/kbn_field_types.mdx | 2 +- api_docs/kbn_find_used_node_modules.mdx | 2 +- api_docs/kbn_ftr_common_functional_services.mdx | 2 +- api_docs/kbn_generate.mdx | 2 +- api_docs/kbn_generate_console_definitions.mdx | 2 +- api_docs/kbn_generate_csv.mdx | 2 +- api_docs/kbn_generate_csv_types.mdx | 2 +- api_docs/kbn_guided_onboarding.mdx | 2 +- api_docs/kbn_handlebars.mdx | 2 +- api_docs/kbn_hapi_mocks.mdx | 2 +- api_docs/kbn_health_gateway_server.mdx | 2 +- api_docs/kbn_home_sample_data_card.mdx | 2 +- api_docs/kbn_home_sample_data_tab.mdx | 2 +- api_docs/kbn_i18n.mdx | 2 +- api_docs/kbn_i18n_react.mdx | 2 +- api_docs/kbn_import_resolver.mdx | 2 +- api_docs/kbn_infra_forge.mdx | 2 +- api_docs/kbn_interpreter.mdx | 2 +- api_docs/kbn_io_ts_utils.mdx | 2 +- api_docs/kbn_jest_serializers.mdx | 2 +- api_docs/kbn_journeys.mdx | 2 +- api_docs/kbn_json_ast.mdx | 2 +- api_docs/kbn_kibana_manifest_schema.mdx | 2 +- api_docs/kbn_language_documentation_popover.mdx | 2 +- api_docs/kbn_lens_embeddable_utils.mdx | 2 +- api_docs/kbn_logging.mdx | 2 +- api_docs/kbn_logging_mocks.mdx | 2 +- api_docs/kbn_managed_vscode_config.mdx | 2 +- api_docs/kbn_management_cards_navigation.mdx | 2 +- api_docs/kbn_management_settings_components_field_input.mdx | 2 +- api_docs/kbn_management_settings_components_field_row.mdx | 2 +- api_docs/kbn_management_settings_field_definition.mdx | 2 +- api_docs/kbn_management_settings_ids.mdx | 2 +- api_docs/kbn_management_settings_section_registry.mdx | 2 +- api_docs/kbn_management_settings_types.mdx | 2 +- api_docs/kbn_management_settings_utilities.mdx | 2 +- api_docs/kbn_management_storybook_config.mdx | 2 +- api_docs/kbn_mapbox_gl.mdx | 2 +- api_docs/kbn_maps_vector_tile_utils.mdx | 2 +- api_docs/kbn_ml_agg_utils.mdx | 2 +- api_docs/kbn_ml_anomaly_utils.mdx | 2 +- api_docs/kbn_ml_category_validator.mdx | 2 +- api_docs/kbn_ml_data_frame_analytics_utils.mdx | 2 +- api_docs/kbn_ml_data_grid.mdx | 2 +- api_docs/kbn_ml_date_picker.mdx | 2 +- api_docs/kbn_ml_date_utils.mdx | 2 +- api_docs/kbn_ml_error_utils.mdx | 2 +- api_docs/kbn_ml_in_memory_table.mdx | 2 +- api_docs/kbn_ml_is_defined.mdx | 2 +- api_docs/kbn_ml_is_populated_object.mdx | 2 +- api_docs/kbn_ml_kibana_theme.mdx | 2 +- api_docs/kbn_ml_local_storage.mdx | 2 +- api_docs/kbn_ml_nested_property.mdx | 2 +- api_docs/kbn_ml_number_utils.mdx | 2 +- api_docs/kbn_ml_query_utils.mdx | 2 +- api_docs/kbn_ml_random_sampler_utils.mdx | 2 +- api_docs/kbn_ml_route_utils.mdx | 2 +- api_docs/kbn_ml_runtime_field_utils.mdx | 2 +- api_docs/kbn_ml_string_hash.mdx | 2 +- api_docs/kbn_ml_trained_models_utils.mdx | 2 +- api_docs/kbn_ml_url_state.mdx | 2 +- api_docs/kbn_monaco.mdx | 2 +- api_docs/kbn_object_versioning.mdx | 2 +- api_docs/kbn_observability_alert_details.mdx | 2 +- api_docs/kbn_optimizer.mdx | 2 +- api_docs/kbn_optimizer_webpack_helpers.mdx | 2 +- api_docs/kbn_osquery_io_ts_types.mdx | 2 +- api_docs/kbn_performance_testing_dataset_extractor.mdx | 2 +- api_docs/kbn_plugin_generator.mdx | 2 +- api_docs/kbn_plugin_helpers.mdx | 2 +- api_docs/kbn_profiling_utils.mdx | 2 +- api_docs/kbn_random_sampling.mdx | 2 +- api_docs/kbn_react_field.mdx | 2 +- api_docs/kbn_react_kibana_context_common.mdx | 2 +- api_docs/kbn_react_kibana_context_render.mdx | 2 +- api_docs/kbn_react_kibana_context_root.mdx | 2 +- api_docs/kbn_react_kibana_context_styled.mdx | 2 +- api_docs/kbn_react_kibana_context_theme.mdx | 2 +- api_docs/kbn_react_kibana_mount.mdx | 2 +- api_docs/kbn_repo_file_maps.mdx | 2 +- api_docs/kbn_repo_linter.mdx | 2 +- api_docs/kbn_repo_path.mdx | 2 +- api_docs/kbn_repo_source_classifier.mdx | 2 +- api_docs/kbn_reporting_common.mdx | 2 +- api_docs/kbn_rison.mdx | 2 +- api_docs/kbn_rrule.mdx | 2 +- api_docs/kbn_rule_data_utils.mdx | 2 +- api_docs/kbn_saved_objects_settings.mdx | 2 +- api_docs/kbn_search_api_panels.mdx | 2 +- api_docs/kbn_search_connectors.mdx | 2 +- api_docs/kbn_search_response_warnings.mdx | 2 +- api_docs/kbn_security_solution_features.mdx | 2 +- api_docs/kbn_security_solution_navigation.mdx | 2 +- api_docs/kbn_security_solution_side_nav.mdx | 2 +- api_docs/kbn_security_solution_storybook_config.mdx | 2 +- api_docs/kbn_securitysolution_autocomplete.mdx | 2 +- api_docs/kbn_securitysolution_data_table.mdx | 2 +- api_docs/kbn_securitysolution_ecs.mdx | 2 +- api_docs/kbn_securitysolution_es_utils.mdx | 2 +- api_docs/kbn_securitysolution_exception_list_components.mdx | 2 +- api_docs/kbn_securitysolution_grouping.mdx | 2 +- api_docs/kbn_securitysolution_hook_utils.mdx | 2 +- api_docs/kbn_securitysolution_io_ts_alerting_types.mdx | 2 +- api_docs/kbn_securitysolution_io_ts_list_types.mdx | 2 +- api_docs/kbn_securitysolution_io_ts_types.mdx | 2 +- api_docs/kbn_securitysolution_io_ts_utils.mdx | 2 +- api_docs/kbn_securitysolution_list_api.mdx | 2 +- api_docs/kbn_securitysolution_list_constants.mdx | 2 +- api_docs/kbn_securitysolution_list_hooks.mdx | 2 +- api_docs/kbn_securitysolution_list_utils.mdx | 2 +- api_docs/kbn_securitysolution_rules.mdx | 2 +- api_docs/kbn_securitysolution_t_grid.mdx | 2 +- api_docs/kbn_securitysolution_utils.mdx | 2 +- api_docs/kbn_server_http_tools.mdx | 2 +- api_docs/kbn_server_route_repository.mdx | 2 +- api_docs/kbn_serverless_common_settings.mdx | 2 +- api_docs/kbn_serverless_observability_settings.mdx | 2 +- api_docs/kbn_serverless_project_switcher.mdx | 2 +- api_docs/kbn_serverless_search_settings.mdx | 2 +- api_docs/kbn_serverless_security_settings.mdx | 2 +- api_docs/kbn_serverless_storybook_config.mdx | 2 +- api_docs/kbn_shared_svg.mdx | 2 +- api_docs/kbn_shared_ux_avatar_solution.mdx | 2 +- api_docs/kbn_shared_ux_avatar_user_profile_components.mdx | 2 +- api_docs/kbn_shared_ux_button_exit_full_screen.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_chrome_navigation.mdx | 2 +- api_docs/kbn_shared_ux_file_context.mdx | 2 +- api_docs/kbn_shared_ux_file_image.mdx | 2 +- api_docs/kbn_shared_ux_file_image_mocks.mdx | 2 +- api_docs/kbn_shared_ux_file_mocks.mdx | 2 +- api_docs/kbn_shared_ux_file_picker.mdx | 2 +- api_docs/kbn_shared_ux_file_types.mdx | 2 +- api_docs/kbn_shared_ux_file_upload.mdx | 2 +- api_docs/kbn_shared_ux_file_util.mdx | 2 +- api_docs/kbn_shared_ux_link_redirect_app.mdx | 2 +- api_docs/kbn_shared_ux_link_redirect_app_mocks.mdx | 2 +- api_docs/kbn_shared_ux_markdown.mdx | 2 +- api_docs/kbn_shared_ux_markdown_mocks.mdx | 2 +- api_docs/kbn_shared_ux_page_analytics_no_data.mdx | 2 +- api_docs/kbn_shared_ux_page_analytics_no_data_mocks.mdx | 2 +- api_docs/kbn_shared_ux_page_kibana_no_data.mdx | 2 +- api_docs/kbn_shared_ux_page_kibana_no_data_mocks.mdx | 2 +- api_docs/kbn_shared_ux_page_kibana_template.mdx | 2 +- api_docs/kbn_shared_ux_page_kibana_template_mocks.mdx | 2 +- api_docs/kbn_shared_ux_page_no_data.mdx | 2 +- api_docs/kbn_shared_ux_page_no_data_config.mdx | 2 +- api_docs/kbn_shared_ux_page_no_data_config_mocks.mdx | 2 +- api_docs/kbn_shared_ux_page_no_data_mocks.mdx | 2 +- api_docs/kbn_shared_ux_page_solution_nav.mdx | 2 +- api_docs/kbn_shared_ux_prompt_no_data_views.mdx | 2 +- api_docs/kbn_shared_ux_prompt_no_data_views_mocks.mdx | 2 +- api_docs/kbn_shared_ux_prompt_not_found.mdx | 2 +- api_docs/kbn_shared_ux_router.mdx | 2 +- api_docs/kbn_shared_ux_router_mocks.mdx | 2 +- api_docs/kbn_shared_ux_storybook_config.mdx | 2 +- api_docs/kbn_shared_ux_storybook_mock.mdx | 2 +- api_docs/kbn_shared_ux_utility.mdx | 2 +- api_docs/kbn_slo_schema.mdx | 2 +- api_docs/kbn_some_dev_log.mdx | 2 +- api_docs/kbn_std.mdx | 2 +- api_docs/kbn_stdio_dev_helpers.mdx | 2 +- api_docs/kbn_storybook.mdx | 2 +- api_docs/kbn_subscription_tracking.mdx | 2 +- api_docs/kbn_telemetry_tools.mdx | 2 +- api_docs/kbn_test.mdx | 2 +- api_docs/kbn_test_jest_helpers.mdx | 2 +- api_docs/kbn_test_subj_selector.mdx | 2 +- api_docs/kbn_text_based_editor.mdx | 2 +- api_docs/kbn_tooling_log.mdx | 2 +- api_docs/kbn_ts_projects.mdx | 2 +- api_docs/kbn_typed_react_router_config.mdx | 2 +- api_docs/kbn_ui_actions_browser.mdx | 2 +- api_docs/kbn_ui_shared_deps_src.mdx | 2 +- api_docs/kbn_ui_theme.mdx | 2 +- api_docs/kbn_unified_data_table.mdx | 2 +- api_docs/kbn_unified_doc_viewer.mdx | 2 +- api_docs/kbn_unified_field_list.mdx | 2 +- api_docs/kbn_url_state.mdx | 2 +- api_docs/kbn_use_tracked_promise.mdx | 2 +- api_docs/kbn_user_profile_components.mdx | 2 +- api_docs/kbn_utility_types.mdx | 2 +- api_docs/kbn_utility_types_jest.mdx | 2 +- api_docs/kbn_utils.mdx | 2 +- api_docs/kbn_visualization_ui_components.mdx | 2 +- api_docs/kbn_xstate_utils.mdx | 2 +- api_docs/kbn_yarn_lock_validator.mdx | 2 +- api_docs/kibana_overview.mdx | 2 +- api_docs/kibana_react.mdx | 2 +- api_docs/kibana_utils.mdx | 2 +- api_docs/kubernetes_security.mdx | 2 +- api_docs/lens.mdx | 2 +- api_docs/license_api_guard.mdx | 2 +- api_docs/license_management.mdx | 2 +- api_docs/licensing.mdx | 2 +- api_docs/lists.mdx | 2 +- api_docs/log_explorer.mdx | 2 +- api_docs/logs_shared.mdx | 2 +- api_docs/management.mdx | 2 +- api_docs/maps.mdx | 2 +- api_docs/maps_ems.mdx | 2 +- api_docs/metrics_data_access.mdx | 2 +- api_docs/ml.mdx | 2 +- api_docs/monitoring.mdx | 2 +- api_docs/monitoring_collection.mdx | 2 +- api_docs/navigation.mdx | 2 +- api_docs/newsfeed.mdx | 2 +- api_docs/no_data_page.mdx | 2 +- api_docs/notifications.mdx | 2 +- api_docs/observability.mdx | 2 +- api_docs/observability_a_i_assistant.mdx | 2 +- api_docs/observability_log_explorer.mdx | 2 +- api_docs/observability_onboarding.mdx | 2 +- api_docs/observability_shared.mdx | 2 +- api_docs/osquery.mdx | 2 +- api_docs/painless_lab.mdx | 2 +- api_docs/plugin_directory.mdx | 2 +- api_docs/presentation_util.mdx | 2 +- api_docs/profiling.mdx | 2 +- api_docs/profiling_data_access.mdx | 2 +- api_docs/remote_clusters.mdx | 2 +- api_docs/reporting.mdx | 2 +- api_docs/rollup.mdx | 2 +- api_docs/rule_registry.mdx | 2 +- api_docs/runtime_fields.mdx | 2 +- api_docs/saved_objects.mdx | 2 +- api_docs/saved_objects_finder.mdx | 2 +- api_docs/saved_objects_management.mdx | 2 +- api_docs/saved_objects_tagging.mdx | 2 +- api_docs/saved_objects_tagging_oss.mdx | 2 +- api_docs/saved_search.mdx | 2 +- api_docs/screenshot_mode.mdx | 2 +- api_docs/screenshotting.mdx | 2 +- api_docs/security.mdx | 2 +- api_docs/security_solution.mdx | 2 +- api_docs/security_solution_ess.mdx | 2 +- api_docs/security_solution_serverless.mdx | 2 +- api_docs/serverless.mdx | 2 +- api_docs/serverless_observability.mdx | 2 +- api_docs/serverless_search.mdx | 2 +- api_docs/session_view.mdx | 2 +- api_docs/share.mdx | 2 +- api_docs/snapshot_restore.mdx | 2 +- api_docs/spaces.mdx | 2 +- api_docs/stack_alerts.mdx | 2 +- api_docs/stack_connectors.mdx | 2 +- api_docs/task_manager.mdx | 2 +- api_docs/telemetry.mdx | 2 +- api_docs/telemetry_collection_manager.mdx | 2 +- api_docs/telemetry_collection_xpack.mdx | 2 +- api_docs/telemetry_management_section.mdx | 2 +- api_docs/text_based_languages.mdx | 2 +- api_docs/threat_intelligence.mdx | 2 +- api_docs/timelines.mdx | 2 +- api_docs/transform.mdx | 2 +- api_docs/triggers_actions_ui.mdx | 2 +- api_docs/ui_actions.mdx | 2 +- api_docs/ui_actions_enhanced.mdx | 2 +- api_docs/unified_doc_viewer.mdx | 2 +- api_docs/unified_histogram.mdx | 2 +- api_docs/unified_search.mdx | 2 +- api_docs/unified_search_autocomplete.mdx | 2 +- api_docs/uptime.mdx | 2 +- api_docs/url_forwarding.mdx | 2 +- api_docs/usage_collection.mdx | 2 +- api_docs/ux.mdx | 2 +- api_docs/vis_default_editor.mdx | 2 +- api_docs/vis_type_gauge.mdx | 2 +- api_docs/vis_type_heatmap.mdx | 2 +- api_docs/vis_type_pie.mdx | 2 +- api_docs/vis_type_table.mdx | 2 +- api_docs/vis_type_timelion.mdx | 2 +- api_docs/vis_type_timeseries.mdx | 2 +- api_docs/vis_type_vega.mdx | 2 +- api_docs/vis_type_vislib.mdx | 2 +- api_docs/vis_type_xy.mdx | 2 +- api_docs/visualizations.mdx | 2 +- 590 files changed, 590 insertions(+), 590 deletions(-) diff --git a/api_docs/actions.mdx b/api_docs/actions.mdx index 39face604ae3db..dab0da20342e73 100644 --- a/api_docs/actions.mdx +++ b/api_docs/actions.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/actions title: "actions" image: https://source.unsplash.com/400x175/?github description: API docs for the actions plugin -date: 2023-09-24 +date: 2023-09-25 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 c6332255c07d23..8cb0ef5bb45245 100644 --- a/api_docs/advanced_settings.mdx +++ b/api_docs/advanced_settings.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/advancedSettings title: "advancedSettings" image: https://source.unsplash.com/400x175/?github description: API docs for the advancedSettings plugin -date: 2023-09-24 +date: 2023-09-25 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 76bf810afcfec2..b226186c3d3971 100644 --- a/api_docs/aiops.mdx +++ b/api_docs/aiops.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/aiops title: "aiops" image: https://source.unsplash.com/400x175/?github description: API docs for the aiops plugin -date: 2023-09-24 +date: 2023-09-25 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 9ae244d8db0ccd..796378d9cd4a59 100644 --- a/api_docs/alerting.mdx +++ b/api_docs/alerting.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/alerting title: "alerting" image: https://source.unsplash.com/400x175/?github description: API docs for the alerting plugin -date: 2023-09-24 +date: 2023-09-25 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 56ec920d06f45f..0a39b5e552aaa0 100644 --- a/api_docs/apm.mdx +++ b/api_docs/apm.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/apm title: "apm" image: https://source.unsplash.com/400x175/?github description: API docs for the apm plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'apm'] --- import apmObj from './apm.devdocs.json'; diff --git a/api_docs/apm_data_access.mdx b/api_docs/apm_data_access.mdx index 0b0fd19404459d..63d16aa0e2bcf9 100644 --- a/api_docs/apm_data_access.mdx +++ b/api_docs/apm_data_access.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/apmDataAccess title: "apmDataAccess" image: https://source.unsplash.com/400x175/?github description: API docs for the apmDataAccess plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'apmDataAccess'] --- import apmDataAccessObj from './apm_data_access.devdocs.json'; diff --git a/api_docs/asset_manager.mdx b/api_docs/asset_manager.mdx index 164e791dc247b2..5d045c726d11b5 100644 --- a/api_docs/asset_manager.mdx +++ b/api_docs/asset_manager.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/assetManager title: "assetManager" image: https://source.unsplash.com/400x175/?github description: API docs for the assetManager plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'assetManager'] --- import assetManagerObj from './asset_manager.devdocs.json'; diff --git a/api_docs/banners.mdx b/api_docs/banners.mdx index 7bbe86c2286b24..9b498aefcc82ca 100644 --- a/api_docs/banners.mdx +++ b/api_docs/banners.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/banners title: "banners" image: https://source.unsplash.com/400x175/?github description: API docs for the banners plugin -date: 2023-09-24 +date: 2023-09-25 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 ed255848972411..ed8902cb5eab10 100644 --- a/api_docs/bfetch.mdx +++ b/api_docs/bfetch.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/bfetch title: "bfetch" image: https://source.unsplash.com/400x175/?github description: API docs for the bfetch plugin -date: 2023-09-24 +date: 2023-09-25 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 aba883f9820063..78c5c53d74bdd1 100644 --- a/api_docs/canvas.mdx +++ b/api_docs/canvas.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/canvas title: "canvas" image: https://source.unsplash.com/400x175/?github description: API docs for the canvas plugin -date: 2023-09-24 +date: 2023-09-25 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 bd758c3d7f4c3a..e5690d05becce4 100644 --- a/api_docs/cases.mdx +++ b/api_docs/cases.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cases title: "cases" image: https://source.unsplash.com/400x175/?github description: API docs for the cases plugin -date: 2023-09-24 +date: 2023-09-25 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 430aec9b77dea4..5ebd59d7b500fb 100644 --- a/api_docs/charts.mdx +++ b/api_docs/charts.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/charts title: "charts" image: https://source.unsplash.com/400x175/?github description: API docs for the charts plugin -date: 2023-09-24 +date: 2023-09-25 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 5e6193110818b2..5895b73947f551 100644 --- a/api_docs/cloud.mdx +++ b/api_docs/cloud.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloud title: "cloud" image: https://source.unsplash.com/400x175/?github description: API docs for the cloud plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloud'] --- import cloudObj from './cloud.devdocs.json'; diff --git a/api_docs/cloud_chat.mdx b/api_docs/cloud_chat.mdx index 28b8dcc12a2395..4eba8503139ab6 100644 --- a/api_docs/cloud_chat.mdx +++ b/api_docs/cloud_chat.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudChat title: "cloudChat" image: https://source.unsplash.com/400x175/?github description: API docs for the cloudChat plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudChat'] --- import cloudChatObj from './cloud_chat.devdocs.json'; diff --git a/api_docs/cloud_chat_provider.mdx b/api_docs/cloud_chat_provider.mdx index 400e8d2ecb93fd..bec0cd2b780066 100644 --- a/api_docs/cloud_chat_provider.mdx +++ b/api_docs/cloud_chat_provider.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudChatProvider title: "cloudChatProvider" image: https://source.unsplash.com/400x175/?github description: API docs for the cloudChatProvider plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudChatProvider'] --- import cloudChatProviderObj from './cloud_chat_provider.devdocs.json'; diff --git a/api_docs/cloud_data_migration.mdx b/api_docs/cloud_data_migration.mdx index 5b07f8828f80a0..ec788541a85bb8 100644 --- a/api_docs/cloud_data_migration.mdx +++ b/api_docs/cloud_data_migration.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudDataMigration title: "cloudDataMigration" image: https://source.unsplash.com/400x175/?github description: API docs for the cloudDataMigration plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudDataMigration'] --- import cloudDataMigrationObj from './cloud_data_migration.devdocs.json'; diff --git a/api_docs/cloud_defend.mdx b/api_docs/cloud_defend.mdx index 8b2149823b4b28..9abc3551fb3e7d 100644 --- a/api_docs/cloud_defend.mdx +++ b/api_docs/cloud_defend.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudDefend title: "cloudDefend" image: https://source.unsplash.com/400x175/?github description: API docs for the cloudDefend plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudDefend'] --- import cloudDefendObj from './cloud_defend.devdocs.json'; diff --git a/api_docs/cloud_experiments.mdx b/api_docs/cloud_experiments.mdx index dc82c38698b520..712dfc663997b7 100644 --- a/api_docs/cloud_experiments.mdx +++ b/api_docs/cloud_experiments.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudExperiments title: "cloudExperiments" image: https://source.unsplash.com/400x175/?github description: API docs for the cloudExperiments plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudExperiments'] --- import cloudExperimentsObj from './cloud_experiments.devdocs.json'; diff --git a/api_docs/cloud_security_posture.mdx b/api_docs/cloud_security_posture.mdx index 00fd75266f7e66..05f3ba75ce2561 100644 --- a/api_docs/cloud_security_posture.mdx +++ b/api_docs/cloud_security_posture.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudSecurityPosture title: "cloudSecurityPosture" image: https://source.unsplash.com/400x175/?github description: API docs for the cloudSecurityPosture plugin -date: 2023-09-24 +date: 2023-09-25 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 5459b168e3a3fd..10c18a585b9640 100644 --- a/api_docs/console.mdx +++ b/api_docs/console.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/console title: "console" image: https://source.unsplash.com/400x175/?github description: API docs for the console plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'console'] --- import consoleObj from './console.devdocs.json'; diff --git a/api_docs/content_management.mdx b/api_docs/content_management.mdx index 746b2aa7664647..ed10bf00b57f48 100644 --- a/api_docs/content_management.mdx +++ b/api_docs/content_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/contentManagement title: "contentManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the contentManagement plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'contentManagement'] --- import contentManagementObj from './content_management.devdocs.json'; diff --git a/api_docs/controls.mdx b/api_docs/controls.mdx index dd78b89830f2c4..b3f68a15ccdc99 100644 --- a/api_docs/controls.mdx +++ b/api_docs/controls.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/controls title: "controls" image: https://source.unsplash.com/400x175/?github description: API docs for the controls plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'controls'] --- import controlsObj from './controls.devdocs.json'; diff --git a/api_docs/custom_integrations.mdx b/api_docs/custom_integrations.mdx index b4f3babff5610a..2bb12ec6c9fd89 100644 --- a/api_docs/custom_integrations.mdx +++ b/api_docs/custom_integrations.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/customIntegrations title: "customIntegrations" image: https://source.unsplash.com/400x175/?github description: API docs for the customIntegrations plugin -date: 2023-09-24 +date: 2023-09-25 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 88dad232187bfc..42f23759f1ed6c 100644 --- a/api_docs/dashboard.mdx +++ b/api_docs/dashboard.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dashboard title: "dashboard" image: https://source.unsplash.com/400x175/?github description: API docs for the dashboard plugin -date: 2023-09-24 +date: 2023-09-25 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 3be0035d0c5590..6e42e2694b4d7b 100644 --- a/api_docs/dashboard_enhanced.mdx +++ b/api_docs/dashboard_enhanced.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dashboardEnhanced title: "dashboardEnhanced" image: https://source.unsplash.com/400x175/?github description: API docs for the dashboardEnhanced plugin -date: 2023-09-24 +date: 2023-09-25 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 4f028146ba0211..698d91dce0dcdd 100644 --- a/api_docs/data.mdx +++ b/api_docs/data.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/data title: "data" image: https://source.unsplash.com/400x175/?github description: API docs for the data plugin -date: 2023-09-24 +date: 2023-09-25 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 500c30f4aec9c2..c7821d531f7c87 100644 --- a/api_docs/data_query.mdx +++ b/api_docs/data_query.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/data-query title: "data.query" image: https://source.unsplash.com/400x175/?github description: API docs for the data.query plugin -date: 2023-09-24 +date: 2023-09-25 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 845ebf3f4e76c7..055894784f5802 100644 --- a/api_docs/data_search.mdx +++ b/api_docs/data_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/data-search title: "data.search" image: https://source.unsplash.com/400x175/?github description: API docs for the data.search plugin -date: 2023-09-24 +date: 2023-09-25 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 b26e52a4035d8b..82418c06b69d4b 100644 --- a/api_docs/data_view_editor.mdx +++ b/api_docs/data_view_editor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataViewEditor title: "dataViewEditor" image: https://source.unsplash.com/400x175/?github description: API docs for the dataViewEditor plugin -date: 2023-09-24 +date: 2023-09-25 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 959fe2b132b382..786031f8cc0842 100644 --- a/api_docs/data_view_field_editor.mdx +++ b/api_docs/data_view_field_editor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataViewFieldEditor title: "dataViewFieldEditor" image: https://source.unsplash.com/400x175/?github description: API docs for the dataViewFieldEditor plugin -date: 2023-09-24 +date: 2023-09-25 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 7915dd40dca6d1..4e36621ef13074 100644 --- a/api_docs/data_view_management.mdx +++ b/api_docs/data_view_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataViewManagement title: "dataViewManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the dataViewManagement plugin -date: 2023-09-24 +date: 2023-09-25 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 4d131b156a5f0d..41381b90f85951 100644 --- a/api_docs/data_views.mdx +++ b/api_docs/data_views.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataViews title: "dataViews" image: https://source.unsplash.com/400x175/?github description: API docs for the dataViews plugin -date: 2023-09-24 +date: 2023-09-25 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 4685266c576542..cc4bbc5a7e8fa3 100644 --- a/api_docs/data_visualizer.mdx +++ b/api_docs/data_visualizer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataVisualizer title: "dataVisualizer" image: https://source.unsplash.com/400x175/?github description: API docs for the dataVisualizer plugin -date: 2023-09-24 +date: 2023-09-25 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 4216d83dd937a7..6f732a8e264786 100644 --- a/api_docs/deprecations_by_api.mdx +++ b/api_docs/deprecations_by_api.mdx @@ -7,7 +7,7 @@ id: kibDevDocsDeprecationsByApi slug: /kibana-dev-docs/api-meta/deprecated-api-list-by-api title: Deprecated API usage by API description: A list of deprecated APIs, which plugins are still referencing them, and when they need to be removed by. -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- diff --git a/api_docs/deprecations_by_plugin.mdx b/api_docs/deprecations_by_plugin.mdx index c8fea21aaad843..0cc43997049d15 100644 --- a/api_docs/deprecations_by_plugin.mdx +++ b/api_docs/deprecations_by_plugin.mdx @@ -7,7 +7,7 @@ id: kibDevDocsDeprecationsByPlugin slug: /kibana-dev-docs/api-meta/deprecated-api-list-by-plugin title: Deprecated API usage by plugin description: A list of deprecated APIs, which plugins are still referencing them, and when they need to be removed by. -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- diff --git a/api_docs/deprecations_by_team.mdx b/api_docs/deprecations_by_team.mdx index bb3593e09f3042..f8a6e88eb34d3e 100644 --- a/api_docs/deprecations_by_team.mdx +++ b/api_docs/deprecations_by_team.mdx @@ -7,7 +7,7 @@ id: kibDevDocsDeprecationsDueByTeam slug: /kibana-dev-docs/api-meta/deprecations-due-by-team title: Deprecated APIs due to be removed, by team description: Lists the teams that are referencing deprecated APIs with a remove by date. -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- diff --git a/api_docs/dev_tools.mdx b/api_docs/dev_tools.mdx index 32cc9785a5061c..4dc67b1161cd9b 100644 --- a/api_docs/dev_tools.mdx +++ b/api_docs/dev_tools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/devTools title: "devTools" image: https://source.unsplash.com/400x175/?github description: API docs for the devTools plugin -date: 2023-09-24 +date: 2023-09-25 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 ae772ff77dfdef..16b69231cdbe25 100644 --- a/api_docs/discover.mdx +++ b/api_docs/discover.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/discover title: "discover" image: https://source.unsplash.com/400x175/?github description: API docs for the discover plugin -date: 2023-09-24 +date: 2023-09-25 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 68a6830ff31d8f..3e9f3e1df6efe0 100644 --- a/api_docs/discover_enhanced.mdx +++ b/api_docs/discover_enhanced.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/discoverEnhanced title: "discoverEnhanced" image: https://source.unsplash.com/400x175/?github description: API docs for the discoverEnhanced plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'discoverEnhanced'] --- import discoverEnhancedObj from './discover_enhanced.devdocs.json'; diff --git a/api_docs/ecs_data_quality_dashboard.mdx b/api_docs/ecs_data_quality_dashboard.mdx index 292e22f3ebf713..a5dc05d2871deb 100644 --- a/api_docs/ecs_data_quality_dashboard.mdx +++ b/api_docs/ecs_data_quality_dashboard.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/ecsDataQualityDashboard title: "ecsDataQualityDashboard" image: https://source.unsplash.com/400x175/?github description: API docs for the ecsDataQualityDashboard plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'ecsDataQualityDashboard'] --- import ecsDataQualityDashboardObj from './ecs_data_quality_dashboard.devdocs.json'; diff --git a/api_docs/elastic_assistant.mdx b/api_docs/elastic_assistant.mdx index 55eff2b5cd2f7e..ed94fe83ad3919 100644 --- a/api_docs/elastic_assistant.mdx +++ b/api_docs/elastic_assistant.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/elasticAssistant title: "elasticAssistant" image: https://source.unsplash.com/400x175/?github description: API docs for the elasticAssistant plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'elasticAssistant'] --- import elasticAssistantObj from './elastic_assistant.devdocs.json'; diff --git a/api_docs/embeddable.mdx b/api_docs/embeddable.mdx index fd47d961bb3cec..c10cb41ea3212b 100644 --- a/api_docs/embeddable.mdx +++ b/api_docs/embeddable.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/embeddable title: "embeddable" image: https://source.unsplash.com/400x175/?github description: API docs for the embeddable plugin -date: 2023-09-24 +date: 2023-09-25 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 351e75f786f328..3070470e2b5a56 100644 --- a/api_docs/embeddable_enhanced.mdx +++ b/api_docs/embeddable_enhanced.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/embeddableEnhanced title: "embeddableEnhanced" image: https://source.unsplash.com/400x175/?github description: API docs for the embeddableEnhanced plugin -date: 2023-09-24 +date: 2023-09-25 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 770955afe32dec..b7d75a4c4ef335 100644 --- a/api_docs/encrypted_saved_objects.mdx +++ b/api_docs/encrypted_saved_objects.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/encryptedSavedObjects title: "encryptedSavedObjects" image: https://source.unsplash.com/400x175/?github description: API docs for the encryptedSavedObjects plugin -date: 2023-09-24 +date: 2023-09-25 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 b1783b619570f3..fee8429037ae7a 100644 --- a/api_docs/enterprise_search.mdx +++ b/api_docs/enterprise_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/enterpriseSearch title: "enterpriseSearch" image: https://source.unsplash.com/400x175/?github description: API docs for the enterpriseSearch plugin -date: 2023-09-24 +date: 2023-09-25 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 3a8dc4aeb58d37..07b97cfb592a5e 100644 --- a/api_docs/es_ui_shared.mdx +++ b/api_docs/es_ui_shared.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/esUiShared title: "esUiShared" image: https://source.unsplash.com/400x175/?github description: API docs for the esUiShared plugin -date: 2023-09-24 +date: 2023-09-25 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 fabeda4e8edf95..b3d3515c4fa143 100644 --- a/api_docs/event_annotation.mdx +++ b/api_docs/event_annotation.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/eventAnnotation title: "eventAnnotation" image: https://source.unsplash.com/400x175/?github description: API docs for the eventAnnotation plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'eventAnnotation'] --- import eventAnnotationObj from './event_annotation.devdocs.json'; diff --git a/api_docs/event_annotation_listing.mdx b/api_docs/event_annotation_listing.mdx index 0e8b6a0f0608a0..8839599be165dc 100644 --- a/api_docs/event_annotation_listing.mdx +++ b/api_docs/event_annotation_listing.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/eventAnnotationListing title: "eventAnnotationListing" image: https://source.unsplash.com/400x175/?github description: API docs for the eventAnnotationListing plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'eventAnnotationListing'] --- import eventAnnotationListingObj from './event_annotation_listing.devdocs.json'; diff --git a/api_docs/event_log.mdx b/api_docs/event_log.mdx index 6880cc40ae6ccd..e85389d1f437b1 100644 --- a/api_docs/event_log.mdx +++ b/api_docs/event_log.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/eventLog title: "eventLog" image: https://source.unsplash.com/400x175/?github description: API docs for the eventLog plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'eventLog'] --- import eventLogObj from './event_log.devdocs.json'; diff --git a/api_docs/exploratory_view.mdx b/api_docs/exploratory_view.mdx index 2daeccfc262f21..f7b509cbfdb1b9 100644 --- a/api_docs/exploratory_view.mdx +++ b/api_docs/exploratory_view.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/exploratoryView title: "exploratoryView" image: https://source.unsplash.com/400x175/?github description: API docs for the exploratoryView plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'exploratoryView'] --- import exploratoryViewObj from './exploratory_view.devdocs.json'; diff --git a/api_docs/expression_error.mdx b/api_docs/expression_error.mdx index 9f4ac52e1eb056..7a4cda0d340102 100644 --- a/api_docs/expression_error.mdx +++ b/api_docs/expression_error.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionError title: "expressionError" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionError plugin -date: 2023-09-24 +date: 2023-09-25 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 d270b49ced6e6d..49697cf849ee9d 100644 --- a/api_docs/expression_gauge.mdx +++ b/api_docs/expression_gauge.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionGauge title: "expressionGauge" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionGauge plugin -date: 2023-09-24 +date: 2023-09-25 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 41ed400b67d75a..c8089021997157 100644 --- a/api_docs/expression_heatmap.mdx +++ b/api_docs/expression_heatmap.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionHeatmap title: "expressionHeatmap" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionHeatmap plugin -date: 2023-09-24 +date: 2023-09-25 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 27cd1f47bab13a..2d89902efab22f 100644 --- a/api_docs/expression_image.mdx +++ b/api_docs/expression_image.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionImage title: "expressionImage" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionImage plugin -date: 2023-09-24 +date: 2023-09-25 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 64624dd139f63a..9a9bf83a547343 100644 --- a/api_docs/expression_legacy_metric_vis.mdx +++ b/api_docs/expression_legacy_metric_vis.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionLegacyMetricVis title: "expressionLegacyMetricVis" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionLegacyMetricVis plugin -date: 2023-09-24 +date: 2023-09-25 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 4a4ac47666a77f..4f3a80337aef09 100644 --- a/api_docs/expression_metric.mdx +++ b/api_docs/expression_metric.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionMetric title: "expressionMetric" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionMetric plugin -date: 2023-09-24 +date: 2023-09-25 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 002d59ca7660ef..f6123702f5b807 100644 --- a/api_docs/expression_metric_vis.mdx +++ b/api_docs/expression_metric_vis.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionMetricVis title: "expressionMetricVis" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionMetricVis plugin -date: 2023-09-24 +date: 2023-09-25 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 cf1cf917cc73fa..fa8638f10728db 100644 --- a/api_docs/expression_partition_vis.mdx +++ b/api_docs/expression_partition_vis.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionPartitionVis title: "expressionPartitionVis" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionPartitionVis plugin -date: 2023-09-24 +date: 2023-09-25 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 7b412af327943d..97b46b486beb5a 100644 --- a/api_docs/expression_repeat_image.mdx +++ b/api_docs/expression_repeat_image.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionRepeatImage title: "expressionRepeatImage" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionRepeatImage plugin -date: 2023-09-24 +date: 2023-09-25 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 0147f086773d5a..9521040c51bc20 100644 --- a/api_docs/expression_reveal_image.mdx +++ b/api_docs/expression_reveal_image.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionRevealImage title: "expressionRevealImage" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionRevealImage plugin -date: 2023-09-24 +date: 2023-09-25 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 686ee350af88d7..3599dc7b2d1fbd 100644 --- a/api_docs/expression_shape.mdx +++ b/api_docs/expression_shape.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionShape title: "expressionShape" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionShape plugin -date: 2023-09-24 +date: 2023-09-25 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 6553c3e0d10483..9392f76dd50c7a 100644 --- a/api_docs/expression_tagcloud.mdx +++ b/api_docs/expression_tagcloud.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionTagcloud title: "expressionTagcloud" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionTagcloud plugin -date: 2023-09-24 +date: 2023-09-25 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 b4b7fa427c088d..86c39e2e588c31 100644 --- a/api_docs/expression_x_y.mdx +++ b/api_docs/expression_x_y.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionXY title: "expressionXY" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionXY plugin -date: 2023-09-24 +date: 2023-09-25 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 b0fb097b14cca9..351ab769148825 100644 --- a/api_docs/expressions.mdx +++ b/api_docs/expressions.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressions title: "expressions" image: https://source.unsplash.com/400x175/?github description: API docs for the expressions plugin -date: 2023-09-24 +date: 2023-09-25 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 3d169fdc6d3546..4392d8382ec87a 100644 --- a/api_docs/features.mdx +++ b/api_docs/features.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/features title: "features" image: https://source.unsplash.com/400x175/?github description: API docs for the features plugin -date: 2023-09-24 +date: 2023-09-25 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 cabfa1fbe94702..dfc37187d7e653 100644 --- a/api_docs/field_formats.mdx +++ b/api_docs/field_formats.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/fieldFormats title: "fieldFormats" image: https://source.unsplash.com/400x175/?github description: API docs for the fieldFormats plugin -date: 2023-09-24 +date: 2023-09-25 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 50e81e54eae24b..84d266a5cc6352 100644 --- a/api_docs/file_upload.mdx +++ b/api_docs/file_upload.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/fileUpload title: "fileUpload" image: https://source.unsplash.com/400x175/?github description: API docs for the fileUpload plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'fileUpload'] --- import fileUploadObj from './file_upload.devdocs.json'; diff --git a/api_docs/files.mdx b/api_docs/files.mdx index dcd511c6540db5..30fbc32a97c20f 100644 --- a/api_docs/files.mdx +++ b/api_docs/files.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/files title: "files" image: https://source.unsplash.com/400x175/?github description: API docs for the files plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'files'] --- import filesObj from './files.devdocs.json'; diff --git a/api_docs/files_management.mdx b/api_docs/files_management.mdx index 182aaf75574ee3..c88197cfa52736 100644 --- a/api_docs/files_management.mdx +++ b/api_docs/files_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/filesManagement title: "filesManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the filesManagement plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'filesManagement'] --- import filesManagementObj from './files_management.devdocs.json'; diff --git a/api_docs/fleet.mdx b/api_docs/fleet.mdx index 3ee486564e95c1..e35b222d2d8e34 100644 --- a/api_docs/fleet.mdx +++ b/api_docs/fleet.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/fleet title: "fleet" image: https://source.unsplash.com/400x175/?github description: API docs for the fleet plugin -date: 2023-09-24 +date: 2023-09-25 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 cd356daf439187..1d12cd375c9e5b 100644 --- a/api_docs/global_search.mdx +++ b/api_docs/global_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/globalSearch title: "globalSearch" image: https://source.unsplash.com/400x175/?github description: API docs for the globalSearch plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'globalSearch'] --- import globalSearchObj from './global_search.devdocs.json'; diff --git a/api_docs/guided_onboarding.mdx b/api_docs/guided_onboarding.mdx index 12ed9bddf5dff9..d5b03bb5f8721c 100644 --- a/api_docs/guided_onboarding.mdx +++ b/api_docs/guided_onboarding.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/guidedOnboarding title: "guidedOnboarding" image: https://source.unsplash.com/400x175/?github description: API docs for the guidedOnboarding plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'guidedOnboarding'] --- import guidedOnboardingObj from './guided_onboarding.devdocs.json'; diff --git a/api_docs/home.mdx b/api_docs/home.mdx index 42f631105beae6..0d09c642820182 100644 --- a/api_docs/home.mdx +++ b/api_docs/home.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/home title: "home" image: https://source.unsplash.com/400x175/?github description: API docs for the home plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'home'] --- import homeObj from './home.devdocs.json'; diff --git a/api_docs/image_embeddable.mdx b/api_docs/image_embeddable.mdx index 6287c67f486a1d..3c45419e1a6215 100644 --- a/api_docs/image_embeddable.mdx +++ b/api_docs/image_embeddable.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/imageEmbeddable title: "imageEmbeddable" image: https://source.unsplash.com/400x175/?github description: API docs for the imageEmbeddable plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'imageEmbeddable'] --- import imageEmbeddableObj from './image_embeddable.devdocs.json'; diff --git a/api_docs/index_lifecycle_management.mdx b/api_docs/index_lifecycle_management.mdx index c1a4c179062194..ce70ab027ad8fa 100644 --- a/api_docs/index_lifecycle_management.mdx +++ b/api_docs/index_lifecycle_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/indexLifecycleManagement title: "indexLifecycleManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the indexLifecycleManagement plugin -date: 2023-09-24 +date: 2023-09-25 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 f699db46a62b48..a07570c8fd12bc 100644 --- a/api_docs/index_management.mdx +++ b/api_docs/index_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/indexManagement title: "indexManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the indexManagement plugin -date: 2023-09-24 +date: 2023-09-25 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 5a4c8bb111e3da..7c299671369adf 100644 --- a/api_docs/infra.mdx +++ b/api_docs/infra.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/infra title: "infra" image: https://source.unsplash.com/400x175/?github description: API docs for the infra plugin -date: 2023-09-24 +date: 2023-09-25 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 2ca10075bc0c56..4b7e5f2909a926 100644 --- a/api_docs/inspector.mdx +++ b/api_docs/inspector.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/inspector title: "inspector" image: https://source.unsplash.com/400x175/?github description: API docs for the inspector plugin -date: 2023-09-24 +date: 2023-09-25 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 a9b2a8e54b5b5d..78aee627150691 100644 --- a/api_docs/interactive_setup.mdx +++ b/api_docs/interactive_setup.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/interactiveSetup title: "interactiveSetup" image: https://source.unsplash.com/400x175/?github description: API docs for the interactiveSetup plugin -date: 2023-09-24 +date: 2023-09-25 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 904e2423c8713e..79e1fe67e01f83 100644 --- a/api_docs/kbn_ace.mdx +++ b/api_docs/kbn_ace.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ace title: "@kbn/ace" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ace plugin -date: 2023-09-24 +date: 2023-09-25 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 9a3c6a19e36698..a364d32cc3800b 100644 --- a/api_docs/kbn_aiops_components.mdx +++ b/api_docs/kbn_aiops_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-aiops-components title: "@kbn/aiops-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/aiops-components plugin -date: 2023-09-24 +date: 2023-09-25 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 3a914f57928305..a1843c6ed4e251 100644 --- a/api_docs/kbn_aiops_utils.mdx +++ b/api_docs/kbn_aiops_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-aiops-utils title: "@kbn/aiops-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/aiops-utils plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/aiops-utils'] --- import kbnAiopsUtilsObj from './kbn_aiops_utils.devdocs.json'; diff --git a/api_docs/kbn_alerting_api_integration_helpers.mdx b/api_docs/kbn_alerting_api_integration_helpers.mdx index 0580e3693ecadb..a31f9f33a99706 100644 --- a/api_docs/kbn_alerting_api_integration_helpers.mdx +++ b/api_docs/kbn_alerting_api_integration_helpers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-alerting-api-integration-helpers title: "@kbn/alerting-api-integration-helpers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/alerting-api-integration-helpers plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/alerting-api-integration-helpers'] --- import kbnAlertingApiIntegrationHelpersObj from './kbn_alerting_api_integration_helpers.devdocs.json'; diff --git a/api_docs/kbn_alerting_state_types.mdx b/api_docs/kbn_alerting_state_types.mdx index 55d0a6fbf266cd..10de8a7bdf4ac8 100644 --- a/api_docs/kbn_alerting_state_types.mdx +++ b/api_docs/kbn_alerting_state_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-alerting-state-types title: "@kbn/alerting-state-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/alerting-state-types plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/alerting-state-types'] --- import kbnAlertingStateTypesObj from './kbn_alerting_state_types.devdocs.json'; diff --git a/api_docs/kbn_alerts_as_data_utils.mdx b/api_docs/kbn_alerts_as_data_utils.mdx index cdfc1ceb9aba5b..ae626493cf59c2 100644 --- a/api_docs/kbn_alerts_as_data_utils.mdx +++ b/api_docs/kbn_alerts_as_data_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-alerts-as-data-utils title: "@kbn/alerts-as-data-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/alerts-as-data-utils plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/alerts-as-data-utils'] --- import kbnAlertsAsDataUtilsObj from './kbn_alerts_as_data_utils.devdocs.json'; diff --git a/api_docs/kbn_alerts_ui_shared.mdx b/api_docs/kbn_alerts_ui_shared.mdx index 2118630b3bc6cc..91f44207566ab7 100644 --- a/api_docs/kbn_alerts_ui_shared.mdx +++ b/api_docs/kbn_alerts_ui_shared.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-alerts-ui-shared title: "@kbn/alerts-ui-shared" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/alerts-ui-shared plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/alerts-ui-shared'] --- import kbnAlertsUiSharedObj from './kbn_alerts_ui_shared.devdocs.json'; diff --git a/api_docs/kbn_analytics.mdx b/api_docs/kbn_analytics.mdx index f4600466dd0d88..d8a0804885a411 100644 --- a/api_docs/kbn_analytics.mdx +++ b/api_docs/kbn_analytics.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics title: "@kbn/analytics" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics plugin -date: 2023-09-24 +date: 2023-09-25 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 8576dce7ed23c1..c9b4b41ef5450f 100644 --- a/api_docs/kbn_analytics_client.mdx +++ b/api_docs/kbn_analytics_client.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-client title: "@kbn/analytics-client" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics-client plugin -date: 2023-09-24 +date: 2023-09-25 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 09eadd9326896c..b66284ebbb763d 100644 --- a/api_docs/kbn_analytics_shippers_elastic_v3_browser.mdx +++ b/api_docs/kbn_analytics_shippers_elastic_v3_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-shippers-elastic-v3-browser title: "@kbn/analytics-shippers-elastic-v3-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics-shippers-elastic-v3-browser plugin -date: 2023-09-24 +date: 2023-09-25 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 e2810d7d4c8bad..416721c3f0efb8 100644 --- a/api_docs/kbn_analytics_shippers_elastic_v3_common.mdx +++ b/api_docs/kbn_analytics_shippers_elastic_v3_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-shippers-elastic-v3-common title: "@kbn/analytics-shippers-elastic-v3-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics-shippers-elastic-v3-common plugin -date: 2023-09-24 +date: 2023-09-25 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 092ce17fcda61a..2b41be28bb0f09 100644 --- a/api_docs/kbn_analytics_shippers_elastic_v3_server.mdx +++ b/api_docs/kbn_analytics_shippers_elastic_v3_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-shippers-elastic-v3-server title: "@kbn/analytics-shippers-elastic-v3-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics-shippers-elastic-v3-server plugin -date: 2023-09-24 +date: 2023-09-25 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 3180648d943a27..a44f2ab06e9a8f 100644 --- a/api_docs/kbn_analytics_shippers_fullstory.mdx +++ b/api_docs/kbn_analytics_shippers_fullstory.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-shippers-fullstory title: "@kbn/analytics-shippers-fullstory" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics-shippers-fullstory plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics-shippers-fullstory'] --- import kbnAnalyticsShippersFullstoryObj from './kbn_analytics_shippers_fullstory.devdocs.json'; diff --git a/api_docs/kbn_analytics_shippers_gainsight.mdx b/api_docs/kbn_analytics_shippers_gainsight.mdx index 2789ca57dd817e..9a25aeefe7ba67 100644 --- a/api_docs/kbn_analytics_shippers_gainsight.mdx +++ b/api_docs/kbn_analytics_shippers_gainsight.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-shippers-gainsight title: "@kbn/analytics-shippers-gainsight" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics-shippers-gainsight plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics-shippers-gainsight'] --- import kbnAnalyticsShippersGainsightObj from './kbn_analytics_shippers_gainsight.devdocs.json'; diff --git a/api_docs/kbn_apm_config_loader.mdx b/api_docs/kbn_apm_config_loader.mdx index 26454e28b31b45..f751bcef82a7c4 100644 --- a/api_docs/kbn_apm_config_loader.mdx +++ b/api_docs/kbn_apm_config_loader.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-apm-config-loader title: "@kbn/apm-config-loader" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/apm-config-loader plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/apm-config-loader'] --- import kbnApmConfigLoaderObj from './kbn_apm_config_loader.devdocs.json'; diff --git a/api_docs/kbn_apm_synthtrace.mdx b/api_docs/kbn_apm_synthtrace.mdx index 93d90c4218914d..14fdfd72f294e3 100644 --- a/api_docs/kbn_apm_synthtrace.mdx +++ b/api_docs/kbn_apm_synthtrace.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-apm-synthtrace title: "@kbn/apm-synthtrace" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/apm-synthtrace plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/apm-synthtrace'] --- import kbnApmSynthtraceObj from './kbn_apm_synthtrace.devdocs.json'; diff --git a/api_docs/kbn_apm_synthtrace_client.mdx b/api_docs/kbn_apm_synthtrace_client.mdx index e5ab795d4aadd2..c3b594a208989d 100644 --- a/api_docs/kbn_apm_synthtrace_client.mdx +++ b/api_docs/kbn_apm_synthtrace_client.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-apm-synthtrace-client title: "@kbn/apm-synthtrace-client" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/apm-synthtrace-client plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/apm-synthtrace-client'] --- import kbnApmSynthtraceClientObj from './kbn_apm_synthtrace_client.devdocs.json'; diff --git a/api_docs/kbn_apm_utils.mdx b/api_docs/kbn_apm_utils.mdx index f7f11b392443cf..9a5ce9ccd6e8db 100644 --- a/api_docs/kbn_apm_utils.mdx +++ b/api_docs/kbn_apm_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-apm-utils title: "@kbn/apm-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/apm-utils plugin -date: 2023-09-24 +date: 2023-09-25 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 1b0f5f61a70f7d..efec62cb7205c1 100644 --- a/api_docs/kbn_axe_config.mdx +++ b/api_docs/kbn_axe_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-axe-config title: "@kbn/axe-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/axe-config plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/axe-config'] --- import kbnAxeConfigObj from './kbn_axe_config.devdocs.json'; diff --git a/api_docs/kbn_cases_components.mdx b/api_docs/kbn_cases_components.mdx index 2f0cfa1858ea12..50d478a423436b 100644 --- a/api_docs/kbn_cases_components.mdx +++ b/api_docs/kbn_cases_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-cases-components title: "@kbn/cases-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/cases-components plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/cases-components'] --- import kbnCasesComponentsObj from './kbn_cases_components.devdocs.json'; diff --git a/api_docs/kbn_cell_actions.mdx b/api_docs/kbn_cell_actions.mdx index d2777d76bdb07b..fe977a8118a469 100644 --- a/api_docs/kbn_cell_actions.mdx +++ b/api_docs/kbn_cell_actions.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-cell-actions title: "@kbn/cell-actions" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/cell-actions plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/cell-actions'] --- import kbnCellActionsObj from './kbn_cell_actions.devdocs.json'; diff --git a/api_docs/kbn_chart_expressions_common.mdx b/api_docs/kbn_chart_expressions_common.mdx index 5508beab6190c1..fa7bfde0894e44 100644 --- a/api_docs/kbn_chart_expressions_common.mdx +++ b/api_docs/kbn_chart_expressions_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-chart-expressions-common title: "@kbn/chart-expressions-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/chart-expressions-common plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/chart-expressions-common'] --- import kbnChartExpressionsCommonObj from './kbn_chart_expressions_common.devdocs.json'; diff --git a/api_docs/kbn_chart_icons.mdx b/api_docs/kbn_chart_icons.mdx index 9991f89cfcb367..5b42c177beaa4c 100644 --- a/api_docs/kbn_chart_icons.mdx +++ b/api_docs/kbn_chart_icons.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-chart-icons title: "@kbn/chart-icons" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/chart-icons plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/chart-icons'] --- import kbnChartIconsObj from './kbn_chart_icons.devdocs.json'; diff --git a/api_docs/kbn_ci_stats_core.mdx b/api_docs/kbn_ci_stats_core.mdx index ee0b02b68d8dc3..f3849f529fece9 100644 --- a/api_docs/kbn_ci_stats_core.mdx +++ b/api_docs/kbn_ci_stats_core.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ci-stats-core title: "@kbn/ci-stats-core" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ci-stats-core plugin -date: 2023-09-24 +date: 2023-09-25 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 fdae608228f3fd..a0b8042ff4f073 100644 --- a/api_docs/kbn_ci_stats_performance_metrics.mdx +++ b/api_docs/kbn_ci_stats_performance_metrics.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ci-stats-performance-metrics title: "@kbn/ci-stats-performance-metrics" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ci-stats-performance-metrics plugin -date: 2023-09-24 +date: 2023-09-25 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 54fbcb85b42869..0df628917ce8e9 100644 --- a/api_docs/kbn_ci_stats_reporter.mdx +++ b/api_docs/kbn_ci_stats_reporter.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ci-stats-reporter title: "@kbn/ci-stats-reporter" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ci-stats-reporter plugin -date: 2023-09-24 +date: 2023-09-25 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 18466f8286cb86..a070f6f8921b1a 100644 --- a/api_docs/kbn_cli_dev_mode.mdx +++ b/api_docs/kbn_cli_dev_mode.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-cli-dev-mode title: "@kbn/cli-dev-mode" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/cli-dev-mode plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/cli-dev-mode'] --- import kbnCliDevModeObj from './kbn_cli_dev_mode.devdocs.json'; diff --git a/api_docs/kbn_code_editor.mdx b/api_docs/kbn_code_editor.mdx index 20bee7f3f73691..e8e57d5fe77b40 100644 --- a/api_docs/kbn_code_editor.mdx +++ b/api_docs/kbn_code_editor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-code-editor title: "@kbn/code-editor" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/code-editor plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/code-editor'] --- import kbnCodeEditorObj from './kbn_code_editor.devdocs.json'; diff --git a/api_docs/kbn_code_editor_mocks.mdx b/api_docs/kbn_code_editor_mocks.mdx index dd3bdd6d65bec6..1a3923308f23f5 100644 --- a/api_docs/kbn_code_editor_mocks.mdx +++ b/api_docs/kbn_code_editor_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-code-editor-mocks title: "@kbn/code-editor-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/code-editor-mocks plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/code-editor-mocks'] --- import kbnCodeEditorMocksObj from './kbn_code_editor_mocks.devdocs.json'; diff --git a/api_docs/kbn_coloring.mdx b/api_docs/kbn_coloring.mdx index b13e01fd6355cb..2a93b76d2f81d5 100644 --- a/api_docs/kbn_coloring.mdx +++ b/api_docs/kbn_coloring.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-coloring title: "@kbn/coloring" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/coloring plugin -date: 2023-09-24 +date: 2023-09-25 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 8367af75b9aa93..706ddccf20a299 100644 --- a/api_docs/kbn_config.mdx +++ b/api_docs/kbn_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-config title: "@kbn/config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/config plugin -date: 2023-09-24 +date: 2023-09-25 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 45d3087283838f..eaad62dd612a48 100644 --- a/api_docs/kbn_config_mocks.mdx +++ b/api_docs/kbn_config_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-config-mocks title: "@kbn/config-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/config-mocks plugin -date: 2023-09-24 +date: 2023-09-25 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 ad9a215ec945f1..4bee4fb17dc9b7 100644 --- a/api_docs/kbn_config_schema.mdx +++ b/api_docs/kbn_config_schema.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-config-schema title: "@kbn/config-schema" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/config-schema plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/config-schema'] --- import kbnConfigSchemaObj from './kbn_config_schema.devdocs.json'; diff --git a/api_docs/kbn_content_management_content_editor.mdx b/api_docs/kbn_content_management_content_editor.mdx index 0ba6f52709355b..e1c6270141d4a9 100644 --- a/api_docs/kbn_content_management_content_editor.mdx +++ b/api_docs/kbn_content_management_content_editor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-content-editor title: "@kbn/content-management-content-editor" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/content-management-content-editor plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-content-editor'] --- import kbnContentManagementContentEditorObj from './kbn_content_management_content_editor.devdocs.json'; diff --git a/api_docs/kbn_content_management_tabbed_table_list_view.mdx b/api_docs/kbn_content_management_tabbed_table_list_view.mdx index 239df910df25ea..85b3f938ed4665 100644 --- a/api_docs/kbn_content_management_tabbed_table_list_view.mdx +++ b/api_docs/kbn_content_management_tabbed_table_list_view.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-tabbed-table-list-view title: "@kbn/content-management-tabbed-table-list-view" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/content-management-tabbed-table-list-view plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-tabbed-table-list-view'] --- import kbnContentManagementTabbedTableListViewObj from './kbn_content_management_tabbed_table_list_view.devdocs.json'; diff --git a/api_docs/kbn_content_management_table_list_view.mdx b/api_docs/kbn_content_management_table_list_view.mdx index 541a8340b82b0e..8ba6e130f8559c 100644 --- a/api_docs/kbn_content_management_table_list_view.mdx +++ b/api_docs/kbn_content_management_table_list_view.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-table-list-view title: "@kbn/content-management-table-list-view" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/content-management-table-list-view plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-table-list-view'] --- import kbnContentManagementTableListViewObj from './kbn_content_management_table_list_view.devdocs.json'; diff --git a/api_docs/kbn_content_management_table_list_view_table.mdx b/api_docs/kbn_content_management_table_list_view_table.mdx index 1499fa31f0e56d..b132504f9ba9f9 100644 --- a/api_docs/kbn_content_management_table_list_view_table.mdx +++ b/api_docs/kbn_content_management_table_list_view_table.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-table-list-view-table title: "@kbn/content-management-table-list-view-table" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/content-management-table-list-view-table plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-table-list-view-table'] --- import kbnContentManagementTableListViewTableObj from './kbn_content_management_table_list_view_table.devdocs.json'; diff --git a/api_docs/kbn_content_management_utils.mdx b/api_docs/kbn_content_management_utils.mdx index 372c7c37e46e24..4a0865321d666c 100644 --- a/api_docs/kbn_content_management_utils.mdx +++ b/api_docs/kbn_content_management_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-utils title: "@kbn/content-management-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/content-management-utils plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-utils'] --- import kbnContentManagementUtilsObj from './kbn_content_management_utils.devdocs.json'; diff --git a/api_docs/kbn_core_analytics_browser.mdx b/api_docs/kbn_core_analytics_browser.mdx index d0e292246ab437..486d9e6d99eec7 100644 --- a/api_docs/kbn_core_analytics_browser.mdx +++ b/api_docs/kbn_core_analytics_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-browser title: "@kbn/core-analytics-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-browser plugin -date: 2023-09-24 +date: 2023-09-25 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 4af4b55b4abc24..ab8479c1a2a60e 100644 --- a/api_docs/kbn_core_analytics_browser_internal.mdx +++ b/api_docs/kbn_core_analytics_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-browser-internal title: "@kbn/core-analytics-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-browser-internal plugin -date: 2023-09-24 +date: 2023-09-25 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 28787ad93750ca..6274a9e8285ad3 100644 --- a/api_docs/kbn_core_analytics_browser_mocks.mdx +++ b/api_docs/kbn_core_analytics_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-browser-mocks title: "@kbn/core-analytics-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-browser-mocks plugin -date: 2023-09-24 +date: 2023-09-25 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 2f84b9076289ec..9f7d8792e7ccb2 100644 --- a/api_docs/kbn_core_analytics_server.mdx +++ b/api_docs/kbn_core_analytics_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-server title: "@kbn/core-analytics-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-server plugin -date: 2023-09-24 +date: 2023-09-25 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 9ccb3ae0c8309e..032c2e0446aed0 100644 --- a/api_docs/kbn_core_analytics_server_internal.mdx +++ b/api_docs/kbn_core_analytics_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-server-internal title: "@kbn/core-analytics-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-server-internal plugin -date: 2023-09-24 +date: 2023-09-25 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 8c33a5a9387c77..3f62edcfc8116a 100644 --- a/api_docs/kbn_core_analytics_server_mocks.mdx +++ b/api_docs/kbn_core_analytics_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-server-mocks title: "@kbn/core-analytics-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-server-mocks plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-analytics-server-mocks'] --- import kbnCoreAnalyticsServerMocksObj from './kbn_core_analytics_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_application_browser.mdx b/api_docs/kbn_core_application_browser.mdx index 8bd09792c0a241..377133ce35c6ff 100644 --- a/api_docs/kbn_core_application_browser.mdx +++ b/api_docs/kbn_core_application_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-application-browser title: "@kbn/core-application-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-application-browser plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-application-browser'] --- import kbnCoreApplicationBrowserObj from './kbn_core_application_browser.devdocs.json'; diff --git a/api_docs/kbn_core_application_browser_internal.mdx b/api_docs/kbn_core_application_browser_internal.mdx index fde5cb66cb498b..ee7455c60ea493 100644 --- a/api_docs/kbn_core_application_browser_internal.mdx +++ b/api_docs/kbn_core_application_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-application-browser-internal title: "@kbn/core-application-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-application-browser-internal plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-application-browser-internal'] --- import kbnCoreApplicationBrowserInternalObj from './kbn_core_application_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_application_browser_mocks.mdx b/api_docs/kbn_core_application_browser_mocks.mdx index 0962109b853bdf..75d7a269942cdc 100644 --- a/api_docs/kbn_core_application_browser_mocks.mdx +++ b/api_docs/kbn_core_application_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-application-browser-mocks title: "@kbn/core-application-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-application-browser-mocks plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-application-browser-mocks'] --- import kbnCoreApplicationBrowserMocksObj from './kbn_core_application_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_application_common.mdx b/api_docs/kbn_core_application_common.mdx index 2d0524c09a8737..02644f0ea4446e 100644 --- a/api_docs/kbn_core_application_common.mdx +++ b/api_docs/kbn_core_application_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-application-common title: "@kbn/core-application-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-application-common plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-application-common'] --- import kbnCoreApplicationCommonObj from './kbn_core_application_common.devdocs.json'; diff --git a/api_docs/kbn_core_apps_browser_internal.mdx b/api_docs/kbn_core_apps_browser_internal.mdx index c7a4c7a2a86629..98b55347ce49c8 100644 --- a/api_docs/kbn_core_apps_browser_internal.mdx +++ b/api_docs/kbn_core_apps_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-apps-browser-internal title: "@kbn/core-apps-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-apps-browser-internal plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-apps-browser-internal'] --- import kbnCoreAppsBrowserInternalObj from './kbn_core_apps_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_apps_browser_mocks.mdx b/api_docs/kbn_core_apps_browser_mocks.mdx index 4615655d4277a1..ad97bce342d85d 100644 --- a/api_docs/kbn_core_apps_browser_mocks.mdx +++ b/api_docs/kbn_core_apps_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-apps-browser-mocks title: "@kbn/core-apps-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-apps-browser-mocks plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-apps-browser-mocks'] --- import kbnCoreAppsBrowserMocksObj from './kbn_core_apps_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_apps_server_internal.mdx b/api_docs/kbn_core_apps_server_internal.mdx index bcc81a35bf72c0..e31ec24b7ee601 100644 --- a/api_docs/kbn_core_apps_server_internal.mdx +++ b/api_docs/kbn_core_apps_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-apps-server-internal title: "@kbn/core-apps-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-apps-server-internal plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-apps-server-internal'] --- import kbnCoreAppsServerInternalObj from './kbn_core_apps_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_base_browser_mocks.mdx b/api_docs/kbn_core_base_browser_mocks.mdx index 0b34b05a5f29ac..266447aca5bcb4 100644 --- a/api_docs/kbn_core_base_browser_mocks.mdx +++ b/api_docs/kbn_core_base_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-base-browser-mocks title: "@kbn/core-base-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-base-browser-mocks plugin -date: 2023-09-24 +date: 2023-09-25 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 6c30443c5d7534..0de5243285882b 100644 --- a/api_docs/kbn_core_base_common.mdx +++ b/api_docs/kbn_core_base_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-base-common title: "@kbn/core-base-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-base-common plugin -date: 2023-09-24 +date: 2023-09-25 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 fc82a254c75add..d54c8fd1e5010b 100644 --- a/api_docs/kbn_core_base_server_internal.mdx +++ b/api_docs/kbn_core_base_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-base-server-internal title: "@kbn/core-base-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-base-server-internal plugin -date: 2023-09-24 +date: 2023-09-25 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 da1a8507c78faa..294552a92380e1 100644 --- a/api_docs/kbn_core_base_server_mocks.mdx +++ b/api_docs/kbn_core_base_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-base-server-mocks title: "@kbn/core-base-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-base-server-mocks plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-base-server-mocks'] --- import kbnCoreBaseServerMocksObj from './kbn_core_base_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_capabilities_browser_mocks.mdx b/api_docs/kbn_core_capabilities_browser_mocks.mdx index 1ce8ee8ee41743..8b1a9a6db7717b 100644 --- a/api_docs/kbn_core_capabilities_browser_mocks.mdx +++ b/api_docs/kbn_core_capabilities_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-capabilities-browser-mocks title: "@kbn/core-capabilities-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-capabilities-browser-mocks plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-capabilities-browser-mocks'] --- import kbnCoreCapabilitiesBrowserMocksObj from './kbn_core_capabilities_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_capabilities_common.mdx b/api_docs/kbn_core_capabilities_common.mdx index 3c24bd18e05acc..dc35497bcb73ce 100644 --- a/api_docs/kbn_core_capabilities_common.mdx +++ b/api_docs/kbn_core_capabilities_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-capabilities-common title: "@kbn/core-capabilities-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-capabilities-common plugin -date: 2023-09-24 +date: 2023-09-25 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 0d978689131bb8..d76a2e11968288 100644 --- a/api_docs/kbn_core_capabilities_server.mdx +++ b/api_docs/kbn_core_capabilities_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-capabilities-server title: "@kbn/core-capabilities-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-capabilities-server plugin -date: 2023-09-24 +date: 2023-09-25 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 ffb56b1235b030..c962351f981505 100644 --- a/api_docs/kbn_core_capabilities_server_mocks.mdx +++ b/api_docs/kbn_core_capabilities_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-capabilities-server-mocks title: "@kbn/core-capabilities-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-capabilities-server-mocks plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-capabilities-server-mocks'] --- import kbnCoreCapabilitiesServerMocksObj from './kbn_core_capabilities_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_chrome_browser.mdx b/api_docs/kbn_core_chrome_browser.mdx index 5d97de10a78004..b82a56c1c1d1c5 100644 --- a/api_docs/kbn_core_chrome_browser.mdx +++ b/api_docs/kbn_core_chrome_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-chrome-browser title: "@kbn/core-chrome-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-chrome-browser plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-chrome-browser'] --- import kbnCoreChromeBrowserObj from './kbn_core_chrome_browser.devdocs.json'; diff --git a/api_docs/kbn_core_chrome_browser_mocks.mdx b/api_docs/kbn_core_chrome_browser_mocks.mdx index 321decd7d35671..df98400bcd696c 100644 --- a/api_docs/kbn_core_chrome_browser_mocks.mdx +++ b/api_docs/kbn_core_chrome_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-chrome-browser-mocks title: "@kbn/core-chrome-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-chrome-browser-mocks plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-chrome-browser-mocks'] --- import kbnCoreChromeBrowserMocksObj from './kbn_core_chrome_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_config_server_internal.mdx b/api_docs/kbn_core_config_server_internal.mdx index 3ab50f60ce0428..e64865579bf948 100644 --- a/api_docs/kbn_core_config_server_internal.mdx +++ b/api_docs/kbn_core_config_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-config-server-internal title: "@kbn/core-config-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-config-server-internal plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-config-server-internal'] --- import kbnCoreConfigServerInternalObj from './kbn_core_config_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_custom_branding_browser.mdx b/api_docs/kbn_core_custom_branding_browser.mdx index 032338e03c9da1..9c21384cbfa5f9 100644 --- a/api_docs/kbn_core_custom_branding_browser.mdx +++ b/api_docs/kbn_core_custom_branding_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-browser title: "@kbn/core-custom-branding-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-browser plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-custom-branding-browser'] --- import kbnCoreCustomBrandingBrowserObj from './kbn_core_custom_branding_browser.devdocs.json'; diff --git a/api_docs/kbn_core_custom_branding_browser_internal.mdx b/api_docs/kbn_core_custom_branding_browser_internal.mdx index a6d9f04ab48caa..a56d1bb448b983 100644 --- a/api_docs/kbn_core_custom_branding_browser_internal.mdx +++ b/api_docs/kbn_core_custom_branding_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-browser-internal title: "@kbn/core-custom-branding-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-browser-internal plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-custom-branding-browser-internal'] --- import kbnCoreCustomBrandingBrowserInternalObj from './kbn_core_custom_branding_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_custom_branding_browser_mocks.mdx b/api_docs/kbn_core_custom_branding_browser_mocks.mdx index aa7d4fe6218819..ade289f45cd62f 100644 --- a/api_docs/kbn_core_custom_branding_browser_mocks.mdx +++ b/api_docs/kbn_core_custom_branding_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-browser-mocks title: "@kbn/core-custom-branding-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-browser-mocks plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-custom-branding-browser-mocks'] --- import kbnCoreCustomBrandingBrowserMocksObj from './kbn_core_custom_branding_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_custom_branding_common.mdx b/api_docs/kbn_core_custom_branding_common.mdx index 01e9b0d58df8be..a4efab50b7a76c 100644 --- a/api_docs/kbn_core_custom_branding_common.mdx +++ b/api_docs/kbn_core_custom_branding_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-common title: "@kbn/core-custom-branding-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-common plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-custom-branding-common'] --- import kbnCoreCustomBrandingCommonObj from './kbn_core_custom_branding_common.devdocs.json'; diff --git a/api_docs/kbn_core_custom_branding_server.mdx b/api_docs/kbn_core_custom_branding_server.mdx index 182151fb989ed6..6e052f7ad9df1b 100644 --- a/api_docs/kbn_core_custom_branding_server.mdx +++ b/api_docs/kbn_core_custom_branding_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-server title: "@kbn/core-custom-branding-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-server plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-custom-branding-server'] --- import kbnCoreCustomBrandingServerObj from './kbn_core_custom_branding_server.devdocs.json'; diff --git a/api_docs/kbn_core_custom_branding_server_internal.mdx b/api_docs/kbn_core_custom_branding_server_internal.mdx index 235d14523094f7..7db1e51e243765 100644 --- a/api_docs/kbn_core_custom_branding_server_internal.mdx +++ b/api_docs/kbn_core_custom_branding_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-server-internal title: "@kbn/core-custom-branding-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-server-internal plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-custom-branding-server-internal'] --- import kbnCoreCustomBrandingServerInternalObj from './kbn_core_custom_branding_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_custom_branding_server_mocks.mdx b/api_docs/kbn_core_custom_branding_server_mocks.mdx index c003ad48d35b9c..6941ae8a18d2db 100644 --- a/api_docs/kbn_core_custom_branding_server_mocks.mdx +++ b/api_docs/kbn_core_custom_branding_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-server-mocks title: "@kbn/core-custom-branding-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-server-mocks plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-custom-branding-server-mocks'] --- import kbnCoreCustomBrandingServerMocksObj from './kbn_core_custom_branding_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_deprecations_browser.mdx b/api_docs/kbn_core_deprecations_browser.mdx index 5ce6c5079755cc..ad46ffe5d8ca97 100644 --- a/api_docs/kbn_core_deprecations_browser.mdx +++ b/api_docs/kbn_core_deprecations_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-browser title: "@kbn/core-deprecations-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-browser plugin -date: 2023-09-24 +date: 2023-09-25 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 5da95c3a4a9bbc..fda5530322e166 100644 --- a/api_docs/kbn_core_deprecations_browser_internal.mdx +++ b/api_docs/kbn_core_deprecations_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-browser-internal title: "@kbn/core-deprecations-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-browser-internal plugin -date: 2023-09-24 +date: 2023-09-25 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 6bdb7a72cfb0d9..7c32329e582ce3 100644 --- a/api_docs/kbn_core_deprecations_browser_mocks.mdx +++ b/api_docs/kbn_core_deprecations_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-browser-mocks title: "@kbn/core-deprecations-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-browser-mocks plugin -date: 2023-09-24 +date: 2023-09-25 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 5f3d3370fd6bfe..1e5a19b76e7eab 100644 --- a/api_docs/kbn_core_deprecations_common.mdx +++ b/api_docs/kbn_core_deprecations_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-common title: "@kbn/core-deprecations-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-common plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-deprecations-common'] --- import kbnCoreDeprecationsCommonObj from './kbn_core_deprecations_common.devdocs.json'; diff --git a/api_docs/kbn_core_deprecations_server.mdx b/api_docs/kbn_core_deprecations_server.mdx index 7cd9f3ecd75a1a..b6af67c9a3b407 100644 --- a/api_docs/kbn_core_deprecations_server.mdx +++ b/api_docs/kbn_core_deprecations_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-server title: "@kbn/core-deprecations-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-server plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-deprecations-server'] --- import kbnCoreDeprecationsServerObj from './kbn_core_deprecations_server.devdocs.json'; diff --git a/api_docs/kbn_core_deprecations_server_internal.mdx b/api_docs/kbn_core_deprecations_server_internal.mdx index 0880e43dff4610..49af6cacfa3409 100644 --- a/api_docs/kbn_core_deprecations_server_internal.mdx +++ b/api_docs/kbn_core_deprecations_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-server-internal title: "@kbn/core-deprecations-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-server-internal plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-deprecations-server-internal'] --- import kbnCoreDeprecationsServerInternalObj from './kbn_core_deprecations_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_deprecations_server_mocks.mdx b/api_docs/kbn_core_deprecations_server_mocks.mdx index 5c244de1b507dd..57071cac0ad337 100644 --- a/api_docs/kbn_core_deprecations_server_mocks.mdx +++ b/api_docs/kbn_core_deprecations_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-server-mocks title: "@kbn/core-deprecations-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-server-mocks plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-deprecations-server-mocks'] --- import kbnCoreDeprecationsServerMocksObj from './kbn_core_deprecations_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_doc_links_browser.mdx b/api_docs/kbn_core_doc_links_browser.mdx index 35cf675733f260..686a273e1f787f 100644 --- a/api_docs/kbn_core_doc_links_browser.mdx +++ b/api_docs/kbn_core_doc_links_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-doc-links-browser title: "@kbn/core-doc-links-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-doc-links-browser plugin -date: 2023-09-24 +date: 2023-09-25 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 a6603bf7c25d15..a304f961f707a1 100644 --- a/api_docs/kbn_core_doc_links_browser_mocks.mdx +++ b/api_docs/kbn_core_doc_links_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-doc-links-browser-mocks title: "@kbn/core-doc-links-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-doc-links-browser-mocks plugin -date: 2023-09-24 +date: 2023-09-25 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 4dc3e3ae5f12df..2c33c538d6e8e6 100644 --- a/api_docs/kbn_core_doc_links_server.mdx +++ b/api_docs/kbn_core_doc_links_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-doc-links-server title: "@kbn/core-doc-links-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-doc-links-server plugin -date: 2023-09-24 +date: 2023-09-25 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 93c665a51bbf6b..6acf6c5b575d33 100644 --- a/api_docs/kbn_core_doc_links_server_mocks.mdx +++ b/api_docs/kbn_core_doc_links_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-doc-links-server-mocks title: "@kbn/core-doc-links-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-doc-links-server-mocks plugin -date: 2023-09-24 +date: 2023-09-25 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 1503d9255e005b..f9144e0549052c 100644 --- a/api_docs/kbn_core_elasticsearch_client_server_internal.mdx +++ b/api_docs/kbn_core_elasticsearch_client_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-elasticsearch-client-server-internal title: "@kbn/core-elasticsearch-client-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-elasticsearch-client-server-internal plugin -date: 2023-09-24 +date: 2023-09-25 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 ad9a3244a7232c..37fc49d00721dc 100644 --- a/api_docs/kbn_core_elasticsearch_client_server_mocks.mdx +++ b/api_docs/kbn_core_elasticsearch_client_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-elasticsearch-client-server-mocks title: "@kbn/core-elasticsearch-client-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-elasticsearch-client-server-mocks plugin -date: 2023-09-24 +date: 2023-09-25 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 d72955f8f94c1a..d090edfd003617 100644 --- a/api_docs/kbn_core_elasticsearch_server.mdx +++ b/api_docs/kbn_core_elasticsearch_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-elasticsearch-server title: "@kbn/core-elasticsearch-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-elasticsearch-server plugin -date: 2023-09-24 +date: 2023-09-25 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 745b388416f9db..71272c7cef5886 100644 --- a/api_docs/kbn_core_elasticsearch_server_internal.mdx +++ b/api_docs/kbn_core_elasticsearch_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-elasticsearch-server-internal title: "@kbn/core-elasticsearch-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-elasticsearch-server-internal plugin -date: 2023-09-24 +date: 2023-09-25 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 321e66034ed089..98905a17bb508a 100644 --- a/api_docs/kbn_core_elasticsearch_server_mocks.mdx +++ b/api_docs/kbn_core_elasticsearch_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-elasticsearch-server-mocks title: "@kbn/core-elasticsearch-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-elasticsearch-server-mocks plugin -date: 2023-09-24 +date: 2023-09-25 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 229eaaa522b888..f57fab3b889357 100644 --- a/api_docs/kbn_core_environment_server_internal.mdx +++ b/api_docs/kbn_core_environment_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-environment-server-internal title: "@kbn/core-environment-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-environment-server-internal plugin -date: 2023-09-24 +date: 2023-09-25 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 a767d00d0be594..2a99bab6c37e09 100644 --- a/api_docs/kbn_core_environment_server_mocks.mdx +++ b/api_docs/kbn_core_environment_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-environment-server-mocks title: "@kbn/core-environment-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-environment-server-mocks plugin -date: 2023-09-24 +date: 2023-09-25 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 61f4436aa6c184..ca01eb8645aa8d 100644 --- a/api_docs/kbn_core_execution_context_browser.mdx +++ b/api_docs/kbn_core_execution_context_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-browser title: "@kbn/core-execution-context-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-browser plugin -date: 2023-09-24 +date: 2023-09-25 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 d56259f5e244bb..6257f0c5de5603 100644 --- a/api_docs/kbn_core_execution_context_browser_internal.mdx +++ b/api_docs/kbn_core_execution_context_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-browser-internal title: "@kbn/core-execution-context-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-browser-internal plugin -date: 2023-09-24 +date: 2023-09-25 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 960138ea417194..acf845139f07a8 100644 --- a/api_docs/kbn_core_execution_context_browser_mocks.mdx +++ b/api_docs/kbn_core_execution_context_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-browser-mocks title: "@kbn/core-execution-context-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-browser-mocks plugin -date: 2023-09-24 +date: 2023-09-25 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 97c1cb450b3421..7fc0a0c12bd378 100644 --- a/api_docs/kbn_core_execution_context_common.mdx +++ b/api_docs/kbn_core_execution_context_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-common title: "@kbn/core-execution-context-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-common plugin -date: 2023-09-24 +date: 2023-09-25 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 62315172ca4bfe..432db02afad4c5 100644 --- a/api_docs/kbn_core_execution_context_server.mdx +++ b/api_docs/kbn_core_execution_context_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-server title: "@kbn/core-execution-context-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-server plugin -date: 2023-09-24 +date: 2023-09-25 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 20a65ea4c4e814..3f8f1196feac53 100644 --- a/api_docs/kbn_core_execution_context_server_internal.mdx +++ b/api_docs/kbn_core_execution_context_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-server-internal title: "@kbn/core-execution-context-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-server-internal plugin -date: 2023-09-24 +date: 2023-09-25 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 5c2f91d1e5d75d..248c8e9e241bda 100644 --- a/api_docs/kbn_core_execution_context_server_mocks.mdx +++ b/api_docs/kbn_core_execution_context_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-server-mocks title: "@kbn/core-execution-context-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-server-mocks plugin -date: 2023-09-24 +date: 2023-09-25 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 8fcdcf61b8e8cb..9d42d519931e02 100644 --- a/api_docs/kbn_core_fatal_errors_browser.mdx +++ b/api_docs/kbn_core_fatal_errors_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-fatal-errors-browser title: "@kbn/core-fatal-errors-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-fatal-errors-browser plugin -date: 2023-09-24 +date: 2023-09-25 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 d03a7b2230e7ce..fb856e2fed1942 100644 --- a/api_docs/kbn_core_fatal_errors_browser_mocks.mdx +++ b/api_docs/kbn_core_fatal_errors_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-fatal-errors-browser-mocks title: "@kbn/core-fatal-errors-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-fatal-errors-browser-mocks plugin -date: 2023-09-24 +date: 2023-09-25 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 0e5a0b6e8a8a7d..4238bb71c56991 100644 --- a/api_docs/kbn_core_http_browser.mdx +++ b/api_docs/kbn_core_http_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-browser title: "@kbn/core-http-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-browser plugin -date: 2023-09-24 +date: 2023-09-25 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 8426090b8c6411..3cf77226174c9b 100644 --- a/api_docs/kbn_core_http_browser_internal.mdx +++ b/api_docs/kbn_core_http_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-browser-internal title: "@kbn/core-http-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-browser-internal plugin -date: 2023-09-24 +date: 2023-09-25 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 d8223fdffaee90..5be59f3492e0ad 100644 --- a/api_docs/kbn_core_http_browser_mocks.mdx +++ b/api_docs/kbn_core_http_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-browser-mocks title: "@kbn/core-http-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-browser-mocks plugin -date: 2023-09-24 +date: 2023-09-25 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 b8095c7ed47802..d38193be3ad918 100644 --- a/api_docs/kbn_core_http_common.mdx +++ b/api_docs/kbn_core_http_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-common title: "@kbn/core-http-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-common plugin -date: 2023-09-24 +date: 2023-09-25 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 e15477f448f278..f141e8844bc459 100644 --- a/api_docs/kbn_core_http_context_server_mocks.mdx +++ b/api_docs/kbn_core_http_context_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-context-server-mocks title: "@kbn/core-http-context-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-context-server-mocks plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-context-server-mocks'] --- import kbnCoreHttpContextServerMocksObj from './kbn_core_http_context_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_http_request_handler_context_server.mdx b/api_docs/kbn_core_http_request_handler_context_server.mdx index e31f7e11d4aabc..5cc5834d042e9a 100644 --- a/api_docs/kbn_core_http_request_handler_context_server.mdx +++ b/api_docs/kbn_core_http_request_handler_context_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-request-handler-context-server title: "@kbn/core-http-request-handler-context-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-request-handler-context-server plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-request-handler-context-server'] --- import kbnCoreHttpRequestHandlerContextServerObj from './kbn_core_http_request_handler_context_server.devdocs.json'; diff --git a/api_docs/kbn_core_http_resources_server.mdx b/api_docs/kbn_core_http_resources_server.mdx index 31f595a60782ac..5361d335a0d481 100644 --- a/api_docs/kbn_core_http_resources_server.mdx +++ b/api_docs/kbn_core_http_resources_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-resources-server title: "@kbn/core-http-resources-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-resources-server plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-resources-server'] --- import kbnCoreHttpResourcesServerObj from './kbn_core_http_resources_server.devdocs.json'; diff --git a/api_docs/kbn_core_http_resources_server_internal.mdx b/api_docs/kbn_core_http_resources_server_internal.mdx index 0d23c26be36da8..922ec51d160faf 100644 --- a/api_docs/kbn_core_http_resources_server_internal.mdx +++ b/api_docs/kbn_core_http_resources_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-resources-server-internal title: "@kbn/core-http-resources-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-resources-server-internal plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-resources-server-internal'] --- import kbnCoreHttpResourcesServerInternalObj from './kbn_core_http_resources_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_http_resources_server_mocks.mdx b/api_docs/kbn_core_http_resources_server_mocks.mdx index 9197e1b8efff1e..6f2f000aebaf34 100644 --- a/api_docs/kbn_core_http_resources_server_mocks.mdx +++ b/api_docs/kbn_core_http_resources_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-resources-server-mocks title: "@kbn/core-http-resources-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-resources-server-mocks plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-resources-server-mocks'] --- import kbnCoreHttpResourcesServerMocksObj from './kbn_core_http_resources_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_http_router_server_internal.mdx b/api_docs/kbn_core_http_router_server_internal.mdx index f1159681a33d28..7ca20544ec70a3 100644 --- a/api_docs/kbn_core_http_router_server_internal.mdx +++ b/api_docs/kbn_core_http_router_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-router-server-internal title: "@kbn/core-http-router-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-router-server-internal plugin -date: 2023-09-24 +date: 2023-09-25 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 1086954fd05831..6075f982b6c3b7 100644 --- a/api_docs/kbn_core_http_router_server_mocks.mdx +++ b/api_docs/kbn_core_http_router_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-router-server-mocks title: "@kbn/core-http-router-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-router-server-mocks plugin -date: 2023-09-24 +date: 2023-09-25 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 ad5bb942cf9338..970253280553e5 100644 --- a/api_docs/kbn_core_http_server.mdx +++ b/api_docs/kbn_core_http_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-server title: "@kbn/core-http-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-server plugin -date: 2023-09-24 +date: 2023-09-25 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 360a79fd97b79c..d30311b04fce56 100644 --- a/api_docs/kbn_core_http_server_internal.mdx +++ b/api_docs/kbn_core_http_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-server-internal title: "@kbn/core-http-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-server-internal plugin -date: 2023-09-24 +date: 2023-09-25 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 a69a981fccf63b..168d2225d9d739 100644 --- a/api_docs/kbn_core_http_server_mocks.mdx +++ b/api_docs/kbn_core_http_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-server-mocks title: "@kbn/core-http-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-server-mocks plugin -date: 2023-09-24 +date: 2023-09-25 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 a3d260e436ef54..17fe4418b46697 100644 --- a/api_docs/kbn_core_i18n_browser.mdx +++ b/api_docs/kbn_core_i18n_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-i18n-browser title: "@kbn/core-i18n-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-i18n-browser plugin -date: 2023-09-24 +date: 2023-09-25 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 5cc8466c465264..a256d9364bfd19 100644 --- a/api_docs/kbn_core_i18n_browser_mocks.mdx +++ b/api_docs/kbn_core_i18n_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-i18n-browser-mocks title: "@kbn/core-i18n-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-i18n-browser-mocks plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-i18n-browser-mocks'] --- import kbnCoreI18nBrowserMocksObj from './kbn_core_i18n_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_i18n_server.mdx b/api_docs/kbn_core_i18n_server.mdx index 8cb466664417ca..24a2af7d26e828 100644 --- a/api_docs/kbn_core_i18n_server.mdx +++ b/api_docs/kbn_core_i18n_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-i18n-server title: "@kbn/core-i18n-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-i18n-server plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-i18n-server'] --- import kbnCoreI18nServerObj from './kbn_core_i18n_server.devdocs.json'; diff --git a/api_docs/kbn_core_i18n_server_internal.mdx b/api_docs/kbn_core_i18n_server_internal.mdx index b1875e21b465df..f006a6af787586 100644 --- a/api_docs/kbn_core_i18n_server_internal.mdx +++ b/api_docs/kbn_core_i18n_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-i18n-server-internal title: "@kbn/core-i18n-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-i18n-server-internal plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-i18n-server-internal'] --- import kbnCoreI18nServerInternalObj from './kbn_core_i18n_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_i18n_server_mocks.mdx b/api_docs/kbn_core_i18n_server_mocks.mdx index b921925e35d0c6..c392208b437e83 100644 --- a/api_docs/kbn_core_i18n_server_mocks.mdx +++ b/api_docs/kbn_core_i18n_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-i18n-server-mocks title: "@kbn/core-i18n-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-i18n-server-mocks plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-i18n-server-mocks'] --- import kbnCoreI18nServerMocksObj from './kbn_core_i18n_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_injected_metadata_browser_mocks.mdx b/api_docs/kbn_core_injected_metadata_browser_mocks.mdx index 82cea0f5d6067f..e4390d3797787f 100644 --- a/api_docs/kbn_core_injected_metadata_browser_mocks.mdx +++ b/api_docs/kbn_core_injected_metadata_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-injected-metadata-browser-mocks title: "@kbn/core-injected-metadata-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-injected-metadata-browser-mocks plugin -date: 2023-09-24 +date: 2023-09-25 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 75218d78579acf..317e84fb8c929f 100644 --- a/api_docs/kbn_core_integrations_browser_internal.mdx +++ b/api_docs/kbn_core_integrations_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-integrations-browser-internal title: "@kbn/core-integrations-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-integrations-browser-internal plugin -date: 2023-09-24 +date: 2023-09-25 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 2d71cb1c9d6e8d..eade3cf39f0044 100644 --- a/api_docs/kbn_core_integrations_browser_mocks.mdx +++ b/api_docs/kbn_core_integrations_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-integrations-browser-mocks title: "@kbn/core-integrations-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-integrations-browser-mocks plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-integrations-browser-mocks'] --- import kbnCoreIntegrationsBrowserMocksObj from './kbn_core_integrations_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_lifecycle_browser.mdx b/api_docs/kbn_core_lifecycle_browser.mdx index b67d8ea89d8b93..f07790eff70831 100644 --- a/api_docs/kbn_core_lifecycle_browser.mdx +++ b/api_docs/kbn_core_lifecycle_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-lifecycle-browser title: "@kbn/core-lifecycle-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-lifecycle-browser plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-lifecycle-browser'] --- import kbnCoreLifecycleBrowserObj from './kbn_core_lifecycle_browser.devdocs.json'; diff --git a/api_docs/kbn_core_lifecycle_browser_mocks.mdx b/api_docs/kbn_core_lifecycle_browser_mocks.mdx index ba73f8ed648a7a..737749f292e5cd 100644 --- a/api_docs/kbn_core_lifecycle_browser_mocks.mdx +++ b/api_docs/kbn_core_lifecycle_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-lifecycle-browser-mocks title: "@kbn/core-lifecycle-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-lifecycle-browser-mocks plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-lifecycle-browser-mocks'] --- import kbnCoreLifecycleBrowserMocksObj from './kbn_core_lifecycle_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_lifecycle_server.mdx b/api_docs/kbn_core_lifecycle_server.mdx index ce193861e24c0b..713685bcd14829 100644 --- a/api_docs/kbn_core_lifecycle_server.mdx +++ b/api_docs/kbn_core_lifecycle_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-lifecycle-server title: "@kbn/core-lifecycle-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-lifecycle-server plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-lifecycle-server'] --- import kbnCoreLifecycleServerObj from './kbn_core_lifecycle_server.devdocs.json'; diff --git a/api_docs/kbn_core_lifecycle_server_mocks.mdx b/api_docs/kbn_core_lifecycle_server_mocks.mdx index a9dd0b9c836dbc..245e26d3806c91 100644 --- a/api_docs/kbn_core_lifecycle_server_mocks.mdx +++ b/api_docs/kbn_core_lifecycle_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-lifecycle-server-mocks title: "@kbn/core-lifecycle-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-lifecycle-server-mocks plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-lifecycle-server-mocks'] --- import kbnCoreLifecycleServerMocksObj from './kbn_core_lifecycle_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_logging_browser_mocks.mdx b/api_docs/kbn_core_logging_browser_mocks.mdx index 617985c6a9d7f6..bc624a5d19ab4c 100644 --- a/api_docs/kbn_core_logging_browser_mocks.mdx +++ b/api_docs/kbn_core_logging_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-logging-browser-mocks title: "@kbn/core-logging-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-logging-browser-mocks plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-logging-browser-mocks'] --- import kbnCoreLoggingBrowserMocksObj from './kbn_core_logging_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_logging_common_internal.mdx b/api_docs/kbn_core_logging_common_internal.mdx index 407f6afaf9d158..768901164de5da 100644 --- a/api_docs/kbn_core_logging_common_internal.mdx +++ b/api_docs/kbn_core_logging_common_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-logging-common-internal title: "@kbn/core-logging-common-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-logging-common-internal plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-logging-common-internal'] --- import kbnCoreLoggingCommonInternalObj from './kbn_core_logging_common_internal.devdocs.json'; diff --git a/api_docs/kbn_core_logging_server.mdx b/api_docs/kbn_core_logging_server.mdx index 50b1d9f6d102ee..8f22ed3890ae07 100644 --- a/api_docs/kbn_core_logging_server.mdx +++ b/api_docs/kbn_core_logging_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-logging-server title: "@kbn/core-logging-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-logging-server plugin -date: 2023-09-24 +date: 2023-09-25 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 7f18846be1b151..19b7dacd488ca7 100644 --- a/api_docs/kbn_core_logging_server_internal.mdx +++ b/api_docs/kbn_core_logging_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-logging-server-internal title: "@kbn/core-logging-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-logging-server-internal plugin -date: 2023-09-24 +date: 2023-09-25 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 5d763835f750be..636caf98f68a06 100644 --- a/api_docs/kbn_core_logging_server_mocks.mdx +++ b/api_docs/kbn_core_logging_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-logging-server-mocks title: "@kbn/core-logging-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-logging-server-mocks plugin -date: 2023-09-24 +date: 2023-09-25 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 1b9c54d2a790c4..977b6d8a719d2c 100644 --- a/api_docs/kbn_core_metrics_collectors_server_internal.mdx +++ b/api_docs/kbn_core_metrics_collectors_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-metrics-collectors-server-internal title: "@kbn/core-metrics-collectors-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-metrics-collectors-server-internal plugin -date: 2023-09-24 +date: 2023-09-25 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 750ce11f1f152a..deb572120287bf 100644 --- a/api_docs/kbn_core_metrics_collectors_server_mocks.mdx +++ b/api_docs/kbn_core_metrics_collectors_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-metrics-collectors-server-mocks title: "@kbn/core-metrics-collectors-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-metrics-collectors-server-mocks plugin -date: 2023-09-24 +date: 2023-09-25 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 ad895c771a43a8..d88ff2994d5743 100644 --- a/api_docs/kbn_core_metrics_server.mdx +++ b/api_docs/kbn_core_metrics_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-metrics-server title: "@kbn/core-metrics-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-metrics-server plugin -date: 2023-09-24 +date: 2023-09-25 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 59073ed95eb151..e528c599dc84fc 100644 --- a/api_docs/kbn_core_metrics_server_internal.mdx +++ b/api_docs/kbn_core_metrics_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-metrics-server-internal title: "@kbn/core-metrics-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-metrics-server-internal plugin -date: 2023-09-24 +date: 2023-09-25 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 ad078986f7ce79..25beb062d5c043 100644 --- a/api_docs/kbn_core_metrics_server_mocks.mdx +++ b/api_docs/kbn_core_metrics_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-metrics-server-mocks title: "@kbn/core-metrics-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-metrics-server-mocks plugin -date: 2023-09-24 +date: 2023-09-25 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 20ab1f3674a11d..84fbdd2cfcb6e8 100644 --- a/api_docs/kbn_core_mount_utils_browser.mdx +++ b/api_docs/kbn_core_mount_utils_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-mount-utils-browser title: "@kbn/core-mount-utils-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-mount-utils-browser plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-mount-utils-browser'] --- import kbnCoreMountUtilsBrowserObj from './kbn_core_mount_utils_browser.devdocs.json'; diff --git a/api_docs/kbn_core_node_server.mdx b/api_docs/kbn_core_node_server.mdx index ea6a100a675067..a35be2195ebd1e 100644 --- a/api_docs/kbn_core_node_server.mdx +++ b/api_docs/kbn_core_node_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-node-server title: "@kbn/core-node-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-node-server plugin -date: 2023-09-24 +date: 2023-09-25 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 8edb2a6f5b3015..e62f569fb97789 100644 --- a/api_docs/kbn_core_node_server_internal.mdx +++ b/api_docs/kbn_core_node_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-node-server-internal title: "@kbn/core-node-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-node-server-internal plugin -date: 2023-09-24 +date: 2023-09-25 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 18efc45a4caf47..bb499ed6d6aeef 100644 --- a/api_docs/kbn_core_node_server_mocks.mdx +++ b/api_docs/kbn_core_node_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-node-server-mocks title: "@kbn/core-node-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-node-server-mocks plugin -date: 2023-09-24 +date: 2023-09-25 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 9c8c19fdebd4cd..7183fe2e7661ed 100644 --- a/api_docs/kbn_core_notifications_browser.mdx +++ b/api_docs/kbn_core_notifications_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-notifications-browser title: "@kbn/core-notifications-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-notifications-browser plugin -date: 2023-09-24 +date: 2023-09-25 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 1927fdb29e165c..ded66b5298d2e8 100644 --- a/api_docs/kbn_core_notifications_browser_internal.mdx +++ b/api_docs/kbn_core_notifications_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-notifications-browser-internal title: "@kbn/core-notifications-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-notifications-browser-internal plugin -date: 2023-09-24 +date: 2023-09-25 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 22c211654a3297..dacafd5c07ea9b 100644 --- a/api_docs/kbn_core_notifications_browser_mocks.mdx +++ b/api_docs/kbn_core_notifications_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-notifications-browser-mocks title: "@kbn/core-notifications-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-notifications-browser-mocks plugin -date: 2023-09-24 +date: 2023-09-25 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 b214ac65b6e024..44df6622c0612a 100644 --- a/api_docs/kbn_core_overlays_browser.mdx +++ b/api_docs/kbn_core_overlays_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-overlays-browser title: "@kbn/core-overlays-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-overlays-browser plugin -date: 2023-09-24 +date: 2023-09-25 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 08ed6897e830be..45c728dd2212e3 100644 --- a/api_docs/kbn_core_overlays_browser_internal.mdx +++ b/api_docs/kbn_core_overlays_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-overlays-browser-internal title: "@kbn/core-overlays-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-overlays-browser-internal plugin -date: 2023-09-24 +date: 2023-09-25 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 ba9d3150067e5b..45a51da94d1430 100644 --- a/api_docs/kbn_core_overlays_browser_mocks.mdx +++ b/api_docs/kbn_core_overlays_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-overlays-browser-mocks title: "@kbn/core-overlays-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-overlays-browser-mocks plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-overlays-browser-mocks'] --- import kbnCoreOverlaysBrowserMocksObj from './kbn_core_overlays_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_plugins_browser.mdx b/api_docs/kbn_core_plugins_browser.mdx index 9baa752daf11b2..656221274a1633 100644 --- a/api_docs/kbn_core_plugins_browser.mdx +++ b/api_docs/kbn_core_plugins_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-plugins-browser title: "@kbn/core-plugins-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-plugins-browser plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-plugins-browser'] --- import kbnCorePluginsBrowserObj from './kbn_core_plugins_browser.devdocs.json'; diff --git a/api_docs/kbn_core_plugins_browser_mocks.mdx b/api_docs/kbn_core_plugins_browser_mocks.mdx index 67e18623b1d007..266a89924e2d28 100644 --- a/api_docs/kbn_core_plugins_browser_mocks.mdx +++ b/api_docs/kbn_core_plugins_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-plugins-browser-mocks title: "@kbn/core-plugins-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-plugins-browser-mocks plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-plugins-browser-mocks'] --- import kbnCorePluginsBrowserMocksObj from './kbn_core_plugins_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_plugins_server.mdx b/api_docs/kbn_core_plugins_server.mdx index 3d6b1ddecce05f..300ef65282260c 100644 --- a/api_docs/kbn_core_plugins_server.mdx +++ b/api_docs/kbn_core_plugins_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-plugins-server title: "@kbn/core-plugins-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-plugins-server plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-plugins-server'] --- import kbnCorePluginsServerObj from './kbn_core_plugins_server.devdocs.json'; diff --git a/api_docs/kbn_core_plugins_server_mocks.mdx b/api_docs/kbn_core_plugins_server_mocks.mdx index c487ed14ffe62c..6ea7fb7d28df2c 100644 --- a/api_docs/kbn_core_plugins_server_mocks.mdx +++ b/api_docs/kbn_core_plugins_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-plugins-server-mocks title: "@kbn/core-plugins-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-plugins-server-mocks plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-plugins-server-mocks'] --- import kbnCorePluginsServerMocksObj from './kbn_core_plugins_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_preboot_server.mdx b/api_docs/kbn_core_preboot_server.mdx index 485b2ccf228116..dddd9131ec4a9b 100644 --- a/api_docs/kbn_core_preboot_server.mdx +++ b/api_docs/kbn_core_preboot_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-preboot-server title: "@kbn/core-preboot-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-preboot-server plugin -date: 2023-09-24 +date: 2023-09-25 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 095d797573ecb3..6ef6c334f6c9f8 100644 --- a/api_docs/kbn_core_preboot_server_mocks.mdx +++ b/api_docs/kbn_core_preboot_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-preboot-server-mocks title: "@kbn/core-preboot-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-preboot-server-mocks plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-preboot-server-mocks'] --- import kbnCorePrebootServerMocksObj from './kbn_core_preboot_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_rendering_browser_mocks.mdx b/api_docs/kbn_core_rendering_browser_mocks.mdx index 4966c4aec52325..b4ebbd40acce08 100644 --- a/api_docs/kbn_core_rendering_browser_mocks.mdx +++ b/api_docs/kbn_core_rendering_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-rendering-browser-mocks title: "@kbn/core-rendering-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-rendering-browser-mocks plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-rendering-browser-mocks'] --- import kbnCoreRenderingBrowserMocksObj from './kbn_core_rendering_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_rendering_server_internal.mdx b/api_docs/kbn_core_rendering_server_internal.mdx index 2b323d7bbda508..8be246dd7c86aa 100644 --- a/api_docs/kbn_core_rendering_server_internal.mdx +++ b/api_docs/kbn_core_rendering_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-rendering-server-internal title: "@kbn/core-rendering-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-rendering-server-internal plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-rendering-server-internal'] --- import kbnCoreRenderingServerInternalObj from './kbn_core_rendering_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_rendering_server_mocks.mdx b/api_docs/kbn_core_rendering_server_mocks.mdx index a48e5901034f86..9c8aa998848038 100644 --- a/api_docs/kbn_core_rendering_server_mocks.mdx +++ b/api_docs/kbn_core_rendering_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-rendering-server-mocks title: "@kbn/core-rendering-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-rendering-server-mocks plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-rendering-server-mocks'] --- import kbnCoreRenderingServerMocksObj from './kbn_core_rendering_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_root_server_internal.mdx b/api_docs/kbn_core_root_server_internal.mdx index dd5746dc051287..50a284aea720e4 100644 --- a/api_docs/kbn_core_root_server_internal.mdx +++ b/api_docs/kbn_core_root_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-root-server-internal title: "@kbn/core-root-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-root-server-internal plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-root-server-internal'] --- import kbnCoreRootServerInternalObj from './kbn_core_root_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_api_browser.mdx b/api_docs/kbn_core_saved_objects_api_browser.mdx index c58b73a7f9999d..cbfa1a3be1252c 100644 --- a/api_docs/kbn_core_saved_objects_api_browser.mdx +++ b/api_docs/kbn_core_saved_objects_api_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-api-browser title: "@kbn/core-saved-objects-api-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-api-browser plugin -date: 2023-09-24 +date: 2023-09-25 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 4abf420f0588bd..1807f6dd43bfed 100644 --- a/api_docs/kbn_core_saved_objects_api_server.mdx +++ b/api_docs/kbn_core_saved_objects_api_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-api-server title: "@kbn/core-saved-objects-api-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-api-server plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-api-server'] --- import kbnCoreSavedObjectsApiServerObj from './kbn_core_saved_objects_api_server.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_api_server_mocks.mdx b/api_docs/kbn_core_saved_objects_api_server_mocks.mdx index 7f8e60720510f9..8ac7220435334b 100644 --- a/api_docs/kbn_core_saved_objects_api_server_mocks.mdx +++ b/api_docs/kbn_core_saved_objects_api_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-api-server-mocks title: "@kbn/core-saved-objects-api-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-api-server-mocks plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-api-server-mocks'] --- import kbnCoreSavedObjectsApiServerMocksObj from './kbn_core_saved_objects_api_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_base_server_internal.mdx b/api_docs/kbn_core_saved_objects_base_server_internal.mdx index c98df7dc377c12..693e6123f85086 100644 --- a/api_docs/kbn_core_saved_objects_base_server_internal.mdx +++ b/api_docs/kbn_core_saved_objects_base_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-base-server-internal title: "@kbn/core-saved-objects-base-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-base-server-internal plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-base-server-internal'] --- import kbnCoreSavedObjectsBaseServerInternalObj from './kbn_core_saved_objects_base_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_base_server_mocks.mdx b/api_docs/kbn_core_saved_objects_base_server_mocks.mdx index 8297aad5a02487..0035c74b068dfc 100644 --- a/api_docs/kbn_core_saved_objects_base_server_mocks.mdx +++ b/api_docs/kbn_core_saved_objects_base_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-base-server-mocks title: "@kbn/core-saved-objects-base-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-base-server-mocks plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-base-server-mocks'] --- import kbnCoreSavedObjectsBaseServerMocksObj from './kbn_core_saved_objects_base_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_browser.mdx b/api_docs/kbn_core_saved_objects_browser.mdx index 238efdf3a140f8..a97a1930db0e37 100644 --- a/api_docs/kbn_core_saved_objects_browser.mdx +++ b/api_docs/kbn_core_saved_objects_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-browser title: "@kbn/core-saved-objects-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-browser plugin -date: 2023-09-24 +date: 2023-09-25 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 f7b20c3919f65a..25dc1e5630dc3a 100644 --- a/api_docs/kbn_core_saved_objects_browser_internal.mdx +++ b/api_docs/kbn_core_saved_objects_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-browser-internal title: "@kbn/core-saved-objects-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-browser-internal plugin -date: 2023-09-24 +date: 2023-09-25 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 dce5a6bb3b88d7..001abf71565f87 100644 --- a/api_docs/kbn_core_saved_objects_browser_mocks.mdx +++ b/api_docs/kbn_core_saved_objects_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-browser-mocks title: "@kbn/core-saved-objects-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-browser-mocks plugin -date: 2023-09-24 +date: 2023-09-25 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 287a3b80b1ae6c..eefb17d1ecb7e6 100644 --- a/api_docs/kbn_core_saved_objects_common.mdx +++ b/api_docs/kbn_core_saved_objects_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-common title: "@kbn/core-saved-objects-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-common plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-common'] --- import kbnCoreSavedObjectsCommonObj from './kbn_core_saved_objects_common.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_import_export_server_internal.mdx b/api_docs/kbn_core_saved_objects_import_export_server_internal.mdx index f3239366c99707..b86c754b683a42 100644 --- a/api_docs/kbn_core_saved_objects_import_export_server_internal.mdx +++ b/api_docs/kbn_core_saved_objects_import_export_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-import-export-server-internal title: "@kbn/core-saved-objects-import-export-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-import-export-server-internal plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-import-export-server-internal'] --- import kbnCoreSavedObjectsImportExportServerInternalObj from './kbn_core_saved_objects_import_export_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_import_export_server_mocks.mdx b/api_docs/kbn_core_saved_objects_import_export_server_mocks.mdx index 0c91d8300ec8ab..177d77c6d48e94 100644 --- a/api_docs/kbn_core_saved_objects_import_export_server_mocks.mdx +++ b/api_docs/kbn_core_saved_objects_import_export_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-import-export-server-mocks title: "@kbn/core-saved-objects-import-export-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-import-export-server-mocks plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-import-export-server-mocks'] --- import kbnCoreSavedObjectsImportExportServerMocksObj from './kbn_core_saved_objects_import_export_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_migration_server_internal.mdx b/api_docs/kbn_core_saved_objects_migration_server_internal.mdx index 1085f0fd8cc1c7..ee67a1af3d9e97 100644 --- a/api_docs/kbn_core_saved_objects_migration_server_internal.mdx +++ b/api_docs/kbn_core_saved_objects_migration_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-migration-server-internal title: "@kbn/core-saved-objects-migration-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-migration-server-internal plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-migration-server-internal'] --- import kbnCoreSavedObjectsMigrationServerInternalObj from './kbn_core_saved_objects_migration_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_migration_server_mocks.mdx b/api_docs/kbn_core_saved_objects_migration_server_mocks.mdx index 04362285691f85..66be5deb12f6d5 100644 --- a/api_docs/kbn_core_saved_objects_migration_server_mocks.mdx +++ b/api_docs/kbn_core_saved_objects_migration_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-migration-server-mocks title: "@kbn/core-saved-objects-migration-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-migration-server-mocks plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-migration-server-mocks'] --- import kbnCoreSavedObjectsMigrationServerMocksObj from './kbn_core_saved_objects_migration_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_server.mdx b/api_docs/kbn_core_saved_objects_server.mdx index c417f3d387179a..c8018095c90455 100644 --- a/api_docs/kbn_core_saved_objects_server.mdx +++ b/api_docs/kbn_core_saved_objects_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-server title: "@kbn/core-saved-objects-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-server plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-server'] --- import kbnCoreSavedObjectsServerObj from './kbn_core_saved_objects_server.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_server_internal.mdx b/api_docs/kbn_core_saved_objects_server_internal.mdx index e36c0fe93b5b83..f801dcc7504018 100644 --- a/api_docs/kbn_core_saved_objects_server_internal.mdx +++ b/api_docs/kbn_core_saved_objects_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-server-internal title: "@kbn/core-saved-objects-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-server-internal plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-server-internal'] --- import kbnCoreSavedObjectsServerInternalObj from './kbn_core_saved_objects_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_server_mocks.mdx b/api_docs/kbn_core_saved_objects_server_mocks.mdx index dfd3ff950e04a1..c0f0e1507d36bf 100644 --- a/api_docs/kbn_core_saved_objects_server_mocks.mdx +++ b/api_docs/kbn_core_saved_objects_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-server-mocks title: "@kbn/core-saved-objects-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-server-mocks plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-server-mocks'] --- import kbnCoreSavedObjectsServerMocksObj from './kbn_core_saved_objects_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_utils_server.mdx b/api_docs/kbn_core_saved_objects_utils_server.mdx index 92d9ad3d0f8737..99ff22c802e510 100644 --- a/api_docs/kbn_core_saved_objects_utils_server.mdx +++ b/api_docs/kbn_core_saved_objects_utils_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-utils-server title: "@kbn/core-saved-objects-utils-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-utils-server plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-utils-server'] --- import kbnCoreSavedObjectsUtilsServerObj from './kbn_core_saved_objects_utils_server.devdocs.json'; diff --git a/api_docs/kbn_core_status_common.mdx b/api_docs/kbn_core_status_common.mdx index dedcb182f4a480..b7dea67aa296d9 100644 --- a/api_docs/kbn_core_status_common.mdx +++ b/api_docs/kbn_core_status_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-status-common title: "@kbn/core-status-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-status-common plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-status-common'] --- import kbnCoreStatusCommonObj from './kbn_core_status_common.devdocs.json'; diff --git a/api_docs/kbn_core_status_common_internal.mdx b/api_docs/kbn_core_status_common_internal.mdx index a2a5d31dd33d8b..b84a9a5b106310 100644 --- a/api_docs/kbn_core_status_common_internal.mdx +++ b/api_docs/kbn_core_status_common_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-status-common-internal title: "@kbn/core-status-common-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-status-common-internal plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-status-common-internal'] --- import kbnCoreStatusCommonInternalObj from './kbn_core_status_common_internal.devdocs.json'; diff --git a/api_docs/kbn_core_status_server.mdx b/api_docs/kbn_core_status_server.mdx index 20bc090deba12d..19077b75a70878 100644 --- a/api_docs/kbn_core_status_server.mdx +++ b/api_docs/kbn_core_status_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-status-server title: "@kbn/core-status-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-status-server plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-status-server'] --- import kbnCoreStatusServerObj from './kbn_core_status_server.devdocs.json'; diff --git a/api_docs/kbn_core_status_server_internal.mdx b/api_docs/kbn_core_status_server_internal.mdx index 155f4f4b704584..8cee9aa6d96dc8 100644 --- a/api_docs/kbn_core_status_server_internal.mdx +++ b/api_docs/kbn_core_status_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-status-server-internal title: "@kbn/core-status-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-status-server-internal plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-status-server-internal'] --- import kbnCoreStatusServerInternalObj from './kbn_core_status_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_status_server_mocks.mdx b/api_docs/kbn_core_status_server_mocks.mdx index 0e34263cae43ae..ac9655111b7222 100644 --- a/api_docs/kbn_core_status_server_mocks.mdx +++ b/api_docs/kbn_core_status_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-status-server-mocks title: "@kbn/core-status-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-status-server-mocks plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-status-server-mocks'] --- import kbnCoreStatusServerMocksObj from './kbn_core_status_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_test_helpers_deprecations_getters.mdx b/api_docs/kbn_core_test_helpers_deprecations_getters.mdx index 5f1ba9a2b40682..357b5a4428a6fa 100644 --- a/api_docs/kbn_core_test_helpers_deprecations_getters.mdx +++ b/api_docs/kbn_core_test_helpers_deprecations_getters.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-test-helpers-deprecations-getters title: "@kbn/core-test-helpers-deprecations-getters" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-test-helpers-deprecations-getters plugin -date: 2023-09-24 +date: 2023-09-25 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 5e7b266ec735cb..28cf4c55b27866 100644 --- a/api_docs/kbn_core_test_helpers_http_setup_browser.mdx +++ b/api_docs/kbn_core_test_helpers_http_setup_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-test-helpers-http-setup-browser title: "@kbn/core-test-helpers-http-setup-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-test-helpers-http-setup-browser plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-test-helpers-http-setup-browser'] --- import kbnCoreTestHelpersHttpSetupBrowserObj from './kbn_core_test_helpers_http_setup_browser.devdocs.json'; diff --git a/api_docs/kbn_core_test_helpers_kbn_server.mdx b/api_docs/kbn_core_test_helpers_kbn_server.mdx index 446b9a5a1327a1..cc00e1f527394c 100644 --- a/api_docs/kbn_core_test_helpers_kbn_server.mdx +++ b/api_docs/kbn_core_test_helpers_kbn_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-test-helpers-kbn-server title: "@kbn/core-test-helpers-kbn-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-test-helpers-kbn-server plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-test-helpers-kbn-server'] --- import kbnCoreTestHelpersKbnServerObj from './kbn_core_test_helpers_kbn_server.devdocs.json'; diff --git a/api_docs/kbn_core_test_helpers_so_type_serializer.mdx b/api_docs/kbn_core_test_helpers_so_type_serializer.mdx index 35322d2af040ff..74e8e5f1838a91 100644 --- a/api_docs/kbn_core_test_helpers_so_type_serializer.mdx +++ b/api_docs/kbn_core_test_helpers_so_type_serializer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-test-helpers-so-type-serializer title: "@kbn/core-test-helpers-so-type-serializer" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-test-helpers-so-type-serializer plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-test-helpers-so-type-serializer'] --- import kbnCoreTestHelpersSoTypeSerializerObj from './kbn_core_test_helpers_so_type_serializer.devdocs.json'; diff --git a/api_docs/kbn_core_test_helpers_test_utils.mdx b/api_docs/kbn_core_test_helpers_test_utils.mdx index 9e5a1c94fcf3c9..17fe928e962810 100644 --- a/api_docs/kbn_core_test_helpers_test_utils.mdx +++ b/api_docs/kbn_core_test_helpers_test_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-test-helpers-test-utils title: "@kbn/core-test-helpers-test-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-test-helpers-test-utils plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-test-helpers-test-utils'] --- import kbnCoreTestHelpersTestUtilsObj from './kbn_core_test_helpers_test_utils.devdocs.json'; diff --git a/api_docs/kbn_core_theme_browser.mdx b/api_docs/kbn_core_theme_browser.mdx index 066ce4cae51a26..ebd2bb1ad9fe52 100644 --- a/api_docs/kbn_core_theme_browser.mdx +++ b/api_docs/kbn_core_theme_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-theme-browser title: "@kbn/core-theme-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-theme-browser plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-theme-browser'] --- import kbnCoreThemeBrowserObj from './kbn_core_theme_browser.devdocs.json'; diff --git a/api_docs/kbn_core_theme_browser_mocks.mdx b/api_docs/kbn_core_theme_browser_mocks.mdx index 01de5c6578554f..7b6fc04762a3e4 100644 --- a/api_docs/kbn_core_theme_browser_mocks.mdx +++ b/api_docs/kbn_core_theme_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-theme-browser-mocks title: "@kbn/core-theme-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-theme-browser-mocks plugin -date: 2023-09-24 +date: 2023-09-25 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 d62a87bd7fdfed..54b7e96f1172f0 100644 --- a/api_docs/kbn_core_ui_settings_browser.mdx +++ b/api_docs/kbn_core_ui_settings_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-browser title: "@kbn/core-ui-settings-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-browser plugin -date: 2023-09-24 +date: 2023-09-25 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 20bd28bdbd38c2..783594aa9d8cdb 100644 --- a/api_docs/kbn_core_ui_settings_browser_internal.mdx +++ b/api_docs/kbn_core_ui_settings_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-browser-internal title: "@kbn/core-ui-settings-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-browser-internal plugin -date: 2023-09-24 +date: 2023-09-25 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 844c73b2b35f14..1efaa87e91cedf 100644 --- a/api_docs/kbn_core_ui_settings_browser_mocks.mdx +++ b/api_docs/kbn_core_ui_settings_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-browser-mocks title: "@kbn/core-ui-settings-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-browser-mocks plugin -date: 2023-09-24 +date: 2023-09-25 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 bd4c4c763ed83c..a922b457f30ede 100644 --- a/api_docs/kbn_core_ui_settings_common.mdx +++ b/api_docs/kbn_core_ui_settings_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-common title: "@kbn/core-ui-settings-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-common plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-ui-settings-common'] --- import kbnCoreUiSettingsCommonObj from './kbn_core_ui_settings_common.devdocs.json'; diff --git a/api_docs/kbn_core_ui_settings_server.mdx b/api_docs/kbn_core_ui_settings_server.mdx index 543dab2ceb12c5..8740db46fd7de4 100644 --- a/api_docs/kbn_core_ui_settings_server.mdx +++ b/api_docs/kbn_core_ui_settings_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-server title: "@kbn/core-ui-settings-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-server plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-ui-settings-server'] --- import kbnCoreUiSettingsServerObj from './kbn_core_ui_settings_server.devdocs.json'; diff --git a/api_docs/kbn_core_ui_settings_server_internal.mdx b/api_docs/kbn_core_ui_settings_server_internal.mdx index 9f7276884ad403..47ec719e0404c0 100644 --- a/api_docs/kbn_core_ui_settings_server_internal.mdx +++ b/api_docs/kbn_core_ui_settings_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-server-internal title: "@kbn/core-ui-settings-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-server-internal plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-ui-settings-server-internal'] --- import kbnCoreUiSettingsServerInternalObj from './kbn_core_ui_settings_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_ui_settings_server_mocks.mdx b/api_docs/kbn_core_ui_settings_server_mocks.mdx index 76816ffd4065bf..4ca8b9188d0b27 100644 --- a/api_docs/kbn_core_ui_settings_server_mocks.mdx +++ b/api_docs/kbn_core_ui_settings_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-server-mocks title: "@kbn/core-ui-settings-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-server-mocks plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-ui-settings-server-mocks'] --- import kbnCoreUiSettingsServerMocksObj from './kbn_core_ui_settings_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_usage_data_server.mdx b/api_docs/kbn_core_usage_data_server.mdx index ffd35a3e9affa3..4d100624512d79 100644 --- a/api_docs/kbn_core_usage_data_server.mdx +++ b/api_docs/kbn_core_usage_data_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-usage-data-server title: "@kbn/core-usage-data-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-usage-data-server plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-usage-data-server'] --- import kbnCoreUsageDataServerObj from './kbn_core_usage_data_server.devdocs.json'; diff --git a/api_docs/kbn_core_usage_data_server_internal.mdx b/api_docs/kbn_core_usage_data_server_internal.mdx index e6e1bc339ba277..9e4ce4251cb559 100644 --- a/api_docs/kbn_core_usage_data_server_internal.mdx +++ b/api_docs/kbn_core_usage_data_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-usage-data-server-internal title: "@kbn/core-usage-data-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-usage-data-server-internal plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-usage-data-server-internal'] --- import kbnCoreUsageDataServerInternalObj from './kbn_core_usage_data_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_usage_data_server_mocks.mdx b/api_docs/kbn_core_usage_data_server_mocks.mdx index 71c4852365ed08..1e513ea1fb1d90 100644 --- a/api_docs/kbn_core_usage_data_server_mocks.mdx +++ b/api_docs/kbn_core_usage_data_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-usage-data-server-mocks title: "@kbn/core-usage-data-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-usage-data-server-mocks plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-usage-data-server-mocks'] --- import kbnCoreUsageDataServerMocksObj from './kbn_core_usage_data_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_user_settings_server.mdx b/api_docs/kbn_core_user_settings_server.mdx index fb964a3cbe8ca3..c5ad8b74ac186f 100644 --- a/api_docs/kbn_core_user_settings_server.mdx +++ b/api_docs/kbn_core_user_settings_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-user-settings-server title: "@kbn/core-user-settings-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-user-settings-server plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-user-settings-server'] --- import kbnCoreUserSettingsServerObj from './kbn_core_user_settings_server.devdocs.json'; diff --git a/api_docs/kbn_core_user_settings_server_internal.mdx b/api_docs/kbn_core_user_settings_server_internal.mdx index b7020e23920214..b6a64a1eab1150 100644 --- a/api_docs/kbn_core_user_settings_server_internal.mdx +++ b/api_docs/kbn_core_user_settings_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-user-settings-server-internal title: "@kbn/core-user-settings-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-user-settings-server-internal plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-user-settings-server-internal'] --- import kbnCoreUserSettingsServerInternalObj from './kbn_core_user_settings_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_user_settings_server_mocks.mdx b/api_docs/kbn_core_user_settings_server_mocks.mdx index a66bfb3e191b6d..07fabb2446d558 100644 --- a/api_docs/kbn_core_user_settings_server_mocks.mdx +++ b/api_docs/kbn_core_user_settings_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-user-settings-server-mocks title: "@kbn/core-user-settings-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-user-settings-server-mocks plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-user-settings-server-mocks'] --- import kbnCoreUserSettingsServerMocksObj from './kbn_core_user_settings_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_crypto.mdx b/api_docs/kbn_crypto.mdx index a72bcd076a9c5d..c0ee403a2f79f0 100644 --- a/api_docs/kbn_crypto.mdx +++ b/api_docs/kbn_crypto.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-crypto title: "@kbn/crypto" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/crypto plugin -date: 2023-09-24 +date: 2023-09-25 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 83bda624ebc267..2dfd03b92465ce 100644 --- a/api_docs/kbn_crypto_browser.mdx +++ b/api_docs/kbn_crypto_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-crypto-browser title: "@kbn/crypto-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/crypto-browser plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/crypto-browser'] --- import kbnCryptoBrowserObj from './kbn_crypto_browser.devdocs.json'; diff --git a/api_docs/kbn_custom_integrations.mdx b/api_docs/kbn_custom_integrations.mdx index 87c89b59f3eabd..c07f72fce212d5 100644 --- a/api_docs/kbn_custom_integrations.mdx +++ b/api_docs/kbn_custom_integrations.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-custom-integrations title: "@kbn/custom-integrations" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/custom-integrations plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/custom-integrations'] --- import kbnCustomIntegrationsObj from './kbn_custom_integrations.devdocs.json'; diff --git a/api_docs/kbn_cypress_config.mdx b/api_docs/kbn_cypress_config.mdx index 33deed4878990e..f23e8c0f1fbd8c 100644 --- a/api_docs/kbn_cypress_config.mdx +++ b/api_docs/kbn_cypress_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-cypress-config title: "@kbn/cypress-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/cypress-config plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/cypress-config'] --- import kbnCypressConfigObj from './kbn_cypress_config.devdocs.json'; diff --git a/api_docs/kbn_data_service.mdx b/api_docs/kbn_data_service.mdx index 6130d9f08ffd6e..8d50a3b93bbf48 100644 --- a/api_docs/kbn_data_service.mdx +++ b/api_docs/kbn_data_service.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-data-service title: "@kbn/data-service" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/data-service plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/data-service'] --- import kbnDataServiceObj from './kbn_data_service.devdocs.json'; diff --git a/api_docs/kbn_datemath.mdx b/api_docs/kbn_datemath.mdx index 131ef24dc80322..1a6dd93e3a571f 100644 --- a/api_docs/kbn_datemath.mdx +++ b/api_docs/kbn_datemath.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-datemath title: "@kbn/datemath" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/datemath plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/datemath'] --- import kbnDatemathObj from './kbn_datemath.devdocs.json'; diff --git a/api_docs/kbn_deeplinks_analytics.mdx b/api_docs/kbn_deeplinks_analytics.mdx index dacd6d9856dd20..aebf2a9e4af82b 100644 --- a/api_docs/kbn_deeplinks_analytics.mdx +++ b/api_docs/kbn_deeplinks_analytics.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-analytics title: "@kbn/deeplinks-analytics" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-analytics plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-analytics'] --- import kbnDeeplinksAnalyticsObj from './kbn_deeplinks_analytics.devdocs.json'; diff --git a/api_docs/kbn_deeplinks_devtools.mdx b/api_docs/kbn_deeplinks_devtools.mdx index 11572e77755219..b6514e9a332533 100644 --- a/api_docs/kbn_deeplinks_devtools.mdx +++ b/api_docs/kbn_deeplinks_devtools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-devtools title: "@kbn/deeplinks-devtools" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-devtools plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-devtools'] --- import kbnDeeplinksDevtoolsObj from './kbn_deeplinks_devtools.devdocs.json'; diff --git a/api_docs/kbn_deeplinks_management.mdx b/api_docs/kbn_deeplinks_management.mdx index 170ff6791523a4..29e4872352094e 100644 --- a/api_docs/kbn_deeplinks_management.mdx +++ b/api_docs/kbn_deeplinks_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-management title: "@kbn/deeplinks-management" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-management plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-management'] --- import kbnDeeplinksManagementObj from './kbn_deeplinks_management.devdocs.json'; diff --git a/api_docs/kbn_deeplinks_ml.mdx b/api_docs/kbn_deeplinks_ml.mdx index 3923f334f87aeb..168d7906e53e9a 100644 --- a/api_docs/kbn_deeplinks_ml.mdx +++ b/api_docs/kbn_deeplinks_ml.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-ml title: "@kbn/deeplinks-ml" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-ml plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-ml'] --- import kbnDeeplinksMlObj from './kbn_deeplinks_ml.devdocs.json'; diff --git a/api_docs/kbn_deeplinks_observability.mdx b/api_docs/kbn_deeplinks_observability.mdx index 2a75a0149e2db1..c45567aa80526f 100644 --- a/api_docs/kbn_deeplinks_observability.mdx +++ b/api_docs/kbn_deeplinks_observability.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-observability title: "@kbn/deeplinks-observability" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-observability plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-observability'] --- import kbnDeeplinksObservabilityObj from './kbn_deeplinks_observability.devdocs.json'; diff --git a/api_docs/kbn_deeplinks_search.mdx b/api_docs/kbn_deeplinks_search.mdx index 48777bd4740049..05048e4e6052ed 100644 --- a/api_docs/kbn_deeplinks_search.mdx +++ b/api_docs/kbn_deeplinks_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-search title: "@kbn/deeplinks-search" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-search plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-search'] --- import kbnDeeplinksSearchObj from './kbn_deeplinks_search.devdocs.json'; diff --git a/api_docs/kbn_default_nav_analytics.mdx b/api_docs/kbn_default_nav_analytics.mdx index a1df8c133a385d..960657f98b0ed0 100644 --- a/api_docs/kbn_default_nav_analytics.mdx +++ b/api_docs/kbn_default_nav_analytics.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-default-nav-analytics title: "@kbn/default-nav-analytics" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/default-nav-analytics plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/default-nav-analytics'] --- import kbnDefaultNavAnalyticsObj from './kbn_default_nav_analytics.devdocs.json'; diff --git a/api_docs/kbn_default_nav_devtools.mdx b/api_docs/kbn_default_nav_devtools.mdx index 23f3b57ebf7ba5..ab3f1edcd62bce 100644 --- a/api_docs/kbn_default_nav_devtools.mdx +++ b/api_docs/kbn_default_nav_devtools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-default-nav-devtools title: "@kbn/default-nav-devtools" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/default-nav-devtools plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/default-nav-devtools'] --- import kbnDefaultNavDevtoolsObj from './kbn_default_nav_devtools.devdocs.json'; diff --git a/api_docs/kbn_default_nav_management.mdx b/api_docs/kbn_default_nav_management.mdx index 3179a5f6cd9283..3a15b52e304ef8 100644 --- a/api_docs/kbn_default_nav_management.mdx +++ b/api_docs/kbn_default_nav_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-default-nav-management title: "@kbn/default-nav-management" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/default-nav-management plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/default-nav-management'] --- import kbnDefaultNavManagementObj from './kbn_default_nav_management.devdocs.json'; diff --git a/api_docs/kbn_default_nav_ml.mdx b/api_docs/kbn_default_nav_ml.mdx index 8f2431f7cdd35d..c49781680b9550 100644 --- a/api_docs/kbn_default_nav_ml.mdx +++ b/api_docs/kbn_default_nav_ml.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-default-nav-ml title: "@kbn/default-nav-ml" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/default-nav-ml plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/default-nav-ml'] --- import kbnDefaultNavMlObj from './kbn_default_nav_ml.devdocs.json'; diff --git a/api_docs/kbn_dev_cli_errors.mdx b/api_docs/kbn_dev_cli_errors.mdx index e1f806a785759c..2c57401c9245db 100644 --- a/api_docs/kbn_dev_cli_errors.mdx +++ b/api_docs/kbn_dev_cli_errors.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-dev-cli-errors title: "@kbn/dev-cli-errors" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/dev-cli-errors plugin -date: 2023-09-24 +date: 2023-09-25 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 18588849e9e2e9..155ea894b65ca5 100644 --- a/api_docs/kbn_dev_cli_runner.mdx +++ b/api_docs/kbn_dev_cli_runner.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-dev-cli-runner title: "@kbn/dev-cli-runner" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/dev-cli-runner plugin -date: 2023-09-24 +date: 2023-09-25 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 592ae6218a2308..2aaa075f7037ce 100644 --- a/api_docs/kbn_dev_proc_runner.mdx +++ b/api_docs/kbn_dev_proc_runner.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-dev-proc-runner title: "@kbn/dev-proc-runner" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/dev-proc-runner plugin -date: 2023-09-24 +date: 2023-09-25 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 0024649fbd0a24..e8d8ec623e8065 100644 --- a/api_docs/kbn_dev_utils.mdx +++ b/api_docs/kbn_dev_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-dev-utils title: "@kbn/dev-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/dev-utils plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/dev-utils'] --- import kbnDevUtilsObj from './kbn_dev_utils.devdocs.json'; diff --git a/api_docs/kbn_discover_utils.mdx b/api_docs/kbn_discover_utils.mdx index 097d55296d8db7..93f6c59c4acd37 100644 --- a/api_docs/kbn_discover_utils.mdx +++ b/api_docs/kbn_discover_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-discover-utils title: "@kbn/discover-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/discover-utils plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/discover-utils'] --- import kbnDiscoverUtilsObj from './kbn_discover_utils.devdocs.json'; diff --git a/api_docs/kbn_doc_links.mdx b/api_docs/kbn_doc_links.mdx index f570ce6c2beaed..0d079b84e7b1ec 100644 --- a/api_docs/kbn_doc_links.mdx +++ b/api_docs/kbn_doc_links.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-doc-links title: "@kbn/doc-links" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/doc-links plugin -date: 2023-09-24 +date: 2023-09-25 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 dac4dae5833ed3..d93f7bf0216ce6 100644 --- a/api_docs/kbn_docs_utils.mdx +++ b/api_docs/kbn_docs_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-docs-utils title: "@kbn/docs-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/docs-utils plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/docs-utils'] --- import kbnDocsUtilsObj from './kbn_docs_utils.devdocs.json'; diff --git a/api_docs/kbn_dom_drag_drop.mdx b/api_docs/kbn_dom_drag_drop.mdx index 14a2a304dd0cc1..8916af4df9fb23 100644 --- a/api_docs/kbn_dom_drag_drop.mdx +++ b/api_docs/kbn_dom_drag_drop.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-dom-drag-drop title: "@kbn/dom-drag-drop" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/dom-drag-drop plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/dom-drag-drop'] --- import kbnDomDragDropObj from './kbn_dom_drag_drop.devdocs.json'; diff --git a/api_docs/kbn_ebt_tools.mdx b/api_docs/kbn_ebt_tools.mdx index 995724988c38ae..014c18a8cbda5f 100644 --- a/api_docs/kbn_ebt_tools.mdx +++ b/api_docs/kbn_ebt_tools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ebt-tools title: "@kbn/ebt-tools" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ebt-tools plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ebt-tools'] --- import kbnEbtToolsObj from './kbn_ebt_tools.devdocs.json'; diff --git a/api_docs/kbn_ecs.mdx b/api_docs/kbn_ecs.mdx index 418aa6ef5001e4..44125b1345abfc 100644 --- a/api_docs/kbn_ecs.mdx +++ b/api_docs/kbn_ecs.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ecs title: "@kbn/ecs" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ecs plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ecs'] --- import kbnEcsObj from './kbn_ecs.devdocs.json'; diff --git a/api_docs/kbn_ecs_data_quality_dashboard.mdx b/api_docs/kbn_ecs_data_quality_dashboard.mdx index 317da83c8bbae3..11c9c4c6660746 100644 --- a/api_docs/kbn_ecs_data_quality_dashboard.mdx +++ b/api_docs/kbn_ecs_data_quality_dashboard.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ecs-data-quality-dashboard title: "@kbn/ecs-data-quality-dashboard" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ecs-data-quality-dashboard plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ecs-data-quality-dashboard'] --- import kbnEcsDataQualityDashboardObj from './kbn_ecs_data_quality_dashboard.devdocs.json'; diff --git a/api_docs/kbn_elastic_assistant.mdx b/api_docs/kbn_elastic_assistant.mdx index 5f71bc564f84b0..625952ef85ad07 100644 --- a/api_docs/kbn_elastic_assistant.mdx +++ b/api_docs/kbn_elastic_assistant.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-elastic-assistant title: "@kbn/elastic-assistant" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/elastic-assistant plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/elastic-assistant'] --- import kbnElasticAssistantObj from './kbn_elastic_assistant.devdocs.json'; diff --git a/api_docs/kbn_es.mdx b/api_docs/kbn_es.mdx index ef8b119313fcae..dba47e1f237fb3 100644 --- a/api_docs/kbn_es.mdx +++ b/api_docs/kbn_es.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-es title: "@kbn/es" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/es plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/es'] --- import kbnEsObj from './kbn_es.devdocs.json'; diff --git a/api_docs/kbn_es_archiver.mdx b/api_docs/kbn_es_archiver.mdx index 621ba80d648762..d18fd02ff7f456 100644 --- a/api_docs/kbn_es_archiver.mdx +++ b/api_docs/kbn_es_archiver.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-es-archiver title: "@kbn/es-archiver" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/es-archiver plugin -date: 2023-09-24 +date: 2023-09-25 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 efed25a56f7ea6..6dbc74478590d1 100644 --- a/api_docs/kbn_es_errors.mdx +++ b/api_docs/kbn_es_errors.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-es-errors title: "@kbn/es-errors" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/es-errors plugin -date: 2023-09-24 +date: 2023-09-25 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 e8832574f6a62b..d02c064539f078 100644 --- a/api_docs/kbn_es_query.mdx +++ b/api_docs/kbn_es_query.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-es-query title: "@kbn/es-query" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/es-query plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/es-query'] --- import kbnEsQueryObj from './kbn_es_query.devdocs.json'; diff --git a/api_docs/kbn_es_types.mdx b/api_docs/kbn_es_types.mdx index 5da8d62aed006e..11c7eb5df7999f 100644 --- a/api_docs/kbn_es_types.mdx +++ b/api_docs/kbn_es_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-es-types title: "@kbn/es-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/es-types plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/es-types'] --- import kbnEsTypesObj from './kbn_es_types.devdocs.json'; diff --git a/api_docs/kbn_eslint_plugin_imports.mdx b/api_docs/kbn_eslint_plugin_imports.mdx index 5bdb34bba2806a..04717e9eb912d2 100644 --- a/api_docs/kbn_eslint_plugin_imports.mdx +++ b/api_docs/kbn_eslint_plugin_imports.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-eslint-plugin-imports title: "@kbn/eslint-plugin-imports" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/eslint-plugin-imports plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/eslint-plugin-imports'] --- import kbnEslintPluginImportsObj from './kbn_eslint_plugin_imports.devdocs.json'; diff --git a/api_docs/kbn_event_annotation_common.mdx b/api_docs/kbn_event_annotation_common.mdx index fca4f111e574c9..2a3a1828159c47 100644 --- a/api_docs/kbn_event_annotation_common.mdx +++ b/api_docs/kbn_event_annotation_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-event-annotation-common title: "@kbn/event-annotation-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/event-annotation-common plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/event-annotation-common'] --- import kbnEventAnnotationCommonObj from './kbn_event_annotation_common.devdocs.json'; diff --git a/api_docs/kbn_event_annotation_components.mdx b/api_docs/kbn_event_annotation_components.mdx index 59f59453dbfe68..42750a0453395e 100644 --- a/api_docs/kbn_event_annotation_components.mdx +++ b/api_docs/kbn_event_annotation_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-event-annotation-components title: "@kbn/event-annotation-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/event-annotation-components plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/event-annotation-components'] --- import kbnEventAnnotationComponentsObj from './kbn_event_annotation_components.devdocs.json'; diff --git a/api_docs/kbn_expandable_flyout.mdx b/api_docs/kbn_expandable_flyout.mdx index 96b199b7dd931d..d82e33e0b9d447 100644 --- a/api_docs/kbn_expandable_flyout.mdx +++ b/api_docs/kbn_expandable_flyout.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-expandable-flyout title: "@kbn/expandable-flyout" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/expandable-flyout plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/expandable-flyout'] --- import kbnExpandableFlyoutObj from './kbn_expandable_flyout.devdocs.json'; diff --git a/api_docs/kbn_field_types.mdx b/api_docs/kbn_field_types.mdx index 80fea7dfb9fe5e..9b5d782319fba9 100644 --- a/api_docs/kbn_field_types.mdx +++ b/api_docs/kbn_field_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-field-types title: "@kbn/field-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/field-types plugin -date: 2023-09-24 +date: 2023-09-25 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 512c5670976938..a85eddf18ee15b 100644 --- a/api_docs/kbn_find_used_node_modules.mdx +++ b/api_docs/kbn_find_used_node_modules.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-find-used-node-modules title: "@kbn/find-used-node-modules" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/find-used-node-modules plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/find-used-node-modules'] --- import kbnFindUsedNodeModulesObj from './kbn_find_used_node_modules.devdocs.json'; diff --git a/api_docs/kbn_ftr_common_functional_services.mdx b/api_docs/kbn_ftr_common_functional_services.mdx index 4acbe9ee6a9ec0..64b1c2f2802330 100644 --- a/api_docs/kbn_ftr_common_functional_services.mdx +++ b/api_docs/kbn_ftr_common_functional_services.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ftr-common-functional-services title: "@kbn/ftr-common-functional-services" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ftr-common-functional-services plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ftr-common-functional-services'] --- import kbnFtrCommonFunctionalServicesObj from './kbn_ftr_common_functional_services.devdocs.json'; diff --git a/api_docs/kbn_generate.mdx b/api_docs/kbn_generate.mdx index 1f903aa9c81060..41e2065d3afbc7 100644 --- a/api_docs/kbn_generate.mdx +++ b/api_docs/kbn_generate.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-generate title: "@kbn/generate" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/generate plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/generate'] --- import kbnGenerateObj from './kbn_generate.devdocs.json'; diff --git a/api_docs/kbn_generate_console_definitions.mdx b/api_docs/kbn_generate_console_definitions.mdx index 8fd74108525567..c4aa464f5ad50a 100644 --- a/api_docs/kbn_generate_console_definitions.mdx +++ b/api_docs/kbn_generate_console_definitions.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-generate-console-definitions title: "@kbn/generate-console-definitions" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/generate-console-definitions plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/generate-console-definitions'] --- import kbnGenerateConsoleDefinitionsObj from './kbn_generate_console_definitions.devdocs.json'; diff --git a/api_docs/kbn_generate_csv.mdx b/api_docs/kbn_generate_csv.mdx index c1e848c13623e3..d658eeb8b2af91 100644 --- a/api_docs/kbn_generate_csv.mdx +++ b/api_docs/kbn_generate_csv.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-generate-csv title: "@kbn/generate-csv" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/generate-csv plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/generate-csv'] --- import kbnGenerateCsvObj from './kbn_generate_csv.devdocs.json'; diff --git a/api_docs/kbn_generate_csv_types.mdx b/api_docs/kbn_generate_csv_types.mdx index e4da8ba1d0a7b0..c454fe5b04c2e5 100644 --- a/api_docs/kbn_generate_csv_types.mdx +++ b/api_docs/kbn_generate_csv_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-generate-csv-types title: "@kbn/generate-csv-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/generate-csv-types plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/generate-csv-types'] --- import kbnGenerateCsvTypesObj from './kbn_generate_csv_types.devdocs.json'; diff --git a/api_docs/kbn_guided_onboarding.mdx b/api_docs/kbn_guided_onboarding.mdx index 1c5d5de6ae4dc3..0541492651bb61 100644 --- a/api_docs/kbn_guided_onboarding.mdx +++ b/api_docs/kbn_guided_onboarding.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-guided-onboarding title: "@kbn/guided-onboarding" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/guided-onboarding plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/guided-onboarding'] --- import kbnGuidedOnboardingObj from './kbn_guided_onboarding.devdocs.json'; diff --git a/api_docs/kbn_handlebars.mdx b/api_docs/kbn_handlebars.mdx index 919e96b8d50835..14f64f21aba6d0 100644 --- a/api_docs/kbn_handlebars.mdx +++ b/api_docs/kbn_handlebars.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-handlebars title: "@kbn/handlebars" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/handlebars plugin -date: 2023-09-24 +date: 2023-09-25 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 3c11d839c4af46..112dbaea3447b8 100644 --- a/api_docs/kbn_hapi_mocks.mdx +++ b/api_docs/kbn_hapi_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-hapi-mocks title: "@kbn/hapi-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/hapi-mocks plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/hapi-mocks'] --- import kbnHapiMocksObj from './kbn_hapi_mocks.devdocs.json'; diff --git a/api_docs/kbn_health_gateway_server.mdx b/api_docs/kbn_health_gateway_server.mdx index f1d3348efc9b98..001d6acc2fa6d2 100644 --- a/api_docs/kbn_health_gateway_server.mdx +++ b/api_docs/kbn_health_gateway_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-health-gateway-server title: "@kbn/health-gateway-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/health-gateway-server plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/health-gateway-server'] --- import kbnHealthGatewayServerObj from './kbn_health_gateway_server.devdocs.json'; diff --git a/api_docs/kbn_home_sample_data_card.mdx b/api_docs/kbn_home_sample_data_card.mdx index 968c772c1c591a..d8ce739a1bc156 100644 --- a/api_docs/kbn_home_sample_data_card.mdx +++ b/api_docs/kbn_home_sample_data_card.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-home-sample-data-card title: "@kbn/home-sample-data-card" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/home-sample-data-card plugin -date: 2023-09-24 +date: 2023-09-25 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 02168d6c638f9a..1857796753c326 100644 --- a/api_docs/kbn_home_sample_data_tab.mdx +++ b/api_docs/kbn_home_sample_data_tab.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-home-sample-data-tab title: "@kbn/home-sample-data-tab" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/home-sample-data-tab plugin -date: 2023-09-24 +date: 2023-09-25 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 f2eac89d8f1728..e35341e4a6138c 100644 --- a/api_docs/kbn_i18n.mdx +++ b/api_docs/kbn_i18n.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-i18n title: "@kbn/i18n" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/i18n plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/i18n'] --- import kbnI18nObj from './kbn_i18n.devdocs.json'; diff --git a/api_docs/kbn_i18n_react.mdx b/api_docs/kbn_i18n_react.mdx index a54b799549dd8d..0b68e1641af45d 100644 --- a/api_docs/kbn_i18n_react.mdx +++ b/api_docs/kbn_i18n_react.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-i18n-react title: "@kbn/i18n-react" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/i18n-react plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/i18n-react'] --- import kbnI18nReactObj from './kbn_i18n_react.devdocs.json'; diff --git a/api_docs/kbn_import_resolver.mdx b/api_docs/kbn_import_resolver.mdx index 1cbaf3bdac6041..f476b2ec1fc4dc 100644 --- a/api_docs/kbn_import_resolver.mdx +++ b/api_docs/kbn_import_resolver.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-import-resolver title: "@kbn/import-resolver" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/import-resolver plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/import-resolver'] --- import kbnImportResolverObj from './kbn_import_resolver.devdocs.json'; diff --git a/api_docs/kbn_infra_forge.mdx b/api_docs/kbn_infra_forge.mdx index f2a65d26a8adf5..e86d57f05bde6c 100644 --- a/api_docs/kbn_infra_forge.mdx +++ b/api_docs/kbn_infra_forge.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-infra-forge title: "@kbn/infra-forge" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/infra-forge plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/infra-forge'] --- import kbnInfraForgeObj from './kbn_infra_forge.devdocs.json'; diff --git a/api_docs/kbn_interpreter.mdx b/api_docs/kbn_interpreter.mdx index fd6051a9444cec..1eb782fb97a7aa 100644 --- a/api_docs/kbn_interpreter.mdx +++ b/api_docs/kbn_interpreter.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-interpreter title: "@kbn/interpreter" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/interpreter plugin -date: 2023-09-24 +date: 2023-09-25 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 e192a67e9236cf..3ff5c27cea9282 100644 --- a/api_docs/kbn_io_ts_utils.mdx +++ b/api_docs/kbn_io_ts_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-io-ts-utils title: "@kbn/io-ts-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/io-ts-utils plugin -date: 2023-09-24 +date: 2023-09-25 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 b5efbe7e33ff71..de08cea9a52eac 100644 --- a/api_docs/kbn_jest_serializers.mdx +++ b/api_docs/kbn_jest_serializers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-jest-serializers title: "@kbn/jest-serializers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/jest-serializers plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/jest-serializers'] --- import kbnJestSerializersObj from './kbn_jest_serializers.devdocs.json'; diff --git a/api_docs/kbn_journeys.mdx b/api_docs/kbn_journeys.mdx index ec890e4012b6a5..b83426b8881f67 100644 --- a/api_docs/kbn_journeys.mdx +++ b/api_docs/kbn_journeys.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-journeys title: "@kbn/journeys" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/journeys plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/journeys'] --- import kbnJourneysObj from './kbn_journeys.devdocs.json'; diff --git a/api_docs/kbn_json_ast.mdx b/api_docs/kbn_json_ast.mdx index fa277f36a57b64..047032d25cb1c2 100644 --- a/api_docs/kbn_json_ast.mdx +++ b/api_docs/kbn_json_ast.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-json-ast title: "@kbn/json-ast" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/json-ast plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/json-ast'] --- import kbnJsonAstObj from './kbn_json_ast.devdocs.json'; diff --git a/api_docs/kbn_kibana_manifest_schema.mdx b/api_docs/kbn_kibana_manifest_schema.mdx index 74745c1dad7e40..0e2b9839031d22 100644 --- a/api_docs/kbn_kibana_manifest_schema.mdx +++ b/api_docs/kbn_kibana_manifest_schema.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-kibana-manifest-schema title: "@kbn/kibana-manifest-schema" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/kibana-manifest-schema plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/kibana-manifest-schema'] --- import kbnKibanaManifestSchemaObj from './kbn_kibana_manifest_schema.devdocs.json'; diff --git a/api_docs/kbn_language_documentation_popover.mdx b/api_docs/kbn_language_documentation_popover.mdx index 2208a22b35d9d7..dbef273cea48bc 100644 --- a/api_docs/kbn_language_documentation_popover.mdx +++ b/api_docs/kbn_language_documentation_popover.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-language-documentation-popover title: "@kbn/language-documentation-popover" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/language-documentation-popover plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/language-documentation-popover'] --- import kbnLanguageDocumentationPopoverObj from './kbn_language_documentation_popover.devdocs.json'; diff --git a/api_docs/kbn_lens_embeddable_utils.mdx b/api_docs/kbn_lens_embeddable_utils.mdx index f294b6f982209f..c5c5681e3012a5 100644 --- a/api_docs/kbn_lens_embeddable_utils.mdx +++ b/api_docs/kbn_lens_embeddable_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-lens-embeddable-utils title: "@kbn/lens-embeddable-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/lens-embeddable-utils plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/lens-embeddable-utils'] --- import kbnLensEmbeddableUtilsObj from './kbn_lens_embeddable_utils.devdocs.json'; diff --git a/api_docs/kbn_logging.mdx b/api_docs/kbn_logging.mdx index 9986ca75c1325e..743dfd6613d16f 100644 --- a/api_docs/kbn_logging.mdx +++ b/api_docs/kbn_logging.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-logging title: "@kbn/logging" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/logging plugin -date: 2023-09-24 +date: 2023-09-25 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 2bcc411211f8bd..5f11011b0bf7a9 100644 --- a/api_docs/kbn_logging_mocks.mdx +++ b/api_docs/kbn_logging_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-logging-mocks title: "@kbn/logging-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/logging-mocks plugin -date: 2023-09-24 +date: 2023-09-25 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 d122897870a677..c9433e41a126e6 100644 --- a/api_docs/kbn_managed_vscode_config.mdx +++ b/api_docs/kbn_managed_vscode_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-managed-vscode-config title: "@kbn/managed-vscode-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/managed-vscode-config plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/managed-vscode-config'] --- import kbnManagedVscodeConfigObj from './kbn_managed_vscode_config.devdocs.json'; diff --git a/api_docs/kbn_management_cards_navigation.mdx b/api_docs/kbn_management_cards_navigation.mdx index 2697cb9c2263f2..e0d6919349ad71 100644 --- a/api_docs/kbn_management_cards_navigation.mdx +++ b/api_docs/kbn_management_cards_navigation.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-cards-navigation title: "@kbn/management-cards-navigation" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-cards-navigation plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-cards-navigation'] --- import kbnManagementCardsNavigationObj from './kbn_management_cards_navigation.devdocs.json'; diff --git a/api_docs/kbn_management_settings_components_field_input.mdx b/api_docs/kbn_management_settings_components_field_input.mdx index d5fb5616ab7ef4..b9a73ffc4f5d49 100644 --- a/api_docs/kbn_management_settings_components_field_input.mdx +++ b/api_docs/kbn_management_settings_components_field_input.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-components-field-input title: "@kbn/management-settings-components-field-input" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-components-field-input plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-components-field-input'] --- import kbnManagementSettingsComponentsFieldInputObj from './kbn_management_settings_components_field_input.devdocs.json'; diff --git a/api_docs/kbn_management_settings_components_field_row.mdx b/api_docs/kbn_management_settings_components_field_row.mdx index 273457c3879dc1..8e8ea4b103db1f 100644 --- a/api_docs/kbn_management_settings_components_field_row.mdx +++ b/api_docs/kbn_management_settings_components_field_row.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-components-field-row title: "@kbn/management-settings-components-field-row" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-components-field-row plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-components-field-row'] --- import kbnManagementSettingsComponentsFieldRowObj from './kbn_management_settings_components_field_row.devdocs.json'; diff --git a/api_docs/kbn_management_settings_field_definition.mdx b/api_docs/kbn_management_settings_field_definition.mdx index 3b12bc40f45ab9..b2f42e06161251 100644 --- a/api_docs/kbn_management_settings_field_definition.mdx +++ b/api_docs/kbn_management_settings_field_definition.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-field-definition title: "@kbn/management-settings-field-definition" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-field-definition plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-field-definition'] --- import kbnManagementSettingsFieldDefinitionObj from './kbn_management_settings_field_definition.devdocs.json'; diff --git a/api_docs/kbn_management_settings_ids.mdx b/api_docs/kbn_management_settings_ids.mdx index a9d5aa061c0c95..893d2328b22fa3 100644 --- a/api_docs/kbn_management_settings_ids.mdx +++ b/api_docs/kbn_management_settings_ids.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-ids title: "@kbn/management-settings-ids" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-ids plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-ids'] --- import kbnManagementSettingsIdsObj from './kbn_management_settings_ids.devdocs.json'; diff --git a/api_docs/kbn_management_settings_section_registry.mdx b/api_docs/kbn_management_settings_section_registry.mdx index ab0d3f0406780b..ed99fa80766c4d 100644 --- a/api_docs/kbn_management_settings_section_registry.mdx +++ b/api_docs/kbn_management_settings_section_registry.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-section-registry title: "@kbn/management-settings-section-registry" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-section-registry plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-section-registry'] --- import kbnManagementSettingsSectionRegistryObj from './kbn_management_settings_section_registry.devdocs.json'; diff --git a/api_docs/kbn_management_settings_types.mdx b/api_docs/kbn_management_settings_types.mdx index 8c5c42e591dcbc..a403ae48283b75 100644 --- a/api_docs/kbn_management_settings_types.mdx +++ b/api_docs/kbn_management_settings_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-types title: "@kbn/management-settings-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-types plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-types'] --- import kbnManagementSettingsTypesObj from './kbn_management_settings_types.devdocs.json'; diff --git a/api_docs/kbn_management_settings_utilities.mdx b/api_docs/kbn_management_settings_utilities.mdx index 5a7af74a53ed5e..49ba997e4f681b 100644 --- a/api_docs/kbn_management_settings_utilities.mdx +++ b/api_docs/kbn_management_settings_utilities.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-utilities title: "@kbn/management-settings-utilities" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-utilities plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-utilities'] --- import kbnManagementSettingsUtilitiesObj from './kbn_management_settings_utilities.devdocs.json'; diff --git a/api_docs/kbn_management_storybook_config.mdx b/api_docs/kbn_management_storybook_config.mdx index b1fb21d39d2578..bb2582bad4a12e 100644 --- a/api_docs/kbn_management_storybook_config.mdx +++ b/api_docs/kbn_management_storybook_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-storybook-config title: "@kbn/management-storybook-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-storybook-config plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-storybook-config'] --- import kbnManagementStorybookConfigObj from './kbn_management_storybook_config.devdocs.json'; diff --git a/api_docs/kbn_mapbox_gl.mdx b/api_docs/kbn_mapbox_gl.mdx index 86e25aceb366ce..bc5b83226c36a9 100644 --- a/api_docs/kbn_mapbox_gl.mdx +++ b/api_docs/kbn_mapbox_gl.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-mapbox-gl title: "@kbn/mapbox-gl" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/mapbox-gl plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/mapbox-gl'] --- import kbnMapboxGlObj from './kbn_mapbox_gl.devdocs.json'; diff --git a/api_docs/kbn_maps_vector_tile_utils.mdx b/api_docs/kbn_maps_vector_tile_utils.mdx index f4f916ce8dec1c..83c17a794e6bba 100644 --- a/api_docs/kbn_maps_vector_tile_utils.mdx +++ b/api_docs/kbn_maps_vector_tile_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-maps-vector-tile-utils title: "@kbn/maps-vector-tile-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/maps-vector-tile-utils plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/maps-vector-tile-utils'] --- import kbnMapsVectorTileUtilsObj from './kbn_maps_vector_tile_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_agg_utils.mdx b/api_docs/kbn_ml_agg_utils.mdx index 376f5405da9201..25c2ba0d5d608b 100644 --- a/api_docs/kbn_ml_agg_utils.mdx +++ b/api_docs/kbn_ml_agg_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-agg-utils title: "@kbn/ml-agg-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-agg-utils plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-agg-utils'] --- import kbnMlAggUtilsObj from './kbn_ml_agg_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_anomaly_utils.mdx b/api_docs/kbn_ml_anomaly_utils.mdx index e609c5a1f706b8..b83a4d4a6614da 100644 --- a/api_docs/kbn_ml_anomaly_utils.mdx +++ b/api_docs/kbn_ml_anomaly_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-anomaly-utils title: "@kbn/ml-anomaly-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-anomaly-utils plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-anomaly-utils'] --- import kbnMlAnomalyUtilsObj from './kbn_ml_anomaly_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_category_validator.mdx b/api_docs/kbn_ml_category_validator.mdx index 241a5792afc0d5..4658a091d165eb 100644 --- a/api_docs/kbn_ml_category_validator.mdx +++ b/api_docs/kbn_ml_category_validator.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-category-validator title: "@kbn/ml-category-validator" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-category-validator plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-category-validator'] --- import kbnMlCategoryValidatorObj from './kbn_ml_category_validator.devdocs.json'; diff --git a/api_docs/kbn_ml_data_frame_analytics_utils.mdx b/api_docs/kbn_ml_data_frame_analytics_utils.mdx index d5b6d80e320085..3e748a58c2008c 100644 --- a/api_docs/kbn_ml_data_frame_analytics_utils.mdx +++ b/api_docs/kbn_ml_data_frame_analytics_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-data-frame-analytics-utils title: "@kbn/ml-data-frame-analytics-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-data-frame-analytics-utils plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-data-frame-analytics-utils'] --- import kbnMlDataFrameAnalyticsUtilsObj from './kbn_ml_data_frame_analytics_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_data_grid.mdx b/api_docs/kbn_ml_data_grid.mdx index 4285f4ee682649..00ff6cd26b022d 100644 --- a/api_docs/kbn_ml_data_grid.mdx +++ b/api_docs/kbn_ml_data_grid.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-data-grid title: "@kbn/ml-data-grid" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-data-grid plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-data-grid'] --- import kbnMlDataGridObj from './kbn_ml_data_grid.devdocs.json'; diff --git a/api_docs/kbn_ml_date_picker.mdx b/api_docs/kbn_ml_date_picker.mdx index 3dd7c4a0a68d8f..4d7a4aa29a9efa 100644 --- a/api_docs/kbn_ml_date_picker.mdx +++ b/api_docs/kbn_ml_date_picker.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-date-picker title: "@kbn/ml-date-picker" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-date-picker plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-date-picker'] --- import kbnMlDatePickerObj from './kbn_ml_date_picker.devdocs.json'; diff --git a/api_docs/kbn_ml_date_utils.mdx b/api_docs/kbn_ml_date_utils.mdx index f7fae44d60e4f0..e0ab84aa0a179d 100644 --- a/api_docs/kbn_ml_date_utils.mdx +++ b/api_docs/kbn_ml_date_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-date-utils title: "@kbn/ml-date-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-date-utils plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-date-utils'] --- import kbnMlDateUtilsObj from './kbn_ml_date_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_error_utils.mdx b/api_docs/kbn_ml_error_utils.mdx index 87e5e16d82e80d..3a12f3c49aa489 100644 --- a/api_docs/kbn_ml_error_utils.mdx +++ b/api_docs/kbn_ml_error_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-error-utils title: "@kbn/ml-error-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-error-utils plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-error-utils'] --- import kbnMlErrorUtilsObj from './kbn_ml_error_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_in_memory_table.mdx b/api_docs/kbn_ml_in_memory_table.mdx index 0b4964fea46c05..f06bc6d9963ae1 100644 --- a/api_docs/kbn_ml_in_memory_table.mdx +++ b/api_docs/kbn_ml_in_memory_table.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-in-memory-table title: "@kbn/ml-in-memory-table" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-in-memory-table plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-in-memory-table'] --- import kbnMlInMemoryTableObj from './kbn_ml_in_memory_table.devdocs.json'; diff --git a/api_docs/kbn_ml_is_defined.mdx b/api_docs/kbn_ml_is_defined.mdx index f2496f246e1c9e..daacad5e7f5ca7 100644 --- a/api_docs/kbn_ml_is_defined.mdx +++ b/api_docs/kbn_ml_is_defined.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-is-defined title: "@kbn/ml-is-defined" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-is-defined plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-is-defined'] --- import kbnMlIsDefinedObj from './kbn_ml_is_defined.devdocs.json'; diff --git a/api_docs/kbn_ml_is_populated_object.mdx b/api_docs/kbn_ml_is_populated_object.mdx index e12933d26f4864..464622aa3d617d 100644 --- a/api_docs/kbn_ml_is_populated_object.mdx +++ b/api_docs/kbn_ml_is_populated_object.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-is-populated-object title: "@kbn/ml-is-populated-object" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-is-populated-object plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-is-populated-object'] --- import kbnMlIsPopulatedObjectObj from './kbn_ml_is_populated_object.devdocs.json'; diff --git a/api_docs/kbn_ml_kibana_theme.mdx b/api_docs/kbn_ml_kibana_theme.mdx index 5a00766fc91f86..f9a9bc821e1064 100644 --- a/api_docs/kbn_ml_kibana_theme.mdx +++ b/api_docs/kbn_ml_kibana_theme.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-kibana-theme title: "@kbn/ml-kibana-theme" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-kibana-theme plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-kibana-theme'] --- import kbnMlKibanaThemeObj from './kbn_ml_kibana_theme.devdocs.json'; diff --git a/api_docs/kbn_ml_local_storage.mdx b/api_docs/kbn_ml_local_storage.mdx index a436663c6758a3..ad7313b831f6a2 100644 --- a/api_docs/kbn_ml_local_storage.mdx +++ b/api_docs/kbn_ml_local_storage.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-local-storage title: "@kbn/ml-local-storage" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-local-storage plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-local-storage'] --- import kbnMlLocalStorageObj from './kbn_ml_local_storage.devdocs.json'; diff --git a/api_docs/kbn_ml_nested_property.mdx b/api_docs/kbn_ml_nested_property.mdx index 8e06ddbbe23337..403a7969d5e645 100644 --- a/api_docs/kbn_ml_nested_property.mdx +++ b/api_docs/kbn_ml_nested_property.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-nested-property title: "@kbn/ml-nested-property" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-nested-property plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-nested-property'] --- import kbnMlNestedPropertyObj from './kbn_ml_nested_property.devdocs.json'; diff --git a/api_docs/kbn_ml_number_utils.mdx b/api_docs/kbn_ml_number_utils.mdx index 6091513acc6a01..82b8dfff78846d 100644 --- a/api_docs/kbn_ml_number_utils.mdx +++ b/api_docs/kbn_ml_number_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-number-utils title: "@kbn/ml-number-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-number-utils plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-number-utils'] --- import kbnMlNumberUtilsObj from './kbn_ml_number_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_query_utils.mdx b/api_docs/kbn_ml_query_utils.mdx index d9c3105aa346e1..3e94c667469728 100644 --- a/api_docs/kbn_ml_query_utils.mdx +++ b/api_docs/kbn_ml_query_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-query-utils title: "@kbn/ml-query-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-query-utils plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-query-utils'] --- import kbnMlQueryUtilsObj from './kbn_ml_query_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_random_sampler_utils.mdx b/api_docs/kbn_ml_random_sampler_utils.mdx index cd078f12de67ec..e647e7cbf750be 100644 --- a/api_docs/kbn_ml_random_sampler_utils.mdx +++ b/api_docs/kbn_ml_random_sampler_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-random-sampler-utils title: "@kbn/ml-random-sampler-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-random-sampler-utils plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-random-sampler-utils'] --- import kbnMlRandomSamplerUtilsObj from './kbn_ml_random_sampler_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_route_utils.mdx b/api_docs/kbn_ml_route_utils.mdx index ea27087fc06a0e..e2acd8ef3b8beb 100644 --- a/api_docs/kbn_ml_route_utils.mdx +++ b/api_docs/kbn_ml_route_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-route-utils title: "@kbn/ml-route-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-route-utils plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-route-utils'] --- import kbnMlRouteUtilsObj from './kbn_ml_route_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_runtime_field_utils.mdx b/api_docs/kbn_ml_runtime_field_utils.mdx index 4dc78102f6125d..dd1e17aff3e6de 100644 --- a/api_docs/kbn_ml_runtime_field_utils.mdx +++ b/api_docs/kbn_ml_runtime_field_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-runtime-field-utils title: "@kbn/ml-runtime-field-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-runtime-field-utils plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-runtime-field-utils'] --- import kbnMlRuntimeFieldUtilsObj from './kbn_ml_runtime_field_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_string_hash.mdx b/api_docs/kbn_ml_string_hash.mdx index 61b0a7ea3270c6..4ae8ec2d9dc65f 100644 --- a/api_docs/kbn_ml_string_hash.mdx +++ b/api_docs/kbn_ml_string_hash.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-string-hash title: "@kbn/ml-string-hash" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-string-hash plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-string-hash'] --- import kbnMlStringHashObj from './kbn_ml_string_hash.devdocs.json'; diff --git a/api_docs/kbn_ml_trained_models_utils.mdx b/api_docs/kbn_ml_trained_models_utils.mdx index ef7d77d8af1784..c54e0d15eb6bdb 100644 --- a/api_docs/kbn_ml_trained_models_utils.mdx +++ b/api_docs/kbn_ml_trained_models_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-trained-models-utils title: "@kbn/ml-trained-models-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-trained-models-utils plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-trained-models-utils'] --- import kbnMlTrainedModelsUtilsObj from './kbn_ml_trained_models_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_url_state.mdx b/api_docs/kbn_ml_url_state.mdx index 4bf5182ad6eb5b..fb0a0c56e0c6a1 100644 --- a/api_docs/kbn_ml_url_state.mdx +++ b/api_docs/kbn_ml_url_state.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-url-state title: "@kbn/ml-url-state" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-url-state plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-url-state'] --- import kbnMlUrlStateObj from './kbn_ml_url_state.devdocs.json'; diff --git a/api_docs/kbn_monaco.mdx b/api_docs/kbn_monaco.mdx index f72650d44a6da9..e6e6002c5160dd 100644 --- a/api_docs/kbn_monaco.mdx +++ b/api_docs/kbn_monaco.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-monaco title: "@kbn/monaco" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/monaco plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/monaco'] --- import kbnMonacoObj from './kbn_monaco.devdocs.json'; diff --git a/api_docs/kbn_object_versioning.mdx b/api_docs/kbn_object_versioning.mdx index 529e649cc52bd1..87e4107c558a8b 100644 --- a/api_docs/kbn_object_versioning.mdx +++ b/api_docs/kbn_object_versioning.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-object-versioning title: "@kbn/object-versioning" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/object-versioning plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/object-versioning'] --- import kbnObjectVersioningObj from './kbn_object_versioning.devdocs.json'; diff --git a/api_docs/kbn_observability_alert_details.mdx b/api_docs/kbn_observability_alert_details.mdx index 6ee6c0784ea7c3..9233358b2e19cd 100644 --- a/api_docs/kbn_observability_alert_details.mdx +++ b/api_docs/kbn_observability_alert_details.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-observability-alert-details title: "@kbn/observability-alert-details" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/observability-alert-details plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/observability-alert-details'] --- import kbnObservabilityAlertDetailsObj from './kbn_observability_alert_details.devdocs.json'; diff --git a/api_docs/kbn_optimizer.mdx b/api_docs/kbn_optimizer.mdx index 6c2b04620e0f69..a292fa3b74e960 100644 --- a/api_docs/kbn_optimizer.mdx +++ b/api_docs/kbn_optimizer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-optimizer title: "@kbn/optimizer" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/optimizer plugin -date: 2023-09-24 +date: 2023-09-25 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 a2a4d936d8ca6b..fb1356fac73e36 100644 --- a/api_docs/kbn_optimizer_webpack_helpers.mdx +++ b/api_docs/kbn_optimizer_webpack_helpers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-optimizer-webpack-helpers title: "@kbn/optimizer-webpack-helpers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/optimizer-webpack-helpers plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/optimizer-webpack-helpers'] --- import kbnOptimizerWebpackHelpersObj from './kbn_optimizer_webpack_helpers.devdocs.json'; diff --git a/api_docs/kbn_osquery_io_ts_types.mdx b/api_docs/kbn_osquery_io_ts_types.mdx index 3f83d80990033f..6c9ee72777eede 100644 --- a/api_docs/kbn_osquery_io_ts_types.mdx +++ b/api_docs/kbn_osquery_io_ts_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-osquery-io-ts-types title: "@kbn/osquery-io-ts-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/osquery-io-ts-types plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/osquery-io-ts-types'] --- import kbnOsqueryIoTsTypesObj from './kbn_osquery_io_ts_types.devdocs.json'; diff --git a/api_docs/kbn_performance_testing_dataset_extractor.mdx b/api_docs/kbn_performance_testing_dataset_extractor.mdx index c700ef8c2cd2da..f1e15978837531 100644 --- a/api_docs/kbn_performance_testing_dataset_extractor.mdx +++ b/api_docs/kbn_performance_testing_dataset_extractor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-performance-testing-dataset-extractor title: "@kbn/performance-testing-dataset-extractor" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/performance-testing-dataset-extractor plugin -date: 2023-09-24 +date: 2023-09-25 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 850a772e85d532..24bfb029d61098 100644 --- a/api_docs/kbn_plugin_generator.mdx +++ b/api_docs/kbn_plugin_generator.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-plugin-generator title: "@kbn/plugin-generator" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/plugin-generator plugin -date: 2023-09-24 +date: 2023-09-25 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 7994b5adb6d25c..953511e39f2e3a 100644 --- a/api_docs/kbn_plugin_helpers.mdx +++ b/api_docs/kbn_plugin_helpers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-plugin-helpers title: "@kbn/plugin-helpers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/plugin-helpers plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/plugin-helpers'] --- import kbnPluginHelpersObj from './kbn_plugin_helpers.devdocs.json'; diff --git a/api_docs/kbn_profiling_utils.mdx b/api_docs/kbn_profiling_utils.mdx index 1c85ba30ab2462..0514e6150c8917 100644 --- a/api_docs/kbn_profiling_utils.mdx +++ b/api_docs/kbn_profiling_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-profiling-utils title: "@kbn/profiling-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/profiling-utils plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/profiling-utils'] --- import kbnProfilingUtilsObj from './kbn_profiling_utils.devdocs.json'; diff --git a/api_docs/kbn_random_sampling.mdx b/api_docs/kbn_random_sampling.mdx index 37552f457dfec0..c7ec2b6a936036 100644 --- a/api_docs/kbn_random_sampling.mdx +++ b/api_docs/kbn_random_sampling.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-random-sampling title: "@kbn/random-sampling" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/random-sampling plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/random-sampling'] --- import kbnRandomSamplingObj from './kbn_random_sampling.devdocs.json'; diff --git a/api_docs/kbn_react_field.mdx b/api_docs/kbn_react_field.mdx index 8268076851c787..0507895dffd499 100644 --- a/api_docs/kbn_react_field.mdx +++ b/api_docs/kbn_react_field.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-field title: "@kbn/react-field" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-field plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-field'] --- import kbnReactFieldObj from './kbn_react_field.devdocs.json'; diff --git a/api_docs/kbn_react_kibana_context_common.mdx b/api_docs/kbn_react_kibana_context_common.mdx index a3abe26c85bafb..704735f466ae55 100644 --- a/api_docs/kbn_react_kibana_context_common.mdx +++ b/api_docs/kbn_react_kibana_context_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-kibana-context-common title: "@kbn/react-kibana-context-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-kibana-context-common plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-kibana-context-common'] --- import kbnReactKibanaContextCommonObj from './kbn_react_kibana_context_common.devdocs.json'; diff --git a/api_docs/kbn_react_kibana_context_render.mdx b/api_docs/kbn_react_kibana_context_render.mdx index 2c844614eb5d82..e88986d3607aa4 100644 --- a/api_docs/kbn_react_kibana_context_render.mdx +++ b/api_docs/kbn_react_kibana_context_render.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-kibana-context-render title: "@kbn/react-kibana-context-render" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-kibana-context-render plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-kibana-context-render'] --- import kbnReactKibanaContextRenderObj from './kbn_react_kibana_context_render.devdocs.json'; diff --git a/api_docs/kbn_react_kibana_context_root.mdx b/api_docs/kbn_react_kibana_context_root.mdx index e56515be733411..11e05f741a2ac2 100644 --- a/api_docs/kbn_react_kibana_context_root.mdx +++ b/api_docs/kbn_react_kibana_context_root.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-kibana-context-root title: "@kbn/react-kibana-context-root" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-kibana-context-root plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-kibana-context-root'] --- import kbnReactKibanaContextRootObj from './kbn_react_kibana_context_root.devdocs.json'; diff --git a/api_docs/kbn_react_kibana_context_styled.mdx b/api_docs/kbn_react_kibana_context_styled.mdx index dfa1c23251601e..5ddab41b468386 100644 --- a/api_docs/kbn_react_kibana_context_styled.mdx +++ b/api_docs/kbn_react_kibana_context_styled.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-kibana-context-styled title: "@kbn/react-kibana-context-styled" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-kibana-context-styled plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-kibana-context-styled'] --- import kbnReactKibanaContextStyledObj from './kbn_react_kibana_context_styled.devdocs.json'; diff --git a/api_docs/kbn_react_kibana_context_theme.mdx b/api_docs/kbn_react_kibana_context_theme.mdx index 4f6c351dfc02e5..83de93e3369ea6 100644 --- a/api_docs/kbn_react_kibana_context_theme.mdx +++ b/api_docs/kbn_react_kibana_context_theme.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-kibana-context-theme title: "@kbn/react-kibana-context-theme" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-kibana-context-theme plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-kibana-context-theme'] --- import kbnReactKibanaContextThemeObj from './kbn_react_kibana_context_theme.devdocs.json'; diff --git a/api_docs/kbn_react_kibana_mount.mdx b/api_docs/kbn_react_kibana_mount.mdx index 50405fe09162f6..dca37ad6e56a42 100644 --- a/api_docs/kbn_react_kibana_mount.mdx +++ b/api_docs/kbn_react_kibana_mount.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-kibana-mount title: "@kbn/react-kibana-mount" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-kibana-mount plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-kibana-mount'] --- import kbnReactKibanaMountObj from './kbn_react_kibana_mount.devdocs.json'; diff --git a/api_docs/kbn_repo_file_maps.mdx b/api_docs/kbn_repo_file_maps.mdx index 4c09951c5ff792..a68d4f826eb980 100644 --- a/api_docs/kbn_repo_file_maps.mdx +++ b/api_docs/kbn_repo_file_maps.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-repo-file-maps title: "@kbn/repo-file-maps" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/repo-file-maps plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/repo-file-maps'] --- import kbnRepoFileMapsObj from './kbn_repo_file_maps.devdocs.json'; diff --git a/api_docs/kbn_repo_linter.mdx b/api_docs/kbn_repo_linter.mdx index ab0eccce35d856..6f879cf7898a84 100644 --- a/api_docs/kbn_repo_linter.mdx +++ b/api_docs/kbn_repo_linter.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-repo-linter title: "@kbn/repo-linter" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/repo-linter plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/repo-linter'] --- import kbnRepoLinterObj from './kbn_repo_linter.devdocs.json'; diff --git a/api_docs/kbn_repo_path.mdx b/api_docs/kbn_repo_path.mdx index 631638512c6131..2f36028277cef3 100644 --- a/api_docs/kbn_repo_path.mdx +++ b/api_docs/kbn_repo_path.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-repo-path title: "@kbn/repo-path" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/repo-path plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/repo-path'] --- import kbnRepoPathObj from './kbn_repo_path.devdocs.json'; diff --git a/api_docs/kbn_repo_source_classifier.mdx b/api_docs/kbn_repo_source_classifier.mdx index ecfa863d25a0e5..f227b7022b7f55 100644 --- a/api_docs/kbn_repo_source_classifier.mdx +++ b/api_docs/kbn_repo_source_classifier.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-repo-source-classifier title: "@kbn/repo-source-classifier" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/repo-source-classifier plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/repo-source-classifier'] --- import kbnRepoSourceClassifierObj from './kbn_repo_source_classifier.devdocs.json'; diff --git a/api_docs/kbn_reporting_common.mdx b/api_docs/kbn_reporting_common.mdx index b4d73be05bfb0f..d6e4e4237cff55 100644 --- a/api_docs/kbn_reporting_common.mdx +++ b/api_docs/kbn_reporting_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-reporting-common title: "@kbn/reporting-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/reporting-common plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/reporting-common'] --- import kbnReportingCommonObj from './kbn_reporting_common.devdocs.json'; diff --git a/api_docs/kbn_rison.mdx b/api_docs/kbn_rison.mdx index 442778fa546937..f34844fc311aa8 100644 --- a/api_docs/kbn_rison.mdx +++ b/api_docs/kbn_rison.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-rison title: "@kbn/rison" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/rison plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/rison'] --- import kbnRisonObj from './kbn_rison.devdocs.json'; diff --git a/api_docs/kbn_rrule.mdx b/api_docs/kbn_rrule.mdx index 17c07dc32c52b1..8ae853ee7e2f88 100644 --- a/api_docs/kbn_rrule.mdx +++ b/api_docs/kbn_rrule.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-rrule title: "@kbn/rrule" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/rrule plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/rrule'] --- import kbnRruleObj from './kbn_rrule.devdocs.json'; diff --git a/api_docs/kbn_rule_data_utils.mdx b/api_docs/kbn_rule_data_utils.mdx index 43780e42acfa3d..6d85dcea07a21b 100644 --- a/api_docs/kbn_rule_data_utils.mdx +++ b/api_docs/kbn_rule_data_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-rule-data-utils title: "@kbn/rule-data-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/rule-data-utils plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/rule-data-utils'] --- import kbnRuleDataUtilsObj from './kbn_rule_data_utils.devdocs.json'; diff --git a/api_docs/kbn_saved_objects_settings.mdx b/api_docs/kbn_saved_objects_settings.mdx index 6e20707ad29e31..cc68470fb70740 100644 --- a/api_docs/kbn_saved_objects_settings.mdx +++ b/api_docs/kbn_saved_objects_settings.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-saved-objects-settings title: "@kbn/saved-objects-settings" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/saved-objects-settings plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/saved-objects-settings'] --- import kbnSavedObjectsSettingsObj from './kbn_saved_objects_settings.devdocs.json'; diff --git a/api_docs/kbn_search_api_panels.mdx b/api_docs/kbn_search_api_panels.mdx index 7a59430006acff..4ebf980f79a2c9 100644 --- a/api_docs/kbn_search_api_panels.mdx +++ b/api_docs/kbn_search_api_panels.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-search-api-panels title: "@kbn/search-api-panels" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/search-api-panels plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/search-api-panels'] --- import kbnSearchApiPanelsObj from './kbn_search_api_panels.devdocs.json'; diff --git a/api_docs/kbn_search_connectors.mdx b/api_docs/kbn_search_connectors.mdx index 93878cc821b32b..5d1e79818fbf6e 100644 --- a/api_docs/kbn_search_connectors.mdx +++ b/api_docs/kbn_search_connectors.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-search-connectors title: "@kbn/search-connectors" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/search-connectors plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/search-connectors'] --- import kbnSearchConnectorsObj from './kbn_search_connectors.devdocs.json'; diff --git a/api_docs/kbn_search_response_warnings.mdx b/api_docs/kbn_search_response_warnings.mdx index 6b998b92eca369..f90b75127bafd6 100644 --- a/api_docs/kbn_search_response_warnings.mdx +++ b/api_docs/kbn_search_response_warnings.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-search-response-warnings title: "@kbn/search-response-warnings" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/search-response-warnings plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/search-response-warnings'] --- import kbnSearchResponseWarningsObj from './kbn_search_response_warnings.devdocs.json'; diff --git a/api_docs/kbn_security_solution_features.mdx b/api_docs/kbn_security_solution_features.mdx index 6fd9ab1163c90f..dd6bac00eed15c 100644 --- a/api_docs/kbn_security_solution_features.mdx +++ b/api_docs/kbn_security_solution_features.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-security-solution-features title: "@kbn/security-solution-features" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/security-solution-features plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/security-solution-features'] --- import kbnSecuritySolutionFeaturesObj from './kbn_security_solution_features.devdocs.json'; diff --git a/api_docs/kbn_security_solution_navigation.mdx b/api_docs/kbn_security_solution_navigation.mdx index 6167fd19f44311..5491a100b92a09 100644 --- a/api_docs/kbn_security_solution_navigation.mdx +++ b/api_docs/kbn_security_solution_navigation.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-security-solution-navigation title: "@kbn/security-solution-navigation" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/security-solution-navigation plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/security-solution-navigation'] --- import kbnSecuritySolutionNavigationObj from './kbn_security_solution_navigation.devdocs.json'; diff --git a/api_docs/kbn_security_solution_side_nav.mdx b/api_docs/kbn_security_solution_side_nav.mdx index 29987c77464ae7..d8f757a4661988 100644 --- a/api_docs/kbn_security_solution_side_nav.mdx +++ b/api_docs/kbn_security_solution_side_nav.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-security-solution-side-nav title: "@kbn/security-solution-side-nav" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/security-solution-side-nav plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/security-solution-side-nav'] --- import kbnSecuritySolutionSideNavObj from './kbn_security_solution_side_nav.devdocs.json'; diff --git a/api_docs/kbn_security_solution_storybook_config.mdx b/api_docs/kbn_security_solution_storybook_config.mdx index 8940d349885f4d..441d2d7deec6d1 100644 --- a/api_docs/kbn_security_solution_storybook_config.mdx +++ b/api_docs/kbn_security_solution_storybook_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-security-solution-storybook-config title: "@kbn/security-solution-storybook-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/security-solution-storybook-config plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/security-solution-storybook-config'] --- import kbnSecuritySolutionStorybookConfigObj from './kbn_security_solution_storybook_config.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_autocomplete.mdx b/api_docs/kbn_securitysolution_autocomplete.mdx index 58859d38b078c3..4a9fe5e16d8f4b 100644 --- a/api_docs/kbn_securitysolution_autocomplete.mdx +++ b/api_docs/kbn_securitysolution_autocomplete.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-autocomplete title: "@kbn/securitysolution-autocomplete" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-autocomplete plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-autocomplete'] --- import kbnSecuritysolutionAutocompleteObj from './kbn_securitysolution_autocomplete.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_data_table.mdx b/api_docs/kbn_securitysolution_data_table.mdx index a54f3051a1907c..06739a953d8e02 100644 --- a/api_docs/kbn_securitysolution_data_table.mdx +++ b/api_docs/kbn_securitysolution_data_table.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-data-table title: "@kbn/securitysolution-data-table" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-data-table plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-data-table'] --- import kbnSecuritysolutionDataTableObj from './kbn_securitysolution_data_table.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_ecs.mdx b/api_docs/kbn_securitysolution_ecs.mdx index 471435f8d8eb7f..1b55f4c3a1b2c8 100644 --- a/api_docs/kbn_securitysolution_ecs.mdx +++ b/api_docs/kbn_securitysolution_ecs.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-ecs title: "@kbn/securitysolution-ecs" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-ecs plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-ecs'] --- import kbnSecuritysolutionEcsObj from './kbn_securitysolution_ecs.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_es_utils.mdx b/api_docs/kbn_securitysolution_es_utils.mdx index 0ef461f114e0be..4e877404e8766f 100644 --- a/api_docs/kbn_securitysolution_es_utils.mdx +++ b/api_docs/kbn_securitysolution_es_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-es-utils title: "@kbn/securitysolution-es-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-es-utils plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-es-utils'] --- import kbnSecuritysolutionEsUtilsObj from './kbn_securitysolution_es_utils.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_exception_list_components.mdx b/api_docs/kbn_securitysolution_exception_list_components.mdx index e00bd50c1a1139..04c83082210b31 100644 --- a/api_docs/kbn_securitysolution_exception_list_components.mdx +++ b/api_docs/kbn_securitysolution_exception_list_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-exception-list-components title: "@kbn/securitysolution-exception-list-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-exception-list-components plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-exception-list-components'] --- import kbnSecuritysolutionExceptionListComponentsObj from './kbn_securitysolution_exception_list_components.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_grouping.mdx b/api_docs/kbn_securitysolution_grouping.mdx index 9aa0f9317e025b..33fad620f2896b 100644 --- a/api_docs/kbn_securitysolution_grouping.mdx +++ b/api_docs/kbn_securitysolution_grouping.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-grouping title: "@kbn/securitysolution-grouping" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-grouping plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-grouping'] --- import kbnSecuritysolutionGroupingObj from './kbn_securitysolution_grouping.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_hook_utils.mdx b/api_docs/kbn_securitysolution_hook_utils.mdx index b47f473bfe30e2..0bfe2641b5252f 100644 --- a/api_docs/kbn_securitysolution_hook_utils.mdx +++ b/api_docs/kbn_securitysolution_hook_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-hook-utils title: "@kbn/securitysolution-hook-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-hook-utils plugin -date: 2023-09-24 +date: 2023-09-25 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 60fdaf542c0308..06ff94f2f2df17 100644 --- a/api_docs/kbn_securitysolution_io_ts_alerting_types.mdx +++ b/api_docs/kbn_securitysolution_io_ts_alerting_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-io-ts-alerting-types title: "@kbn/securitysolution-io-ts-alerting-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-io-ts-alerting-types plugin -date: 2023-09-24 +date: 2023-09-25 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 af7735d0c2e8eb..f44b472ee21c76 100644 --- a/api_docs/kbn_securitysolution_io_ts_list_types.mdx +++ b/api_docs/kbn_securitysolution_io_ts_list_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-io-ts-list-types title: "@kbn/securitysolution-io-ts-list-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-io-ts-list-types plugin -date: 2023-09-24 +date: 2023-09-25 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 3bdd1afb87680f..4188e793224468 100644 --- a/api_docs/kbn_securitysolution_io_ts_types.mdx +++ b/api_docs/kbn_securitysolution_io_ts_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-io-ts-types title: "@kbn/securitysolution-io-ts-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-io-ts-types plugin -date: 2023-09-24 +date: 2023-09-25 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 a9e76ad54d86d5..93000e4766bb0c 100644 --- a/api_docs/kbn_securitysolution_io_ts_utils.mdx +++ b/api_docs/kbn_securitysolution_io_ts_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-io-ts-utils title: "@kbn/securitysolution-io-ts-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-io-ts-utils plugin -date: 2023-09-24 +date: 2023-09-25 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 be119b565c6845..c212829becd91a 100644 --- a/api_docs/kbn_securitysolution_list_api.mdx +++ b/api_docs/kbn_securitysolution_list_api.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-list-api title: "@kbn/securitysolution-list-api" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-list-api plugin -date: 2023-09-24 +date: 2023-09-25 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 7a1bd3b88ad893..382577a5efb666 100644 --- a/api_docs/kbn_securitysolution_list_constants.mdx +++ b/api_docs/kbn_securitysolution_list_constants.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-list-constants title: "@kbn/securitysolution-list-constants" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-list-constants plugin -date: 2023-09-24 +date: 2023-09-25 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 b5ac5c6007a69b..d65169c1c9390f 100644 --- a/api_docs/kbn_securitysolution_list_hooks.mdx +++ b/api_docs/kbn_securitysolution_list_hooks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-list-hooks title: "@kbn/securitysolution-list-hooks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-list-hooks plugin -date: 2023-09-24 +date: 2023-09-25 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 de953e46de517a..0bcf950f45f42b 100644 --- a/api_docs/kbn_securitysolution_list_utils.mdx +++ b/api_docs/kbn_securitysolution_list_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-list-utils title: "@kbn/securitysolution-list-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-list-utils plugin -date: 2023-09-24 +date: 2023-09-25 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 4efa43d4ac65e0..0f5d7f30b2d6cc 100644 --- a/api_docs/kbn_securitysolution_rules.mdx +++ b/api_docs/kbn_securitysolution_rules.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-rules title: "@kbn/securitysolution-rules" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-rules plugin -date: 2023-09-24 +date: 2023-09-25 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 bd416c366f8655..18a139185788c1 100644 --- a/api_docs/kbn_securitysolution_t_grid.mdx +++ b/api_docs/kbn_securitysolution_t_grid.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-t-grid title: "@kbn/securitysolution-t-grid" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-t-grid plugin -date: 2023-09-24 +date: 2023-09-25 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 ad8ef4077762e1..07abe26b21359c 100644 --- a/api_docs/kbn_securitysolution_utils.mdx +++ b/api_docs/kbn_securitysolution_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-utils title: "@kbn/securitysolution-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-utils plugin -date: 2023-09-24 +date: 2023-09-25 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 0d1083cc48b17c..9d295840681696 100644 --- a/api_docs/kbn_server_http_tools.mdx +++ b/api_docs/kbn_server_http_tools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-server-http-tools title: "@kbn/server-http-tools" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/server-http-tools plugin -date: 2023-09-24 +date: 2023-09-25 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 e984cc77086a09..792ca2d60f3665 100644 --- a/api_docs/kbn_server_route_repository.mdx +++ b/api_docs/kbn_server_route_repository.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-server-route-repository title: "@kbn/server-route-repository" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/server-route-repository plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/server-route-repository'] --- import kbnServerRouteRepositoryObj from './kbn_server_route_repository.devdocs.json'; diff --git a/api_docs/kbn_serverless_common_settings.mdx b/api_docs/kbn_serverless_common_settings.mdx index 9519a6ee038ca2..fad26aae0a9e1e 100644 --- a/api_docs/kbn_serverless_common_settings.mdx +++ b/api_docs/kbn_serverless_common_settings.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-serverless-common-settings title: "@kbn/serverless-common-settings" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/serverless-common-settings plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/serverless-common-settings'] --- import kbnServerlessCommonSettingsObj from './kbn_serverless_common_settings.devdocs.json'; diff --git a/api_docs/kbn_serverless_observability_settings.mdx b/api_docs/kbn_serverless_observability_settings.mdx index 525725deefc66a..d373b4544a069c 100644 --- a/api_docs/kbn_serverless_observability_settings.mdx +++ b/api_docs/kbn_serverless_observability_settings.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-serverless-observability-settings title: "@kbn/serverless-observability-settings" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/serverless-observability-settings plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/serverless-observability-settings'] --- import kbnServerlessObservabilitySettingsObj from './kbn_serverless_observability_settings.devdocs.json'; diff --git a/api_docs/kbn_serverless_project_switcher.mdx b/api_docs/kbn_serverless_project_switcher.mdx index 2c5ca5f1d4a370..d6f26b34962b43 100644 --- a/api_docs/kbn_serverless_project_switcher.mdx +++ b/api_docs/kbn_serverless_project_switcher.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-serverless-project-switcher title: "@kbn/serverless-project-switcher" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/serverless-project-switcher plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/serverless-project-switcher'] --- import kbnServerlessProjectSwitcherObj from './kbn_serverless_project_switcher.devdocs.json'; diff --git a/api_docs/kbn_serverless_search_settings.mdx b/api_docs/kbn_serverless_search_settings.mdx index 016691c82c62de..ba2ddcb00c7dc4 100644 --- a/api_docs/kbn_serverless_search_settings.mdx +++ b/api_docs/kbn_serverless_search_settings.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-serverless-search-settings title: "@kbn/serverless-search-settings" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/serverless-search-settings plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/serverless-search-settings'] --- import kbnServerlessSearchSettingsObj from './kbn_serverless_search_settings.devdocs.json'; diff --git a/api_docs/kbn_serverless_security_settings.mdx b/api_docs/kbn_serverless_security_settings.mdx index 686c36db5de5f8..78786e5912b761 100644 --- a/api_docs/kbn_serverless_security_settings.mdx +++ b/api_docs/kbn_serverless_security_settings.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-serverless-security-settings title: "@kbn/serverless-security-settings" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/serverless-security-settings plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/serverless-security-settings'] --- import kbnServerlessSecuritySettingsObj from './kbn_serverless_security_settings.devdocs.json'; diff --git a/api_docs/kbn_serverless_storybook_config.mdx b/api_docs/kbn_serverless_storybook_config.mdx index e6d79294dabab0..071f5414303121 100644 --- a/api_docs/kbn_serverless_storybook_config.mdx +++ b/api_docs/kbn_serverless_storybook_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-serverless-storybook-config title: "@kbn/serverless-storybook-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/serverless-storybook-config plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/serverless-storybook-config'] --- import kbnServerlessStorybookConfigObj from './kbn_serverless_storybook_config.devdocs.json'; diff --git a/api_docs/kbn_shared_svg.mdx b/api_docs/kbn_shared_svg.mdx index e1a2241652cef7..32fcd923b17a53 100644 --- a/api_docs/kbn_shared_svg.mdx +++ b/api_docs/kbn_shared_svg.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-svg title: "@kbn/shared-svg" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-svg plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-svg'] --- import kbnSharedSvgObj from './kbn_shared_svg.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_avatar_solution.mdx b/api_docs/kbn_shared_ux_avatar_solution.mdx index 40918f1cf51fdc..9a631df5900732 100644 --- a/api_docs/kbn_shared_ux_avatar_solution.mdx +++ b/api_docs/kbn_shared_ux_avatar_solution.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-avatar-solution title: "@kbn/shared-ux-avatar-solution" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-avatar-solution plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-avatar-solution'] --- import kbnSharedUxAvatarSolutionObj from './kbn_shared_ux_avatar_solution.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_avatar_user_profile_components.mdx b/api_docs/kbn_shared_ux_avatar_user_profile_components.mdx index 4f63c3f991263c..71fdec9587e9c0 100644 --- a/api_docs/kbn_shared_ux_avatar_user_profile_components.mdx +++ b/api_docs/kbn_shared_ux_avatar_user_profile_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-avatar-user-profile-components title: "@kbn/shared-ux-avatar-user-profile-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-avatar-user-profile-components plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-avatar-user-profile-components'] --- import kbnSharedUxAvatarUserProfileComponentsObj from './kbn_shared_ux_avatar_user_profile_components.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_button_exit_full_screen.mdx b/api_docs/kbn_shared_ux_button_exit_full_screen.mdx index f37b45d56576d9..271ceb24e9dfdd 100644 --- a/api_docs/kbn_shared_ux_button_exit_full_screen.mdx +++ b/api_docs/kbn_shared_ux_button_exit_full_screen.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-button-exit-full-screen title: "@kbn/shared-ux-button-exit-full-screen" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-button-exit-full-screen plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-button-exit-full-screen'] --- import kbnSharedUxButtonExitFullScreenObj from './kbn_shared_ux_button_exit_full_screen.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_button_exit_full_screen_mocks.mdx b/api_docs/kbn_shared_ux_button_exit_full_screen_mocks.mdx index a4e605eaeae0c2..6579ae10abdea8 100644 --- a/api_docs/kbn_shared_ux_button_exit_full_screen_mocks.mdx +++ b/api_docs/kbn_shared_ux_button_exit_full_screen_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-button-exit-full-screen-mocks title: "@kbn/shared-ux-button-exit-full-screen-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-button-exit-full-screen-mocks plugin -date: 2023-09-24 +date: 2023-09-25 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 38241d44f6dc3e..67467d7465acae 100644 --- a/api_docs/kbn_shared_ux_button_toolbar.mdx +++ b/api_docs/kbn_shared_ux_button_toolbar.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-button-toolbar title: "@kbn/shared-ux-button-toolbar" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-button-toolbar plugin -date: 2023-09-24 +date: 2023-09-25 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 f9bfa148b7e4f9..d8ba221beb0b69 100644 --- a/api_docs/kbn_shared_ux_card_no_data.mdx +++ b/api_docs/kbn_shared_ux_card_no_data.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-card-no-data title: "@kbn/shared-ux-card-no-data" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-card-no-data plugin -date: 2023-09-24 +date: 2023-09-25 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 b7f1ee7081a7a0..e9ded083fa890f 100644 --- a/api_docs/kbn_shared_ux_card_no_data_mocks.mdx +++ b/api_docs/kbn_shared_ux_card_no_data_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-card-no-data-mocks title: "@kbn/shared-ux-card-no-data-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-card-no-data-mocks plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-card-no-data-mocks'] --- import kbnSharedUxCardNoDataMocksObj from './kbn_shared_ux_card_no_data_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_chrome_navigation.mdx b/api_docs/kbn_shared_ux_chrome_navigation.mdx index 59c10ebdbb90e7..36ea7df717cb8c 100644 --- a/api_docs/kbn_shared_ux_chrome_navigation.mdx +++ b/api_docs/kbn_shared_ux_chrome_navigation.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-chrome-navigation title: "@kbn/shared-ux-chrome-navigation" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-chrome-navigation plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-chrome-navigation'] --- import kbnSharedUxChromeNavigationObj from './kbn_shared_ux_chrome_navigation.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_context.mdx b/api_docs/kbn_shared_ux_file_context.mdx index 02bd010e1c9090..88224c82e199e4 100644 --- a/api_docs/kbn_shared_ux_file_context.mdx +++ b/api_docs/kbn_shared_ux_file_context.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-context title: "@kbn/shared-ux-file-context" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-context plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-context'] --- import kbnSharedUxFileContextObj from './kbn_shared_ux_file_context.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_image.mdx b/api_docs/kbn_shared_ux_file_image.mdx index 8fdaefb622fd67..50bd414ea40b02 100644 --- a/api_docs/kbn_shared_ux_file_image.mdx +++ b/api_docs/kbn_shared_ux_file_image.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-image title: "@kbn/shared-ux-file-image" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-image plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-image'] --- import kbnSharedUxFileImageObj from './kbn_shared_ux_file_image.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_image_mocks.mdx b/api_docs/kbn_shared_ux_file_image_mocks.mdx index 3a224b387d4bb2..e75dafb426bece 100644 --- a/api_docs/kbn_shared_ux_file_image_mocks.mdx +++ b/api_docs/kbn_shared_ux_file_image_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-image-mocks title: "@kbn/shared-ux-file-image-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-image-mocks plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-image-mocks'] --- import kbnSharedUxFileImageMocksObj from './kbn_shared_ux_file_image_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_mocks.mdx b/api_docs/kbn_shared_ux_file_mocks.mdx index e7c1f0fef0efbb..40c537aba7b4d2 100644 --- a/api_docs/kbn_shared_ux_file_mocks.mdx +++ b/api_docs/kbn_shared_ux_file_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-mocks title: "@kbn/shared-ux-file-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-mocks plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-mocks'] --- import kbnSharedUxFileMocksObj from './kbn_shared_ux_file_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_picker.mdx b/api_docs/kbn_shared_ux_file_picker.mdx index 124dd48dca51a9..aacf200fcf4a82 100644 --- a/api_docs/kbn_shared_ux_file_picker.mdx +++ b/api_docs/kbn_shared_ux_file_picker.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-picker title: "@kbn/shared-ux-file-picker" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-picker plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-picker'] --- import kbnSharedUxFilePickerObj from './kbn_shared_ux_file_picker.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_types.mdx b/api_docs/kbn_shared_ux_file_types.mdx index c81e5010edea50..5ed875f5a62f74 100644 --- a/api_docs/kbn_shared_ux_file_types.mdx +++ b/api_docs/kbn_shared_ux_file_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-types title: "@kbn/shared-ux-file-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-types plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-types'] --- import kbnSharedUxFileTypesObj from './kbn_shared_ux_file_types.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_upload.mdx b/api_docs/kbn_shared_ux_file_upload.mdx index 4168b4011c163d..411ecb70ef47d5 100644 --- a/api_docs/kbn_shared_ux_file_upload.mdx +++ b/api_docs/kbn_shared_ux_file_upload.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-upload title: "@kbn/shared-ux-file-upload" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-upload plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-upload'] --- import kbnSharedUxFileUploadObj from './kbn_shared_ux_file_upload.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_util.mdx b/api_docs/kbn_shared_ux_file_util.mdx index d2511f7da68a4a..32bf1d99be571a 100644 --- a/api_docs/kbn_shared_ux_file_util.mdx +++ b/api_docs/kbn_shared_ux_file_util.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-util title: "@kbn/shared-ux-file-util" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-util plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-util'] --- import kbnSharedUxFileUtilObj from './kbn_shared_ux_file_util.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_link_redirect_app.mdx b/api_docs/kbn_shared_ux_link_redirect_app.mdx index 222cec2807076e..e2a54169e14bbe 100644 --- a/api_docs/kbn_shared_ux_link_redirect_app.mdx +++ b/api_docs/kbn_shared_ux_link_redirect_app.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-link-redirect-app title: "@kbn/shared-ux-link-redirect-app" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-link-redirect-app plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-link-redirect-app'] --- import kbnSharedUxLinkRedirectAppObj from './kbn_shared_ux_link_redirect_app.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_link_redirect_app_mocks.mdx b/api_docs/kbn_shared_ux_link_redirect_app_mocks.mdx index e6e8c865c16ac3..3420d3cc9c0ee1 100644 --- a/api_docs/kbn_shared_ux_link_redirect_app_mocks.mdx +++ b/api_docs/kbn_shared_ux_link_redirect_app_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-link-redirect-app-mocks title: "@kbn/shared-ux-link-redirect-app-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-link-redirect-app-mocks plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-link-redirect-app-mocks'] --- import kbnSharedUxLinkRedirectAppMocksObj from './kbn_shared_ux_link_redirect_app_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_markdown.mdx b/api_docs/kbn_shared_ux_markdown.mdx index e43a38bb4e9c6e..f9bec4c5c31170 100644 --- a/api_docs/kbn_shared_ux_markdown.mdx +++ b/api_docs/kbn_shared_ux_markdown.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-markdown title: "@kbn/shared-ux-markdown" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-markdown plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-markdown'] --- import kbnSharedUxMarkdownObj from './kbn_shared_ux_markdown.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_markdown_mocks.mdx b/api_docs/kbn_shared_ux_markdown_mocks.mdx index f0e84ed910664c..030f61acf69481 100644 --- a/api_docs/kbn_shared_ux_markdown_mocks.mdx +++ b/api_docs/kbn_shared_ux_markdown_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-markdown-mocks title: "@kbn/shared-ux-markdown-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-markdown-mocks plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-markdown-mocks'] --- import kbnSharedUxMarkdownMocksObj from './kbn_shared_ux_markdown_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_analytics_no_data.mdx b/api_docs/kbn_shared_ux_page_analytics_no_data.mdx index e6af848bd8f85f..9306d1e357d484 100644 --- a/api_docs/kbn_shared_ux_page_analytics_no_data.mdx +++ b/api_docs/kbn_shared_ux_page_analytics_no_data.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-analytics-no-data title: "@kbn/shared-ux-page-analytics-no-data" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-analytics-no-data plugin -date: 2023-09-24 +date: 2023-09-25 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 a7518ab94ec277..49cd5ffa47422e 100644 --- a/api_docs/kbn_shared_ux_page_analytics_no_data_mocks.mdx +++ b/api_docs/kbn_shared_ux_page_analytics_no_data_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-analytics-no-data-mocks title: "@kbn/shared-ux-page-analytics-no-data-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-analytics-no-data-mocks plugin -date: 2023-09-24 +date: 2023-09-25 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 a60732b1a89b3c..5f1ee64b5911fd 100644 --- a/api_docs/kbn_shared_ux_page_kibana_no_data.mdx +++ b/api_docs/kbn_shared_ux_page_kibana_no_data.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-kibana-no-data title: "@kbn/shared-ux-page-kibana-no-data" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-kibana-no-data plugin -date: 2023-09-24 +date: 2023-09-25 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 a4fabb26019185..007b4ff76e63fb 100644 --- a/api_docs/kbn_shared_ux_page_kibana_no_data_mocks.mdx +++ b/api_docs/kbn_shared_ux_page_kibana_no_data_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-kibana-no-data-mocks title: "@kbn/shared-ux-page-kibana-no-data-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-kibana-no-data-mocks plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-kibana-no-data-mocks'] --- import kbnSharedUxPageKibanaNoDataMocksObj from './kbn_shared_ux_page_kibana_no_data_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_kibana_template.mdx b/api_docs/kbn_shared_ux_page_kibana_template.mdx index 226f8fad82738f..6235595b793a3b 100644 --- a/api_docs/kbn_shared_ux_page_kibana_template.mdx +++ b/api_docs/kbn_shared_ux_page_kibana_template.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-kibana-template title: "@kbn/shared-ux-page-kibana-template" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-kibana-template plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-kibana-template'] --- import kbnSharedUxPageKibanaTemplateObj from './kbn_shared_ux_page_kibana_template.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_kibana_template_mocks.mdx b/api_docs/kbn_shared_ux_page_kibana_template_mocks.mdx index 29d3cb56e58ccd..c9c60681c8e6cc 100644 --- a/api_docs/kbn_shared_ux_page_kibana_template_mocks.mdx +++ b/api_docs/kbn_shared_ux_page_kibana_template_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-kibana-template-mocks title: "@kbn/shared-ux-page-kibana-template-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-kibana-template-mocks plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-kibana-template-mocks'] --- import kbnSharedUxPageKibanaTemplateMocksObj from './kbn_shared_ux_page_kibana_template_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_no_data.mdx b/api_docs/kbn_shared_ux_page_no_data.mdx index c536515078ec75..d46851bdd71c22 100644 --- a/api_docs/kbn_shared_ux_page_no_data.mdx +++ b/api_docs/kbn_shared_ux_page_no_data.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-no-data title: "@kbn/shared-ux-page-no-data" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-no-data plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-no-data'] --- import kbnSharedUxPageNoDataObj from './kbn_shared_ux_page_no_data.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_no_data_config.mdx b/api_docs/kbn_shared_ux_page_no_data_config.mdx index bd204262f616b5..95c352d2c50a92 100644 --- a/api_docs/kbn_shared_ux_page_no_data_config.mdx +++ b/api_docs/kbn_shared_ux_page_no_data_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-no-data-config title: "@kbn/shared-ux-page-no-data-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-no-data-config plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-no-data-config'] --- import kbnSharedUxPageNoDataConfigObj from './kbn_shared_ux_page_no_data_config.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_no_data_config_mocks.mdx b/api_docs/kbn_shared_ux_page_no_data_config_mocks.mdx index 5dcb8a0817de84..66ca7436ee8f3d 100644 --- a/api_docs/kbn_shared_ux_page_no_data_config_mocks.mdx +++ b/api_docs/kbn_shared_ux_page_no_data_config_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-no-data-config-mocks title: "@kbn/shared-ux-page-no-data-config-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-no-data-config-mocks plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-no-data-config-mocks'] --- import kbnSharedUxPageNoDataConfigMocksObj from './kbn_shared_ux_page_no_data_config_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_no_data_mocks.mdx b/api_docs/kbn_shared_ux_page_no_data_mocks.mdx index 450a530b3311c2..2417eb0bda6229 100644 --- a/api_docs/kbn_shared_ux_page_no_data_mocks.mdx +++ b/api_docs/kbn_shared_ux_page_no_data_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-no-data-mocks title: "@kbn/shared-ux-page-no-data-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-no-data-mocks plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-no-data-mocks'] --- import kbnSharedUxPageNoDataMocksObj from './kbn_shared_ux_page_no_data_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_solution_nav.mdx b/api_docs/kbn_shared_ux_page_solution_nav.mdx index 34be8420885559..e13dee86891a69 100644 --- a/api_docs/kbn_shared_ux_page_solution_nav.mdx +++ b/api_docs/kbn_shared_ux_page_solution_nav.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-solution-nav title: "@kbn/shared-ux-page-solution-nav" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-solution-nav plugin -date: 2023-09-24 +date: 2023-09-25 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 1f47207661a7b5..8d04826f4fb12a 100644 --- a/api_docs/kbn_shared_ux_prompt_no_data_views.mdx +++ b/api_docs/kbn_shared_ux_prompt_no_data_views.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-prompt-no-data-views title: "@kbn/shared-ux-prompt-no-data-views" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-prompt-no-data-views plugin -date: 2023-09-24 +date: 2023-09-25 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 126259f712a607..c5927aa75edd91 100644 --- a/api_docs/kbn_shared_ux_prompt_no_data_views_mocks.mdx +++ b/api_docs/kbn_shared_ux_prompt_no_data_views_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-prompt-no-data-views-mocks title: "@kbn/shared-ux-prompt-no-data-views-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-prompt-no-data-views-mocks plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-prompt-no-data-views-mocks'] --- import kbnSharedUxPromptNoDataViewsMocksObj from './kbn_shared_ux_prompt_no_data_views_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_prompt_not_found.mdx b/api_docs/kbn_shared_ux_prompt_not_found.mdx index b6a460c3537d6d..c78b891291bf0a 100644 --- a/api_docs/kbn_shared_ux_prompt_not_found.mdx +++ b/api_docs/kbn_shared_ux_prompt_not_found.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-prompt-not-found title: "@kbn/shared-ux-prompt-not-found" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-prompt-not-found plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-prompt-not-found'] --- import kbnSharedUxPromptNotFoundObj from './kbn_shared_ux_prompt_not_found.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_router.mdx b/api_docs/kbn_shared_ux_router.mdx index 85a4b1004c8f5a..35b2a26610cbc5 100644 --- a/api_docs/kbn_shared_ux_router.mdx +++ b/api_docs/kbn_shared_ux_router.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-router title: "@kbn/shared-ux-router" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-router plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-router'] --- import kbnSharedUxRouterObj from './kbn_shared_ux_router.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_router_mocks.mdx b/api_docs/kbn_shared_ux_router_mocks.mdx index b06276cbf06a6b..954f26c3d143cc 100644 --- a/api_docs/kbn_shared_ux_router_mocks.mdx +++ b/api_docs/kbn_shared_ux_router_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-router-mocks title: "@kbn/shared-ux-router-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-router-mocks plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-router-mocks'] --- import kbnSharedUxRouterMocksObj from './kbn_shared_ux_router_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_storybook_config.mdx b/api_docs/kbn_shared_ux_storybook_config.mdx index 16dfefc73ea455..5957345b21b313 100644 --- a/api_docs/kbn_shared_ux_storybook_config.mdx +++ b/api_docs/kbn_shared_ux_storybook_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-storybook-config title: "@kbn/shared-ux-storybook-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-storybook-config plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-storybook-config'] --- import kbnSharedUxStorybookConfigObj from './kbn_shared_ux_storybook_config.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_storybook_mock.mdx b/api_docs/kbn_shared_ux_storybook_mock.mdx index 1f8b7661058ae4..0ecd6e2c5dda3e 100644 --- a/api_docs/kbn_shared_ux_storybook_mock.mdx +++ b/api_docs/kbn_shared_ux_storybook_mock.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-storybook-mock title: "@kbn/shared-ux-storybook-mock" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-storybook-mock plugin -date: 2023-09-24 +date: 2023-09-25 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 a1ab6faedbdf9b..6754b62d973343 100644 --- a/api_docs/kbn_shared_ux_utility.mdx +++ b/api_docs/kbn_shared_ux_utility.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-utility title: "@kbn/shared-ux-utility" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-utility plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-utility'] --- import kbnSharedUxUtilityObj from './kbn_shared_ux_utility.devdocs.json'; diff --git a/api_docs/kbn_slo_schema.mdx b/api_docs/kbn_slo_schema.mdx index c2bde861ba287c..43593f0fccb251 100644 --- a/api_docs/kbn_slo_schema.mdx +++ b/api_docs/kbn_slo_schema.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-slo-schema title: "@kbn/slo-schema" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/slo-schema plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/slo-schema'] --- import kbnSloSchemaObj from './kbn_slo_schema.devdocs.json'; diff --git a/api_docs/kbn_some_dev_log.mdx b/api_docs/kbn_some_dev_log.mdx index 9e38184dcd7e26..53c388e42aae33 100644 --- a/api_docs/kbn_some_dev_log.mdx +++ b/api_docs/kbn_some_dev_log.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-some-dev-log title: "@kbn/some-dev-log" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/some-dev-log plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/some-dev-log'] --- import kbnSomeDevLogObj from './kbn_some_dev_log.devdocs.json'; diff --git a/api_docs/kbn_std.mdx b/api_docs/kbn_std.mdx index 9bb26b5c718587..67e81a160f3c83 100644 --- a/api_docs/kbn_std.mdx +++ b/api_docs/kbn_std.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-std title: "@kbn/std" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/std plugin -date: 2023-09-24 +date: 2023-09-25 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 4f23d4a8bb9a62..a3ce537041e5ff 100644 --- a/api_docs/kbn_stdio_dev_helpers.mdx +++ b/api_docs/kbn_stdio_dev_helpers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-stdio-dev-helpers title: "@kbn/stdio-dev-helpers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/stdio-dev-helpers plugin -date: 2023-09-24 +date: 2023-09-25 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 857c212bbd0878..84ca7e10eb8c5b 100644 --- a/api_docs/kbn_storybook.mdx +++ b/api_docs/kbn_storybook.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-storybook title: "@kbn/storybook" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/storybook plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/storybook'] --- import kbnStorybookObj from './kbn_storybook.devdocs.json'; diff --git a/api_docs/kbn_subscription_tracking.mdx b/api_docs/kbn_subscription_tracking.mdx index 2f05cbb2824d0f..fe0bb888f443bd 100644 --- a/api_docs/kbn_subscription_tracking.mdx +++ b/api_docs/kbn_subscription_tracking.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-subscription-tracking title: "@kbn/subscription-tracking" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/subscription-tracking plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/subscription-tracking'] --- import kbnSubscriptionTrackingObj from './kbn_subscription_tracking.devdocs.json'; diff --git a/api_docs/kbn_telemetry_tools.mdx b/api_docs/kbn_telemetry_tools.mdx index 758e86bc5c4f2a..3cc441b24deffd 100644 --- a/api_docs/kbn_telemetry_tools.mdx +++ b/api_docs/kbn_telemetry_tools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-telemetry-tools title: "@kbn/telemetry-tools" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/telemetry-tools plugin -date: 2023-09-24 +date: 2023-09-25 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 89453adc0fb3dc..6496939d9eedcf 100644 --- a/api_docs/kbn_test.mdx +++ b/api_docs/kbn_test.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-test title: "@kbn/test" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/test plugin -date: 2023-09-24 +date: 2023-09-25 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 ab0c9182abc734..b34d60d6b550dc 100644 --- a/api_docs/kbn_test_jest_helpers.mdx +++ b/api_docs/kbn_test_jest_helpers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-test-jest-helpers title: "@kbn/test-jest-helpers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/test-jest-helpers plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/test-jest-helpers'] --- import kbnTestJestHelpersObj from './kbn_test_jest_helpers.devdocs.json'; diff --git a/api_docs/kbn_test_subj_selector.mdx b/api_docs/kbn_test_subj_selector.mdx index 4756647bf32ffd..ef1373e4e04a30 100644 --- a/api_docs/kbn_test_subj_selector.mdx +++ b/api_docs/kbn_test_subj_selector.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-test-subj-selector title: "@kbn/test-subj-selector" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/test-subj-selector plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/test-subj-selector'] --- import kbnTestSubjSelectorObj from './kbn_test_subj_selector.devdocs.json'; diff --git a/api_docs/kbn_text_based_editor.mdx b/api_docs/kbn_text_based_editor.mdx index 169e1526c2153e..e645d678a63ea7 100644 --- a/api_docs/kbn_text_based_editor.mdx +++ b/api_docs/kbn_text_based_editor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-text-based-editor title: "@kbn/text-based-editor" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/text-based-editor plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/text-based-editor'] --- import kbnTextBasedEditorObj from './kbn_text_based_editor.devdocs.json'; diff --git a/api_docs/kbn_tooling_log.mdx b/api_docs/kbn_tooling_log.mdx index 24a5532c84c919..1d2a423a9e2466 100644 --- a/api_docs/kbn_tooling_log.mdx +++ b/api_docs/kbn_tooling_log.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-tooling-log title: "@kbn/tooling-log" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/tooling-log plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/tooling-log'] --- import kbnToolingLogObj from './kbn_tooling_log.devdocs.json'; diff --git a/api_docs/kbn_ts_projects.mdx b/api_docs/kbn_ts_projects.mdx index 0089ed071c18c2..decbd00deb337b 100644 --- a/api_docs/kbn_ts_projects.mdx +++ b/api_docs/kbn_ts_projects.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ts-projects title: "@kbn/ts-projects" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ts-projects plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ts-projects'] --- import kbnTsProjectsObj from './kbn_ts_projects.devdocs.json'; diff --git a/api_docs/kbn_typed_react_router_config.mdx b/api_docs/kbn_typed_react_router_config.mdx index 04172d8e9845ca..2537e0dc1b876f 100644 --- a/api_docs/kbn_typed_react_router_config.mdx +++ b/api_docs/kbn_typed_react_router_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-typed-react-router-config title: "@kbn/typed-react-router-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/typed-react-router-config plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/typed-react-router-config'] --- import kbnTypedReactRouterConfigObj from './kbn_typed_react_router_config.devdocs.json'; diff --git a/api_docs/kbn_ui_actions_browser.mdx b/api_docs/kbn_ui_actions_browser.mdx index 7d6ff9129b42a3..d993114d9030ef 100644 --- a/api_docs/kbn_ui_actions_browser.mdx +++ b/api_docs/kbn_ui_actions_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ui-actions-browser title: "@kbn/ui-actions-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ui-actions-browser plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ui-actions-browser'] --- import kbnUiActionsBrowserObj from './kbn_ui_actions_browser.devdocs.json'; diff --git a/api_docs/kbn_ui_shared_deps_src.mdx b/api_docs/kbn_ui_shared_deps_src.mdx index 0f2baeec933153..038fc61ec1777a 100644 --- a/api_docs/kbn_ui_shared_deps_src.mdx +++ b/api_docs/kbn_ui_shared_deps_src.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ui-shared-deps-src title: "@kbn/ui-shared-deps-src" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ui-shared-deps-src plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ui-shared-deps-src'] --- import kbnUiSharedDepsSrcObj from './kbn_ui_shared_deps_src.devdocs.json'; diff --git a/api_docs/kbn_ui_theme.mdx b/api_docs/kbn_ui_theme.mdx index e149d516851327..e463b7fe240d5a 100644 --- a/api_docs/kbn_ui_theme.mdx +++ b/api_docs/kbn_ui_theme.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ui-theme title: "@kbn/ui-theme" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ui-theme plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ui-theme'] --- import kbnUiThemeObj from './kbn_ui_theme.devdocs.json'; diff --git a/api_docs/kbn_unified_data_table.mdx b/api_docs/kbn_unified_data_table.mdx index 3014cf039e245c..3d0d1c5c4f2d10 100644 --- a/api_docs/kbn_unified_data_table.mdx +++ b/api_docs/kbn_unified_data_table.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-unified-data-table title: "@kbn/unified-data-table" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/unified-data-table plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/unified-data-table'] --- import kbnUnifiedDataTableObj from './kbn_unified_data_table.devdocs.json'; diff --git a/api_docs/kbn_unified_doc_viewer.mdx b/api_docs/kbn_unified_doc_viewer.mdx index f761b9f4ad8812..a5fdd13cb1cd62 100644 --- a/api_docs/kbn_unified_doc_viewer.mdx +++ b/api_docs/kbn_unified_doc_viewer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-unified-doc-viewer title: "@kbn/unified-doc-viewer" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/unified-doc-viewer plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/unified-doc-viewer'] --- import kbnUnifiedDocViewerObj from './kbn_unified_doc_viewer.devdocs.json'; diff --git a/api_docs/kbn_unified_field_list.mdx b/api_docs/kbn_unified_field_list.mdx index 49d224e42aaa5f..e05758c82150a2 100644 --- a/api_docs/kbn_unified_field_list.mdx +++ b/api_docs/kbn_unified_field_list.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-unified-field-list title: "@kbn/unified-field-list" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/unified-field-list plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/unified-field-list'] --- import kbnUnifiedFieldListObj from './kbn_unified_field_list.devdocs.json'; diff --git a/api_docs/kbn_url_state.mdx b/api_docs/kbn_url_state.mdx index f1f04423ea9602..2ce6f5decf7b2b 100644 --- a/api_docs/kbn_url_state.mdx +++ b/api_docs/kbn_url_state.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-url-state title: "@kbn/url-state" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/url-state plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/url-state'] --- import kbnUrlStateObj from './kbn_url_state.devdocs.json'; diff --git a/api_docs/kbn_use_tracked_promise.mdx b/api_docs/kbn_use_tracked_promise.mdx index bd93ecbdf7caf9..48d0dd44260c32 100644 --- a/api_docs/kbn_use_tracked_promise.mdx +++ b/api_docs/kbn_use_tracked_promise.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-use-tracked-promise title: "@kbn/use-tracked-promise" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/use-tracked-promise plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/use-tracked-promise'] --- import kbnUseTrackedPromiseObj from './kbn_use_tracked_promise.devdocs.json'; diff --git a/api_docs/kbn_user_profile_components.mdx b/api_docs/kbn_user_profile_components.mdx index 8f77fe2136a03b..062a1d9c6a56be 100644 --- a/api_docs/kbn_user_profile_components.mdx +++ b/api_docs/kbn_user_profile_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-user-profile-components title: "@kbn/user-profile-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/user-profile-components plugin -date: 2023-09-24 +date: 2023-09-25 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 4884b1139283d5..1a13b648d4c67f 100644 --- a/api_docs/kbn_utility_types.mdx +++ b/api_docs/kbn_utility_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-utility-types title: "@kbn/utility-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/utility-types plugin -date: 2023-09-24 +date: 2023-09-25 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 34c80502494e1a..f0a30cbc64ba12 100644 --- a/api_docs/kbn_utility_types_jest.mdx +++ b/api_docs/kbn_utility_types_jest.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-utility-types-jest title: "@kbn/utility-types-jest" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/utility-types-jest plugin -date: 2023-09-24 +date: 2023-09-25 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 3c9acfc2e66037..4cbcfbedb91882 100644 --- a/api_docs/kbn_utils.mdx +++ b/api_docs/kbn_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-utils title: "@kbn/utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/utils plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/utils'] --- import kbnUtilsObj from './kbn_utils.devdocs.json'; diff --git a/api_docs/kbn_visualization_ui_components.mdx b/api_docs/kbn_visualization_ui_components.mdx index 5cfb58d2aab5c5..1c531f6930ab87 100644 --- a/api_docs/kbn_visualization_ui_components.mdx +++ b/api_docs/kbn_visualization_ui_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-visualization-ui-components title: "@kbn/visualization-ui-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/visualization-ui-components plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/visualization-ui-components'] --- import kbnVisualizationUiComponentsObj from './kbn_visualization_ui_components.devdocs.json'; diff --git a/api_docs/kbn_xstate_utils.mdx b/api_docs/kbn_xstate_utils.mdx index 0ba0d581441202..79d878c81029a9 100644 --- a/api_docs/kbn_xstate_utils.mdx +++ b/api_docs/kbn_xstate_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-xstate-utils title: "@kbn/xstate-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/xstate-utils plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/xstate-utils'] --- import kbnXstateUtilsObj from './kbn_xstate_utils.devdocs.json'; diff --git a/api_docs/kbn_yarn_lock_validator.mdx b/api_docs/kbn_yarn_lock_validator.mdx index fda80620346636..ea2dba80cb34eb 100644 --- a/api_docs/kbn_yarn_lock_validator.mdx +++ b/api_docs/kbn_yarn_lock_validator.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-yarn-lock-validator title: "@kbn/yarn-lock-validator" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/yarn-lock-validator plugin -date: 2023-09-24 +date: 2023-09-25 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 726d2fbeae7018..bdedbca270552e 100644 --- a/api_docs/kibana_overview.mdx +++ b/api_docs/kibana_overview.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kibanaOverview title: "kibanaOverview" image: https://source.unsplash.com/400x175/?github description: API docs for the kibanaOverview plugin -date: 2023-09-24 +date: 2023-09-25 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 115bfd9c036910..e6e6d1c79f3995 100644 --- a/api_docs/kibana_react.mdx +++ b/api_docs/kibana_react.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kibanaReact title: "kibanaReact" image: https://source.unsplash.com/400x175/?github description: API docs for the kibanaReact plugin -date: 2023-09-24 +date: 2023-09-25 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 4a0f7e9cd0ccda..7b8bd82e4b379a 100644 --- a/api_docs/kibana_utils.mdx +++ b/api_docs/kibana_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kibanaUtils title: "kibanaUtils" image: https://source.unsplash.com/400x175/?github description: API docs for the kibanaUtils plugin -date: 2023-09-24 +date: 2023-09-25 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 5fade0342f4553..56e303a369da98 100644 --- a/api_docs/kubernetes_security.mdx +++ b/api_docs/kubernetes_security.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kubernetesSecurity title: "kubernetesSecurity" image: https://source.unsplash.com/400x175/?github description: API docs for the kubernetesSecurity plugin -date: 2023-09-24 +date: 2023-09-25 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 269aa15ab9d3ea..d7c5ee36cf5448 100644 --- a/api_docs/lens.mdx +++ b/api_docs/lens.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/lens title: "lens" image: https://source.unsplash.com/400x175/?github description: API docs for the lens plugin -date: 2023-09-24 +date: 2023-09-25 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 9218cf95f10c83..b75acced2933b5 100644 --- a/api_docs/license_api_guard.mdx +++ b/api_docs/license_api_guard.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/licenseApiGuard title: "licenseApiGuard" image: https://source.unsplash.com/400x175/?github description: API docs for the licenseApiGuard plugin -date: 2023-09-24 +date: 2023-09-25 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 c72b2553496fe7..6be041ab640942 100644 --- a/api_docs/license_management.mdx +++ b/api_docs/license_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/licenseManagement title: "licenseManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the licenseManagement plugin -date: 2023-09-24 +date: 2023-09-25 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 5976a25b3078d3..34e62db8ad621a 100644 --- a/api_docs/licensing.mdx +++ b/api_docs/licensing.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/licensing title: "licensing" image: https://source.unsplash.com/400x175/?github description: API docs for the licensing plugin -date: 2023-09-24 +date: 2023-09-25 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 e6a55170a65f4f..5d4a9833c3f67c 100644 --- a/api_docs/lists.mdx +++ b/api_docs/lists.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/lists title: "lists" image: https://source.unsplash.com/400x175/?github description: API docs for the lists plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'lists'] --- import listsObj from './lists.devdocs.json'; diff --git a/api_docs/log_explorer.mdx b/api_docs/log_explorer.mdx index e6d4befe9fa902..4458359118c0c5 100644 --- a/api_docs/log_explorer.mdx +++ b/api_docs/log_explorer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/logExplorer title: "logExplorer" image: https://source.unsplash.com/400x175/?github description: API docs for the logExplorer plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'logExplorer'] --- import logExplorerObj from './log_explorer.devdocs.json'; diff --git a/api_docs/logs_shared.mdx b/api_docs/logs_shared.mdx index 04ab9ed8098c43..53896af7ca3aea 100644 --- a/api_docs/logs_shared.mdx +++ b/api_docs/logs_shared.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/logsShared title: "logsShared" image: https://source.unsplash.com/400x175/?github description: API docs for the logsShared plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'logsShared'] --- import logsSharedObj from './logs_shared.devdocs.json'; diff --git a/api_docs/management.mdx b/api_docs/management.mdx index 88fd2ad96c4a7d..dec665821074d3 100644 --- a/api_docs/management.mdx +++ b/api_docs/management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/management title: "management" image: https://source.unsplash.com/400x175/?github description: API docs for the management plugin -date: 2023-09-24 +date: 2023-09-25 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 2299a2732bdff4..f786984d066884 100644 --- a/api_docs/maps.mdx +++ b/api_docs/maps.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/maps title: "maps" image: https://source.unsplash.com/400x175/?github description: API docs for the maps plugin -date: 2023-09-24 +date: 2023-09-25 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 cc61c10d7a1237..4080f96be52d97 100644 --- a/api_docs/maps_ems.mdx +++ b/api_docs/maps_ems.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/mapsEms title: "mapsEms" image: https://source.unsplash.com/400x175/?github description: API docs for the mapsEms plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'mapsEms'] --- import mapsEmsObj from './maps_ems.devdocs.json'; diff --git a/api_docs/metrics_data_access.mdx b/api_docs/metrics_data_access.mdx index be9f1ad9f01f3e..43e2f158d86d2f 100644 --- a/api_docs/metrics_data_access.mdx +++ b/api_docs/metrics_data_access.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/metricsDataAccess title: "metricsDataAccess" image: https://source.unsplash.com/400x175/?github description: API docs for the metricsDataAccess plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'metricsDataAccess'] --- import metricsDataAccessObj from './metrics_data_access.devdocs.json'; diff --git a/api_docs/ml.mdx b/api_docs/ml.mdx index c78a28aaa0789c..c44412e6d97dd5 100644 --- a/api_docs/ml.mdx +++ b/api_docs/ml.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/ml title: "ml" image: https://source.unsplash.com/400x175/?github description: API docs for the ml plugin -date: 2023-09-24 +date: 2023-09-25 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 4d97f0e344cafe..88ae35bb398206 100644 --- a/api_docs/monitoring.mdx +++ b/api_docs/monitoring.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/monitoring title: "monitoring" image: https://source.unsplash.com/400x175/?github description: API docs for the monitoring plugin -date: 2023-09-24 +date: 2023-09-25 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 5cd7c646f56dd0..8858bcb67fa2a9 100644 --- a/api_docs/monitoring_collection.mdx +++ b/api_docs/monitoring_collection.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/monitoringCollection title: "monitoringCollection" image: https://source.unsplash.com/400x175/?github description: API docs for the monitoringCollection plugin -date: 2023-09-24 +date: 2023-09-25 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 dc449a0a0c6771..d6f70e87f6b382 100644 --- a/api_docs/navigation.mdx +++ b/api_docs/navigation.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/navigation title: "navigation" image: https://source.unsplash.com/400x175/?github description: API docs for the navigation plugin -date: 2023-09-24 +date: 2023-09-25 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 acfaf0f4a7d712..da3b147d0c5cda 100644 --- a/api_docs/newsfeed.mdx +++ b/api_docs/newsfeed.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/newsfeed title: "newsfeed" image: https://source.unsplash.com/400x175/?github description: API docs for the newsfeed plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'newsfeed'] --- import newsfeedObj from './newsfeed.devdocs.json'; diff --git a/api_docs/no_data_page.mdx b/api_docs/no_data_page.mdx index 2f8e51a09958a5..9b8982d43d4d4b 100644 --- a/api_docs/no_data_page.mdx +++ b/api_docs/no_data_page.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/noDataPage title: "noDataPage" image: https://source.unsplash.com/400x175/?github description: API docs for the noDataPage plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'noDataPage'] --- import noDataPageObj from './no_data_page.devdocs.json'; diff --git a/api_docs/notifications.mdx b/api_docs/notifications.mdx index f2394fc402ede2..6af21d9d02bbf9 100644 --- a/api_docs/notifications.mdx +++ b/api_docs/notifications.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/notifications title: "notifications" image: https://source.unsplash.com/400x175/?github description: API docs for the notifications plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'notifications'] --- import notificationsObj from './notifications.devdocs.json'; diff --git a/api_docs/observability.mdx b/api_docs/observability.mdx index 1945330ee0100a..26b0dfe884c068 100644 --- a/api_docs/observability.mdx +++ b/api_docs/observability.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/observability title: "observability" image: https://source.unsplash.com/400x175/?github description: API docs for the observability plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'observability'] --- import observabilityObj from './observability.devdocs.json'; diff --git a/api_docs/observability_a_i_assistant.mdx b/api_docs/observability_a_i_assistant.mdx index 874d65312c8dfc..c242ea33b84a39 100644 --- a/api_docs/observability_a_i_assistant.mdx +++ b/api_docs/observability_a_i_assistant.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/observabilityAIAssistant title: "observabilityAIAssistant" image: https://source.unsplash.com/400x175/?github description: API docs for the observabilityAIAssistant plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'observabilityAIAssistant'] --- import observabilityAIAssistantObj from './observability_a_i_assistant.devdocs.json'; diff --git a/api_docs/observability_log_explorer.mdx b/api_docs/observability_log_explorer.mdx index a69406883002a7..efbf8d8ef69644 100644 --- a/api_docs/observability_log_explorer.mdx +++ b/api_docs/observability_log_explorer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/observabilityLogExplorer title: "observabilityLogExplorer" image: https://source.unsplash.com/400x175/?github description: API docs for the observabilityLogExplorer plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'observabilityLogExplorer'] --- import observabilityLogExplorerObj from './observability_log_explorer.devdocs.json'; diff --git a/api_docs/observability_onboarding.mdx b/api_docs/observability_onboarding.mdx index 4c01f4b89da934..ebea39421d24e3 100644 --- a/api_docs/observability_onboarding.mdx +++ b/api_docs/observability_onboarding.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/observabilityOnboarding title: "observabilityOnboarding" image: https://source.unsplash.com/400x175/?github description: API docs for the observabilityOnboarding plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'observabilityOnboarding'] --- import observabilityOnboardingObj from './observability_onboarding.devdocs.json'; diff --git a/api_docs/observability_shared.mdx b/api_docs/observability_shared.mdx index 228cd71c0238ff..734af78596c5ac 100644 --- a/api_docs/observability_shared.mdx +++ b/api_docs/observability_shared.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/observabilityShared title: "observabilityShared" image: https://source.unsplash.com/400x175/?github description: API docs for the observabilityShared plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'observabilityShared'] --- import observabilitySharedObj from './observability_shared.devdocs.json'; diff --git a/api_docs/osquery.mdx b/api_docs/osquery.mdx index df19784d03b1a4..3858846b4cc043 100644 --- a/api_docs/osquery.mdx +++ b/api_docs/osquery.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/osquery title: "osquery" image: https://source.unsplash.com/400x175/?github description: API docs for the osquery plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'osquery'] --- import osqueryObj from './osquery.devdocs.json'; diff --git a/api_docs/painless_lab.mdx b/api_docs/painless_lab.mdx index 0d6bd68d4dbaf5..6796e6142c2df1 100644 --- a/api_docs/painless_lab.mdx +++ b/api_docs/painless_lab.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/painlessLab title: "painlessLab" image: https://source.unsplash.com/400x175/?github description: API docs for the painlessLab plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'painlessLab'] --- import painlessLabObj from './painless_lab.devdocs.json'; diff --git a/api_docs/plugin_directory.mdx b/api_docs/plugin_directory.mdx index 139702f8465aba..e581d99af52897 100644 --- a/api_docs/plugin_directory.mdx +++ b/api_docs/plugin_directory.mdx @@ -7,7 +7,7 @@ id: kibDevDocsPluginDirectory slug: /kibana-dev-docs/api-meta/plugin-api-directory title: Directory description: Directory of public APIs available through plugins or packages. -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- diff --git a/api_docs/presentation_util.mdx b/api_docs/presentation_util.mdx index 1b9b5f7a49043d..927abbbb3ee131 100644 --- a/api_docs/presentation_util.mdx +++ b/api_docs/presentation_util.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/presentationUtil title: "presentationUtil" image: https://source.unsplash.com/400x175/?github description: API docs for the presentationUtil plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'presentationUtil'] --- import presentationUtilObj from './presentation_util.devdocs.json'; diff --git a/api_docs/profiling.mdx b/api_docs/profiling.mdx index 61f7f2e7a4a46e..47827bb20466ec 100644 --- a/api_docs/profiling.mdx +++ b/api_docs/profiling.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/profiling title: "profiling" image: https://source.unsplash.com/400x175/?github description: API docs for the profiling plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'profiling'] --- import profilingObj from './profiling.devdocs.json'; diff --git a/api_docs/profiling_data_access.mdx b/api_docs/profiling_data_access.mdx index ebcf736ebab141..ff0a1e375d4da7 100644 --- a/api_docs/profiling_data_access.mdx +++ b/api_docs/profiling_data_access.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/profilingDataAccess title: "profilingDataAccess" image: https://source.unsplash.com/400x175/?github description: API docs for the profilingDataAccess plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'profilingDataAccess'] --- import profilingDataAccessObj from './profiling_data_access.devdocs.json'; diff --git a/api_docs/remote_clusters.mdx b/api_docs/remote_clusters.mdx index dd0097a6dd6a62..5159030cfa617b 100644 --- a/api_docs/remote_clusters.mdx +++ b/api_docs/remote_clusters.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/remoteClusters title: "remoteClusters" image: https://source.unsplash.com/400x175/?github description: API docs for the remoteClusters plugin -date: 2023-09-24 +date: 2023-09-25 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 6452e7f7b24b0e..488642c6f8e010 100644 --- a/api_docs/reporting.mdx +++ b/api_docs/reporting.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/reporting title: "reporting" image: https://source.unsplash.com/400x175/?github description: API docs for the reporting plugin -date: 2023-09-24 +date: 2023-09-25 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 0d62b6be384434..4b61f0e98d41f3 100644 --- a/api_docs/rollup.mdx +++ b/api_docs/rollup.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/rollup title: "rollup" image: https://source.unsplash.com/400x175/?github description: API docs for the rollup plugin -date: 2023-09-24 +date: 2023-09-25 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 69539da58b214b..40ba43446183a6 100644 --- a/api_docs/rule_registry.mdx +++ b/api_docs/rule_registry.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/ruleRegistry title: "ruleRegistry" image: https://source.unsplash.com/400x175/?github description: API docs for the ruleRegistry plugin -date: 2023-09-24 +date: 2023-09-25 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 658eddd5cd63cd..616ca2ba498b8a 100644 --- a/api_docs/runtime_fields.mdx +++ b/api_docs/runtime_fields.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/runtimeFields title: "runtimeFields" image: https://source.unsplash.com/400x175/?github description: API docs for the runtimeFields plugin -date: 2023-09-24 +date: 2023-09-25 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 8832653e360322..703a7351a6a161 100644 --- a/api_docs/saved_objects.mdx +++ b/api_docs/saved_objects.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedObjects title: "savedObjects" image: https://source.unsplash.com/400x175/?github description: API docs for the savedObjects plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'savedObjects'] --- import savedObjectsObj from './saved_objects.devdocs.json'; diff --git a/api_docs/saved_objects_finder.mdx b/api_docs/saved_objects_finder.mdx index 4230f700090ebb..73360ea45e9336 100644 --- a/api_docs/saved_objects_finder.mdx +++ b/api_docs/saved_objects_finder.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedObjectsFinder title: "savedObjectsFinder" image: https://source.unsplash.com/400x175/?github description: API docs for the savedObjectsFinder plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'savedObjectsFinder'] --- import savedObjectsFinderObj from './saved_objects_finder.devdocs.json'; diff --git a/api_docs/saved_objects_management.mdx b/api_docs/saved_objects_management.mdx index da307d35226ded..99bfb91df0e6fe 100644 --- a/api_docs/saved_objects_management.mdx +++ b/api_docs/saved_objects_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedObjectsManagement title: "savedObjectsManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the savedObjectsManagement plugin -date: 2023-09-24 +date: 2023-09-25 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 3a7e7814cb095c..de4d4be1130271 100644 --- a/api_docs/saved_objects_tagging.mdx +++ b/api_docs/saved_objects_tagging.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedObjectsTagging title: "savedObjectsTagging" image: https://source.unsplash.com/400x175/?github description: API docs for the savedObjectsTagging plugin -date: 2023-09-24 +date: 2023-09-25 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 7b8e080108be69..0e6c7c151cb33e 100644 --- a/api_docs/saved_objects_tagging_oss.mdx +++ b/api_docs/saved_objects_tagging_oss.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedObjectsTaggingOss title: "savedObjectsTaggingOss" image: https://source.unsplash.com/400x175/?github description: API docs for the savedObjectsTaggingOss plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'savedObjectsTaggingOss'] --- import savedObjectsTaggingOssObj from './saved_objects_tagging_oss.devdocs.json'; diff --git a/api_docs/saved_search.mdx b/api_docs/saved_search.mdx index 7b966cf8fe30c9..6dc1bacc404b9c 100644 --- a/api_docs/saved_search.mdx +++ b/api_docs/saved_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedSearch title: "savedSearch" image: https://source.unsplash.com/400x175/?github description: API docs for the savedSearch plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'savedSearch'] --- import savedSearchObj from './saved_search.devdocs.json'; diff --git a/api_docs/screenshot_mode.mdx b/api_docs/screenshot_mode.mdx index 09cd789f3d7022..18be4227f66052 100644 --- a/api_docs/screenshot_mode.mdx +++ b/api_docs/screenshot_mode.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/screenshotMode title: "screenshotMode" image: https://source.unsplash.com/400x175/?github description: API docs for the screenshotMode plugin -date: 2023-09-24 +date: 2023-09-25 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 7e44bde918c3b7..38761b32e479c0 100644 --- a/api_docs/screenshotting.mdx +++ b/api_docs/screenshotting.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/screenshotting title: "screenshotting" image: https://source.unsplash.com/400x175/?github description: API docs for the screenshotting plugin -date: 2023-09-24 +date: 2023-09-25 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 a671e749e7205e..98d5fffabba4a9 100644 --- a/api_docs/security.mdx +++ b/api_docs/security.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/security title: "security" image: https://source.unsplash.com/400x175/?github description: API docs for the security plugin -date: 2023-09-24 +date: 2023-09-25 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 024d739b221a09..c68539310812ec 100644 --- a/api_docs/security_solution.mdx +++ b/api_docs/security_solution.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/securitySolution title: "securitySolution" image: https://source.unsplash.com/400x175/?github description: API docs for the securitySolution plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'securitySolution'] --- import securitySolutionObj from './security_solution.devdocs.json'; diff --git a/api_docs/security_solution_ess.mdx b/api_docs/security_solution_ess.mdx index f87dd79ad2cf52..cc41316aed3ff4 100644 --- a/api_docs/security_solution_ess.mdx +++ b/api_docs/security_solution_ess.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/securitySolutionEss title: "securitySolutionEss" image: https://source.unsplash.com/400x175/?github description: API docs for the securitySolutionEss plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'securitySolutionEss'] --- import securitySolutionEssObj from './security_solution_ess.devdocs.json'; diff --git a/api_docs/security_solution_serverless.mdx b/api_docs/security_solution_serverless.mdx index 71b798117cd516..8ef81c1dfca95a 100644 --- a/api_docs/security_solution_serverless.mdx +++ b/api_docs/security_solution_serverless.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/securitySolutionServerless title: "securitySolutionServerless" image: https://source.unsplash.com/400x175/?github description: API docs for the securitySolutionServerless plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'securitySolutionServerless'] --- import securitySolutionServerlessObj from './security_solution_serverless.devdocs.json'; diff --git a/api_docs/serverless.mdx b/api_docs/serverless.mdx index e09c3de3c163f9..41a6ccc0869efc 100644 --- a/api_docs/serverless.mdx +++ b/api_docs/serverless.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/serverless title: "serverless" image: https://source.unsplash.com/400x175/?github description: API docs for the serverless plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'serverless'] --- import serverlessObj from './serverless.devdocs.json'; diff --git a/api_docs/serverless_observability.mdx b/api_docs/serverless_observability.mdx index cf26c2822da687..50d9d52e50c739 100644 --- a/api_docs/serverless_observability.mdx +++ b/api_docs/serverless_observability.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/serverlessObservability title: "serverlessObservability" image: https://source.unsplash.com/400x175/?github description: API docs for the serverlessObservability plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'serverlessObservability'] --- import serverlessObservabilityObj from './serverless_observability.devdocs.json'; diff --git a/api_docs/serverless_search.mdx b/api_docs/serverless_search.mdx index acf01467bd5772..01d50142e9ce95 100644 --- a/api_docs/serverless_search.mdx +++ b/api_docs/serverless_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/serverlessSearch title: "serverlessSearch" image: https://source.unsplash.com/400x175/?github description: API docs for the serverlessSearch plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'serverlessSearch'] --- import serverlessSearchObj from './serverless_search.devdocs.json'; diff --git a/api_docs/session_view.mdx b/api_docs/session_view.mdx index 75128e866a7e82..cb13977aa04741 100644 --- a/api_docs/session_view.mdx +++ b/api_docs/session_view.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/sessionView title: "sessionView" image: https://source.unsplash.com/400x175/?github description: API docs for the sessionView plugin -date: 2023-09-24 +date: 2023-09-25 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 e666300ded6afd..84f7168288c651 100644 --- a/api_docs/share.mdx +++ b/api_docs/share.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/share title: "share" image: https://source.unsplash.com/400x175/?github description: API docs for the share plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'share'] --- import shareObj from './share.devdocs.json'; diff --git a/api_docs/snapshot_restore.mdx b/api_docs/snapshot_restore.mdx index 82fbd81a70ade2..f6981f2ac3afc4 100644 --- a/api_docs/snapshot_restore.mdx +++ b/api_docs/snapshot_restore.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/snapshotRestore title: "snapshotRestore" image: https://source.unsplash.com/400x175/?github description: API docs for the snapshotRestore plugin -date: 2023-09-24 +date: 2023-09-25 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 6b307fb8cde424..c60ccfacf2789c 100644 --- a/api_docs/spaces.mdx +++ b/api_docs/spaces.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/spaces title: "spaces" image: https://source.unsplash.com/400x175/?github description: API docs for the spaces plugin -date: 2023-09-24 +date: 2023-09-25 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 341f0ef7b28e9e..8a51514e1c06ed 100644 --- a/api_docs/stack_alerts.mdx +++ b/api_docs/stack_alerts.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/stackAlerts title: "stackAlerts" image: https://source.unsplash.com/400x175/?github description: API docs for the stackAlerts plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'stackAlerts'] --- import stackAlertsObj from './stack_alerts.devdocs.json'; diff --git a/api_docs/stack_connectors.mdx b/api_docs/stack_connectors.mdx index d4c63671cc5ed9..40b967ce8965a8 100644 --- a/api_docs/stack_connectors.mdx +++ b/api_docs/stack_connectors.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/stackConnectors title: "stackConnectors" image: https://source.unsplash.com/400x175/?github description: API docs for the stackConnectors plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'stackConnectors'] --- import stackConnectorsObj from './stack_connectors.devdocs.json'; diff --git a/api_docs/task_manager.mdx b/api_docs/task_manager.mdx index 6658c43ba954e4..b96ec3d7afc73f 100644 --- a/api_docs/task_manager.mdx +++ b/api_docs/task_manager.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/taskManager title: "taskManager" image: https://source.unsplash.com/400x175/?github description: API docs for the taskManager plugin -date: 2023-09-24 +date: 2023-09-25 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 d03a8c2d3ecb5b..978da104cf14b4 100644 --- a/api_docs/telemetry.mdx +++ b/api_docs/telemetry.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/telemetry title: "telemetry" image: https://source.unsplash.com/400x175/?github description: API docs for the telemetry plugin -date: 2023-09-24 +date: 2023-09-25 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 8bc9434cdc710d..b05b5cbc2f13b7 100644 --- a/api_docs/telemetry_collection_manager.mdx +++ b/api_docs/telemetry_collection_manager.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/telemetryCollectionManager title: "telemetryCollectionManager" image: https://source.unsplash.com/400x175/?github description: API docs for the telemetryCollectionManager plugin -date: 2023-09-24 +date: 2023-09-25 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 5dab15e8a2d8a8..96f0f4ceb59d69 100644 --- a/api_docs/telemetry_collection_xpack.mdx +++ b/api_docs/telemetry_collection_xpack.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/telemetryCollectionXpack title: "telemetryCollectionXpack" image: https://source.unsplash.com/400x175/?github description: API docs for the telemetryCollectionXpack plugin -date: 2023-09-24 +date: 2023-09-25 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 31883582f8e309..a0a03154ba4a31 100644 --- a/api_docs/telemetry_management_section.mdx +++ b/api_docs/telemetry_management_section.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/telemetryManagementSection title: "telemetryManagementSection" image: https://source.unsplash.com/400x175/?github description: API docs for the telemetryManagementSection plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'telemetryManagementSection'] --- import telemetryManagementSectionObj from './telemetry_management_section.devdocs.json'; diff --git a/api_docs/text_based_languages.mdx b/api_docs/text_based_languages.mdx index 399642e35b464b..102620c30738ea 100644 --- a/api_docs/text_based_languages.mdx +++ b/api_docs/text_based_languages.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/textBasedLanguages title: "textBasedLanguages" image: https://source.unsplash.com/400x175/?github description: API docs for the textBasedLanguages plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'textBasedLanguages'] --- import textBasedLanguagesObj from './text_based_languages.devdocs.json'; diff --git a/api_docs/threat_intelligence.mdx b/api_docs/threat_intelligence.mdx index 10239ba587c19e..3101b46e527b78 100644 --- a/api_docs/threat_intelligence.mdx +++ b/api_docs/threat_intelligence.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/threatIntelligence title: "threatIntelligence" image: https://source.unsplash.com/400x175/?github description: API docs for the threatIntelligence plugin -date: 2023-09-24 +date: 2023-09-25 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 2458ff75c99fdf..6df86f6405a461 100644 --- a/api_docs/timelines.mdx +++ b/api_docs/timelines.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/timelines title: "timelines" image: https://source.unsplash.com/400x175/?github description: API docs for the timelines plugin -date: 2023-09-24 +date: 2023-09-25 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 2704f42fd03c9f..b2abf3b5a7fbd6 100644 --- a/api_docs/transform.mdx +++ b/api_docs/transform.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/transform title: "transform" image: https://source.unsplash.com/400x175/?github description: API docs for the transform plugin -date: 2023-09-24 +date: 2023-09-25 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 04eb6d2daf9c4d..c71f65522d0508 100644 --- a/api_docs/triggers_actions_ui.mdx +++ b/api_docs/triggers_actions_ui.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/triggersActionsUi title: "triggersActionsUi" image: https://source.unsplash.com/400x175/?github description: API docs for the triggersActionsUi plugin -date: 2023-09-24 +date: 2023-09-25 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 240a07fc54ae3b..6732a7c289ec67 100644 --- a/api_docs/ui_actions.mdx +++ b/api_docs/ui_actions.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/uiActions title: "uiActions" image: https://source.unsplash.com/400x175/?github description: API docs for the uiActions plugin -date: 2023-09-24 +date: 2023-09-25 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 d62217a21ccf30..59462b448fcdc5 100644 --- a/api_docs/ui_actions_enhanced.mdx +++ b/api_docs/ui_actions_enhanced.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/uiActionsEnhanced title: "uiActionsEnhanced" image: https://source.unsplash.com/400x175/?github description: API docs for the uiActionsEnhanced plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'uiActionsEnhanced'] --- import uiActionsEnhancedObj from './ui_actions_enhanced.devdocs.json'; diff --git a/api_docs/unified_doc_viewer.mdx b/api_docs/unified_doc_viewer.mdx index e0aebea8987dac..250bdf0cd888d7 100644 --- a/api_docs/unified_doc_viewer.mdx +++ b/api_docs/unified_doc_viewer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/unifiedDocViewer title: "unifiedDocViewer" image: https://source.unsplash.com/400x175/?github description: API docs for the unifiedDocViewer plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'unifiedDocViewer'] --- import unifiedDocViewerObj from './unified_doc_viewer.devdocs.json'; diff --git a/api_docs/unified_histogram.mdx b/api_docs/unified_histogram.mdx index 0ee26ed996c414..1146ce60ba21b0 100644 --- a/api_docs/unified_histogram.mdx +++ b/api_docs/unified_histogram.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/unifiedHistogram title: "unifiedHistogram" image: https://source.unsplash.com/400x175/?github description: API docs for the unifiedHistogram plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'unifiedHistogram'] --- import unifiedHistogramObj from './unified_histogram.devdocs.json'; diff --git a/api_docs/unified_search.mdx b/api_docs/unified_search.mdx index 43b350666985e8..b64502052bb92f 100644 --- a/api_docs/unified_search.mdx +++ b/api_docs/unified_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/unifiedSearch title: "unifiedSearch" image: https://source.unsplash.com/400x175/?github description: API docs for the unifiedSearch plugin -date: 2023-09-24 +date: 2023-09-25 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 2150e5bf00c716..83ef9b6a1b3ba1 100644 --- a/api_docs/unified_search_autocomplete.mdx +++ b/api_docs/unified_search_autocomplete.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/unifiedSearch-autocomplete title: "unifiedSearch.autocomplete" image: https://source.unsplash.com/400x175/?github description: API docs for the unifiedSearch.autocomplete plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'unifiedSearch.autocomplete'] --- import unifiedSearchAutocompleteObj from './unified_search_autocomplete.devdocs.json'; diff --git a/api_docs/uptime.mdx b/api_docs/uptime.mdx index 4c99f574bd533f..482d11bcd7144d 100644 --- a/api_docs/uptime.mdx +++ b/api_docs/uptime.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/uptime title: "uptime" image: https://source.unsplash.com/400x175/?github description: API docs for the uptime plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'uptime'] --- import uptimeObj from './uptime.devdocs.json'; diff --git a/api_docs/url_forwarding.mdx b/api_docs/url_forwarding.mdx index 41ff928efbd588..2777090c13a13a 100644 --- a/api_docs/url_forwarding.mdx +++ b/api_docs/url_forwarding.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/urlForwarding title: "urlForwarding" image: https://source.unsplash.com/400x175/?github description: API docs for the urlForwarding plugin -date: 2023-09-24 +date: 2023-09-25 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 9ac2dbba836a3f..57957d3e2c797c 100644 --- a/api_docs/usage_collection.mdx +++ b/api_docs/usage_collection.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/usageCollection title: "usageCollection" image: https://source.unsplash.com/400x175/?github description: API docs for the usageCollection plugin -date: 2023-09-24 +date: 2023-09-25 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 975f22ba455604..4044e6cbe18d55 100644 --- a/api_docs/ux.mdx +++ b/api_docs/ux.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/ux title: "ux" image: https://source.unsplash.com/400x175/?github description: API docs for the ux plugin -date: 2023-09-24 +date: 2023-09-25 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 4f49116553d9f6..228fb2a2daefcf 100644 --- a/api_docs/vis_default_editor.mdx +++ b/api_docs/vis_default_editor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visDefaultEditor title: "visDefaultEditor" image: https://source.unsplash.com/400x175/?github description: API docs for the visDefaultEditor plugin -date: 2023-09-24 +date: 2023-09-25 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 bed6faa33b4554..52cec1def36a2c 100644 --- a/api_docs/vis_type_gauge.mdx +++ b/api_docs/vis_type_gauge.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeGauge title: "visTypeGauge" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeGauge plugin -date: 2023-09-24 +date: 2023-09-25 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 3b19aa9f532f2b..41d0ec04429c09 100644 --- a/api_docs/vis_type_heatmap.mdx +++ b/api_docs/vis_type_heatmap.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeHeatmap title: "visTypeHeatmap" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeHeatmap plugin -date: 2023-09-24 +date: 2023-09-25 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 9141f80d8dad2e..b80f235179cc50 100644 --- a/api_docs/vis_type_pie.mdx +++ b/api_docs/vis_type_pie.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypePie title: "visTypePie" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypePie plugin -date: 2023-09-24 +date: 2023-09-25 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 6f70f9feb73b77..dded79de20576f 100644 --- a/api_docs/vis_type_table.mdx +++ b/api_docs/vis_type_table.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeTable title: "visTypeTable" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeTable plugin -date: 2023-09-24 +date: 2023-09-25 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 ca7bd2a7e393a6..9a8a28291e8eb4 100644 --- a/api_docs/vis_type_timelion.mdx +++ b/api_docs/vis_type_timelion.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeTimelion title: "visTypeTimelion" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeTimelion plugin -date: 2023-09-24 +date: 2023-09-25 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 09252995bf9a60..fcf93304947588 100644 --- a/api_docs/vis_type_timeseries.mdx +++ b/api_docs/vis_type_timeseries.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeTimeseries title: "visTypeTimeseries" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeTimeseries plugin -date: 2023-09-24 +date: 2023-09-25 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 f23b770a7117a2..e676666e890e98 100644 --- a/api_docs/vis_type_vega.mdx +++ b/api_docs/vis_type_vega.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeVega title: "visTypeVega" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeVega plugin -date: 2023-09-24 +date: 2023-09-25 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 3b850e7b7c1d7f..fa7a9edf9e3661 100644 --- a/api_docs/vis_type_vislib.mdx +++ b/api_docs/vis_type_vislib.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeVislib title: "visTypeVislib" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeVislib plugin -date: 2023-09-24 +date: 2023-09-25 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 d838b84da099d2..2065f8dfddf386 100644 --- a/api_docs/vis_type_xy.mdx +++ b/api_docs/vis_type_xy.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeXy title: "visTypeXy" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeXy plugin -date: 2023-09-24 +date: 2023-09-25 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 2b9ed1af100c25..b24038325797e1 100644 --- a/api_docs/visualizations.mdx +++ b/api_docs/visualizations.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visualizations title: "visualizations" image: https://source.unsplash.com/400x175/?github description: API docs for the visualizations plugin -date: 2023-09-24 +date: 2023-09-25 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visualizations'] --- import visualizationsObj from './visualizations.devdocs.json'; From b98b6d08cd700c2c892e7d4eaffb97b3c5bbded8 Mon Sep 17 00:00:00 2001 From: Gerard Soldevila Date: Mon, 25 Sep 2023 09:32:57 +0200 Subject: [PATCH 62/72] Fix flakiness on custom time range saved searches (#165454) A bunch of tests on dashboards are customising some of the panels settings and providing custom time ranges: image Currently, the logic is not waiting for the quick toggle animation to complete, before proceeding to select a time range. This can cause a flaky behavior if the logic tries to customize the range before the button is actually available, as seen on [this failed test](https://s3.amazonaws.com/buildkiteartifacts.com/e0f3970e-3a75-4621-919f-e6c773e2bb12/0fda5127-f57f-42fb-8e5a-146b3d535916/018a4c44-5497-48b6-8521-a8a79a2f63b4/018a4c46-0e7a-4b69-9a3d-9c54c27165b0/target/test_failures/018a4c46-0e7a-4b69-9a3d-9c54c27165b0_4fcbc47e71644919129e320eea8bb3bc.html?response-content-type=text%2Fhtml&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=ASIAQPCP3C7LZWZ5UB5F%2F20230901%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20230901T094837Z&X-Amz-Expires=600&X-Amz-Security-Token=IQoJb3JpZ2luX2VjEB0aCXVzLWVhc3QtMSJGMEQCIGCyKcVLGPUawZubNzZdt5oZNb5v0saiIuPqXwI7rmwlAiAsOj%2Fiep94v%2BYZJtLY3Gw0m%2FmK5mJw2IcIBdNKFXgK%2BCr6Awjm%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F8BEAAaDDAzMjM3OTcwNTMwMyIMXOd1Hm6ks%2FNE37V0Ks4DgMUso7syv87hnPcC%2BB1soxvFFnj4JnNZc6ZgkLUe93z99iPFBUsqH%2BRbUTfSbjVOEJYBKGYuvp32xvSWsYNVPXKmcej18LC0yNi%2BBzoG2X%2Bj80g%2BbGMm6YfTncjPhOE0CHHqOWXts9nQ8WpDy8XOl0zfMtuiPjzOXHo9lvw2mgYDZIJIMV72FYB9JGg8FPbLQtD3rysLGNE0VDKgl5LCnYwhY1pwRCRHnVW41QfV0pwK%2FbjNf9HjdK31LQvMY%2FGPuB3M6O2CUZLsvLGfWBeGYHtkqb0hrL9ijO1Uo28ZSS1FytPftEdF0e1kAC9C5zD56HtYm55aktOWtaaC0XPWLdWWGUq%2FKQzhxSCiXK6ovATU3zI3yPNoZs92YBYmIPMOpEI40dCCpksjPwAMCiQd%2F9gMNKP5Qp5CbYd2Khy%2FeXaT8J7HOZCueN63O0j%2FtX1tbwfznhbr74lAcRQjueRYmwboZaGSDZUQ33lSSmyZk1V9WF9eJyt88oHvIx0q9bIjvOlW05DiNKfEFWYwfBywdGuvRU6eGMs1QcDNu33Lb%2BhymudM2JZmQKIjZOcb2l3Fzctp614owH4JcRlmF4%2BIa4xHeBdRlTMysS8bTIsgMK7axacGOqYBzIpC1wgZWJ1kZ0agLWCNaMIdUl%2B4xrr7w%2Fz0843WWMhRrvbJhDTHqk5UclF%2FSROAMe0FH2XEXiQ65ILyUPlrUMels5tfQ3Pp%2FJWPi9NsQJUQ1n9uLN%2BFPDOoMo8Uxg4%2FkG2O7yTkrIdArfA6pWN9I21gFMW%2BFZy9BMYltt5T65ZKOyYAIFGpLhgfBySIBCUMgwR1kusfDhf1%2FRTvtDKD2sJKN5a0IA%3D%3D&X-Amz-SignedHeaders=host&X-Amz-Signature=35fabe908aa7514e4a92de0ed12973af85ccfb439984fc3bdd7ef3bb8fe3419b). (part of this [failed CI build](https://buildkite.com/elastic/kibana-pull-request/builds/155285#018a4c46-0e7a-4b69-9a3d-9c54c27165b0)) The goal of this PR is to add a small waiting period, to make sure the toggle animation has completed, and that the time range controls are visible and clickable. I used the opportunity to cleanup some "await delay millis" calls, reusing existing logic instead. --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> --- .../services/dashboard/add_panel.ts | 3 + .../services/dashboard/panel_settings.ts | 68 +++++++++++++++---- .../apps/dashboard/group2/panel_time_range.ts | 12 ++-- .../drilldowns/explore_data_panel_action.ts | 6 +- .../apps/discover/saved_searches.ts | 7 +- .../apps/lens/open_in_lens/tsvb/dashboard.ts | 8 +-- .../test/functional/apps/uptime/overview.ts | 4 +- .../page_objects/navigational_search.ts | 7 +- .../services/cases/single_case_view.ts | 2 +- .../test/functional/services/data_stream.ts | 7 +- .../infra_source_configuration_form.ts | 10 ++- .../functional/services/uptime/navigation.ts | 2 +- 12 files changed, 92 insertions(+), 44 deletions(-) diff --git a/test/functional/services/dashboard/add_panel.ts b/test/functional/services/dashboard/add_panel.ts index 926e19cd434744..00a91dff87b852 100644 --- a/test/functional/services/dashboard/add_panel.ts +++ b/test/functional/services/dashboard/add_panel.ts @@ -236,6 +236,9 @@ export class DashboardAddPanelService extends FtrService { await this.testSubjects.click(`savedObjectTitle${embeddableName.split(' ').join('-')}`); await this.testSubjects.exists('addObjectToDashboardSuccess'); await this.closeAddPanel(); + + // close "Added successfully" toast + await this.common.clearAllToasts(); return embeddableName; } diff --git a/test/functional/services/dashboard/panel_settings.ts b/test/functional/services/dashboard/panel_settings.ts index a90a51fdc2febf..de75a9c4a7a193 100644 --- a/test/functional/services/dashboard/panel_settings.ts +++ b/test/functional/services/dashboard/panel_settings.ts @@ -8,8 +8,9 @@ import { FtrProviderContext } from '../../ftr_provider_context'; import { CommonlyUsed } from '../../page_objects/time_picker'; +import { WebElementWrapper } from '../lib/web_element_wrapper'; -export function DashboardCustomizePanelProvider({ getService }: FtrProviderContext) { +export function DashboardCustomizePanelProvider({ getService, getPageObject }: FtrProviderContext) { const log = getService('log'); const retry = getService('retry'); const toasts = getService('toasts'); @@ -39,6 +40,48 @@ export function DashboardCustomizePanelProvider({ getService }: FtrProviderConte await testSubjects.missingOrFail(this.TOGGLE_TIME_RANGE_TEST_SUBJ); } + public async findCustomTimeRangeToggleButton(): Promise { + log.debug('findCustomTimeRangeToggleButton'); + let button: WebElementWrapper | undefined; + await retry.waitFor('custom time range toggle button', async () => { + button = await testSubjects.find(this.TOGGLE_TIME_RANGE_TEST_SUBJ); + return Boolean(button); + }); + return button!; + } + + public async enableCustomTimeRange() { + log.debug('enableCustomTimeRange'); + const toggle = await this.findCustomTimeRangeToggleButton(); + + await retry.try(async () => { + if ((await toggle.getAttribute('aria-checked')) === 'false') { + await toggle.click(); + await retry.waitForWithTimeout( + 'custom time range to be enabled', + 1000, + async () => (await toggle.getAttribute('aria-checked')) === 'true' + ); + } + }); + } + + public async disableCustomTimeRange() { + log.debug('disableCustomTimeRange'); + const toggle = await this.findCustomTimeRangeToggleButton(); + + await retry.try(async () => { + if ((await toggle.getAttribute('aria-checked')) === 'true') { + await toggle.click(); + await retry.waitForWithTimeout( + 'custom time range to be disabled', + 1000, + async () => (await toggle.getAttribute('aria-checked')) === 'false' + ); + } + }); + } + public async findFlyout() { log.debug('findFlyout'); return await testSubjects.find(this.FLYOUT_TEST_SUBJ); @@ -50,15 +93,21 @@ export function DashboardCustomizePanelProvider({ getService }: FtrProviderConte return await flyout.findByCssSelector(`[data-test-subj="${testSubject}"]`); } - public async findToggleQuickMenuButton() { - log.debug('findToggleQuickMenuButton'); + public async findDatePickerQuickMenuButton() { + log.debug('findDatePickerQuickMenuButton'); return await this.findFlyoutTestSubject('superDatePickerToggleQuickMenuButton'); } - public async clickToggleQuickMenuButton() { - log.debug('clickToggleQuickMenuButton'); - const button = await this.findToggleQuickMenuButton(); - await button.click(); + public async openDatePickerQuickMenu() { + log.debug('openDatePickerQuickMenu'); + let button: WebElementWrapper | undefined; + await retry.waitFor('superDatePickerToggleQuickMenuButton to be present', async () => { + button = await this.findDatePickerQuickMenuButton(); + return Boolean(button); + }); + if (button) { + await button.click(); + } } public async clickCommonlyUsedTimeRange(time: CommonlyUsed) { @@ -111,10 +160,5 @@ export function DashboardCustomizePanelProvider({ getService }: FtrProviderConte await testSubjects.waitForDeleted('cancelCustomizePanelButton'); }); } - - public async clickToggleShowCustomTimeRange() { - log.debug('clickToggleShowCustomTimeRange'); - await testSubjects.click(this.TOGGLE_TIME_RANGE_TEST_SUBJ); - } })(); } diff --git a/x-pack/test/functional/apps/dashboard/group2/panel_time_range.ts b/x-pack/test/functional/apps/dashboard/group2/panel_time_range.ts index bbf5877f803276..e68d1ebc60953c 100644 --- a/x-pack/test/functional/apps/dashboard/group2/panel_time_range.ts +++ b/x-pack/test/functional/apps/dashboard/group2/panel_time_range.ts @@ -44,8 +44,8 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { it('can add a custom time range to a panel', async () => { await PageObjects.lens.createAndAddLensFromDashboard({}); await dashboardPanelActions.customizePanel(); - await dashboardCustomizePanel.clickToggleShowCustomTimeRange(); - await dashboardCustomizePanel.clickToggleQuickMenuButton(); + await dashboardCustomizePanel.enableCustomTimeRange(); + await dashboardCustomizePanel.openDatePickerQuickMenu(); await dashboardCustomizePanel.clickCommonlyUsedTimeRange('Last_30 days'); await dashboardCustomizePanel.clickSaveButton(); await PageObjects.dashboard.waitForRenderComplete(); @@ -56,7 +56,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { it('can remove a custom time range from a panel', async () => { await dashboardBadgeActions.clickTimeRangeBadgeAction(); - await dashboardCustomizePanel.clickToggleShowCustomTimeRange(); + await dashboardCustomizePanel.disableCustomTimeRange(); await dashboardCustomizePanel.clickSaveButton(); await PageObjects.dashboard.waitForRenderComplete(); await dashboardBadgeActions.expectMissingTimeRangeBadgeAction(); @@ -68,8 +68,8 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { it('can add a custom time range to panel', async () => { await dashboardPanelActions.saveToLibrary('My by reference visualization'); await dashboardPanelActions.customizePanel(); - await dashboardCustomizePanel.clickToggleShowCustomTimeRange(); - await dashboardCustomizePanel.clickToggleQuickMenuButton(); + await dashboardCustomizePanel.enableCustomTimeRange(); + await dashboardCustomizePanel.openDatePickerQuickMenu(); await dashboardCustomizePanel.clickCommonlyUsedTimeRange('Last_30 days'); await dashboardCustomizePanel.clickSaveButton(); await PageObjects.dashboard.waitForRenderComplete(); @@ -80,7 +80,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { it('can remove a custom time range from a panel', async () => { await dashboardBadgeActions.clickTimeRangeBadgeAction(); - await dashboardCustomizePanel.clickToggleShowCustomTimeRange(); + await dashboardCustomizePanel.disableCustomTimeRange(); await dashboardCustomizePanel.clickSaveButton(); await PageObjects.dashboard.waitForRenderComplete(); await dashboardBadgeActions.expectMissingTimeRangeBadgeAction(); diff --git a/x-pack/test/functional/apps/dashboard/group3/drilldowns/explore_data_panel_action.ts b/x-pack/test/functional/apps/dashboard/group3/drilldowns/explore_data_panel_action.ts index ed504f3711565f..ccf738af3825df 100644 --- a/x-pack/test/functional/apps/dashboard/group3/drilldowns/explore_data_panel_action.ts +++ b/x-pack/test/functional/apps/dashboard/group3/drilldowns/explore_data_panel_action.ts @@ -46,7 +46,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { await dashboard.gotoDashboardEditMode(drilldowns.DASHBOARD_WITH_PIE_CHART_NAME); await panelActions.customizePanel(); - await dashboardCustomizePanel.clickToggleShowCustomTimeRange(); + await dashboardCustomizePanel.disableCustomTimeRange(); await dashboardCustomizePanel.clickSaveButton(); await dashboard.saveDashboard('Dashboard with Pie Chart'); }); @@ -80,8 +80,8 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { await dashboard.gotoDashboardEditMode(drilldowns.DASHBOARD_WITH_PIE_CHART_NAME); await panelActions.customizePanel(); - await dashboardCustomizePanel.clickToggleShowCustomTimeRange(); - await dashboardCustomizePanel.clickToggleQuickMenuButton(); + await dashboardCustomizePanel.enableCustomTimeRange(); + await dashboardCustomizePanel.openDatePickerQuickMenu(); await dashboardCustomizePanel.clickCommonlyUsedTimeRange('Last_90 days'); await dashboardCustomizePanel.clickSaveButton(); diff --git a/x-pack/test/functional/apps/discover/saved_searches.ts b/x-pack/test/functional/apps/discover/saved_searches.ts index 85a4d91eabc3c5..8f5fe5dc9bc11a 100644 --- a/x-pack/test/functional/apps/discover/saved_searches.ts +++ b/x-pack/test/functional/apps/discover/saved_searches.ts @@ -45,8 +45,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { await PageObjects.common.unsetTime(); }); - // FLAKY: https://github.com/elastic/kibana/issues/104578 - describe.skip('Customize time range', () => { + describe('Customize time range', () => { it('should be possible to customize time range for saved searches on dashboards', async () => { await PageObjects.dashboard.navigateToApp(); await PageObjects.dashboard.clickNewDashboard(); @@ -55,8 +54,8 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { expect(await dataGrid.getDocCount()).to.be(500); await panelActions.customizePanel(); - await dashboardCustomizePanel.clickToggleShowCustomTimeRange(); - await dashboardCustomizePanel.clickToggleQuickMenuButton(); + await dashboardCustomizePanel.enableCustomTimeRange(); + await dashboardCustomizePanel.openDatePickerQuickMenu(); await dashboardCustomizePanel.clickCommonlyUsedTimeRange('Last_90 days'); await dashboardCustomizePanel.clickSaveButton(); diff --git a/x-pack/test/functional/apps/lens/open_in_lens/tsvb/dashboard.ts b/x-pack/test/functional/apps/lens/open_in_lens/tsvb/dashboard.ts index b6acfcf64a750e..9232860012bc9b 100644 --- a/x-pack/test/functional/apps/lens/open_in_lens/tsvb/dashboard.ts +++ b/x-pack/test/functional/apps/lens/open_in_lens/tsvb/dashboard.ts @@ -42,8 +42,8 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) { await dashboard.waitForRenderComplete(); const originalEmbeddableCount = await canvas.getEmbeddableCount(); await dashboardPanelActions.customizePanel(); - await dashboardCustomizePanel.clickToggleShowCustomTimeRange(); - await dashboardCustomizePanel.clickToggleQuickMenuButton(); + await dashboardCustomizePanel.enableCustomTimeRange(); + await dashboardCustomizePanel.openDatePickerQuickMenu(); await dashboardCustomizePanel.clickCommonlyUsedTimeRange('Last_30 days'); await dashboardCustomizePanel.clickSaveButton(); await dashboard.waitForRenderComplete(); @@ -80,8 +80,8 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) { await dashboard.waitForRenderComplete(); const originalEmbeddableCount = await canvas.getEmbeddableCount(); await dashboardPanelActions.customizePanel(); - await dashboardCustomizePanel.clickToggleShowCustomTimeRange(); - await dashboardCustomizePanel.clickToggleQuickMenuButton(); + await dashboardCustomizePanel.enableCustomTimeRange(); + await dashboardCustomizePanel.openDatePickerQuickMenu(); await dashboardCustomizePanel.clickCommonlyUsedTimeRange('Last_30 days'); await dashboardCustomizePanel.clickSaveButton(); await dashboard.waitForRenderComplete(); diff --git a/x-pack/test/functional/apps/uptime/overview.ts b/x-pack/test/functional/apps/uptime/overview.ts index afe19a1ae19387..81e5795533b696 100644 --- a/x-pack/test/functional/apps/uptime/overview.ts +++ b/x-pack/test/functional/apps/uptime/overview.ts @@ -11,7 +11,7 @@ import { FtrProviderContext } from '../../ftr_provider_context'; export const UPTIME_HEARTBEAT_DATA = 'x-pack/test/functional/es_archives/uptime/full_heartbeat'; export default ({ getPageObjects, getService }: FtrProviderContext) => { - const { uptime } = getPageObjects(['uptime']); + const { uptime, common } = getPageObjects(['uptime', 'common']); const retry = getService('retry'); const esArchiver = getService('esArchiver'); @@ -104,7 +104,7 @@ export default ({ getPageObjects, getService }: FtrProviderContext) => { }); await uptime.setMonitorListPageSize(50); // the pagination parameter should be cleared after a size change - await new Promise((resolve) => setTimeout(resolve, 1000)); + await common.sleep(1000); await retry.try(async () => { await uptime.pageUrlContains('pagination', false); }); diff --git a/x-pack/test/functional/page_objects/navigational_search.ts b/x-pack/test/functional/page_objects/navigational_search.ts index 46fed2814c0dfe..ae27d6d68a4a59 100644 --- a/x-pack/test/functional/page_objects/navigational_search.ts +++ b/x-pack/test/functional/page_objects/navigational_search.ts @@ -12,11 +12,10 @@ interface SearchResult { label: string; } -const delay = (ms: number) => new Promise((resolve) => setTimeout(resolve, ms)); - export class NavigationalSearchPageObject extends FtrService { private readonly find = this.ctx.getService('find'); private readonly testSubjects = this.ctx.getService('testSubjects'); + private readonly common = this.ctx.getPageObject('common'); async focus() { const field = await this.testSubjects.find('nav-search-input'); @@ -69,7 +68,7 @@ export class NavigationalSearchPageObject extends FtrService { // without heavy flakiness in this situation. // there is NO ui indication of any kind to detect when all the emissions are done, // so we are forced to fallback to awaiting a given amount of time once the first options are displayed. - await delay(waitUntil); + await this.common.sleep(waitUntil); } async getDisplayedResults() { @@ -79,7 +78,7 @@ export class NavigationalSearchPageObject extends FtrService { async isNoResultsPlaceholderDisplayed(checkAfter: number = 3000) { // see comment in `waitForResultsLoaded` - await delay(checkAfter); + await this.common.sleep(checkAfter); return this.testSubjects.exists('nav-search-no-results'); } diff --git a/x-pack/test/functional/services/cases/single_case_view.ts b/x-pack/test/functional/services/cases/single_case_view.ts index 008f89c5b3ee88..27877f592d5dc1 100644 --- a/x-pack/test/functional/services/cases/single_case_view.ts +++ b/x-pack/test/functional/services/cases/single_case_view.ts @@ -106,7 +106,7 @@ export function CasesSingleViewServiceProvider({ getService, getPageObject }: Ft '[data-test-subj="euiMarkdownEditorToolbarButton"][aria-label="Visualization"]' ); await addVisualizationButton.moveMouseTo(); - await new Promise((resolve) => setTimeout(resolve, 500)); // give tooltip time to open + await common.sleep(500); // give tooltip time to open }, async assertCaseTitle(expectedTitle: string) { diff --git a/x-pack/test/functional/services/data_stream.ts b/x-pack/test/functional/services/data_stream.ts index 13cc8547b56776..2864be1e0dc2b6 100644 --- a/x-pack/test/functional/services/data_stream.ts +++ b/x-pack/test/functional/services/data_stream.ts @@ -8,15 +8,14 @@ import type { MappingProperty } from '@elastic/elasticsearch/lib/api/types'; import type { FtrProviderContext } from '../ftr_provider_context'; -const waitFor = (time: number = 1000) => new Promise((r) => setTimeout(r, time)); - /** * High level interface to operate with Elasticsearch data stream and TSDS. */ -export function DataStreamProvider({ getService }: FtrProviderContext) { +export function DataStreamProvider({ getService, getPageObject }: FtrProviderContext) { const es = getService('es'); const log = getService('log'); const retry = getService('retry'); + const common = getPageObject('common'); const downsampleDefaultOptions = { isStream: true, @@ -65,7 +64,7 @@ export function DataStreamProvider({ getService }: FtrProviderContext) { waitTime / 1000 }s before running the downsampling to avoid a null_pointer_exception` ); - await waitFor(waitTime); + await common.sleep(waitTime); try { log.info(`downsampling "${sourceIndex}" index...`); diff --git a/x-pack/test/functional/services/infra_source_configuration_form.ts b/x-pack/test/functional/services/infra_source_configuration_form.ts index 3f77991ba50419..741d42ac16fda9 100644 --- a/x-pack/test/functional/services/infra_source_configuration_form.ts +++ b/x-pack/test/functional/services/infra_source_configuration_form.ts @@ -8,10 +8,14 @@ import { FtrProviderContext } from '../ftr_provider_context'; import { WebElementWrapper } from '../../../../test/functional/services/lib/web_element_wrapper'; -export function InfraSourceConfigurationFormProvider({ getService }: FtrProviderContext) { +export function InfraSourceConfigurationFormProvider({ + getService, + getPageObject, +}: FtrProviderContext) { const retry = getService('retry'); const testSubjects = getService('testSubjects'); const browser = getService('browser'); + const common = getPageObject('common'); return { /** @@ -94,7 +98,7 @@ export function InfraSourceConfigurationFormProvider({ getService }: FtrProvider const movementDifference = destinationIndex - sourceIndex; await moveLogColumnHandle.pressKeys(browser.keys.SPACE); for (let i = 0; i < Math.abs(movementDifference); i++) { - await new Promise((res) => setTimeout(res, KEY_PRESS_DELAY_MS)); + await common.sleep(KEY_PRESS_DELAY_MS); if (movementDifference > 0) { await moveLogColumnHandle.pressKeys(browser.keys.ARROW_DOWN); } else { @@ -102,7 +106,7 @@ export function InfraSourceConfigurationFormProvider({ getService }: FtrProvider } } await moveLogColumnHandle.pressKeys(browser.keys.SPACE); - await new Promise((res) => setTimeout(res, KEY_PRESS_DELAY_MS)); + await common.sleep(KEY_PRESS_DELAY_MS); }, /** diff --git a/x-pack/test/functional/services/uptime/navigation.ts b/x-pack/test/functional/services/uptime/navigation.ts index 57e39f6bf9d0ed..8a3898e813c6a3 100644 --- a/x-pack/test/functional/services/uptime/navigation.ts +++ b/x-pack/test/functional/services/uptime/navigation.ts @@ -32,7 +32,7 @@ export function UptimeNavigationProvider({ getService, getPageObjects }: FtrProv return { async refreshApp() { await browser.refresh(); - await new Promise((resolve) => setTimeout(resolve, 1000)); + await PageObjects.common.sleep(1000); await PageObjects.header.waitUntilLoadingHasFinished(); }, From 14e4987ae608bb026e309626ed9dd657f7f3f8e2 Mon Sep 17 00:00:00 2001 From: Stratoula Kalafateli Date: Mon, 25 Sep 2023 10:38:46 +0300 Subject: [PATCH 63/72] [ES|QL] Fixes words wrapping (#167025) ## Summary Fixes https://github.com/elastic/kibana/issues/166648 image --- .../kbn-text-based-editor/src/text_based_languages_editor.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/kbn-text-based-editor/src/text_based_languages_editor.tsx b/packages/kbn-text-based-editor/src/text_based_languages_editor.tsx index 84abd18de3323e..fc86f7ca1cac69 100644 --- a/packages/kbn-text-based-editor/src/text_based_languages_editor.tsx +++ b/packages/kbn-text-based-editor/src/text_based_languages_editor.tsx @@ -453,7 +453,7 @@ export const TextBasedLanguagesEditor = memo(function TextBasedLanguagesEditor({ scrollBeyondLastLine: false, quickSuggestions: true, minimap: { enabled: false }, - wordWrap: isWordWrapped ? 'on' : 'off', + wordWrap: 'on', lineNumbers: showLineNumbers ? 'on' : 'off', theme: language === 'esql' ? ESQL_THEME_ID : isDark ? 'vs-dark' : 'vs', lineDecorationsWidth: 12, From 48d293f29a90b070f73d2d28f56d32892c0bdff8 Mon Sep 17 00:00:00 2001 From: Ido Cohen <90558359+CohenIdo@users.noreply.github.com> Date: Mon, 25 Sep 2023 10:44:55 +0300 Subject: [PATCH 64/72] [Cloud Security] Fix wrong fleet url in cloudFormation (#166130) solves: - https://github.com/elastic/security-team/issues/7482 choose the correct Fleet URL in case there is more than one fleet server. --------- Co-authored-by: Maxim Kholod --- .../post_install_cloud_formation_modal.tsx | 19 +++++++++++++++---- .../cloud_formation_instructions.tsx | 7 +++++-- .../steps/compute_steps.tsx | 7 +++++-- ...all_cloud_formation_managed_agent_step.tsx | 3 +++ .../hooks/use_create_cloud_formation_url.ts | 17 ++++++----------- 5 files changed, 34 insertions(+), 19 deletions(-) diff --git a/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/single_page_layout/components/post_install_cloud_formation_modal.tsx b/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/single_page_layout/components/post_install_cloud_formation_modal.tsx index 0ca51d6f595fac..294754d28e5090 100644 --- a/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/single_page_layout/components/post_install_cloud_formation_modal.tsx +++ b/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/single_page_layout/components/post_install_cloud_formation_modal.tsx @@ -20,8 +20,14 @@ import { import { FormattedMessage } from '@kbn/i18n-react'; import { useQuery } from '@tanstack/react-query'; +import { useAgentPolicyWithPackagePolicies } from '../../../../../../../components/agent_enrollment_flyout/hooks'; + import type { AgentPolicy, PackagePolicy } from '../../../../../types'; -import { sendGetEnrollmentAPIKeys, useCreateCloudFormationUrl } from '../../../../../hooks'; +import { + sendGetEnrollmentAPIKeys, + useCreateCloudFormationUrl, + useFleetServerHostsForPolicy, +} from '../../../../../hooks'; import { getCloudFormationPropsFromPackagePolicy } from '../../../../../services'; import { CloudFormationGuide } from '../../../../../components'; @@ -31,7 +37,7 @@ export const PostInstallCloudFormationModal: React.FunctionComponent<{ agentPolicy: AgentPolicy; packagePolicy: PackagePolicy; }> = ({ onConfirm, onCancel, agentPolicy, packagePolicy }) => { - const { data: apyKeysData } = useQuery(['cloudFormationApiKeys'], () => + const { data: apiKeysData, isLoading } = useQuery(['cloudFormationApiKeys'], () => sendGetEnrollmentAPIKeys({ page: 1, perPage: 1, @@ -39,11 +45,16 @@ export const PostInstallCloudFormationModal: React.FunctionComponent<{ }) ); + const { agentPolicyWithPackagePolicies } = useAgentPolicyWithPackagePolicies(agentPolicy.id); + const { fleetServerHosts } = useFleetServerHostsForPolicy(agentPolicyWithPackagePolicies); + const fleetServerHost = fleetServerHosts[0]; + const cloudFormationProps = getCloudFormationPropsFromPackagePolicy(packagePolicy); - const { cloudFormationUrl, error, isError, isLoading } = useCreateCloudFormationUrl({ - enrollmentAPIKey: apyKeysData?.data?.items[0]?.api_key, + const { cloudFormationUrl, error, isError } = useCreateCloudFormationUrl({ + enrollmentAPIKey: apiKeysData?.data?.items[0]?.api_key, cloudFormationProps, + fleetServerHost, }); return ( diff --git a/x-pack/plugins/fleet/public/components/agent_enrollment_flyout/cloud_formation_instructions.tsx b/x-pack/plugins/fleet/public/components/agent_enrollment_flyout/cloud_formation_instructions.tsx index 61ed68a059caba..daee7d9d8955c4 100644 --- a/x-pack/plugins/fleet/public/components/agent_enrollment_flyout/cloud_formation_instructions.tsx +++ b/x-pack/plugins/fleet/public/components/agent_enrollment_flyout/cloud_formation_instructions.tsx @@ -18,15 +18,18 @@ import type { CloudSecurityIntegration } from './types'; interface Props { enrollmentAPIKey?: string; cloudSecurityIntegration: CloudSecurityIntegration; + fleetServerHost: string; } export const CloudFormationInstructions: React.FunctionComponent = ({ enrollmentAPIKey, cloudSecurityIntegration, + fleetServerHost, }) => { - const { isLoading, cloudFormationUrl, error, isError } = useCreateCloudFormationUrl({ + const { cloudFormationUrl, error, isError } = useCreateCloudFormationUrl({ enrollmentAPIKey, cloudFormationProps: cloudSecurityIntegration?.cloudFormationProps, + fleetServerHost, }); if (error && isError) { @@ -42,7 +45,7 @@ export const CloudFormationInstructions: React.FunctionComponent = ({ = ({ const agentVersion = useAgentVersion(); + const fleetServerHost = fleetServerHosts?.[0]; + const installManagedCommands = ManualInstructions({ apiKey: enrollToken, fleetServerHosts, @@ -260,6 +262,7 @@ export const ManagedSteps: React.FunctionComponent = ({ selectedApiKeyId, enrollToken, cloudSecurityIntegration, + fleetServerHost, }) ); } else if (cloudSecurityIntegration?.cloudShellUrl) { @@ -279,7 +282,7 @@ export const ManagedSteps: React.FunctionComponent = ({ selectedApiKeyId, isK8s, cloudSecurityIntegration, - fleetServerHost: fleetServerHosts?.[0], + fleetServerHost, enrollToken, }) ); @@ -324,7 +327,7 @@ export const ManagedSteps: React.FunctionComponent = ({ enrollToken, installManagedCommands, isK8s, - fleetServerHosts, + fleetServerHost, onClickViewAgents, link, enrolledAgentIds, diff --git a/x-pack/plugins/fleet/public/components/agent_enrollment_flyout/steps/install_cloud_formation_managed_agent_step.tsx b/x-pack/plugins/fleet/public/components/agent_enrollment_flyout/steps/install_cloud_formation_managed_agent_step.tsx index 7826d1648ae645..e66f221e7f1c6c 100644 --- a/x-pack/plugins/fleet/public/components/agent_enrollment_flyout/steps/install_cloud_formation_managed_agent_step.tsx +++ b/x-pack/plugins/fleet/public/components/agent_enrollment_flyout/steps/install_cloud_formation_managed_agent_step.tsx @@ -23,12 +23,14 @@ export const InstallCloudFormationManagedAgentStep = ({ enrollToken, isComplete, cloudSecurityIntegration, + fleetServerHost, }: { selectedApiKeyId?: string; apiKeyData?: GetOneEnrollmentAPIKeyResponse | null; enrollToken?: string; isComplete?: boolean; cloudSecurityIntegration?: CloudSecurityIntegration | undefined; + fleetServerHost: string; }): EuiContainedStepProps => { const nonCompleteStatus = selectedApiKeyId ? undefined : 'disabled'; const status = isComplete ? 'complete' : nonCompleteStatus; @@ -43,6 +45,7 @@ export const InstallCloudFormationManagedAgentStep = ({ ) : ( diff --git a/x-pack/plugins/fleet/public/hooks/use_create_cloud_formation_url.ts b/x-pack/plugins/fleet/public/hooks/use_create_cloud_formation_url.ts index 9e5c2008f262c0..718f056b1ef5ff 100644 --- a/x-pack/plugins/fleet/public/hooks/use_create_cloud_formation_url.ts +++ b/x-pack/plugins/fleet/public/hooks/use_create_cloud_formation_url.ts @@ -13,35 +13,31 @@ import type { } from '../components/agent_enrollment_flyout/types'; import { useAgentVersion } from './use_agent_version'; -import { useGetSettings } from './use_request'; const CLOUD_FORMATION_DEFAULT_ACCOUNT_TYPE = 'single-account'; export const useCreateCloudFormationUrl = ({ enrollmentAPIKey, cloudFormationProps, + fleetServerHost, }: { - enrollmentAPIKey: string | undefined; - cloudFormationProps: CloudFormationProps | undefined; + enrollmentAPIKey?: string; + cloudFormationProps?: CloudFormationProps; + fleetServerHost?: string; }) => { - const { data, isLoading } = useGetSettings(); - const agentVersion = useAgentVersion(); let isError = false; let error: string | undefined; - // Default fleet server host - const fleetServerHost = data?.item.fleet_server_hosts?.[0]; - - if (!fleetServerHost && !isLoading) { + if (!fleetServerHost) { isError = true; error = i18n.translate('xpack.fleet.agentEnrollment.cloudFormation.noFleetServerHost', { defaultMessage: 'No Fleet Server host found', }); } - if (!enrollmentAPIKey && !isLoading) { + if (!enrollmentAPIKey) { isError = true; error = i18n.translate('xpack.fleet.agentEnrollment.cloudFormation.noApiKey', { defaultMessage: 'No enrollment token found', @@ -60,7 +56,6 @@ export const useCreateCloudFormationUrl = ({ : undefined; return { - isLoading, cloudFormationUrl, isError, error, From c7f49c200c170cb66429f613fcbd7c92d6657cf6 Mon Sep 17 00:00:00 2001 From: Maxim Kholod Date: Mon, 25 Sep 2023 09:46:51 +0200 Subject: [PATCH 65/72] [Cloud Security] fix ingest pipeline for benchmark scores index (#166966) ## Summary during the [ILM fix](https://github.com/elastic/kibana/pull/165317) for serverless the default pipeline for the scores index was also changed by mistake. Reverting this change ### Checklist - [ ] [Unit or functional tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html) were updated or added to match the most common scenarios --- .../server/create_indices/create_indices.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/x-pack/plugins/cloud_security_posture/server/create_indices/create_indices.ts b/x-pack/plugins/cloud_security_posture/server/create_indices/create_indices.ts index 06e13248fa1c57..03e3b0c804dc08 100644 --- a/x-pack/plugins/cloud_security_posture/server/create_indices/create_indices.ts +++ b/x-pack/plugins/cloud_security_posture/server/create_indices/create_indices.ts @@ -77,7 +77,7 @@ const createBenchmarkScoreIndex = async ( const settings: IndexTemplateSettings = { index: { - default_pipeline: latestFindingsPipelineIngestConfig.id, + default_pipeline: scorePipelineIngestConfig.id, }, lifecycle: { name: '' }, }; From 38e6b76640c019e6ee24c3e10797504e1b3d1b24 Mon Sep 17 00:00:00 2001 From: Dmitrii Shevchenko Date: Mon, 25 Sep 2023 10:51:40 +0200 Subject: [PATCH 66/72] [Security Solution] Extract OpenAPI codegen to a package (#166269) --- .github/CODEOWNERS | 1 + package.json | 5 +- packages/kbn-openapi-generator/README.md | 201 ++++++++++++++++++ packages/kbn-openapi-generator/image.png | Bin 0 -> 104880 bytes packages/kbn-openapi-generator/index.ts | 10 + packages/kbn-openapi-generator/jest.config.js | 13 ++ packages/kbn-openapi-generator/kibana.jsonc | 6 + packages/kbn-openapi-generator/package.json | 10 + packages/kbn-openapi-generator/src/cli.ts | 44 ++++ .../src}/lib/fix_eslint.ts | 11 +- .../src}/lib/format_output.ts | 5 +- .../src/lib/get_generated_file_path.ts | 11 + .../src}/lib/remove_gen_artifacts.ts | 5 +- .../src/openapi_generator.ts | 77 +++++++ .../src/parser/get_generation_context.ts | 34 +++ .../parser/lib}/get_api_operations_list.ts | 24 ++- .../src/parser/lib}/get_components.ts | 8 +- .../src/parser/lib}/get_imports_map.ts | 28 +-- .../src/parser/lib/normalize_schema.ts | 36 ++++ .../src/parser/lib/traverse_object.ts | 31 +++ .../src/parser}/openapi_types.ts | 30 ++- .../src}/template_service/register_helpers.ts | 17 +- .../template_service/register_templates.ts | 5 +- .../src}/template_service/template_service.ts | 21 +- .../templates/disclaimer.handlebars | 2 +- .../templates/zod_operation_schema.handlebars | 18 +- .../templates/zod_query_item.handlebars | 51 +++++ .../templates/zod_schema_item.handlebars | 28 ++- packages/kbn-openapi-generator/tsconfig.json | 13 ++ scripts/generate_openapi.js | 10 + tsconfig.base.json | 2 + .../model/warning_schema.gen.ts | 2 +- ...lt_rules_and_timelines_status_route.gen.ts | 16 +- .../api/endpoint/actions/audit_log.gen.ts | 2 +- .../api/endpoint/actions/details.gen.ts | 2 +- .../api/endpoint/actions/execute.gen.ts | 2 +- .../api/endpoint/actions/file_download.gen.ts | 2 +- .../api/endpoint/actions/file_info.gen.ts | 2 +- .../api/endpoint/actions/file_upload.gen.ts | 2 +- .../api/endpoint/actions/get_file.gen.ts | 2 +- .../common/api/endpoint/actions/list.gen.ts | 4 +- .../endpoint/metadata/list_metadata.gen.ts | 6 +- .../api/endpoint/model/schema/common.gen.ts | 16 +- .../common/api/endpoint/policy/policy.gen.ts | 2 +- .../suggestions/get_suggestions.gen.ts | 2 +- .../scripts/openapi/generate.js | 11 +- .../scripts/openapi/openapi_generator.ts | 77 ------- .../plugins/security_solution/tsconfig.json | 4 +- yarn.lock | 4 + 49 files changed, 707 insertions(+), 208 deletions(-) create mode 100644 packages/kbn-openapi-generator/README.md create mode 100644 packages/kbn-openapi-generator/image.png create mode 100644 packages/kbn-openapi-generator/index.ts create mode 100644 packages/kbn-openapi-generator/jest.config.js create mode 100644 packages/kbn-openapi-generator/kibana.jsonc create mode 100644 packages/kbn-openapi-generator/package.json create mode 100644 packages/kbn-openapi-generator/src/cli.ts rename {x-pack/plugins/security_solution/scripts/openapi => packages/kbn-openapi-generator/src}/lib/fix_eslint.ts (62%) rename {x-pack/plugins/security_solution/scripts/openapi => packages/kbn-openapi-generator/src}/lib/format_output.ts (61%) create mode 100644 packages/kbn-openapi-generator/src/lib/get_generated_file_path.ts rename {x-pack/plugins/security_solution/scripts/openapi => packages/kbn-openapi-generator/src}/lib/remove_gen_artifacts.ts (75%) create mode 100644 packages/kbn-openapi-generator/src/openapi_generator.ts create mode 100644 packages/kbn-openapi-generator/src/parser/get_generation_context.ts rename {x-pack/plugins/security_solution/scripts/openapi/parsers => packages/kbn-openapi-generator/src/parser/lib}/get_api_operations_list.ts (87%) rename {x-pack/plugins/security_solution/scripts/openapi/parsers => packages/kbn-openapi-generator/src/parser/lib}/get_components.ts (59%) rename {x-pack/plugins/security_solution/scripts/openapi/parsers => packages/kbn-openapi-generator/src/parser/lib}/get_imports_map.ts (76%) create mode 100644 packages/kbn-openapi-generator/src/parser/lib/normalize_schema.ts create mode 100644 packages/kbn-openapi-generator/src/parser/lib/traverse_object.ts rename {x-pack/plugins/security_solution/scripts/openapi/parsers => packages/kbn-openapi-generator/src/parser}/openapi_types.ts (62%) rename {x-pack/plugins/security_solution/scripts/openapi => packages/kbn-openapi-generator/src}/template_service/register_helpers.ts (75%) rename {x-pack/plugins/security_solution/scripts/openapi => packages/kbn-openapi-generator/src}/template_service/register_templates.ts (83%) rename {x-pack/plugins/security_solution/scripts/openapi => packages/kbn-openapi-generator/src}/template_service/template_service.ts (60%) rename {x-pack/plugins/security_solution/scripts/openapi => packages/kbn-openapi-generator/src}/template_service/templates/disclaimer.handlebars (80%) rename x-pack/plugins/security_solution/scripts/openapi/template_service/templates/schemas.handlebars => packages/kbn-openapi-generator/src/template_service/templates/zod_operation_schema.handlebars (75%) create mode 100644 packages/kbn-openapi-generator/src/template_service/templates/zod_query_item.handlebars rename x-pack/plugins/security_solution/scripts/openapi/template_service/templates/schema_item.handlebars => packages/kbn-openapi-generator/src/template_service/templates/zod_schema_item.handlebars (79%) create mode 100644 packages/kbn-openapi-generator/tsconfig.json create mode 100644 scripts/generate_openapi.js delete mode 100644 x-pack/plugins/security_solution/scripts/openapi/openapi_generator.ts diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index b6a1c3e86c3e75..647de24ad4920d 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -539,6 +539,7 @@ x-pack/plugins/observability @elastic/actionable-observability x-pack/plugins/observability_shared @elastic/observability-ui x-pack/test/security_api_integration/plugins/oidc_provider @elastic/kibana-security test/common/plugins/otel_metrics @elastic/infra-monitoring-ui +packages/kbn-openapi-generator @elastic/security-detection-engine packages/kbn-optimizer @elastic/kibana-operations packages/kbn-optimizer-webpack-helpers @elastic/kibana-operations packages/kbn-osquery-io-ts-types @elastic/security-asset-management diff --git a/package.json b/package.json index eaafb301c5dfc4..54123db6f2eb7e 100644 --- a/package.json +++ b/package.json @@ -16,9 +16,9 @@ "types": "./kibana.d.ts", "tsdocMetadata": "./build/tsdoc-metadata.json", "build": { + "date": "2023-05-15T23:12:09+0000", "number": 8467, - "sha": "6cb7fec4e154faa0a4a3fee4b33dfef91b9870d9", - "date": "2023-05-15T23:12:09+0000" + "sha": "6cb7fec4e154faa0a4a3fee4b33dfef91b9870d9" }, "homepage": "https://www.elastic.co/products/kibana", "bugs": { @@ -1205,6 +1205,7 @@ "@kbn/managed-vscode-config": "link:packages/kbn-managed-vscode-config", "@kbn/managed-vscode-config-cli": "link:packages/kbn-managed-vscode-config-cli", "@kbn/management-storybook-config": "link:packages/kbn-management/storybook/config", + "@kbn/openapi-generator": "link:packages/kbn-openapi-generator", "@kbn/optimizer": "link:packages/kbn-optimizer", "@kbn/optimizer-webpack-helpers": "link:packages/kbn-optimizer-webpack-helpers", "@kbn/peggy": "link:packages/kbn-peggy", diff --git a/packages/kbn-openapi-generator/README.md b/packages/kbn-openapi-generator/README.md new file mode 100644 index 00000000000000..fc75a76827934a --- /dev/null +++ b/packages/kbn-openapi-generator/README.md @@ -0,0 +1,201 @@ +# OpenAPI Code Generator for Kibana + +This code generator could be used to generate runtime types, documentation, server stub implementations, clients, and much more given OpenAPI specification. + +## Getting started + +To start with code generation you should have OpenAPI specification describing your API endpoint request and response schemas along with common types used in your API. The code generation script supports OpenAPI 3.1.0, refer to https://swagger.io/specification/ for more details. + +OpenAPI specification should be in YAML format and have `.schema.yaml` extension. Here's a simple example of OpenAPI specification: + +```yaml +openapi: 3.0.0 +info: + title: Install Prebuilt Rules API endpoint + version: 2023-10-31 +paths: + /api/detection_engine/rules/prepackaged: + put: + operationId: InstallPrebuiltRules + x-codegen-enabled: true + summary: Installs all Elastic prebuilt rules and timelines + tags: + - Prebuilt Rules API + responses: + 200: + description: Indicates a successful call + content: + application/json: + schema: + type: object + properties: + rules_installed: + type: integer + description: The number of rules installed + minimum: 0 + rules_updated: + type: integer + description: The number of rules updated + minimum: 0 + timelines_installed: + type: integer + description: The number of timelines installed + minimum: 0 + timelines_updated: + type: integer + description: The number of timelines updated + minimum: 0 + required: + - rules_installed + - rules_updated + - timelines_installed + - timelines_updated +``` + +Put it anywhere in your plugin, the code generation script will traverse the whole plugin directory and find all `.schema.yaml` files. + +Then to generate code run the following command: + +```bash +node scripts/generate_openapi --rootDir ./x-pack/plugins/security_solution +``` + +![Generator command output](image.png) + +By default it uses the `zod_operation_schema` template which produces runtime types for request and response schemas described in OpenAPI specification. The generated code will be placed adjacent to the `.schema.yaml` file and will have `.gen.ts` extension. + +Example of generated code: + +```ts +import { z } from 'zod'; + +/* + * NOTICE: Do not edit this file manually. + * This file is automatically generated by the OpenAPI Generator, @kbn/openapi-generator. + */ + +export type InstallPrebuiltRulesResponse = z.infer; +export const InstallPrebuiltRulesResponse = z.object({ + /** + * The number of rules installed + */ + rules_installed: z.number().int().min(0), + /** + * The number of rules updated + */ + rules_updated: z.number().int().min(0), + /** + * The number of timelines installed + */ + timelines_installed: z.number().int().min(0), + /** + * The number of timelines updated + */ + timelines_updated: z.number().int().min(0), +}); +``` +## Programmatic API + +Alternatively, you can use the code generator programmatically. You can create a script file and run it with `node` command. This could be useful if you want to set up code generation in your CI pipeline. Here's an example of such script: + +```ts +require('../../../../../src/setup_node_env'); +const { generate } = require('@kbn/openapi-generator'); +const { resolve } = require('path'); + +const SECURITY_SOLUTION_ROOT = resolve(__dirname, '../..'); + +generate({ + rootDir: SECURITY_SOLUTION_ROOT, // Path to the plugin root directory + sourceGlob: './**/*.schema.yaml', // Glob pattern to find OpenAPI specification files + templateName: 'zod_operation_schema', // Name of the template to use +}); +``` + +## CI integration + +To make sure that generated code is always in sync with its OpenAPI specification it is recommended to add a command to your CI pipeline that will run code generation on every pull request and commit the changes if there are any. + +First, create a script that will run code generation and commit the changes. See `.buildkite/scripts/steps/code_generation/security_solution_codegen.sh` for an example: + +```bash +#!/usr/bin/env bash + +set -euo pipefail + +source .buildkite/scripts/common/util.sh + +.buildkite/scripts/bootstrap.sh + +echo --- Security Solution OpenAPI Code Generation + +(cd x-pack/plugins/security_solution && yarn openapi:generate) +check_for_changed_files "yarn openapi:generate" true +``` + +This scripts sets up the minimal environment required fro code generation and runs the code generation script. Then it checks if there are any changes and commits them if there are any using the `check_for_changed_files` function. + +Then add the code generation script to your plugin build pipeline. Open your plugin build pipeline, for example `.buildkite/pipelines/pull_request/security_solution.yml`, and add the following command to the steps list adjusting the path to your code generation script: + +```yaml + - command: .buildkite/scripts/steps/code_generation/security_solution_codegen.sh + label: 'Security Solution OpenAPI codegen' + agents: + queue: n2-2-spot + timeout_in_minutes: 60 + parallelism: 1 +``` + +Now on every pull request the code generation script will run and commit the changes if there are any. + +## OpenAPI Schema + +The code generator supports the OpenAPI definitions described in the request, response, and component sections of the document. + +For every API operation (GET, POST, etc) it is required to specify the `operationId` field. This field is used to generate the name of the generated types. For example, if the `operationId` is `InstallPrebuiltRules` then the generated types will be named `InstallPrebuiltRulesResponse` and `InstallPrebuiltRulesRequest`. If the `operationId` is not specified then the code generation will throw an error. + +The `x-codegen-enabled` field is used to enable or disable code generation for the operation. If it is not specified then code generation is disabled by default. This field could be also used to disable code generation of common components described in the `components` section of the OpenAPI specification. + +Keep in mind that disabling code generation for common components that are referenced by external OpenAPI specifications could lead to errors during code generation. + +### Schema files organization + +It is recommended to limit the number of operations and components described in a single OpenAPI specification file. Having one HTTP operation in a single file will make it easier to maintain and will keep the generated artifacts granular for ease of reuse and better tree shaking. You can have as many OpenAPI specification files as you want. + +### Common components + +It is common to have shared types that are used in multiple API operations. To avoid code duplication you can define common components in the `components` section of the OpenAPI specification and put them in a separate file. Then you can reference these components in the `parameters` and `responses` sections of the API operations. + +Here's an example of the schema that references common components: + +```yaml +openapi: 3.0.0 +info: + title: Delete Rule API endpoint + version: 2023-10-31 +paths: + /api/detection_engine/rules: + delete: + operationId: DeleteRule + description: Deletes a single rule using the `rule_id` or `id` field. + parameters: + - name: id + in: query + required: false + description: The rule's `id` value. + schema: + $ref: '../../../model/rule_schema/common_attributes.schema.yaml#/components/schemas/RuleSignatureId' + - name: rule_id + in: query + required: false + description: The rule's `rule_id` value. + schema: + $ref: '../../../model/rule_schema/common_attributes.schema.yaml#/components/schemas/RuleObjectId' + responses: + 200: + description: Indicates a successful call. + content: + application/json: + schema: + $ref: '../../../model/rule_schema/rule_schemas.schema.yaml#/components/schemas/RuleResponse' +``` diff --git a/packages/kbn-openapi-generator/image.png b/packages/kbn-openapi-generator/image.png new file mode 100644 index 0000000000000000000000000000000000000000..e8710d78b80b6d5033271d5fdcb5446a9cade4a6 GIT binary patch literal 104880 zcmaI71z1#HyEcwUNr#dmDIp+8mkiPf(ke(dNO#YGD4}#CF(L>eC`$Jb(hbrvba&1S zGqb<(_rC8r=l}n%^X==}v(~JxXFd1*thHnHbkr$GnMv{R@F+AjR1EO&2nO-+ZagI+ z!iB8ZcizCmBUf-%R@T#0R%X}p_Hb}^wa3HLh)sV_mvOn_xp2hkNR06mqOtS z$Rm&=)@O4eJLCxOlm8no+Kqx;ymd0NE-#K7=V^b$Wq0`5Z`v!~uu%NaDMbCq)`k;L zQ278p(6on_T>J8F(JNpds8EgU5njd*|E-wYF0j0*97>JX{9b^T0beogbkmSj)qq@J zl(rL(!-B8N#M|tC7n67MONUhIo;URrc=zv6s^=1h@80j7_)u@6r(DBk!^@$|PM{c1 z`O5>0<-YfOhk9O-h32aN)K1f$| zy_57sx~rE{uJ5pjhm;TRJFQ=&zr#A>zB_@?iI3X&%MDK zlNXrV<{3l5K}o-+9m(|#htVpFd)TKY!GAOCkSweUIvL6?B5j$@289=C{FDiXGnpF<Jt$#ltu$su#`xY%6-^h@4K8hEz>-J^6>EohCUa5v_7;yNc-o z-c?u22}$5Z^dytxa=!8z!d*8|X`54?+l3>HQCeSRjFsv`QScz4JE6ql zG2R04H)VS>VktbzdV%xK-_@QFPz2&*{4i8TI+OuTmrmYpF>vCvrgxoO^mYw8ngi{ipK|29sn55a3jR@f& zp3f70KH`D4*FW#M;+wYX{3PBdj$bB`zBL?9woF@3bl5gIanm9kd`uatM*a4!9u4#7 z#4PrVn8&MeBGi`LB(aLCNk-hPeM)a*2(lvvmHU(L^ak6J8AR?Ye@ss8l_?@?cqgwI zoIKsjdt3Rrp3onX8YT4t^0e5f!du&c;$(So^o3_*_qShFGcU$Ve&QV?+m@(i35%e# z!ZYml6)_yVVQVEQ$gI^V`sk4)nLy`*pRda)T_Q%1q*L)1)@)v!I-NW9H_h4$0y&4f zc-N|qyAZ*lyi4JAD=&|U13}n$#rur3`?o9zBstzCsb(qh-8Z7HrK61_F<9H`Ds z>lZVnLRHUT7%TI8=Xcj{ir>Mjw`>?rXuQHzICoO_H5H1SXrqlZ9^C)Vb-=^QYtD0# zq`=27kj*C}Kq&Bq|5p0bvy8_VkUX6nwOmFsX^<`>tEL0*6B}Gy{V95 zs*yI&P71j7y!m|iUHJXdCeoVHr26~&9s2Y8fA!;U$n?9UUp;_62Y*8As~UFcy!#@m zqx!j0#Xh?KR=Vi}kFQ4G?o2{IstFZ6ESS>M)ju)>eH}MqeLnk5escC(`ZtPina?f1 zB~J=YX1%8S^M3NdAIh)hMtg?5Wu~Q7e`I#6{s>IwOnQ8!avBv^b5U_wcM+VL`QoLs zmd&F%@l;GBwM53!r)-mdNL@V6LC1EizB;Jdt$L#Rp3vuv8hTR!^)fS;#1|zmV70}y zW&SCbMh8z13g;GOvl7xNO?h=4ONYUEd$Lg9c;D>C&_&fozs5{I_+I?z+4S08`p)E@ z`NVaR?ljf-$fV^D_*cjXp43mV7>O*KpJU6_Pv9iqX_mO^x%$=i*}UedC91{Z#B$y1 zCx3Q&w)M{N{noIn9^OvVhyF_V1@lTcd9Y^N-NGYIXGs^)_aJqRXJlv2m*;U}YsQk= zk(7iug+zLm`=bMKjH`oNhSLk17asm2xi-ThBjT3!ORtwatZitVA9a47TCKf5n_`{q z*3ezKc-oR)^Sp8rzf7&naVmJqbMOfe8ea(7LdRJOaIzw7gw)L+4qX%w( zPW2B8TV)z#He}p<8pU4u_|9ynj0qK5%FWC8~V=d^Ad%+z@6gYe-zlt0iSS%ZLflXU3 zQ7$zsH8n%yf8Fb3t8yFUViRLa7@>!{TQ+($9y!3>L583N%Nn>c#0QcO_yZ-{rVf-o zQfKzzhT+o7dTk*Y3@$u-D(v)(w8r!^Ohrs-jMWO;;GZU*FFf5mAu*=C=Sg%0Z%2JTfci)A$`pdvq=-&wQlOtMu+6@cQ?I*LRu2d@+7WMxm4pynaE@QeXwD$LbyFjgbL*$$X*Ufeib+fSwX1S! zo#rN1msjD%YZDCj%y2K|*Kon7J zhYG;nw&gTdww~KZbIaiB3ri+V=B-R~%fq_REz|&M$C=IkeBb)bb#i`^?j^L$ z^ZQJ7RHa&FafsXRxne*1y^QbIl?ox4n*Q*9)Pv4%s?U$4jwQ{Owqd{AQ^$%=pFt(b zB;gCRm0t?xzBSqic)5&C@y@5z)&Sjz?+#7vm!}7o0VDywM{)DBFV^%8s|Gx$$6r;y zFqm%&Svb@R!M_rpl=ku#bK7uR;# z_84^EcYo@(`4^OEzcW?C3?XbU19o5Sj14zH#B zO}+rh1P;%xE2&Uy{$RUMS0D|&v$Mr-sbM(bWk6}{yI8|z5x~89V!+)U?`HsuJorgijThc; zy&D?G1YbW4c(Tft^$n+wE4|$cA9`ddb}H5e<3APKqVfV3@Jqi5AQ~_XWI>_+m1G-p zI70E>-dNM&*)zNcI6ny_u>6-_?FJv-&40r2@$jOZ@d*B%MhEBq zeUfnR-#q_vZ>B`y5##>R;@-ed`2R^wF!<@_fBZL|;^Oe07%FRO;#@;pZ+m-pA14oA zX+%LeF5s4@hKUaz9{v5l?+r}@?qgi})6Pc5zQ)hAWoZVNUjclK8qj<}`k$$FA(*ZO<AokG1+fn$DjEs!1h^Vlrs1PoNkWY}i zuXUi1yARjD3i(etD)v6M-p-!B&K~aUf6KMD@$mC~%*pw;qW^mS)lU0B=l`zB-RIxk z!gWyiZ;bGxha$rNRW>fG{NGSnJ?B7sR}&RyH{6)v>QE396OsQX{r?s7-!=Y^oW}p1 z^O2~i^#9EIKcfEsS)cpZdnFm);_P;>Qwp?WRY>lPn?22nJ(6a$x|~6xIM(@Ku|e>(2p<~T>L@hK!nd= z?wc%+J{IBEV}}iXl+eltqjmOAmJ{kGm0V=jr7CV!LD`}wO&tu6EdxJ9lH=C(;?V^tnO9sO9C~(+8zX^D*&u8 zwA)@|_SGQrgbod7>uEn)JW`s2yft6H{#Nv91P)$vF=<)dvTeE=Lrv(&J>${Me^X|( zv((a5Zd!Mk)x*toV|)C|hlRQNUm8!}?;`?A{&?sKbA8atyfSgjyYEO3GW0*3;UCBp z*1a-y2<^+1f;L~ym8HPiyhN=#$VB~i{|tVO%3$KczYFSm1oppse~q{M^`5Od4Su#J zkif}UY4@Bq8wh}h)&2QqqGeEUBmE7~3pto=F`X(m7l4DC)LId%XZ3-U3DE9%kFL|$ z3!fgC0St^0jI|eikSFC~Q4XzGIsT3}HFB#F%yZM|<-LQsnoNhGkNw^8EbnZEv-!D@ zQ16ZYzSKf!(Q51Lk@ObZ6^MdaGR?fn|9+JWplLDdjCHgF0N%W0Lb8)i2zMpc{z*)V z!A4;+mfIG{$=jxqn=`cPW_u0yE;Tc1tuNXnAsGbEAfgAe&iNs-#dL%Yh9%EZ?<%fP ziV!>y8JJnot93PDk`MfOo8Lgi0*tip+;(t{RrfwxD6JBAUNV}hxYjwWUrXQu*^N(9 zNG-A7L|vpRN2|W7c6tcIT$=Jss(gqij2O<7)0`-Nw$bFb_e4Mxg8psb7`C~s#4ff2 zAA6@VRrZYY4D{&+VFXi`{Y*>Ao3Z7nMeb0L?{PRe6Y8hntLomRctqdH*>WUR|4EN6 zCO6{3XZ3f?h~pNUNAn8N&NK{mH;TGa)yEtp_PIjNf16~fD7zf~Q-9m#!9SyRHUhHD zXBOje`|%}e5Z36o>!2B7;{Op~ng#mqmdx@CgV5@ndzStk5A$p9#-H;tUBmZPATv;F zLWlb!vYH?38c2C_t)|JhctkIMU47c9;?4I;I>>)~2fu1(;_GZGr#Xj+X&JKv(^8K- z>qshZ;{JS{aOZ$G{b+-aqw^dAe&WR*yNK4Ib7@tsaRpo0{-aX8f;WPewMMA(9hN;8 zlo=1l=&iL9lL?2@#elmY+|U=f_nvk+&|?Np+w8q>;#O8m$W>I7$upCN;2Qb2k(@lQ z)zbO&l|G6)b8ZMXs2EVOrEn-m^>@4@8#)@pdZO2da?~#mF&@(+P8X;O2-Od$)-Uko zPB=6JY#KD0!F+^Nw!iC2aN`)>As_PS&qv^WY`+cOTZN$W2Lx z>05yBp_eBpTPMb7$%|@3-E`-P5|)xZ^G5%7QL}TS(dRm~ifz>7uSvo(k<1PyHVeN{t*^qd$4jeoM6TIJ@kw9|bo9@R4=rs#Tz8<1i1?{0oTDT&j$4Afc?d{N$;15O-kTtmL(ETOs=Hg$D(zOc9e|Kw5~^1DExpV!sKjo zXq>>IZ$e~%92}2?4vJl3IoP|;uHoe2 zQU!vYq=Q-Weo|?v{nPn$)qB9&73(S5kd4PkuUvS{{W8s_YaMA|l#< zKQk>8ghfm&%vU=bYR~3*_xBkT56W~WQe&uGvCd+Hg{>bn4fz>3#Vq`Hz68SJ)_b#+ zryz9}t>{xN{-{QM&nIHB56ug#YbBeh#AN5bxQR{*0mv;jlX$~5HVAqQaX+^7h60=H zQS(`mZ|S)AcptAOC5a+{*waONO;DXuc*fr!L#I7Rccd47NNi1ddZr5+cz;J=9j7HI zu4U&3TR%Ij_NNQjNueu_*AM#zD$>>x(D1o(-$juUF9qCB_ujTHx58t|@AnWxPUi2?=(Ca230+XoW>*gQB*0eTv*rpJkI$# zAP0=i=s{z|T9G*#NN^97?gO2!y#BDv)?JzF{i-3iOQ{~vR^`i8L;=wQd8+Ia%PI$o zIH-&L-qiO~@xjL;jF0@ox*|xI*6mDlxhEj0NU&1iUFUsd zHsmmvXB=yn01Lc^UR=$CVdo?9)-SGy6-wyuq<+yoDQ6qLM415Dy3K1KrZdpTwm2PM z^~8H_Q?{>L>bE$1Mv$MT%^-$OOja-TNAuudU=fkwZL{90!-G9+7CQ?OAn0|Ts1@3t z(QytfyFvw_PkOW(D%&XSg2fQx<8BoyLtLk##BH5|@2teKW6uj2--gJw*|M%!4yO+Y zybzZk`Y5q%ITdmyd>C9*Xt@nQX|~zNQ5#?o4fZG|YBuU8Pj>E0M{9G z<+|nQL`&43;DozzA7tu-erFuILzDMTIt+`NpD@?@Vb&1WmLqm%dR(#+=*$ab5YH9B zJrV!8BlsBwyOTFbU4P4 z8DRV|f_&JcJC>@G0s~M2XhdmX!wzJeIKZOZ$Ke2m{sCF9(pA{8o24qxc=AEqjPu|= zg~MuoF!7}yQ*wX)%NI}6AI4(N`er~|;pi1AEl4hg zQ5fh7NbLjU_G~J+NC$P~OF#MU>I<>6ihui51|m>8L-31}zlYxc8%}=m~~M#My+O&LWHb3J!rK zdHH4loBOk;=QAZkoSTECrgiS#TAilHf{)0Apa)wqYrGTUh{}+acMSNJcOjV7quzcq zgLxn3yXe%2u(R)V>#@A~o}iRNIVg*WXSkW(;TvC!uG;ljGMD{A)!K~w&S-07D1f=z zS*o#=277dMb2|RW-9Z5rFd+HH&5lI)QjF4zG6y%4%Sq9owF{~B{16ccnGLo$9)wEF zzSwm+-LF4B%kdmF4foppAj}L24xP##L^Ket5qC!G zMEZD=%UDVp(kSBHT-A*yt~lwGr*nfJl???uB=1Hz|&Qgx%gK*5{P zs@B+A5Yw9Q7}gPksf7z;d~CArR1Bf>q;EVQ;aF^3bl!}xPY}W^qB|2s&sPdYZBFR# zBFq6gR-i8n(7~4IvSmd!7!)YIvy+?><{=_kE}q4;i0RRIDz^Dr=lnv92_d)VBW~t{ z$t9IyULbG2n7UgIO$>SQp(D;QKZq!rz;VUX^Mmj949B|F2#KJ2d`EBw=UPuJy?)44;nT+EB%{{fJi#<_><7wnbBT(yqce3BY}rJU)8fXCwlmygSN~204=h^3Hk3FfSd>V10ZbeQYGgW=prw zl=kO;hFFPwl5C)ZF+#0O_+W-EI@Q^%P)?NTaDZ=kqw5fV8eDEpQs#_2taysF*m5#TAo)oKaKw2T!UWdRdo`}GUE)7=(l$tZf9VwF9+zCRTX1|#g=EX^iz}OY#LZidTqIz=Brp(3sMeHHB6}AmUo&45lDQC)c!k*Dv}k(aW^&`8qw41g z!r2FfWEpMiKod?3#@Ji*>Ea**+uqr6CzY0cb$VFyL8hAn+Vif_n^>Y9>K?$Bi!Hql z4wf^&kO6`9PhKZAtumzfbD)GRe(TKkR^{woehO#N@3dH`0!W=Z?4%!33b$!viwpdeaG*5QR zV{Op}Y^xmP9!YF3W+vBg?|1gsq2UJSDL%BK`IJqUPC7o4tXIw$q@LBux5ctkks1L( z-4z2^rbl@1LGaJzpC9fo4LM~;m)!}{Assr!b0iAzzUMSLLLSs9_8!U)FUP83rwi3* zl;=H>>P;To>XAfhK5vLEAx|dkW-B*F1^b28Er$t!4hg%{qCV042g_4=Tb-V>p7!?T zmVxdp)$6T9fFUE=<;#G8rn{5CO0E3mcA@BW4R|&beGF0SEN2SMayy?AAwx*Keoc@p zjx6X>t-ehKtYuR}yIBk2akm(m3ZRa3xH9Bs`9({egj#sM9DrM>jD$fm5i< z8nvG>Z|Aco_QE7Qc@L_hNbow1M2P5Y$q(EywZF@)iK2Yqtu3MuY=|gnNqa5OFl+UD zNZ?0(hqR*mT(xFnBO%L2|Ku2oI!pAT-*P|#SAMJO61uS3d17iWdHM0jB+&=V*AVfy zA3X*YIRC68!pI|TK23jMkAi<#sa(rsGHCMY%UoK^ z;Y9b&rak`d1X9`yw;#2LtPmCwI?QYM1&p(eCwiXuC=84YkB+;{k?R0V_7dHE+2Hvj zK~S=b76^IhGx{lz=?p&1#*0~~^~+gUdXNU5qpg;#BN9-vs2@_^T48iq6ZY5o{L97o^LH!nG0f8 z5hXtpl|VVUdoSxRriB4V@xgF5b4B0Zs4Z=^V?u1C&sAwje#-QOxP9(Opm|RxV2q|U zhvaS$OO@9%WkxX}u5rdk#wm)(+}UiGG7c5&ywCFQ6O2#L3}< zb?n9t$Q5T3cf;rY$GZ zrwLzK<~p%Rg$d_Tug(l}{(G774=sv3Vh4A-4Z~tVR@>Zs${FNq%*~WYWH9=CW zZh;;k7^J#{Tr~wVJ`;Du7Fkvov3qPafXDWC@>>J%tGYKG)FxdFBmgQ%Si*8cPMyYt zh|h7N?||ZsC4P|r6n<;?^~D}TWv%SIb;a5SBt;WKA$&zb2{)wF%4__k+EBfjqk-k4`^W4+H(%kolse4q@M5|FaH1;zE;7Bkap6p5W`o;Ru-uJ6zbp3dhKHnT z!n)!CzcD3p&qby<6IcA-%a8;dL8Zapo-Cuh2qN|bkH6#sj~`c~F{iLY)M?1)zcy30 z!Y8`<;=`*PRBUkmR&HEtvXqUHfIJQU ztY&cVs^%@ez(@H;x`Pjv#Z!#fy`X>*YPNgwVa2p^mS%Q}vP_HqZP};v1jy zb+IB=YTurS=eC)vvRsaaL}pLD|xKSgz{)+&)^@3^;|t zVDlhxY5!A)_#8JO_eKjV3-SH&YzYD~3q&3ftoTNieam=#10dWAw#ZuV+WK_YUcju=t= zr)?N2#_r+l?{MT+9R_Dgs}i!99z)?kYD<4yG&ZOO+WUC;*`)-PzoKZeXS-pNc!;h0 zx`q}I&K2aooIO|LBEWm+G5-PKAhp8CRT4t*jFZfZx}8)Z()rI9YzB`ZFbIQ)!hI-)kYOS z!6#Hhk9>|8Zzw}s8AGCffhFS`!Eiv0i za)$53KK;W`uHeLDM_rnXU;s8+x8J+M#dRt?EIaF>1w*vF9LYC^jh~%>k)YS#rJ`N% zQ4H&wQ#=A1DB_P?tZl&9AMuRa!hr3G77@@xvBxzd&lO4}KDe6|t~IvnI?wd1GY%Pe zYfuoN*Xis%^~eQo>vVIAe88b|RO&WXpbBXT+rU|=Y_dU8OP+-%6#F%h$~E4~wmZZP zh>-!Is4wvB8o+xvQDq9$I`UZhCJ;&ifOEMdPuL^rsmR|euE+_MrsO>(pxXar9fi?t zzIGe{arZ-{=Tn)^drZKb*Opt?mmirOex0(>!&HzJahpIP>EP+cfY9PmX+)}oG(c1} z*tIs4t+g@#+*I(MCdMwZ)VkJHCN%JzlA`RMo--vxNtr|61mO|9k^b^+#Es_hg$5sP zP-t-6Tg7cwS8QIa|HL_)qUo+<{;e?h>zL%T62TjcjAtOURp_sGAJBFK@29}mX7wZN z?P@;r0ZtyDZ5p91sNJ#+o?Ksdbvy#v9;ZG*r90LJ_$wLHJWI${`z)sbEDX5t#NKW$ z7MtjJ_aV#4b}GXASiMJeYgl?HJZd&z&)R_adzo;d}&=n9y@ri(CTu+?Bky~IU%UG8u2&PYp=^bK@ zm9$t-me%bvDG`8H2xPLBh<#n}{8^1P3`;}A^YQ*XU9fPJ)UnaBFs4S_W9mp%6kZur(lm$Ug}hQ3}v{Sw5nd2UbbubIOdhMT2ZC zPEKbibJ43uuE3b*P|RlruF7pk%TRa9z|~U2mf(x!+EqxU2Vl{c!wVhzcsSbH5RS|NN*}-Bj^9w9_ z8}>49|M5M8THM5Vz%WtEdLo%bM2@-OM)AlOB(UGI4sPI+Q&3+K>;?tZv7VE1Gfy@f zgq))4r_Oxmk!2JG3(w0A``%{cS)4Pps~s$R#b!aAe<`!&D1QcG#>95R>?MJ{x==YR z9ZtGTAh}^{t()kWV(UxP-b#;dCBo9N9MJ^yJFNp;hwsmFJbi~I$W|e zT2c4oz>##hmOoA)shwZh(V6k;2O^aRuN@($#Ev1Nkyz;gT{~be6mHR@4B1D2sK%7A1YOE-M zoKjl$uaP(j{Hko>ku=8+(m{M?i^RwDjVmSaib_vcY`=gQhbP%2wHO)w=lLhR^u;a( zI)EFJU)sDbXJ1b+a4w$|VovI~pFr zEK=`l(y^O9OZK;VDD}i@OX?);=>5|>91C&!o#obH1hU2yQDV7m`xIP1?W+H1;8*G7 z$wrDOE0gGqI2SXzoJPW`$VpuplhbT=+auZ1RLK}*AeYTNoqk>E>2}zrv!R`@*9CZ; z5{q#l6pI&BZw_1Hukn72XXS+yVH`*yzMI5*y{#Jo@g?XMmYf<^i7NBYdsP|AuPysn z`#nDSG)r-)nz+}s)v;+S{G`WF@Y_b6YY@v@TXAzrIM!4Dhv2=~uSM5xFd?}yT~n|$ zswZ@7I9mXjIB+xzICQSsVrNgqT+qk^2<+f$w=QrSI(;3xP$>7-EG~)V{+L|^bCdQT zq7`&P1|_RJj-zjWN4heBFCo#C2dfsKeN>MA9%!E487()T--}M{1{folFyG!_#~VBa z@x`iEB5LDeQH}D(#4b7+k@H@=abN%URZO$KF?jxu?&+T1rq9GJ`c6gadKaShdf9h0I(? z_YUNPLloe120PDWN#LzIk^|AL`~`JGQFjg%dx1Y?EYTCdYiE7R$KvS16HuoWhYz8k z-R4k^aHoE)oXizl^5^~~zUqVp)T;n-O94Dz67tXZs7quP# z8?_DCRm{-R|2!KGESLuqFmJW{32^Yw{05SUvjsHHFpst2 z6oQHR6py6^Omk#lp>k5q==N+&hfy|1Wb7d%FX&kI9?Evhvgm@B7T5>?c78NnhZsf7 z9jZi;iU|ayX`5mhEWtG5FUi<@rZ`T>=<08M z%f(VFr+sQ8JHdP@${p^L+2O+zG-*uBedCl`94G>@483>EwK6R6>Uwdc3C8k9!?v_&HC(TER{KIu%+qg0r#TQaIDN4RJ(H`AX#8 z)ZVJPL|NzSy=YWgf&h_2^OoB{UMwwbUTmwG2y}}U{G_O^OYLum&CWyp# z+Px7wKI#pk%72-pGgfxGfBNYxmQ1PAyqg9S!Kp8buZn2)Ifq$)<$^kFdoUEf*<`( z(9nr3j`ujR$k@Ey61&7PJ~svRPDi;c5;zekRnCfNh7oMCNLf@kncV*6Ye9ESZmdo< z?z~xNB(mEns0-CZgV5`A-FWKc9paKTCS{V$*~0>IamRLz3L`SsWm_l@mFmH`YcM$i zb(#*C-9H?=D3(}kiTwuBy3kIP@kZDm(J}3&4*NUgBU*+YwL%$bBtWV*ie=^}QT4g) zl!$Fw=iYKPE6r-BtXpCmK(4G;DZuU;cGPn9HX3?p_bz4~B-{3;a|qS|-MR|ggovZ) z+yMK55y5}anndF%HdFNq-Pc)<`0j>fQIN8TbE2_0gT~(T5}XA92enKUzNfmo%+m6l zLzoPMiO_{X+~!P=&qtL{SEAYG)Wy~(WWXbx*aqL7@fi>_<;9C{p~x=UhB|l)hkegD z;KS9+mdoTogz?Haas>7UdH=tHP+m9frxG!HOEoc7C*V18r`42fc{{)81yXl?YbY7R z7j)0*J@UhtjrF4u)REU`|ktX6B(eO)7#ndK`Ad!vi%e3VD$CL-?uAqb}2F}JlXGTMEds0Q?;}H zbXlh`mAe00_JD6`o@fcTaPvZaMemZs9_n_Cc?$Mv%y4*OQG0jBtF{(7DvZABJ-KIJ z^Z>p3Wt@$~*+Pd$H#_b`PG%kBB$e>>chofXmx=M8YgCjQ1L@D2LqThaIk8gkU_8TFotSt5Pk^cP!04`2aEk$3qF10KdOb871=O>g zhjqQbGtBw8LI(W68dG%CPV>tt>prq=pvr(LG?nGv4`@kl==<2)L!G|@X`OEr-k*5a z9wHsuNS@rT`xfXgH7sGCSPMLTzh$Bf+MVDQ!^fzs?{yFsSZ|IeIp#S(R$Ss(h>F~M z`TJs;7jTTEbeq8|*~*jsSZrwfHhMa487Y?Qcg93?KPHX#AMTFZ=CJ|2<-Z?@u#kKo zc|F;oE+dactZmeoRFMM{bi`OoNcvLr-J{9U=jyE%ClZLdd=BblNXWjIbbJpsGWnJ5 zovbcdpl}Qth+qrY0LZY@=EY|rf*YnNC?D`7wX#yLKBgM*o$3pFeB2sgaDaM!`iS6% z#S<=Ru)`R)*dTVA3fTMc0fRdLOYTKE4y-HWRA-1rU$eh`X#Dll!cEIzIsbi?+e2zz zY~YztOz6jxiO*lmd=4b6Pp$?a(tDYIc}FWvR#yYWtJR}oZ3VQC)=C3Tn}BLR$}1*) zs~2BhnKYmpeTLpViEfz(mV`zUfdG~^&?RkeAA9rL|Z<&AcetiJSz(Z7^L&3&)j(6Pjg8m_z8u9qHfhwxI{%R>? zrCKzzStg`*hj&Yvd*<9;IZ7fMziMEmb5Nx(uH*QsEvm%=gQ|3!m!vapGm)~W!iqoR z=%F3b?v(!iws6_*)}S$19E~KWD{N2DCVS;Ye774C-FEXAx2$Aw)gmUwpm)MAASt}b z>$Q1>MVJ`2g}}iq?e&70^5$T6>L_C4)_n|}{&l%7Bimb#wxYMMTy7sW5H5iSuEelk zlac3HCC?V;YTZ~qKUPP(jlRKIo@do#b4L-lQ){%!kM9#Jo@dbW)Ev=TSRygzT<)&{ zYy_dD2H+6WOK9>+O!{Avo_@$`jWGNL{#{|c8GylYjyz*tQ2>V|GH^Wlc9^Rwo%~M) z2XxyG&_wMXLa5|DHH(wJ<`lmnyl3Z*bh_V+X~zB>pl$__{`vu}B_|cw{quus9$0*6 zM)sp&lX=H4Kv*VbSx#KwoK(#kesMN?Gg){~>Z=F(QbZ(0E*Vm=oQfW>%FNzD#v~!d zDW@nSO-lSTOs{i-^tDzum?A!zSnO3;ViR?M9FBgj!d$=Iz~4JS!&bh4eB972%ifB% zh22@Nk;a^iLmY6?72WaRWSNrl)bJNDlRak7n~OPADOe#JfmsE{&96Y6$v#`l(jleB z<8gQ8NFf1d9)D!lo3~uqr+(o8dZO1~l%!_Wy}iN*b@`qH@u}_FlPyGAR*2?ZeNI2h z1OoA%)O|Axaht)EEQ0i7VaHZqj7lW>+rzlrGs^39~mBERl8YYl1EbfydQa%zNu>s1x z82HEJY;p|`L{P!dnQU12?4{@Q3Za8>Qqy@e%{Mr5sHu7lSdWyb477G-x$?vvWqP>j zWwsL=7*mK*yYf^J!k*jz@Hw+=Y08_J%SMS1SuJobOTFo&2*A}kfSi{+-O1(kOB=ee9_kl#ANMtCjok81PRZ9?Hv7iN6YsT+E3|)2|2|)x z0>g5HzbhS=5n7WF#%tS=Xw2m8kaRwaFhMIg_IwB#S|No>`?Z#7xp1y(C@6TjcW>4WyR@G>4NtzfZCph!rLQ6RBSX*+ER4Mz&$#AmHG_wobyZ02h!472Vhwjop_Gxo@?#k8JjYET7Oa*7Og;e-lizi!bVRsH zDIW!3k!~>PNoE`tcPXp_{NW!<<8p(@uN;Xr~^v=ndM32_H$AmWx`^~sQ z*Bt+myrbD;b17_tSGZW0*yp;c*2}q5;I>`eTg_}a=C3p{i|sduZW^3zevHzsIXay< z_7K*|kZ)**S$muiRQDwud-%1(7Ws;jwQb{)5iTW5*+}pC^M>eBGOm%fLD2Vb13s=Mu*HYU5qGV zKp4gt&ns(lKw&*~OHT{HT`Bu{Qn)M_)=048+Mw};v#tG_t(mtlpYhIZ=0}aTTXM1k z*(D4;TDSu-9cfH}5XzTP!%#8`Q_Ms0eC+!XdDQtmQC~jodjq5x1BuoeuW^j^pJ*AQ z@MN9zzEmC-wBh((`xlG9KaAh*N$+PckFS>PTg2*V%4ag*EwBJAb#>BN^t+ z5J`!iTf&nUrNe`bmGKSUTXrPZPs+ei+j9(U$XnMPljwn9(T0TPepKf=PCV_}sDv8pF1;$$)f~%($?)H<-I!&z-up5TO|s%=Ih4`Y{67_+rr+0EmLh6a ztp0uB!-HAGlWN@f6l7E$`;nZkfCJKTOVyfQ6{K`UY$;*u(m|FYtP3uuV=CNHM2%51 zJAgc9dE^2Pl8D(fMqu)Y<(pB!T%(^B3DDt%!_rdiO&b}y48oEM!OBy@PCxUWHR zPNViRfkMwpna_6a|A())4u~q;+Pf4;}ob$f#<8#g*{)v0f-uqtny4U($*P8v@;rx}n13^~r z)~TjYj%IPneYX=Bk=@YxZb}#q!wp@kcwd<|b82YIcdIw?O#)idHE*pVHQ}L$-p3 z-;uGsqgrgc6s+J%brLc5xen%)_9CT3GN<+Ah-i7)=qKzO5CSg6I0V0(0#e)x1+j}h zrRz%2!<_8IO`{Audt65t6MCi4qRTxDrcBPz<^udtc$v_h9@~7qwV3H0_~+&|ZBFv5 z@#1};parh&nmxM9WD5#CI%J=lQdsZzQpA}I2f7nr5Inb>@0yg-y(dac*qDSHs%4PR zPG1^leG}w}R#LiEf%A*(7#;}yuk7y{X{rA97Of?{x*b2c?>$`S#RSRFlh?mXZsS&Y zo3W2h-A%nC@&kGJf*1M}1r?XLqQvcf3-JTLj_%1xQxg$^P@eBOAu6v6#TJqGUltwZ zcB`YXpY>KGV%BeJjNVDZ-CyEcL&1pB$A|B4H6lt&)O$>9 zi~JTJhF&4HOSgUcRcSz$g;_+b(UV4Ut&=x0)o78;K6S z5p6@?DrF_g#OKyfmk%!LNo>|ZziBS5m5uII0LW>z&vNIzvn|)o8v_w-)<;$1d#ka> zvwnjyVrVkw<2?R1C#h6b|QIaf2Lxu#PCKQhO2Mh*R$6%dHIJ2s$MS#f9@elB}cNLbr`1YeMr{@Cav{{AIq4!3)r|i<3FREtjV(wcEyZ4GhDNG zqt(uD(RWIudssGVYc>sdQ+?QJIRVtRbF}y>^;F2RiXw^OetM5CqJIzD_PjaM3!BT^uz{&Jy3W%%|TbCvTw-FNKO|s2RaCo4Ci9zAzWZH{m3f%qU)V#!Dq3H zkDKx~Nq0d};gl^-_oa@aEm2fj~m2>whV zI&c;QbKYOa0X1~H6cm@JTAB?Wkz)rQ;T-1%$P=4$gfDL2Cj1PN#VHs})$hCBBRGc{ zZ;#C(E?3UQoKMvJ`Dk?A3lmbK)J$1LQ?ber1~pbA+cGPq5n=-8niYlxumFOSZ1b&v zy;(=n2h`UMRFs?4F}^y4JgMgE36D4sMegnKEIboN-4Y&uq)e5L0u^wL!B1aomZ|D< zQdu6Zi`w?ap>*1;4$H(HkFLs01>(X@Jib0ixM9*_;Ne%JqR&%1zB~k<#7az47+M$b z+wV%echOAmtL@E?X(aioBQ<1M`YN{+P6^R{uvcxD5ulwfoTpJ*~DchUSd(ZMN~$Y4#-l} zZ2do!F8o4dae89Ue!@K7rpDMO8T(;N^XW4VVZVW6xYKB?@X=c2iH7#Inm2o|192-FndK3BbUYS|n7z33 ztpTFQ-y0)_y=41L8UqZ;BL%|_hL5QzLRpzPixh|JunBe{V(j7Mgu}^_1)Fxw7iB2a zN9WH3LTouoX#bo2c(oKYPZcQs5ONJF?KV#gj^0v}>UR%o35>g8jR3gM50covX1X2h zJ}7*%x~k+Ty_GY#IIT=ayW=HU6qXalvcN629F|PSamNy$BYAd-7KsdB_ptx7dV6~z zWOtMuCj9J;FRp|~AI$1to51&+A!qqKT(Dn|d;5gIE;Dp^t zk?O(F0n(odb&!*b!c~3_ihurM<=M{^2oP4Y35~097}ParOvpW<`HKAn*YK8r9V$8D z#BmOh$JfM$Lq~T$@=v#%1b)cO60x4nzcySKKd4CfsJ^!OgV9iG+T&UPpmFso7e2@^ zlq>^;yllVia>Xq=bQOcK*+Ukweydc`j_^GGDB`2njEMo9ELNgb(8Lcmx6s*QeAX{DZ`je%Kn0oJUHSWQ*dT27-Kq_JgBpXp85O zDZc^B^P7ekIm0QqT{=+yBz*N={7w&gKFGgR2J0z=9MmDrz2Fn^Cy<(%y~dke=a_?J z8`-Df$iVdq=AOZ9e?f{e^qQVMw@XAcREKmcE0inW-PRD6v>5qLWw6M zW-3=lGx6i5+i;xF2wd*)`LWFrB>W7<6|PA{=xSSzP2ZBB+hBRsyTcei^dp^`a2f6@ z^|4&{%>W48dR0yF*iR{M3hQ-iRbgw$4UUaNo~3UeEPEnH@VK6ll2u{>_+7k%c%3Vc z5FKwGLBA6XoCvu;roj3;hwg)FzP0zy+2RVnF;Ix<9h2Big^)52R{nY>-?{3tW<$Vw zu>a(@)EZ;GGg!qfpg{e|OQY5wW7Mtl#Kn4yXZRgMe~g}kNTHLe{N<$fhZJ}Le#ss| zv64@6Z4;H|LT}68he?kQRVoplc{nw#Cm)~0As*}r5fjLW$G<2_GXV0++|<+!_&cX2 z2`v!oci!+AHQO7zQ`=ZMjT5H94mKb zWQaGPMC@5>kXbjsc$BqbgMGV{P3RFpWnro zu+|7bbD%K7hDyZR?gpIE?q6O2e4}?m*JNTub$iks{WdAPS-2! z6wI-d1_ZNDq=+2w=mPo-+RP3LZ_N<&yOELTONyN`+7uwi-@Gw}9Ru5;=Ln;U$50|X zv)9HKB?9nTIF}JNdDRqX)d*D78~kH6L}izFKb)89SwJy-xeMgPo>IZC5&dM+=5qZH zqW%;y#P*oxS)+Q_tF}NCkFv@^VzyJa-~+=qERs&$O-?{3H*=g7976igHfyH^J?YAI zlTWgDpqw+DT765gA(zu#n5U`mg{ycd-De9_!NH6d9Ko`8+5EGuN|xj!N*O)TWLMJU zs`@Xc2g;XufGbj8eo|}pUmOj(Ehyf#-*r3A9)J9w92PEA{ZS0S z6)%%iP6_=N#|8)Ciw9nRuIu*kzukSu#TBE7#<#Ek7h8v#8y8E-0#{c5=)c{)?Zp*4 zF1elj%T(civy(8tLUbMKScTVl*WlQj@dgOreQCFK9VR|mQ?3?^3jW7mZdbC^`3Vs+ ztIPnh%&uc~R5egNy3LdgXU-{ot&E<6Lm+2>#>Tyxy3k{XqZ@8V zz~}Kl4KcczNdXs!Yj^y&#&6z!W(gyisczpzy8obE-krZ6;;_&jdHCDR#!;_I%B;J= zWCeGMq+1#q*sF2uThdrt%k#>5`t61Gpp~5COoPX0gZ|7b;*zE-_g>pD15O22ego2x ztmWDaFNhPWc@k&nZiHUyxJ4dH+dWB3e&EE{|8f~b_PyGvFzhj)pX{0091T02<9}3L zO~q|_$5)wSu*ZIlVVzNgOLGg5vkeyeZ`?dft2}`4cG)lgiJ}t=7jM0Xzt{GVE5seu z(qQt}qDV_oe$`%SQU8HHc8+P-L~ACf%A(nV>beMTnNF6}OLo^;_DP8H?#8TnIC?Q| zWkSbK>Yiv2L`7LADtv>+qjVKWnkgKCKEf($%m6ThtBR_;oO6>To;cgQ8ZPoc%u`TV zOS|~e-ACnmVa9y=`OG(nc)Z)IuO;J-Cy>KB3brej!AGkPp2kEi!-5TR6wUdTVUlwp zd*6KL>L+q6^ZA31Ryq{=MdR4-eYT-=o|!z^9}pGr60^D<1WS*3Y@3n&cesdoqC|+ z_PjQ2p=+2XpXHU+Y#W)0bN*%u=Ex3W;9y|#mKA)0v)@UNr0oQNNUgTVq2E+{%>=wi zojyLUO5?cyB07er$nFMuO4$3}@h?+5jVUvc=9Q~Qm-H34epk6+F)@AKK$*y-CP>>k zqpWw#zA$UzX^8M_$qQs;L^6b&*~cn;pUCBMQv8G6Ha6ng>#m1vru<4l zR5gZ5b#YM^8Oj4#2b7fX?)90J>GTAz z7w}gU2IR88EFaAhwsZu%K{};Iw~~Oq{KLbQ0k>(x$c|KQH6t4La8ug8D~x;>t|26> z&(KNp^$lJGvo;_<^*1jFUdu7T_Ahnr-H;v7Gm4c6HbK0ed~mp!c^5n7l$`-r*U1pz zb{qdBzRGdWTX|3p!!G#3*Z3Dd85-}pFP*7(2(x6BPV)?$ckvAa1i+=9bMk<1#Ltz5 z$S9M>r$O9I(*3X4x*&#h=`yZc`Y?PNyBQZ}zocoY;of|?$KnSNC2{Ridql7j&cE|Y ze?M9{;KL>X8BWxeN4$Lc{fcNrQT0n~{6UL+=RseakoEap^(Xfcq=}P2R&eGy7g%H8 zMLV?STWIC;^E$ZQxW)5#ZzjO23i^Y}CI#Dhe)g9gZ%vRN=>X9P9Gd`e#7AME3B`xD zAwUiT-e4LCfnat5&j1l-(qp^3xrLPwb9CwoNa=!94N6prBzMsf7R+ZBqWsmut^;d!ruk9^7P1b z|BR+o&j*s?ji@83;bkDyMtXWm@8J&nM2%bcSkRin>YRT$6-BxyDa%Jr0g^xVU(6+` zWxsbC^Yn8WBQJKMvq{vjfd_Ivtj2ppb$w_}p00oR{B()=drf>Z(c2#08J;)VRd(L?= z64Pl*uQr!xZdAx4=14l?XZ+|d^7(hFTMujWpkf{Fv~$nz(Gb@ta90+mrc?zq5V)da zyoPdk01+}B17EAu@@>J(#kA=j9t-J9Hs!>D#&_pIG@hg6I4c>ubbv;>hh3e{!y!=(gM2USwW zp?GwadVCrfn{q}+3J$PUx3KO{&Iibjjz$WxRerP2(^>1do*n+?}o4Hd#$p_}UG4`(%q?S|VNMr`bVCzIci9;T=)GueR2JD4r|BCWP$NrIhNlPvu&}UP7&K4{{h1-rh z{Agu)yEHVb=fIHgdROY%5AXL+4t#lx%1(T|`Xy)Z1YC8TmH)_t(KdU{Ws=lAB}{)U znEmU~V&u<)xvxFHi(tD4nkvZIX0NDlB_>snhf?@KQf>Sc3#(h znI&WeupWxLt`ifLl($x_7Ry>I?JCEt!V>Kk8O_#I+VE4rof-LJt18vq*~CHSRZs@2 z=iKggRyjwErjO|U`sYfEZx%0Rue(~TH-=KNv#Q#5*35_Og}o=PI0$xm$vW9g*0)YF zbpJHJA1WS|NyX>NHGbi7(U5mMKsDCF7e-7&Ek7VMEOfNV^r) z3#J(pOS-OqJLqIHp=Xt5cBg0km2Oe*rp-j*{pzPwq7PL#mcWIb*Ljf zXK4*q2rTq4eilODYLK!%On`jtMEo z0cXPvWx;oQo6~UjOgX`XrQODVfODpA&-$13dNkHkiyLAW5OgmAd`WU}AP4?1>Hn&jQ`rx z=EKZ1Atz79RqxYJbHfpCxdvk$=6Dfj`&Lr!NuZdxQkrfMTdw*1edwcATMXt{*M{(E zSVzdD^wmhaa;Ql&@L}xVZTu?us=SGM%^$)jHx~LL4T)U_=g4?`s6EqA_SMgHOI-Hq zy$94wBedT9s-r4>#|lPHk_u{_wT_0tF_S(cu79 z!cak;I4jr*=GTzOd79s`iP@9Y22kWA?HyCY`;N**a!+KPKL_1jM{oV!+NBrf%Dt8x z5|F>rUoa+M9ZVUMe`b&mco+3tT^onkrMZxTX|~v~f!nk32O(NFl)W`fm0Txt4)TOj zIv{(6bE7|`!wZ&S_FljLWC9T56$YuLhw6k%KK_Exv>ZqrH)@z-{m+qJ6a5TCwKie;6Uc6cMXHu z5ssm{F1`b!Dc(&tyr1(4N?QaI&Xw)jBhprI>5AhF7wEd#6>Rkr+LRYbbAHg@Wd*ySy^sghSTq8hBfDok3`&7D@7tWDa(+& zcLm^%2`E$^aqVk*Xz_uBFIp=n?(2O(ZRV0&c#GsRwHPXQXhe~jms+)j&;z&#MR|B< z!O55XIuked5e+5=9Zeq}?_74?c^O`wx%Ys8TjH#I_4F@m!FKT!<#+AW)3O>xG1l4% zYr=``iEN9l!zKqh1niOF*BSfbFw>J+shvD0SmfqXzdzhCUuuMc{xdSGiz7sDJ{+^- z4>v`0Wf|Jo1$I<+^Ld^>jTJ04_HR%2_#Vwvw3+tQcBL`&W3k$oYxUgn{u@w(E2WP< zJ_Z0_w}+Gp8qU+RWWuskq#mrOb`oEMoZ2Z;`-Zc%Jk7cdXV+uEnn~-;GPjs2rb4gq zR(geALv=Z(H0#Be-k+9J zNpbQMkVul%r5Q0bz`kcDiuJh9HhuAr(dG^u_gf?F%};;ul|CweMGh0 zrz-%}+j;!Pfwav94R{px4)bH&Qp4YR=0noC`okEE?F%+@zSyrSp6ekX*QnE<%B2@0 zhoKH{dETD)^#Ck&vSTiLPUTs5Bh3r?N$L8JMqE1kF?u)?rUb9>+k7d zv(dg3rE>vjSCLB8O1|Hq`09}QR3WNX%gz+fTY1~GT#vG??+P4U(WeLhU%thph`9E< zfa;mX#?M)PSX=?;GZHWFnUlnEq60Rqb2~La$9`ZUO=WXEmw7A4G3L=Y#|Id7(BKCX zl5Z+#Nm499&1?~Y4r<-Vq*&5bx}bJl9;aW7B`Zt1A~LH(d9bHk>4}F)?bNFDSp>`; zoQ+0eypN9x#Ai_G+-s;J8Ak^Q727bMaB_e6OYV+0ovkTjiqDSrhf!=#^N7St!Su2X zp_AF|?yLjuB-Tui5Y*GQlU01t5N@dQU~GFopKC_w$&}N{$1^FVZ@{_txJMvekIL@T z2ljo4R2q&1ko0H--6w=n@tDw8-ue~*3%&%&U#2^Z=fb4|(`c{fqfBkj# zm6{b5VHJq02V)^MP_WM_IfTv?S~f??FZPi}*fh(qvVaxbk?8%V8*SK$4FvjdZd5(Y z?9ncipV_FA`hZrtYtOwVqdQFFGX z(LQ4O!I^HXgnRqj%ZRhNV`x$n##~Hs6u?K-?fmR#c~T@?B9PZuN!KG;!m$_nDzEFN zChUHsI?UOz@3NHEtWy5AB$oH_mHCPWCU}rnAqhwWuS-+={u=ZP$*?F&m#JqH&WYV5 z*(=)|(*i&L##TA;Kkuvjij!OTE1P9URUSyl}4R4fc}V7Mb!0TBfMP%4|^Sx4qdi+Pl# zbkqS1|I9G!3fAdtkre!V0IN@PU0NkoxT9`w-ql6LBnjYx8ii-uJRY=Ze* zo2JR=d??_&1GeX8@^^W${TBT#vAoNXnp6X)3y4lCMP|EHw(FkW28v(aF_4OrQ1$=$ zN(u%#28x_&-)ZCj7-QQ5b0Il1*n|-5(T=R!g6xu;9ZOdjbhWzk6bD#Q->Y1+JDs^MZ^(Z$SJgK&BGze%<;jo$f7LrmK!>Mpi zY#E0ER+lc}8PrS4PRO`5x`O~35i8N=ljb#Ee{cnqK~7FbYg#)zlMhOA7^D#!B5`TF!JRbv-9PE5wB@vWi8_9My7(= zIUn1S53~>!v#i=RWdM%5-3g-Qr^N{URAG2U+}QKl#ZT4~8Sn)J%J?MBScwcwQ*76H zB8uHmqv(IebkDo?q?;#2>u29$7rDUj!C7v-+bSlBZRDvGD^j!-{Y=oDT`4iOshP$p zt+VxAWM^R0gPq?Mjeyx{e=E}v=N3ZGm$cW5it!uL?gNv^SqCA*)Ii)=ZR(pl1i)@z zPFpv$0(!$Vw@oZb(<1{Scc&hxJ?Uy$z_wM5NS=ZuGJp{bF9` zotH^XK6M&+LBl|xVoj`63&(^=C~cZ<0;#UpDq9CLS@OGN5BMhA?ynI|9EL7+2t-h{ z{xZ^O^EJ*M{VWXn1^Y#;C-fLZ50x&`7VovJ^X4W6f4LGW2jOdvhZjJo3-^H{OPQM^ z*Tw@jzmyJQfuh>@NR@eUg9StiA*49$Ib*0f0|C&2&>8G-eyOg&=s8@(@`{h@X>BXf z<-ay7U?LMdIxYx}#_od$$(n=jp+kL1Ywv{1qYqMoNFnn57pc?Eka(DhEx7aEIedL? zo-c=pX3hxklz|W;Nqi+kg-sMB#~lFB8Lpikp{wvdLNmEk-xE8ec(9O7qz0D8i|*tw#QPU$sUxVN2RQbrza2-Mf9@Em;) zY!OUB5|!Xlo)W>|N^87$H8QTbs<+GU7_GS({;DlN5RLz=!szAPqK-k!kvOvag9 ze|!Exsj1To*M3u9mF6q`*t`@ZhmX3-s$X@RgsFkRi!?!q#4U|Om_GYhHCL~PF?LWY z_-c3x{p|pi{0p~M z@1(hCe;W&?CoC#QZ?ifz0S15n1038-oEu1j=RyP9i}ZJZ@2Bp z*UIb`8nHaYlILQU%-M9cosBZI=Rf5?6C$KM#-(1}%u^>Q{%TiP{J|)=cT@>?c`*&! zY(M#B`g$a-@18Pb`-`UiNrB^0al5-b8Cc`lWk9|s!9&@PT{7gyV4be^md5t>J`#$V z20cg?eWq90duyL$2Id|)73?^a?$oJd|5}MO-S&KbrX|p;NW=vqShuB7v5m&ho$n<^ zjGZahohZPPR$pAbWg;PQ8#sXWKM6kmohaK=`k2nNl{GCij`-73r^7w6@4K0NRBHjw zX%d;DHctzKmMA4TF0vTOJojlP**p z5zAX>YeY7xn?RuC&yS#}U@Y@~^F0>-EfPU3zZO{TOl(6n;+|pRbuLGZQZT}QtRBet z@@m`FG&P(FG$!!n8;*A4G*5Hmbe{pSh=Q$cXaZlk`z1h*S?G&JKI9SB;Ufj_aEl>? zgNM1r{GKts3BN&x`_Z?1&QAg{4aSxH^~t=x^p75$H-bjuQeGWma&S201{odTb1!R5 z-dA8ILcuCcwjuNfqmLxtJ9rzgGd=o|Nm_s_tzE>0hP_nMmrd3ZwewTJRS(7eyTN0I zp3`i0-x%5fh-UV^5oTTI%5P(*hPnAb7{GMq8dSW7t&h;{yz#?x6ih}1mW_XG)Zz)$ zeGUN&c3r>}dgbd@b^5Issy-hwyEF>-$#HJAZ~78b9G+QIoH9O)%@9z*03-Jsz$}~v zX18_)Z)+> zp7;K>Iq%;sC zXf++ba9!qs8$3*8)(P1bRtlKKq2(eV;m%jgld1siR38x*;UKoddC5bqQTeu2+n0Gd zicpqS=>c9z+6uzmlE+mRqZNUBsb@nGv_F%I6pR?DI+!crPQB;ulXyay|MsE`0hy{PO9MfOn)hE`5%c$j zen=HLMcdHXmD)Kip=l!W!D%d49hp&*9(aHX4m@*Pj2h{uOf;uL+$kUNqWV5lr@vPs z_EwwE^?|8Xi5*~Sw=-?&b|RV2kzS zPyOEq)0vBdDMeRRSl{PCpfeSkX1a4=X-e@J~ropw9DW^7Z zIUu&(wUzCc$lR}9k@G4sjG#Nrr+}D>8suEXCMkV)R_(GSdAe$eB@r#<^0oe;mvi_m z7unoC=dfTyPu$TGvHZyFQLHx?9D6VWJKS`F^-4K^^+^vq8jv=A^18p^=&=bI7(wqH z`BJ-qa6DDbmcGPw&xJ`UB*blyy(do==0a$XJiVCl5tZ`54YJ=M#w4Xu^&+euy1z%$ zacE`}cAc-{hbLR4d03)oB0PewmV9{-pf*%|g`*kS;ZKi%KgUT>v{fh(wk3yJfu0x- z;8_j0umxbnzYE0pdJ-P)_AlKeoP>dnkZW%?)-%nX3Ies!Xd^|gYkq@}neer5IM@#T zMu5ax?{3W#!im&6Z4_vo(Bw0`8}oUlATicq8oL)9=nNqGI9cLa3KYM^St*i7aYL32 zoUKySc{ag2z+1~*;_#g}y@#sbf;GMW1dOL)MJaz3$Wh~9CI0I3$hOD39`wF0R3kqug5+6~~o@n&2`sti=UdH`u_jXdoQ|H{Xokq8!H&VjtwH-7z zH21L8M2z`IMVVP3h>|;gpH${Rx9!O-U_=GY)=VOs5}(HFtxbkiVP_N4oKyxV&B6Gv zP94x}Vs=bjB@b1mkvWb(rmJtZsQ-F1@2e$m;I7r=tAM*5?xI}$E9yG^@=iP_UHGXr+0rL1zj?g!jBG?34sJpB#bS(n+E;dC%3R^{M*` z1KU;xV6s)%2xRa3eN!zz>p)hb^#0e`9lVT3d#}a_5!!qhWUd1%C)i^q=S;R6NQAIj zATM&9JL!4O6^mfOI8z7A;7*P2PaS)aQ0ZIS4W472t!&A7U_T3-LACrHUqUV*DRTh< zR1x8Q*gjdkaHsyKuxyx=Cg3)l!2lh0N|~w1IGRdq8mv4NY<)`*a}5I?ouGhN?<*N_ znIgYl5Yck6)Ccxq&pc9LIekr0Vro+FP8O%`-MN-k;J}a+!ftv=73K`Imn4X9)xc1anAZ{dzN!n4BHdNVD< z(cC`gn@j|CpRv=w04T04o(pd5IPaZsH#MoRiV?-8&S&S`iAPlykK_aXyqZC|W!;g& zVbIGdQ9~Ose?5YKmy0z?00>Tj^#ym{Z*HJjeJI0zZt24Uav62Y-J$&>+guMwgCG1-{DfwWUeq z_@MpQN#tL@EV6_KAn0y-+)tzVlg@9*p-#n4ZzQB^Dml|ar?lVTp1C((ojpWvEzSWl zn7VY;yk3mF?#B;*Co=y=_fiio2*G9X@vHy3fxi(mBhniB3qnw}pzP6q zB?N;mu6V%gM)^OU%D=C6F%`<3;(`z?9vuDfzf@rUJvPeWA9!z2Vm;|!#M}QtJ|gc% zUof#oPA-rB;;H^GPELa3;);r$7XR^C0k2c}hU&$edskcc;lJHI%LRoi!C^0~0=&T* zO5*Ex9;V)T^Z`1)J=bCe4Bl#XAFZ)3Vd=o@GEB8-V)iCCj(Mtn;XyBBp8mh^qx!{% zG9sP^)OocImVP?+q}{Fo{5_fHhc)vl1i}rZQ1U`N`)K(6Qkg)ZRWn!@(m=tCmG{5e^X5)Vz;0T({&i47QaD(c z6u^D>#wrZ6Gp@bk=RV$@v&<5;DXeGpp`I9@f}{rOaPGk0m2fLmLH>F9jdPg4R?2(o zT1K2)xx4|}KloH-88t2eF*m@ASPJm_ea-mZ7r+&|ft}hhclw)U;Cr)b+TC(3AYohu z5Nw&#y`PeRM7`_z>pIuxExcIklBR|#>S*3MEzM`K6#A$b34F~X% z0vAcybpZKH1&~kvOE2*QX%w>omWQ?x;vGDX@3^9DJqQ{i=g9>0yb;Ok-l$EaF--f?;~*X>7-E1$gIa*7^Q0OtQlpkctEq+9+l{6A;4d1vs@ zUxUv1_6hqsHF|1%R_P1})F9=5)Z&!xW(t{g9@_=4yjcXiokRT~=>0{L%|jjEd&i$= z0bQ~$fPI#{eGiyTy->D|o$HOFqt1H3DSY@yw4utZdOl6k>9zaJ$;Ud68I6-YiAMA}|nLj#x0`m&c9mhj5?wh8X) zR0365jjmQg*n0<27rLnjs#&FEj`3-)(Ax1ek50lk5&Z;3WX|4TbKq`4vt%H25dxQ3 z2h@Fy_mKf@>#YgfQ!PyBdOW;6#YAh6`TGgG!dl_|knXR~x32!s@hbNqEjK8*1GL5^ zV)A7?asiBr+k**Bb+@1Z-fYNm&o<(&4aYQgCpKco?6bGsHr$@KY^GZ0_Z>jXO(9-m z&j&3~8q7Z+%mwzfQr1sajGiyLS`b7WF%`!FdR2$F196R86_T&NmujZ$0#m|$}?l)>w zz-)KRM*N#+S1Gxf?qpsK+APafhR(&!B31x_yIzKvz4%Qm)g^cpK^A=w<0G!M?!5~e zVQR@^3V(#OhcsP9=*!OW0^Us=uLmzD#Xj`V1z0@Dryn0mHzgn^Q&#=RX6k;xQ2h=? z?eMzS`@{25UL-8<8qXwDs9gJpygnpxLi(bEQd{|sxTVWf)D=4ZaE zE8pJm9Mo{~!1OTcohh7NIw0T+ooe>W25gNCfY~lrieKGFRKUXToE@&E0}GbVFmS{6 zQ&|j1LzUZ%R*NCJ=cC}=;?x^|vZo!zu7XchuFF~hPvj*}ze!8~`!|qTrpNq&VT*=I zkF}Z=fhlNrj<;mRC_U#}&A<9@ruoLZ>2Q!L<&je^vK#gMz}~mLq!bh_!0pbsJ6^>$ zUEOwe1}G4EYE#SGegV+s(+IgJa($V;PqyE;O_u%TMh%lr;Oxg=EskDUg5E3BPETI+#%Yhsz&eD`nxherY5KNRKnG-qz7#c-N61TZ{!_Fq>cru-~66 z{W%+0ukM3!!tGbu@wl2W4DI4X=i#bXnx)sb2edbpc=I50cY%cJ@P`i!N@Et#70V)P z)pnK2s$0nHlRI^w>5YZ<4w6G4`wC7INUXULtEsoP*G;uReMd2|OS%4Q^h1e{%D@Rp zHZl4K#IEr*E%D(>4-Wv!XFCiP&aM2E5_#I{JbDEc=i}MD3Kp~|g<{)Q1MRKyU8^(x z^yP_G3$pEW?o58+F}liaUGb3nsKQ|m(8@ai1vB48z`=>8)}r3^){ZwS=`2+&WJZW{ z$*fdtU()+0F%gzszfA1xHUn1G0}^OA3Gr$@&}jbRZY~#o7>#W>lZ`U-_pifziC9mx zx#4q`61D)0*2)C_S<`X=N2kGysLR50OAiyLQs=(Epb|u@d?_|Qov#>TMuZNov{x6P-9OxPR4Yc8FgH+ zVHUZ4bsi|{qyd8iqbPT3Jf>=X+8hi>pYZ5Z?{+-_0Qu)H?fGqQy$|If_K*)baqr2M z{wUZ3d`Gu!BJQ5hpw^z#{Bi37ZEej=+#3SkKVS^D&eTANXXFn}*E#Wm92xG;Hpj?# zPJ)4otfU`hm+!OUpo1loay^!wlr!kjZ;lg4-SN|RkI5O+t_LLy2OOy^=JS zb+1p9?CIbjouAP(w1`4(j;C`QY_6>E-l6 z!TjTrjFrCZArzeCGompJ6Hwjc;)v_Z5KQ-0S`D(Zo*cg`S|;E8=`ip!x8RP~m|i?q z^b{BoWy-QVI|#C>4g2<@mS7c!S3?7QjQbjir4xsmHAKyvFg4HcByN&`IPmID?I_Q` zJMkkvU2L$RZP&=z&KHaJ;XWI%9T)xKWHk=y8jPM0JrPVUF6m0zQna80(c3A?!*^huvtZPxR2eZB?k`S@zuMdU#SQu%3zw~$ z3hU#45bw#Yu}|gROSyjn4fa{D#eWC3jr-YEJTbXkP&9G3)RRbn;*)it(k6vOlBxy1 z<8m0v`khY5sdaMfUg%I&`#|?AJc6rz17G%L|HVQi`AV>srbADDPdbQl=&AR)QKNzN zdnA1tE776XR88hZqxWH-?Tst>9)utJSL$&&;x>gC)TYqsY>2G$eSZ@N&m;Z=bwTZt z-9@@ktG-n3DDKPg(l#H?;2s14_l$KFsACx3nwVi;bjOwFtfwzX$4`WzN1y3grA}G8SwVYHnKfLHCZlVki(c-aG0yR zcXQWJsdjqVlP_<}YlPZtxF5zJ(bxg?HBbTf+2M-hGGu$whike5qXZ6TB05kEK3sX? zYq6l^K+^ft3_eu8nt**WOvgzz88@g|n5~(oc&Eak;I)}Unl5MPKGF8ga>-MTBv!{) zG8nGvBMZUQdA%*VcR`?;vnll+KQ<7wWDkotIPWe=2^s)FuwV3nt~q@w`i@aig#YfW z`G-d>LQe@TL5pug>lcJr;sQ?R5@!yl4*d2YyGgQmt?B+e*`YnOU8p2P?R(-SntdMb z{<9X#Q%^8{acM~bG9%HH;ttOq3Ew8H4{7$6q{tl1geThXC){+;hi_ei^R*AT|2Vs} zi~F)er?z%mgS~D47H>bR@^|XzXP#4m65hkg<@90>gZbud=YNFK$(I$6`X$#$(iKzz zK~K0{(iHCB+lJsD{u%pzuKB)o z+x2S{fe$OmehGp8eF@F{|8%hrfB4 zFK*ALwcHA}^5wWv7yk1*bcF=yqadxp)T*uEf`!yQxA?b?-$II z_3?GYi(}vEmAX4vy_3Uc?Ar7>-B^vjzjC>Y&~=tlLYiECndkHYkN!yL)Mr}-^0&sR z7s1J}_ua060oTmG9!ePMiqKd<#HZs(z{q0pgR_m=8X^sU{!H z@%n!8!%H@?p3TQ=LFg6?vX>JgmFFFZ-P}kx z?dTqxOD4~h&@D#f3t@I5fF5vgiN!g>v_v@^TLd*kV--?r`hYw z#{v8jd$qx7BTe)tstS;hxi1qrfeBmH1uDEV9lt(4bwRE)*5`9O&s}aKTD>Q? zW-pj~c}$b%_vmQ}PP$@)MFSO%gCP(G$(R`X2qkiUAFX-F6hhk#`Tln7P1XfFiRtwC zc{YV!5K5rC=$|WftUY{guYBZa2f+IQ-JhiPpH{a<`b@nMQ_^?^9WGycZs6GBsKq0g^=K9!eYpRfbMYQ*B%yCe63FkqQ!hRvKEbyH zRbYLA{ZGW?4Kcb=$lO~JL7k`b4bBx3zYutS15O-E$4M>D zu#}BJ96Pz6J5D8r&E*=bd!Q0gc(31nR#nS#GHg35CW)kLiNc{+>DcAL6I}EtExXGh zI^)-3Qj?rn${%k!=O{ub`-8NL)CXQFvTzwyla;!>iv=W)XT4MM)w7o^JTHg!Z0E~L zQu2fA0=smhbSE+weIJD zydXB# zu~Xhs)r*`r%|S%KCELGf>0mOsJznvABN!8+qCslKSPQ)?S{PclVGir4Kgg2i6RXE}HC_7&bO zy{Bg2IT(`e(?(H)sZU18w0D~=~%{RFnw6M3^e zW_-`?*KfXna=w@v=MSA>nbe-1E-^4ra4{JAh1_CbjkOx9H2+H0to%vKjpo-xEOED6 zF2#(-lLYQ}LN_0#xdswB^GaY9A!KJe3k@+-WqLyvO-=`5J7`DQft@45aEB@QTd4Be z!``q=%y=H9ha3U=jiVL6vqv-VY=62;dVp4walh@SF}bMvw*P466|ih+l79aF8el=* zUJB5Y6u%~W5Z7^zr%>IIzE7NLL+aGHo!#$dZP{0zS$*%x<=n6Oy49+B#kkHa6vSr5 zP5F46WUsng5#Xk+P!b5p3i8o!ReZgg;XSMHZvl05CzZS>^q#%++tAX`_b8X% zu_X$KrR2?-dE~`Uhso!!-kAi)2Y0`bZ3L&722S_~?#?)71y$qIOqiqCW&dS*;H65; z<$7Pa>6SL*aC@nUuEY)pq%KP5+qdFyOv!#`TrZxYy;unF7 zvaUn0JTOTlWG*F^x8??iNrFmR_ESf82npn|hCiKFcEsHz5Kg>+X>Y&k z4Pg9iH4j(Za%=6zDkY;AbxnOF5NN*ZT$W9*{^cE{DPSaQ*S$CLffpOWL<@5(iyvi` zGd&ng7qg12dkgcCB^6-B7`V3kJr0dST^>LKTcY=1;1L|!uzz@+Gj!F!d*g5@(W2mc z1=pB?dKx~vLL`tLL2^eShgaDf`;f&m;C-s{HFcr!V>76n;H8+mUHTR8mnzuB*z#oF zKg;~zp&!XjFXt;wd$F;F_1*V=r_>+J2Z{KS+NB=ITuvp2(|f|23U1>7HUhNTL zlaTlEINI4fOs@}cmD|pCcKq`AS^R2OxGzcGc}GT5wi2dL5`lK%tGIy#_H?(qa2|pv zM$^X+F`9hy;dGc`cTZ_pU+dR7MD?98h2D*MdK)Qznw3t`tlR zZE-w#$(K74tripS`XPuUDwQAxCpUga0`IrVtiHLw!^$^t^Q|HcZCCUIeNC-?+T!xW zhderEz&B^|!M%#s!zRNP5gm)%(OuqWu_TJ7NvZ*l3@cp%ZRxjwo;R^8E^{1t$cO6$ zoxD;Vo9c){e~FP=)}bYWYud=9#uJ@kcT&5%7<4^NZ0e`=Kq_$`#Wq>_Mo%$qXFXll zCt-!ZO7nv@N26-nv&aj;>O?rUl4h$(-R~_x+M}{Y#ln#CEEyE3`5ZQ@U+I+Flu-qpRAMy;o=X}knl$zi7XbRf z971R>nU@bwh{;hUjr@~KM*N>Rx!U@$h>XIICrh)FA z?&ic%yH=dsnmrQFEWKzp#wHK4h1LOFTy@gOHje?nGj>sx>R*hPU4IqO@t}tlRdvLV z>dgjt{*ap?dZAp>v(cni(#&Y~aOs8jD0C$<(9?aX`fnrXk9XwGDAqu1C}}h9nH0{d zi3HS#E)Ipf>w0CzX@DENd!U-T+e*lSv9r%=O%&VNZ+V(H5IdV`=A6E+IF&90ctKAZ zzF4M?T~i7N1SN7AElM#ah!5vAz^4<@VkZ%jk)C?G}4&3X*jIB2S zD1!7L&#rD2@H)RSxQha9H)CAo+6v@SbAj0t z_^+6dwJ#bwj&C8!E*E(d)VsHP3+PIQfTLecfGm2nd8T28gMggfy0~F!c3ja?p|d?UR{+e zA05>%`snH5a}Oad;eCTlwATx zu%}mp(|jJsgyo{D@2mIWNr+Igq7UyeCFy;9@@LOsH{mzi`O3tn^v9*<=h@V)cn{fd z2|x2sk3lMuK#<6Ljpc)x(e>~f)s}k3u0A^A-Y`nK7bxc3cu^c4o5SN#ac7mD&l*>9 zX88WNFH5OLg1>T{STEgnq;;0+eqa10!`t~v;g{K#zOqW{FX_7visrKjTOMoBUBc)_ zJyT2<97nPbD53y{;g2}N(Gkk2q2nkP%B`+KBQLRyPz1QqDb3Yb$Go{&XmDnafh^O^ zROX(~jSHZ*+u_Q2*Jt}LlDes46D@MOKE<#>Ek^x;CiPNaA69Mv& zk{-A*c&0O-B8lO0+~u%0{ENpfE&P+gcf=Gy6G-XBYg6KfB=gQ*QQ7D9tBdaW zTV>sQ%)^;Jxap>BfVN|j&C_kWrO3%K>FQes2|n#kf8vo(a-2`^;F zNB73z-9j8~B%{0&iD=M6^q9*Du?%BO6fR`RFaa^T6`8I>BpzEP)S~361zYg`Ob#J=1IOmKB@@Bb0g7?ALD2rc>A_ZN`~fi8TTz6Js?1fKHDxp z`kAka^s`(GSk_nmd=#vtSV9PWQp615fSaEN0ma5_`K()<~p62hHw&^{W2fTszeGS`6 z-oUE}WVkP?NGVvWoXR+TU*N%CYxbN*rEQqCw^y@umgPhOIxe6uN0>B1a?IAC=@Qcd9CP2 zWy029{$RGRkUfcbOrHSPEolbdR3kC9A(Jb@TYJqJ8Q9b9GBWu`cq&@=Yt9ikC! ztqsD5khO(+f}jrHpyJqZPn6{*xnb6%Jar}&@AW0jWY?Jq`=sxzGe&B#Wv835if5x^ z1MqTF9IoxTmdX5679@1K80g_o=T}^{1EBR0<8GZZFwWA^OFM1~DE?>y%|(37H?O}5 z_k(xdg~h^c1E0<{r{wrgwU!=&;nlor5W905?U(J2TTv#g8*2oJ6#fI}JKztoLf2|% z8K&uXUHlMAop6G22OCV(=2jegTxHa2a<^(&EVyCLBJ3ygpL6{_6J^&s%4tz>zo-@# zu}fmvUVLJBctUQ2YS_UM6Qh@K{krgOh4z|6;^tTRmfGe}`mKWeOXc+GjuH5WPF}ln z4q}ue-x2$C0MY87#BypWin6O4li1m7x0x^WDO8m~}_=Xm{!#uZV*l58m$eE@v&E%(r3P zw=q%MW!Ya&5+r#ViC=BWAZ|$L?>jXH?xj$O7i3-F*AF>in2uGNbQI{p{#2IY?;nfN zi((>$?;G_(LvL-?kix9fQ0=B!NQy7&{dQ)?6}_jQuhX46?^%p50!trC`VLq;gSKB? z-8-w`uA%!UbD&%bvjtaxD%d}F@5|Ps&`Vq+G`&aeD2W!jda^#cUkklCE=FDyJ{zkF z8|P`0ogzY*bt`?ORtEQwj@Ro(vz;5wo0WIy>b6RFhlJ$9mt~QL4&MB}mo#}EbUn z7^P9-rwT4=SUl#P4U!Et@trc0>D2c~X}XRw`V=>$d7Y^9W#NyXUlGL}y;n|9sT%WbqQA_F^*X|% zCOOx6NFu`j4klogc>^zpzQ2fopn}qXrHeC3;$#=Xb5zIq+H_2Q1*~mz^(em_5F#uW z(3z|E`ZfI)>{Lb`l^GxBe`%Aem^~*QzW74)O(f>MRPOnsftf_2_sF8;fozN@^N}S~ zA<&6kd9+BXdRMf0(-&pwx(r=BIq=rnqKBVsJ0q1Gkl=!1k9cf@s56 z4w57ciNPy=ZDy>PN%$QE8hnJ?6B5L|+A8xL{F3RC9CDQN&$JXOcKCWZ(InHGg87sU z4xHRLDX59S|YA&e>}FidPq3V94o708#Shw(x-}iY{H^6GFUK zecM{xmv!C2D4ZI*HMc?{ZJ<1oBLa^m3UTk41#;W!~6V77^70t_ZBJfFv=F$SNWe z+`PBx!}HxFKUtJuj}VJQjKFo)Goqw22&pZngL_wPS){7k#ZJ7p;6Lmeywc~pd$U1@ zRZ=W!D^=$?Po*l;t&O8G>?A!%8R3(ffbLc28R9RH_ovMP;}L|@^zm*TB^E|m7h_RN zjvD^33Lp2T&8>I&(jACns?5=n*ZXp{%!=Y4Gcb^$8}%@?r=tJdZQqBa37|+5dC$&J z9Y4dXQTqFfeSfEKIio=&p~ki{?_N=q{dC3LTNuAJ-yV;e+xSkr-cz)ZWyx!o6P-2s zXAV9Cq7xtF+=r3EaMv$nTyIH`FN#dL!BC@7;BZnw|o=@+0TC|zQkQ7rVCBD=Of^TQ|ed$;-{bQwc{Dv&O}eC zv4}cl!&a?nSOfOD9#;f)0CTQ%-c)}!_8AoMzCiOSh@01(ukNV*O!WGuR$~%06BLCT zp`@6`qr)X}dUR{%hlfSAqLav!(OgwE1p#njb@22D`fn8I|NgkYS;vcC;MVAQDWoV=UQFY9{7A z@N3(pp9LMzhZ%+%Sd+8_rr1fUmk_yBR!!N-!k!P;odZ5x?KCdjLNtq*ydcv$PL;@{ zd88LM5d(^`Dl~DdktMGuH-53nEPOLv+IetosTiz9#&NpnEdX_``S7Qoab2+^<vo=$x_EZ~cHi<=nbzi=7pRri|8-GW!g=w6!kgU#;uo7Tjz!a%W z!``O2B5N*=CAC`9@-bL>=89Z5M{Rf2BbZ0Oqhwtd;KuqLTStdLNfoLRs6=um4PG9h zyZggWhEQ_OB@RFjJYan@G1#5h5_u7Bs5Jvk$8IG(3x2q59A+}DPMxAKZ)P8I@ns#l zI`d`Yt9@0#YG%^7YT(ifRA%}_LmOY zLyt7V5$YGarw?#LVk%{TZet@9@SA$IUu1$Ecu zrBuuj3+ay24POKNpaRxcq+YE@~PEbxXXA2ScYpvePNQ;6`t zN)ibc+VqvbNEdQsFg@pSW~FE}5r2|4YL3S}>lai$e-qz}Xlgot)GTaVY$Jym!xfq$ zKo#nazs}s4Kl?<7a7SQEDYb;X=#z1zVR}eVUzpM{hbCz4%xbHEic6bJR*f zaKQKQPJH#6&*-#L&jfYO+w8K+RG}amFldS(f%@e7FKuGQ5L0zV$^&tou92(x$~N=E zidhrmK5svy?k~aKxURBh8y|LT%KSKv$Z@>KFX^FJv28%2%>qj~36>CEBl2Od+!#E~hhS_LX;H`@z6@ZN=D zwnQT>u**oV+#f|FI`~wqb$QuuXv7M|_lns-h$+1j!v=@qzV&PqEuGdv-Pz|Mdb%X3 zb8r)A+TsBNKZ&_fed^i?&wd;DnqnLgxk1wLi?}OgB2Z&(LxLZ3<#2}K$1VddC_l0m zII9FSq5r#n-Thm8k$I%ANQ!q)x7t22o&xrkdhpoEaj+!pGlUV4Q}n9;yM!n!Z#W?v2h>olFp zCE#;IK)V|gsqg`PWXS2J5rDpGR&i$j5F%EEIw!kxSr0$pt}q8z;nN2Y2zjGyFGT^~5(fI++V|dEn&|WZTcq$h6lMtHH%A6-i2hy+t~1?xCBQm52fZdzM8wcTtZ<*FJ1Lg| zLfmxP=BTP0_HATeuRDDL|G(DX1+(dJy}*-^RH)w!#Ixzb;2%uwm0j8PFTCqaR|mrI z&LNY={n;wH&+7%|A@-A96}L@p+wpGJW0YFqyAJ0}+e9ogpC3On6PivBSh5g$0_I%^ z$A}2|FLySb^`bz}l)<9xQCEdNeCjp=v#v4rWU%VRXgy@V3?{W|%AM$nLVgTmJgcQC?gd5vmuzXXb2To}zM)C>$>Si568dgm8YA(YC2oxzLwY$+2B3V2!}QX) zLcx~2D6r~o3$CI&^q8A5aAsnPelg3tW1-fTS>oc6fRUmt?p-gnj0jVHZ3yLL1_Z!Y zth5xosX%U$dt-%Uy6>)B@;`DwZH3OQgj2M$Fvj^5Qrg`SQwyn7=sn!qUL2*5F$d3f4UD!h#5y^*pNpa04>x_FmSpdE#;_XYu5 zltvb(L1XM3FBLkyR~dkn|MJQyf=$UamU@hrqI2Xw*SABq@# z|2V8=dM@)(`+MM$QnDOtiGl4U5Vka#oSHKk^DD0AcUpX#h&C*E3!Lu=9Q$Sz;hs~? zl$f(m8Y{WP=P+@aVjQHa1!2C=l9+X2j?JK!u&8Wxj0W-Tq*BlL;vli@WH|5gt@kZY zAMyHjf5*wg;FB}&mXouzo0Yi9a{v_^ov$y2v3(R%s2bPey^m-Wo8}8@I=Bcw5XRqA z{&`+zojQJKR(Y^Z5{->M7eo9gQ^u$2h@S*jW!@*Yt9vc!fBS(4F)UXO$r|D71zr}L zTN6RHBKXp)2|LkZ#^KJY*wol&R5b1NXx|zhnNxU$RzAoe4zEsEe zvT|IiPU^@;#*_vkY)GI;#h{d75YYPdtNZ$WW$u8L9IdFl-+^kH)Mp`6hMg18vOU!e z?AX*pl{d2I_lT8t#ToF1pVj+bJ(GKOdj#S81EDaMLb6X?%q$T}sPEn$MFV)#V~80u z&8`G9^R=pAg)7RzlECE$b*=^JII`e@(a3=~Xx zDNI7m$Dvm}d$8Pc;Lx?O7qLDH5j}z&UQ5L6K{{HY;XeVFF@R-j9eP}UbcC9Lz)$y_ z|8o@}l{o22LD=d&j?dJ-eDEp* zJBOYd-!79x)Q@0&H5rmep(8{1zrCYrCDDH;3uTQYs&&Q1+JE=#j$tvc$K4APAL_RN*N9R1l3QypOkiEbQK_qR5vxwl7Oc5Y2P;dJ-6B>}CpLrk(a!l#HYfO2dlWK)hWiwdaMYs0}i*WAy%hdmFfw2jF z^qP}H=6xGgVQHzY<|+f8JG_{KF6J7w{;aa2!Wyl8-?ye*^!0Zn!1|?Cmp?7`=z1LiBPvx$ z6R;MH??F&>-6|Njn6OCu_o-)0K32xP>O-`4YDM1b+EZxE))gP8{}7-zE0 z6=GORkjZPo;b?f$2XkjJ1~@U}_A_PgkGrlL)?(XM6LPj*FvsFIPLd&S5a%TE)sHeNGf>re20*WgW;!hVq4FNK2d=52Z9M5MSk_ao2 z=)Y=av430yP$XIBS6iZ3#kR-d^px@o=*`or)_;8VD)R;|s0v1@?5 zUUQ)?1`d_g`wL22-_3!gbD4|>GS{x<;Kv zhsoF+R5|$tfQ7;_b$*XUbL0R&A#eGqK%oxv%mu6l(DD2eL)|V`I)Yo`iQJK%?8#JT zG2%de8+eW*9`61vrSIHsI|Ucppm!kNcQNDkuT20a&?{u_&#%1D!&xOejhcAuQ|=OJ zbtu?9?(oGi?q$jOst5JEDJP=l_bV}7c@QJcE^^#c1bjzs7U@DxO5arSI1Fb`U@2Xk zS_>NtSHNz9el8|Ru|_V3PZ0=5BaC`@{1$8HQ+S`vE;8`X-fEW)pS@=kDa|e z6E)@(Z(iYt0>;H=t_I&=|ob+(jUvrozpL8Atw(_yd;`C zy3oz`)WuD-83fm}=+s`B;-1ltw#5@Kvr^d9(!1SQ9;oUMc=yI<*8`c7Zqr_> z;^8r9cvz&w?zu3KDdw%;W_TK9jhK|K zUck=db~0O!K|%>w>JU-%;!pu-eCyB~u7&}#Q9Oa(yP>7G%fpaS#L}PubOC2BU`CEA z^5C#o7kgVb;Y5!eEQ)Q*ms@WYllL`#^*Uc&1K3-be!p|oUSva}s070@Ypm7gmaZ3W z#vaol;P*N+6fsn~Z^`#w;0mmVJ}{~sR(bq5^r!o-&s4wSvtNIz z2+uuk$lFl2_@Ff^OrtY6UdzCMg2@zOvo!C{?{i-K@v=*T$H8m4rP6dVF;O~+uBM~! z>BK#!MgvkS)$nLSc}D0@Zg$G^2N~3FCz#}J394;=$+j4ZxndSBUjD#w$L)H@vhIcc zs%S0LaUy>pONFI_pd)PiT5#}9emaYO7xu-8M5L9un^5-{xobLw@F#E6v9KpHucL~{ z2{g4ohjye?R-ed9o(@^i7e9Mle9s+w3LwazpYCku|4m$iF89ukpzS7|JnJRgYgau# z=fQ?8RJM=&1eS*u$7o?F|F=Ql&1o#aBXf*1HPv4A^nc_KA6H?0Vq^zI|A3Aq! zJ!F+vR2~aCFKzx2tipPu{%dIac-2`tw5e>4%OBmgH^$IN6IozTs>3QM_X`K!%M1O{ zJpw#O3OgD8{AWT3!iyT%`Gmd1=zL4)73nPL7*X`f*ApB<*@7Wy**CuD#lH%l(Ih1B zd8!6pSy9ghfD)<>?(kY?;KT7j-}B@N0popyI-)qh@njt*L^1Yvx3ktggoEf}-`_x$ zW~Ck#5Zr8{1q@WIhOb}rMn!3VsXMWoDh~9{<7TPB7fFe|!rEx1ns8zJ@0Dd9@*UqRA`(ETlQp6 z89`M6+l6UG#jjTsiJbSfs_jh_1aeUi2XE6!_h3C^bW3~IXe}w@lphK4eq>)#j@^dh zx4lx{7vS`_0CKyct5e--to!=d&J7>BNYGP;x^f9^;UO-J-z9H=Xl&bEs{R@A(25hR zdl{-_hN`-Fb@)G!5D42k<#*?2ICh$>?~(^#kp+Y+nG(gY`f7Y zsD0~zko3LmPOv)hmnwi3ZC&$S%H>>|^)n-O=Drt|h5FcOVe~-`{um7M+~FlfP*ZF< zJD#wfI~0v(uFzg;j^i;wQFVs%a*jL7_lKlAsg*d2(O~!9Nlu3mu`29Dnvn0C{mOc6 z7MN~a55=Yd?RL}lz0>p6PKHDRIDTFCcg4s`h+)&ajR!D%Paus<(R^WY2O)mvzkI!k z9nc)y$;0W*cFu)2%%ss%_(W>E!estg?)kIr+c*u;pw>P@VaQ75a$;}pjLF?ezcE!V z*zEeMGy)e6u&aP@E0(*o z2ULo#a4!1&NLBtDyQIQHI^52`ITJl;b;X6Q1n2K#C5CF3xD zrDOsrhoJQFENThirKF;)Uvk4WL)`39N#lXE!6|Wxww^w*dk4|_hSaVZd481mGUw3@ z55gSR3i+)m@KvS1O&=@{t51Y)oi$lH&#u^XQmu5n{Uh1!X7vDNdI8;k6yPiT%sC-* zme>-h`~23UT*jce!t%m5b79F#$Ed2Ng$SY2O24K&VR6FG(#p*3BSOEk?my<~$;5v>WMJ*5kEB+%mAV;(V{fY7(Y}+mXA`5znyYWWoFlo}hC}z&B%h#je!h2* z)q)%a+2%VxRvm(NZKx)M&{dMT+~x^Jl~8cpnnWAQ@9_h*h`Aiq2#IIzR3LCu!uOQ4 ziy0a=K>rT-$Sqq&e_UH4^PrLH!OHCg(KOEjU<*yz{eu?@3i@;pkz-H^`z%_~S2W?S zmx`%9%lT2YPk$S{lzsb0@;}n|Pjb?DH6mOS!+O1ulm*7H0HaM&a!O9$E5uXKsy4W< zM)ysfUB;W93x!e!jiOhyP2YD7<#XbUE|;M|s}5(l)z{~k*hF5B$nYXa`G_8SbfQwj zRvx&B599=Y1_3zeo&t*m=HXn;n|h~((mjRaC7J9N*$2FPd z*ZQ&Z>H-s%=~^=n9r*_ZsxNZHD_0Kjydg<*W5U3S;JFGiy1~J zg#98E_QRkh4~Kdz^LqsK7W(2)yEHJH3VdfZ67OLbQqtPah{UBs>k@9o0NP4VyXynewpr0_9o%)Uq0sfKTXA zP@j?f?}z@6>A=7J5mw?Ez(v9usQd8$GDTC8o<}q&ME^AunPKj zw*Skl!KHu+{KlktSAD1dOpX8b%K}w`q%}hHC?wkd%8Wa^x;8fk5Py47p*? zhx7PciCE_9Aq{`Cc`Q)dXRKmk^Xm6~lpc@_fYLdOp=7maI>}O(zrzbqqKlz`F)D-a z|6_;nUxpa@4=@p=Rx<`}Q3RCys-Y|Ps#S!xkKK)4|3GMl5m7&Z zAur#x?1JrA4Uo#uUbi>(zMnsvJym|A$*nq|3)_3AAm9|lDXt~rgaTY^UKfLzD}N5= zY7}%8dE9C=GClu{o5l;;v!w}a3s8!>Zdg7Gv?>Azp(ONUG%zJ=boRgIF<4+w5+Y`P zynBO9K*4}@e*;IBNNJ1k(d@Hg>qAJTF`H@zhdCqbmIr40b1FeQ7Lb>g7=(pSX^qBL zRh!P9`L?9CE0)UVD$~;f6av{Q3)VQyRZo<-v2z-iOR%id5P(`^j=h-*;rx+u!)6KH zUkM_ZM*FwlrhXU_i~LA1YW3|~Qryz(i>575N?>CXqJ1R+Mwtw#?hHoC*KLInQh()B zS`%W@4ta1!kl-Tfdj9FT{q+7|S!(hvfR45R-J1fnl=zQifRR5_)Mvm+USEMyO(EVI z$^JDAlp}4ndcu3ELz<{M2Te^4-e6P1d;b5OsNkiCgbV!yw+57XDUH!d z=FgeOP!8~>Yh?K8?LSifBqQj?nm>Gd1=aP~pLL>7$`ExM1nm^4s*AC_QDF0)w(}N*Yq6&t=Mq(kno{>wU+cn;}IShn>%Q4H6HReuBQ)cgE_O z7u_;B)Gj5)u&lCoS6|Nm{F1bIt7uTovnieZ7spJ)4Y~w4|4J3nj--3Jh}NjDD$1hxN3(EehR z3OF2W_@+a{Vd)P%uc^CM_0F&daFco)Nt%664BEHwQc#FJ9!epLPkv_y4O!wP?tk^x zX%e>a79+{JsAki=NH4dLaRCmwor!`1P;RKz;`JU3UW3&-E$NTS{Lqo3L0>YxDtBu2 zIUVvLv0C!&Ucz0CBn_Yxuu|0~{luul{-;<}dOQI1N|*0^e{;I2p_IuCPMx#vq9sTv zp1lU<1QYr`>}(v$c~NK9b3aYM*Q5H@nRh+=tgCLuXb%fxrW*7uqW*R$qiFlYbPFp6 z^}qMl7k>%J#ZqT0!Nh|@6)h|?hUsvJ=Zp12G?ZxM!PwP%$8pU3?>jMXOu)60^fF9= zQE>dbXZG8qSKa7Ot$tJe$OsINkfRDGqE7^2d&-^MDYhKD-=(bnx0lJ5p zFh1bKTfQDF0sUaA(S&B7cQdvV+DVdFak82|PB{hOdZC{mZAcbB)n?iTbB=Ue_kjw0 zgI|J$$SP0xOQ44an9^1^yhOb#(PH%mqs&xM1~ZAg&EJ|69vl7Z5dY_sHSXhjJ+J~r zwQ->F9+;vr)_-X{)1M7156ai2D|uUxZ1AQmpEDzOs1mIjGMXW3&eDZVOvM6PK?~3k z-pORfc@$k9T^kDhFuLC?n3gY_^i^v=>^>3R_UEw=uR7|7Q_f(q4a)(0)y}0EpSzI< zx2v-6`>U+=XB*N6`C_zY%#i29YP6;a+P)Bm|n6xd7_Mp7y-H?9-d^?kr&775kEh)UJq z(5ucb;Tcl2CIhbq3^_*HSgtW^6CqzZZOs~>TUd<}V zezO~|l!+HcI9!1N5tj2u=R4Zfpc1Cq9rQj{-mL;Ef8e(LFm?q+cV3B{@8m(ZV#b+` zW^AxzccnmDZ;#RjWJX>OJr%v!_5$4}D?okQR0VVV`Of4Jt)~vZWA#nL$eQ?LEnh^_ zdt6W`UzC*Lwg4S?E9l27f>)u@2W!q47=Y74bP$8doKJgH$P}PIv3HTzydVDH-X6U= zhmRaOod2`&`Clc$1P3VZqZFQ@&DvpjS#6vs2p>*%q@EclSubK$Dfc_oiRo}vH>9u; zB9J$59957X1XG+W+j9b|H?O#5lX_)>u@!sWa4g~3)Rs%1U%Ha*ei1z-i=|T2?`Nj< zk(-Z{Po<#Q;^IG*(D7(XnK7c?@=Vy3@byO3W17yEzQnIF4X7Q+lNWm?DheT7`#~A? zJG?;7KMox*S@$Bi9KXFhV1HNdfS1ZO@D)sT8+4=-B~ zp&%1yAYZBS3}nn7Aj&|9;W=*Y=PX3T4QO|7*xuwFJsd5kW$Uwi>k6YVgW8LjK+Q&wT0IEnwb)3++_Jge z(R%iOTJ19T4GSDj06MYoqe?5BX|9em&aCxW?(eK7dBkzhn(wK%EK~3qfOWlnwZlw# zCRp<DPKB*T8O|%mW_!?RzH_s*!%ne9=^JBjxbas4Q#*;f?0%rV^0&{ z)zyFoYZ^Cdzh)nDkcsLFq+cNP=v?ioWR$a9$X-AcKG=QfvvaV}P{9}g0+xs!O;22% zMx~Wo{M;#E^Nmp))$i{^pO2s)9edxbv8v04+f@@RH)v_{kbw82a5-CNF+(7TJIcR8d~gllt>fEx+& zq;DGYu7W%GUu4_=6rK$355NueFoaC&hxm}ni;V!=xjRYk8t9uesYAJe?576&f!*FG zKVmiy#fZ%@Ncz4Swz&M7{Z1v}#XEI8tyE>!Q}A+K-&K1q-t|pu-{ulytL0j=^MK%7 z*XI2GgNYoqH?}B*bj9;gIUie4s!1R!y;C$r07k_Krc)*d)-Se!QmcU;#$VFaoKzd* zf1^qlrXA&fez!|1b(Kq_j?C9^_KIC>nSM7?f07M1D*W zby!>uajdIoLx~y9HJWCNysw_yKvtgOFt65wbP&;i{l-KNOmTsz8vuguJ$npyW3!dFn3=v0sf5$56IKc=SX+zb)*i&+za`Ub-wEP7jMNnZn z2ztg^blnolEAN3$V{xFx%vTX+h3Mx(O@0poeLH;b2nHZt-qfVSvU zbUHl46{v+WbaDyy(c{zXA|6&u$QYRbjwc)1y;hV9(cQk~i%s`*Q{$wfBMR->(xg5b zr)IQgOjT(sR7}ay0*BrI!=l?#SFht_L8Z@Nopr-No}+Q%o^v@{Fla>r@rTLsTM(qI&ECO1&KxH$kfN??D5k9E&kPz( z6mx}_y}I&Oo8s=XFCIry3SisC7R31yD1OBPBk0aQPH?ro%)iezzz_yM!w47_!ib?5M66E+ceGJM&e`tt#!#et2_~q#?yT4( z>{jP!Jj(`d{3wIP-adL8Z?$i}DbtHNn4Q1;5e*~uB?U{>@&yx?+x95ow^KFF*WVg7 z{yYP9A3g;8m=&ojWU8nzeQBv^yC)TEIKW!s4SisW%sl>waB+rQVH#2&f^`#em)>E@ ztlLRk@qxFO+5Wy)A2aM9s1Nd#10ga&4&P6(_v+WT*%;Ym<4@L0-XkXsqc^g&e>#H~ znNM_Vc?vO~*$1xMF^Cl_q++#RBD0~Z-gC9@6W+YeorXm7-l2ueJvFjD!@;X*I$QaK z21z4!qM^oZWkOtHQmZ2A4+!tLIy8hmkN8uAJ}g7e;w;fSaV zUVE~4v<)^6!(?JZ^k@Q18G3vM#_SQpaKXcb1E^!lWx&=^BkJiNSRV4qIM$JC5=bB}t91Y8q_lkqQXk4*NBOd>XZ@}|oPlk6=`?m5M1nO#*XCj<1*bMk4cQPaTZO98 z(@+(S+g?z?L5PToCM ziM3v)B{tRltV!sc4je_dIkWSkViHrlrz)a;*Ol8p zkHD*#T9p1C53DSPowLU}ZL3yYitoisFo|-5>=UymhjClWB7stln}&PAZVIdKzCfM* zOtO)rZ(6px)FU`ai=3BgHy%_MYV#ZzXTOoHHX7~|!4pBCLWJL{uQfv!;2Vd=Q}pA?a)fp?+jFe z$F=~~aBn*Ea$*Hikxz>@e!@p*Zy*16O(Fq{Xjt%u35r-a;B7QLgpTKiORqZBK8}KU z`qw9aj;Y%O-tTC#zE~{7x9lvYVFb;&6*tN|1((+#u2m(%wyl`{J`|t)@&z}BZJCFL zBa0}R190)eBa_7v(flpYB3#*x%k*(sh~8x3NIvs0X<2B#8!^4on?gednA{&%1IejB zxn5@taucHTG$4aBV*|DK43_o3{D-A?|0>3GfB1dhkgC^w?R={cogEVwxnm1uRULiN z+s|E4qjY0NSunH!QOsQv&Y6k^hAH9=E7#?chQR?#%6|3tI_^dyMo9IX zxAbMbDvOEKjm6ihb<2vTnBb3cb)~;8rZe>TsY?A(=(?N&mV;dWjGS_J&PsTRu3yDH zg+68Qo@^IPI?U$A)gvi zYJPvMMlq@GJh9yB+tBI|o%pkaIH{leU4tTftZ-Z4rN0%$ojnKeg@?jj32yBN^%WY% zH|^qj?K5~qc_%)FFg^fE7s0yiv@7Q6=A&5lwm>3^-l)7O{kNZ0Qg5~_SuMOIX9)rO zSfVn6omYBt5sW$a?(t|Uy^ztVv_Z>1p-~d>{F!+AuF?gq*ImrJ4j4L>bZ~D9o`jlo z5pXGx7eAhSALMK^Sy;CNY0h=}fB5?9sHom{Z3AiPM!LI{lI}*3PLb{sB&0i~yBkE2 zE@7l=Xp}BNx;qBudwkE^zjMC7X0g^VGkfo+?(4qdXN5V-@;ud@`{w8|kN3qMZ84$E zow4UNemMrI#j<2}v)==hTF=vsj0;SF>PD^|s*j4wTcc0)tz>g*_KuiBvu6K z*U7Bj4SU>=-1}kjM@ODsrbR`hbR?aV0e2E_&cMtgk-QN){Q1HJB^8{*NCx+u zA%E>w$dAFi>zU0xQ1>PdzF%TmX4Nx0IcHP#RY>#aq`TjrE2#`lcQjf!!t}Fml9GfU zc2H^#+QDznCUqaq9|Fc+0+iD3?pzc{3zy2IS8bl){B(1C>Wo58a6*JmmklNfanaCt>C!@@8W=7p-YW3xQ_A5J8 zRi7VTKHY;<<-;eeWo)o5KwUfHw+yJ`eV8ohv$B|Nw0AQbSgeVJMjj6v9@Glpd=tS* zTP=aNW6sC_ejtxdEBv0s+oR*c*pGkb#a~crIWnNKs|}>IBGHCuUR34M?Y_^7zw6_8 zyY`I!{X&9a#?LmH6YV|v#)Wxx#^Se+V|pjQ3PYfiwuTmEio!qgBKP#+&33c65zn7V zj{bJ&XWh@hi~BY$%8GA;kq}M%^_KG?j-92-P^z)7Iq!0S(DE!y{WOhYC+TcSHfUYr zN#P)Q3}5SGJ_EiKHd|h;-ZAWQX)SzGw$qQ9RWoQwD>pa0PY$+@6o}cC^M78iC#sUL z4zH~beSKY6lp`rBIP)aIiOUEhUU}aA9)+h0-NzTW%IXaU9?_WalH{-^lIWBmp6?Fn zmCex0rRDS1@ojvX*x-OnQ+ev3G&B>i8mw#E43aTS!NQ(;D<6ETt)YUJjr=A>#q(F# zuTzEoPHHgO$V`oo3rJN`K;yN;$^vQUa0_}d50Xw+S9%)pt$BEKa4Hp4Y7T+Yz-K6Z z0y50MJE=XW-84Wf@#P-kw=4q1Hy$i4qp+vA34OH-=ca`ov{nhq#eV07;+!U=XRM9> z%|hq{)LbQOi2TVbX0ghE#^-@v5M4TMkII|N8f06e3mD7 zr|C+4!fHmSi)p@0f z`0*R6jN~X_8^~x?>DtpC%Dp2VKsX?2j(U;FV2LDMV+DNEjE?0y>jUkXM4HTp4lUMv zFQCMyna=5=_EBo)>~X=fz@HF{j5)}D{wf*kWN>UVj3!^5AQ*uzN#=Gz8OG4Y0VdEW zzw_33*Ze%4DQV$$?y#gL=-j2oou+o}9=+4vjvcIVQv1c6p1+|wT6RWoyAPZrX1?Yh zM@p7MK9;JyxH85-;Zc~5x3-@->d5;Bo4x0=<(LL zmVqCq8oPW^n}{aImG>GmwLbnux31@*=!R?>pUc^Pb9R8svHfb7B6=L|S;v+p^Jf~n zZ036ShdOoOw41DQy|Tyr0>2qz|NA07e|^YMHdqy*nJW95W~EA?<5_HP>C~*(O!*m* z^4=Q(VHc$mJS2v%MBMG*#V0@Rq6{CSe>A@Tt;D(b1BB{)Q%F7xwlCDCJ-sG#Ia#Kl zGu)_5X#38lUI`15k;c8%3A^mz0&NjHA}fRY)9YMs8*O6iSHDrbKc;iv_DV2-j`>L$$4des8Y5M;?1Oi(g3FdSN`iw9A_bJ*ug^$?x(A92;fJw@@-rG*+%IPh*_A~Km++!{;l%f5IM+r`J}u>IsGnH`*}ah{zR zC-R_9{U%EVD?@bL;NXk<$Bt!+RT7&!HWQh7hdVCJ8^k%@EFQ}*0}vLC0zNyP!}IVS zj{4p|&uxREDzfN15WR(b!K+iKhS(+keOC5-q>%U^8rn3eG9qw$2%s&0FZg2GU0~{0 zWfdb5+5bXyLBCa&lH3Fsb&HgdwbRCsd+N}l=CGSQ6Os&GOCI5C1yxh04qR`BgOm}R zLt8g_pSEI>3M$zw7~@vz(S9=zl@E8G@}(1j^#XXo~N=zYxW9#O)ONsCZ%DZ*e!5R%!=8FA>k!25%&O(Q`p6;+|@V4?Zn zx=cEGd7FZoLrrRY0j0>G;7`Wvi%yQfrSG>c^x85|{R~MI&0v*|!V58M=;1b#`;hz% z^y|c3>}u8rvXOq@kIksNq$X#6&Jp$+_yT#aFwbirgO_vb3wq1H%S-hhgb<}a`XSOd z%&XuY(@h_Vtj0Du{g`eNu(?aDNhP*Nt=g%CqEmT^>}BuoqZ?X>*1VT$G!@qbPPfKs zO0q0J%oTy=&ctJzR4C-MHoGlcy+k^>AD9OXwVc}?8=#Whg>8<69KrZMcu)uHhF>Sf zWpSHFO8FDPe1<4aF7zD-jprNDB1(`bKD;_Wy6+KJsJRd2>}pfQXEh0}3``j_fmk1F zCfXey*{Bf;W=g^g{3 zT>EU+wcndEwVZq(Bmd`ev~e8028Z9T2!{3kc$$Otr|B~4F(WEFz+zgJnzz2snDO+Z zw)E?juziRUvsou=Kfp_Qh37z=@J|CT;FKD4(r-JT>*`4Afm?!C{}Qhgw)jYj>G39t zap#%u*)r-Dq;w=J0cDM$dzWGl$kCxmSpqYD%d+s0$9PZwwFv*c&X1$V4wp@S-fHv3TXw8E@x+i&nM#62RAeN#+hF#~Ms#v+1m;Zh-`&-K)}2Ui6gpH+e|i1wy0^R& z7%mQiuDZ2dx2_noRwX0I0Qd%o1Dyt_v?jbLGV>9xF0{cqvI=8n{b}MqCA{K7KVy;$ zS$zxA3b5z!QeoBk>c1Csd``foM}i`*FG5bnkxU82;l3GFrbgYW0--V+FUTc6M?Ef? z{bb2e?x846^Wp`;dPV8u)urRLzBajhfV}$-Q}`LoH8_UZm2sm}4MY*rlFcP>GhnTcogs$M{N&UMYg23zf7&vyDmJV zao)gv)`@h7#G7GN$W|WwN!3OEezr`F#`DXNE4|+wa#7?7Pz5Us)=^A1Ih#suol2y# z8=9SN3>$d{>-kj}sN_7?t=WXKlm2w%toY3fZ#`&1GXo^d3O9|?WngAg_3gR~C${{> zy+pd-FHQPxv;iup1VAvUCk398JvR%W$yi?TNoP*+>*9(r^qY~96%W^&&jbwck~jA% zsZ`m}pwH43J*}IER6${Kx+BXBD!}SiWaot+Py04xG#~y8Msrrk(SA1R$J7>s1gMB5 z`G0~f{)Nx~Y5z?nvLBf?o!FH(qdp;Z4^uxMTYNYbU`u0vDT-Y^ied2*xvk z;IM;Gl|b!L^n{nH4tUu0;Sr(3_0zw>I62l|f61bq5)gzKcoi83{Dg_*tAPP9sxT|J z!GnN{6PBv}9i7671F0sIT@ZCIH^|vcNMgeBel3ksa5-$sYRfIo5pd>C#$E!pl>dS1sB_SeA!Xak3{i}!*x@=XA&hJ^gfz5 zbG)NVCqO!t_}%kD*y-i+3HIKE{d~hy(!&9I_>jq&AHPuWgq#N`{Q|+*J#n2}dNPr% zQMxe#TaQSj9OE{5_HxNy9_O9M2C=}qEi8&l)D%vd1N%ApMeAVgw*yz=E^B0QABq)| zFY4eOL1EE`5O7y0rAzNpIgHsKBX(;OTcqSqGmeeV7pkKB(o@{zk~SYjQ>c=z!;W7wcVk<007Je$h~q5N?8UDr!|~KD(-{<@ zgt50<(^XY~zn*wXbKz(XU9MA3e@H7JnzA=nuRn7s*IRSP@#YTgxnC_DM+6Dyu?){4YLl|Jf{bhVH{uy5>$-IH&HfM2ayUco(jNf)T5Q&%0 zXhyTcG=7kq7TUssk2e&(^IFE2G;1xCe;@Z{MkUHvNV>cdv^~5Rj{AONAd+)Yor7ko*EXU;l{Wg`SAbMP{;un)by?;P1bd#9-5_>)*S=(HKCFQsFh} zg@MK{!S+-+Ptoibz6CrUvpe9$f-&+y=DNPB*8>>#rruCOf8ISxhCYyiGo6cb7wAtP z93zYFzVo+ser>z!c*FzARxWG1?m(jOz_p;-82zvq(9Ho?D@e$<8ZY1`W^RVUUCPb4 zmy0UuG|OIz0~b5wU*&j%x#UdUM4kJs=0oOtP1Texs@$_49SU;CGA?#2J&K&fgj+KO zU@26Gi2GPBaaqTmUzIXF1{@!Z2Pjbh^E&H|no zb0Bnx8jWO$*i)Pf3I?y4y<3vKMYgl|dw#aQ3Lf_s5=(c4wmIoNMEdIpw}*SP zPS3c|C^D#rU;Hl_i`KXS{=vjiiU4YBJ&ez&w;4DuR_Ii;5S)EXGrhdJdj)!Qfz&Nl zwZB0R?8!sT`M9UF!B&mCw}+6_o+v^Fxu)VL{WTT?AUA}NI~ZmEht7G{n;{wNHjuW^ z58e=ClO<{`w>*z408G+}PW|x;*QCu#-z{fIRlGf)^Rkoei8ymz|e(W8I3P z$W$2L&S{)#A0&Mv*tt?XfF&llH6=`_TuUP^^4>T!N({X!d_fHj}!xB9Xd$g>SHC}AOWD4$%9>Q^3ELU zGnbpFvd2gi_xvw;?0+upUq9vV$vJ=Re}FR+7V0BlnHQMT`xlnmztJC?b^vR2ufkUS zbKL)jJ}AZr_@M--UL@LoSz=*z zRmY$ZW{!`K#~~+RPj?noOo8Iiuex09=?XaSRKi-{iwdDJTf3jTQGJg8zpqN0@R2+{ z6wpPB?6!ZY-`xC40OezZ5Ft}o?6deFB+Q}m*QK*!QZ6$j43jt5!l?RHE|dUbIisz6#LSAY$$p?V-RE*ntd z0c1^Rr7n+Rtlcc#qn(WS&5^Zq9+&kk`D@!v2LYr&<)Huj0>Cql)54bHHqol_pkmT2 zC|ieI=*cCTb2bct*c4V-v9#JG=Y-SsxY2& zD4nO&Y%ocl-Kgn7Aw1q?XWe?%@2Cv+Sl@zn{D0#Y{@bXv#txvxw%G2JLN!QL1=M;< zVC@{%w5-_(T?vhf?cAbc7kzOxf(R?%zUJ z)R*T@jQtR$CWU11f6og0O@ggFk1F~i1(Hk8orHdC{@9M%O)V2a13wbN|r>9?+#=3gpBw2d>0FE*CEKW15lQ-%v28Nwg)Eeef3F7PML zSyMf5JK*`^deC)fU;u~b`t5T_ZQeULm1ID@_^`QXp>O2_7mG8L*^A zFncA{Yw(@l8!m3a z4erp7I{R*-|ePpZ1_RDj2KNG_877i!t+NY4`cknpGRM@`r|lV zsg2ivr&G`=-bnP<&O0B6w|hp#-mR_t+LP&olBuw>%N2R;Y1yH_T{AUNmQ$jFCN#IL z-l|j(5=dvofALSI&jh4AsdJnAt00k4l`Q^%Ox9C}f^(De%bfFfds8TmA;FA#O59OL z!_?jBV;1E|g>mPkKTX$>y(fA-atJ?4q_OFp74Kx&S-56!g3th_POr;$hI>*zhi*V< zwnK8>pR4DxKu6(8sF#SQLs=cje=Tap`5MW2_vdFK&Nu#xw|Jylc47Ic@8o5zwyh16sNIwZ9WX$dttvXh;}q!CBdAzJcxHaQ-8?us0FbmMQZi zi8P<%-_+94?%N6>v+-Fk2B64Re()Wlm+sFW%Qu-^?9FO4$Je>WkvzA`OR{`R4jW{t z;_r`dbPQ25A$ayI7^sPDz^;K=e~|sx(fj9O)~O%qQbUV;t3Ie~!Ca{L6Cb!fcU6=bR8peWElDz$f7{fbgkY&KY>=JsYHSE!I?C&NX*lV@l6>d3?En#E9ra)V z|FlV#BcijC4d251a$i#QW@1p~|e?b98lP+%%n;j#;D3pCQNN z5ud|?lhpxZMVsCW+ZtVhXF~6=#>dCEGp+y&H{ZjVBBMoSZ7g4s8Cepzl&l^eR^e&7 z0LJI!_LB2Es`GGBPHPB)1-~zhAG8&FYogYMG!m7HIbUYfqVmYvm%qvvqF1`Yd$M)q zJ$quFCg@gCXt!eoYRBVo*{*Qsz?0v}CcR-td4Sf)sQ=|zq_CP26FW_n?1beq@e6j{ za-)8EE_oK|TtA5iMomr+LD+FUsjI85&rPs6?EC(Le4-LFloq)!C>oNK{xNc5Fqx$g z&^@AEym3KU{vGT)JZF52f3SD-FGg*lr<UE6WAGD~~ygWR_@cil0908=k z58%e;ZTC%(C>8Jl^Y>7y_Gt9IV)tTY(cZ7zWI-1}Re_OIa0)Nu67e{qWQ$-c(;5G` z{8stqsHJ!#Hm$~zP8ivjd!t4xoMI5Lak$ck>~Ct$#0_JM%S6rhvEUvkD3|w9eL*Y6 z;SbF#G|CHhRId%GMd=vPo%ZKmWC?k4Pkz~)x?xyW2GVTs+Rm%`b;-C9R*~fJqC(q} zlodu+t-YFP9dsu7zf69|D6tfjTGZdDg}QEp2vc#$=_CBUyu|vL%M#9`X3xuX<4Q7_ zNJ+6Xnw$BlI(C8=84|F4UOudvIt~8Vh^vy@6j4k{ef)y}1&h*Xn7oaa-jB*L^v!a> z-PY_{2cE^j!GTBEhW}^%`aquQR~U;$pBByxTU>~9RWpJC&@*hZ8HPa|nQG*PlG$L_ z`!!#3|D-?E<@X@|f|wqb%xNnKh$|hUxeT;UXmq_)sf2Bio?#xUChCnQ2~~lNYqcg%xOV6i3CVTBF3fCo>1}69s}5;Fc<+>F038$+N>93sf`RMWYNItzY?k zfj!&rG11!aionG&sxG28)Uo^s#63b&rhr+=`DR7zO7!yCYX=Je6~bd4fjp1`zi*=B+mcxbD?;Hb=6@Tik4=n~L#AaH&2a z);Pv0IqSQ$qeZm1pObhb?p5eF#_m86&^%L@yMTb^Rk~R?Emy?;eCbEYlUMzb@0UE0 z>?P-zah=X3c0Tgs@S_1K4){L%_Ur?p)~iyMJu2ff7R4>C8F_nYQ*(olRs2tmh!fa?zy3isXE5%^9tpx+Zq ze_8`WoiibxMKw<9eNs)3pE6DmV3aFbbL(=S-u%H&&!KABy=_@(@OHWnTvkVv(gc~i zqP{SMX~=P!fNP5$Tq@?n&J_irEHBq+Z^R_4ZhW%6_FA-;uVD7p;bP0hBNIh2jO%63D)E{{FA^otF^`zFN^ zAVP~~H^3fXiX2gqO7fyJWjM1*m)s&O4$Fc?E*Rw_{?GXwPFxBt@#h2cif-X$Y$LgZ zniJ$Qv~IF(H|Hz*3)#Mvm{$*IsNKZ^UGs6RoWv8+isBq*Rh%Eh zpj46w!#EVs*a0T{MDQO?@tyFi@iqQ;>zoR&W*H(y)$RvUX^M8iTDG6z@bbQ903d>m zByj)Ghm3ca#M9Az#;AKsZ7=oeJhJUodT%KBR){vM%A$7E$Tl`NOTRv4z-B>ZbhVkS zp=)v5m!TWev|FkPDVj6+c5R^#WcXT4yBN=ezBlZ3kUD+~K>f|~hHst@Ah`PV$tRWUDYJq`<=)mXjSRi-&RoT)I>oH^D&QQtgIL_UO2`E(eC*G zBV9gfN5+%+n38_Cohb{f6u+{2jx^ESahuJTc7O2X2xDOp#SNj>%Ae^#UsZ8g{EXO- zs$ILPp-&aL7HHnM6>CVkn3F4xnsk|#z;zD^96e%%t@XRzz;V@I!}v2^yKh3uhB}*g zE3CRJigCuhNA;u4{u6}&q`FzcFotVCL?`sIFHI${z+1!XB-7}Nv ze8*xyfJFUx45E+u+!_dHI=v|G_n5m4+5+9?3y%*&w8?d!JuQV7l<-2&pW&0toI9o17B_`4|UZ0F?oIQ|M zA>-lEWTOO*Me-&4s@lr?deJ8W?$Mpby$&E>)p|6fEC)o?ptKW^}~ zzX%8o3r~EG?(e%$qbaii7S$nUT=c}oj#QGXf<%uGV$N|QQcd9?#F$Rt! zS;>k2&Xd{lh+V(KohC9el=nmSO*(I}T<=KOjl+8*jSIQ#e;1Nwe|=risYK1_uyBQY zORdkao%jr{6rsgpF_Lz?88gMBW>|0YgQQd?SHd#m{hY&ANL-qdE3?|Ga0$r|!s&@+ zWx;V+6spA77H@5sw6rkrEi^0<63!yq$fC3~U^6!)UhNyF&ut@LoreVnuM8%it()r{ zE+IS2CEZWPs)=6&G+Xb$erOv@!+q~G?hHlpCjBx9H?+K}B$-XE;QRR7`t`Wj*3J{grFS@qtUB9xnM)-$x@ME1dMF0 z`ud*T;cdl(5<~p!(@pJ5+MV3w)BY^8`*5bBD;sre@nK9)V9zB=|AAY)V?6h6q20&3 zicY!)7pUB#=U!gK7Y&QrqDVLdPh?h7xJUOy?gVx}QDGj(c3H0fU z+q(|7%uL8a^2t*L(rEH72UOPy1@ySNI*8arL_}#LrOP~{LWN2Xo@6>|x#Y|4Yoi*}5U!VS-s#T*Ye^6;m2){lTjTC!f z+5Z&Qmmu~m670G|! z#L53`;zhdwZfG>Lc@J_vX(8koIXJm+Jh1&`2teyLco$PHCSMbZoXSz6nPz zb<2MQ<&E&mr#pkwTI2&Iu9nLBuqWtX=4JU->D5PCIOe8Nl)E~A7cuQsTKzH>a$gZk zJ|GO%-LeGuTYBbh#mSPY{MD$3sD5e+5fLf&IFDqq7Hd6cWVq$=)Iy0%Q&S1eYK`l6 zc+mB*rCmGX-kHVN>tebX0w)a+gQ@yMG^7IsJSunNp6KEVRXHTCRNPtt*>WJ<9ejRz zwAwX@0ulJgXjj8?Pa_j829{LKRvy$Zl&+Ff3Xc)dziVX-lE@=Repzfu;GEBqNki$l zc=F>z>o(&O<%&9TZPitV^b%c#tlzi(AL993KP5KZWJjkm%UiFMXrwQRcN zC*|(Xv(y;N`MC~0g-LJgWiEGTys%A{m@vrQ_jKQcb0VU9RbY5sh=HsnF)iC-P8UMPozp4 zD+y{JHLT@5lt>64t)f#*eRK2t_5$r;O*le$5kQQ_R5cHnpc-_%qKK2C2BtS*iHrqr z6Ra}3FUQcHKTfK~>APxBlX|U$!EpK_O5JIZWhck}`m!a(^W=JcRIS(rUpgaO$SouD zP?_I#Bl;xQ;!}7H+o93b{6=HjNcl1RIyJX?JJnd@c;lKwDH);bi1ym*rC-msA74V< ze1oH+Y}&ww`2NUkl-iymJ63e)5%c2*aZZi$63Fu3ks^qgg3JAxirjp0%I?ZJ6KU7O zKg+wgA2(X}NB4v8`2Kp^@;5kZR_YnLg9k9e#8W}Hoi~e^yH;Kb z#bwIeReoghRyoww<%xgA9pd<~!Q-y1ta?cwn$l5^riN^#gTqdK_Eh>cA491bZ9Ky5 z9h8D`Wjpe%DnVeAg=!6bS48W6*=}RGMz};$4{km-X6l>fWs^kZIH}E-o+k(>$s?Dy zf*=VqG}4zgE5&C&&MDzhvP56deef1$-_PR)@icRbgmPq_1SFH^&b4&t!AZ!d=p}_m zWYH2c(_ikaMaH;2{C1w>Sm3k7+v#<-n@OY{-?7s|T_$NKzZ`#~vPhP|i?bJJ$zWe< za$ZzxKtGI_gw>ygtV^A&6s}UNrfR4&b`g@V1jGqFM#Ok!pX^Q|50&RIZjJc02 zNs5FGF+vcT$pyYoZ8fESqLSLH`h4B8G&I!mEZw`<4ajr0msdl#e&*cBwa^cY%$?Av z;8|MlPU!c;&+d*)ZYBFL+yr&H*j$=FOS_9(zdvUyp@={Xgc@p-z^T8fQ*Y~_3a025 zKx%EKJ1}XXN!InvPC2Bfx=xzG>9GmcL2>PWsmIpI5bh}+Jb=SzL!2D{5wy2wi1Y^U z2SM9*z=Qlt0zo<4?LoqhkMH7^ywS=i+ady~!`~F6$l-5GCt2K5=bbG{9Fk2u&ZmVh zG^U$36z|#L4EiXzyT7+s^0qwiet8IOzHIpoV&qbAbOrgKiuSgaMY+>CB`xq_>Ea=a z;=XE!cNgo1bACc;1&6}a?=krX6J}E@G@;_eFrTfCJES_>X=On-_Q(^0A@M@UOWDRi z3M}oN-@lbVl8ba}6=cTsrwBsyf%>EzPz&DOK&?RyrJbPq-1O!hvrz#8n{j)V#YmR* z?_T)Ls5Sa2cERP^Q%jAfWg(tKQogQ2(%-aH7gLj8C4!W zK~)EN49Hy}NBH}5)rp}WiA-GINnFi8dvhM}=?gs8@Fl0id#0D-u9~gNT^enY4B-G< zR3&6L;B3qTJ?=9Vh;JQk-%|<^1D_lg!aeijw;*_w;wib1j!%lPx4T};yK+IpJFjy_ zz(M^GtCB6KmO5hi%9zz|m)3s1CHX*FI(_%Dr)m4gr_#CQoI4u^7XrWit0^y^!?w#Z z>%@{j2KgipZX2}0cC1LuZI)LBxzF&u*=C3`#Pc=urw|eLqz(t3ISOi*1ygS8WImJK ztDA3N0K)a(7|t#|Ivj690s!X7FIa@nngUGpcJGf`4#$3>DMBRoInxq7Q9T?bS0xYJ zk11#O}B(=_Joci1oR0~^sv$edp{YZiSl$6NGkN)*?^nr3EMW?e;0>zKy zXET=c5=Q=Vqrv0VH5oF!jZ%LJVlnoR@e@r;D|q~ylM8yUHa!)a$pYl-8?On``Ks|{ zIHKvp4VikI-z72LG+ViO@6NpT;Rzp&1qHnTtTNjWQgCRhc8Qk+a9s6PUi)omI?oi3 zgGo-3g>oiuvO+TJlTPa=!)aVy2l=GaRSXoY2BL77E9)aZy*(b1U|lvWkah1^$Yt8A z^P$g?+X5>0NxMqDa_IXd(s;n*l;GLCj-WD=JH$E$@=iN8WIm%;^EA&&3Ww<;@k{Yp z_8XU_{9$=Jn0sq_ozS77s7H?;Y2=RPimC!W*sJ*)QIvCINLAtf)9<+vkG-#63ijgX z@?g(`Gi$~1oGr$2E@EfB*)a~rv1%EaOclJ&da}$cBB9P{RU!lO##iEp?uX@X(ylx6 zjU4;4ZJD7@Cvh!A13BkyCDV>O&UdE^Z!eXDbx8~o-9+I^E&PS16vPnPh@ad{WBv(ovs;D>e2^TXw3hda>#PQ^pa&OH{zPH6D5;K{qo zJaY_W?_Q4f<0@wPpRcnuW)${Vm+|!_ z$HU&0#^i=bJk>wT+k3^_6Id_cdQW{<=lj_H)?QdTB&=AlQ`qYw&)t50e0y?)3EC@$ zuXTE!aWD zR=`O@folTjaa&w|NA|FTR#pk3&e8s2V_$V=G`>xl-`MvKUetP3h7SswpEQcW$O;0w zu5Uff*UA86+y>k*wR5D4$0qKbZm2wtUq44b#kH)AHBHWPV^S|-9L_k;u7K#CTHxW} zyscJ@eJ0S~*B1s*&@Eu^0amh1Fdim=H$=gW=(~Q-IY9Op78$q}zd75s2HDQ*nLooy zR5Qg{w7=Aq9RP}L5kMWY?{9WFW=8p=4zHe?cJHvMVyfO)FRJnq5x3n-hG7)9xa~4W zw_p82%e+~;&6AEIz$2RZ=zeGsGRs;2NiqZ=Nll>+8mgt7rqWA|uS;t@Vp`nyZSsvK zcYaJ+L;1M{-hTc%b>VuJfps4nt5`mo+*xV;y2b09*==jAqeQR$Ua6*a6;i#{I{{AE z(A#fk6N*Hc&R1@`Zz&*luP)j2cbs4>opwt?ZX@6tTa!4~5(R_6CdsT>6qBiAlJdaB z!s&jkIdyYoYwPwqga*W~_eFC!q7xm7yl_~M8y1D>Qw66#5jv5`u6SHt&N!5 zcPDnVi^%5%GqRWi9NC1z?x%T@9RlU%^B5ZWJEUhvtB<{|R=5n?oF5-#m0IoQLMB%Y z=eM{nREH;Uqw*RMk!#rv1wp4fdwXQ@%?`Q*3+jQ{jXHowKoZ{bpSRUhK-8A`M0e54 z&3Y>?|JCAA;OC&H+g)faz%l4yYnTSa$R{!)W;~ainY_u2+oa(=g&ad7T9z-;aB(7# zO7s-JSRKQp)j8c@+X4W`mMjBlvi9c4mhq;FO$Rv<5prWQ<=ysEN59kIY0BS&jE$3y zAc$z=10Z!3Uwr@lD-?Zk$JZ3&9-sQzLPcRO;>WVJk;LU<|$#}E>4ULr#l|v?>WL&KJHlpJ!%&-E%-}iGmiHVPLM~b*FO8mT4fYgjFd7rI zkdi2yj9Ztz&lSO2OD9K@c(hF*pIWv2z}h|2VW~wP4r@+#FcM6ykjpgS&gXpT9qDzh z|?<3M44ew}?SkY7s@(&Ip~0$TRFTZ*h3m1r!{JA7rTx4)bRG`PmZ*3l)Dm~1;M z4X#hle&c0L3#a(P_utpSS$M2ZcRp3A=Pvm$sxEyi;|+bZ>Pr~RFaL%0ndleGk4F5r zrcHGt8V9C!ucM8-5T9-X(;PZg#<7$@r$2@y%0JA9Qi?goEsjVP=l~AGTsr|;Al#^@ zfW0peeQe>{N$Wd?utTYZ;(P}>c-oNy`!~+8LXc3H2?||Ab;gvX9$(py}C_1o=Cv1gG{}U z__NZe@Yj*G8(_Rd0JnNox|JGY0s;xZnJfYyoX+AHKxE+~{>yof#|OQZ!dItqFM2?T zU4gCvA(;4!wPAK=bRSf&Y~!17oAoVZ-fD22i2zliz2OdQu6#!l{EFxXk@ox3jQ14* z&VD-E{cBLtYJzksvqwYZD8-_^TMbO1v-9tM&zVOee?(}$jn5Fh`Ud)t`PCFLn$z%| zA468E+Gw!!=sW90!QwHP<*j=Y#@w$<@*@@vMzPu4wqr+^fvl=tze@*s?KI+^TvI%5 z-C}(Di!e+w8S|m!po{~@#1;*o0jWCDkkHVKO@{lKvb$4(s{r{?BVjz}AwP0aFD3Gv zoSi$6Pg?5RHFNJpxm3&uCE{ZG*OBdS2e|L25n=@>JfClkmPDr7UcZj?A(EiNKG3+U z*TajO&n+0SFBnsVzcEY?<;M3(tVyzwVF-+!T=ugsiQX2rK3r8y;_*|f&}c(Up*+Al z_hIkZnF&9K!)vzfbE5c+h>u-VJ- ziAbXs#c_nri-|mO;ciaTko2HDxb4rk$4H$W7$&`&E8UM@EPDjC@vf@e`m-CiDBTm^ z#Y3sk?!q4&*kgwck=>rlBZd$sG6J9{FEoav=LbB_A&7G@gY6SFdlMXTcORyn%^7b| z^_4r)G^FRVNB+dxjF(XoyP;S8%TEw5n*1&x72hLs*y3@&hLHptn#7Un-8DKa(qm#` z4g#;Wh2}-8A!B%u;v#>m8(03%!|eAOaMOp+FLSGearqYDVLIP=WB|ReR$vK#I#*L^ zP2`@aJDIT8vPu2ad?X>AfA#S+d}Yi5Q!o_DWLOpEhjy4eSWWuTHA~YCs%1Q1FLq=D^??=AET$3^L`7@D?)MS zjnPF`cSnB>mxmKKd%bu&*MqM;BbpnTTt>Ex$ z-SnH(zbwAZQk3Jtx<4y*%RkJjQ??XrKm65dHj)+!dP>SwKkcN7hrSi0aJ9l4gI#_< z&HEtziRG(GuAq!)RR-E+yMCSNvUSCgp8cR^9Bs<9=RO<`f^|u}yO0@;+Wcr#Ow4Kb z`rEX`8JRZexo2@(>PT2p1U`nh%q#7rNq$6S@8V&c#?zCOYFJx&z^1MN=LHH z{tMO-zs_}nMu>P9V)*H%&#@#wv-D?FQWB-(ncP~^jjMP2nz{gei83r- z^49Ii{enttVQ&%2^eC}yqr-eJ1%vH2<_{CxCcHyYC$VOXT5tDr?N9kC4R6$Kx;Q|E zv7_nzRP9QjIwpHLF1&a|M_P`(HpW0=y_vRfZYRmHZe46lieNFF`X|06Im4l zs96Dn@k9a5*S_;j%DjT)N}ovgeExWoTTXCH%0M z_COhB-Xw&$^#!@$J2~u)1y%PDb8TJsVYecM`d-N{4%yf}C)=lmq(|#}DU%RgQ!ERxorcca!;{L?cjO*D%8ow@Hbv^~77Bgo?2}0pD9@j~_urK* z@*`D&M<^f{%XKr4oNQ-&AhC2MK{xtCJ}VjqN?+hZhono2v9>brGxhXHjq@KZ%s&;M zFT9Wp1kof*%iAX*wagbOxw#)*KA{PEh8*-*_z&(u@Cfk1jM}rQclg0A==}>hXRa0= zgZH;%s5)W5V6xIIBZaW96yWMK$ce;du}!{B1B6Z~{-b{SGr%p813XZ8j98zS-BMKCxcJUBUm`39z0~?t z;#j6*u(~?Fv+ZRz<#Td&R8;X|=hd+~{;CMRIMM}7+A{FsHTps`cafr`b(}MYY3Nz_ z6UjR3A?!$xE!mJL{9;9Ihl!DW{q2opv;tP|&}f+qW@Mp5#y4iTL z{1?K2{Ad*U(J_ui&YLF0wrT9(X`dD^wxn33?Bc*DC$Bz}^e?#IVF*j4bZ%|QIt@ol z;rJ_Qd{WWxCTWq}Ij_xnf)hKZeUSH$?)67s?U!L3y%`5$Pizrt&~BN}LR* z1^&-Yd;P!yyJBzPPt;_>+P3v({D1FiVptyTe`dk%a_N(6kG@xOGr}zaO{SY8#w7~) zL$4w_o3|b05QIMZ;ChvOn&6eZBi`O^b06 z!&j;Gf;{hFA0DM+v2?Z%H6O*$n^6C+Lgt?}^xqaaaxeyJH`^~K#Q#5Udno=L^&u6s z@)0$~;(~<6lyq*oA3>5u4fcT$q z;-A0DL&Yj^Emj80l-kdde)6PT7=#zea!I5YXS|T>`Pb+E^&gXVf_23j>NM!9D6*TL zDU>>h=IN{sb+i80O8+10zB+b*1|2kVQ%RQ2wWPRh^Kha#F3dmR+(P{?OW1$h$SFz6 zAIPW z=yi!ixit73gHZoy<5Y1b2An^W9{piDJf|9sei;8B3xYwkSR{@`2-XS&FUeeXHPrL| zpf;a%EwlKW=jjAcSZvMJ+v4HkuKiLx`jGnt6mZX1Csmo0=j!Ub&TTSy?dMJxO}4Ws zkDgI|U%Q+{$yJ|w?n?yuWCjzFoz`lh22b#qhVs-HcGdsS(epjZUn~;a;+p4Hy&3lZ zSo_PcDBrg28#WLrrKP0=De00LLO`WMx?5Trff+zLMY=`0yJMugyFt2ph+$^l!}GlV z=XGD#^(^o6<#Ad3z!zqQ*^hnS_HA2#>xy(a{>ntv3O*@x?_~Q_MAUjQBCOt`^~K3q zfPvoQW{nonykS^t)dDmx0(}53_XiN+VzZ@3KG^JBr-bZXw70)>o6I93BMTMa(7?pO z$pLy%MT)_)0cx>53I=Qsa_aqm^F;W9?_~ml)ixMMcW$P)9WpAGmrR(^o$FIzX9JTr zi$Etua%6S1VlVIOB=!?D<(2!}(B9!TAGm6(=#sDATjz<6z;L5UuFK=*6BT9UF}3ls zO{)ObQvo4VV{@|_AaW}(X#E=Z+TrE-6-+{NnFvYSPCHfPda$|MBsZd6p!@((o@RDr z(!pIn^lrZTXW5Dq;J?T3VB=Wg93(l-uhx{>?J9+9MTjiVbFLO$ym&^%kE2Z2MBc~V zW^9z3TwY%8f4$Pm1aye0^&1@9aRdl$fp%0UzF-i1XC&CPFtD3sU38VVH6%bglz_o% zY3|Er=6Ghp8+{q)onbyxMhf6{PhIGLZ@2@9Ufei{{*7+Xneg>3B~%0g5x&xuUp!8# z;|jk}A~Ntq?wtP`0p7%UFEiS|x}}RXzhWiw3jhmb#q`eUr&~ku;V(E0A|{(uplv?8 zU7GCNT4$z}HTa7rqB_MQgk@sB2z_ow>SDP`w%UM#J4BVOr4O6k zz=c~3&_KVq>7xL4JC8ej5B#3;>{~C4?GsXwORIZ-u~Uz`(u+MiA+d4|*^ZvK5bYdAk$q8T<8eR|2r<{Im!|su!t;iUETg zaFSdkd0P?|k5@yV<-gXI$Pq@ttry+4LqVW961-48GdU~9Xsc5XZXyzD9Kx#B!ooR( z>ouF@@gpfw5uGll2*Y3)Rfe_G(8}&!E=Ki?%Xu8r(BV3LCg#5b zUkts^FGHU!wEX={t$FhVmsC8GTp+L2>v|kueQKkJ%PC_`Hi9BIw>G3Rz3(v*w>z2J zCnW+kPZCqT*!XPc1pC>OfuRCzRH+&kN>Wm44=^eicowH0M4$#lddLGU>RdYMu!3a{ z!#4S+xG!sHA71SMigr98GvJ$~%IaSy$Ii}g9~0RXwg%(#7v1fPM@Q0y^FduEi>s^D zcI>(K1h?3*_mOZZ0f&_w9?KD}LkC2U6=LDGVVRgk{U<s- ziLByRvRL5-1x!bHi7nhK+Er%KGGondB=i{>8S0fL44+Vd4v(3QZRppEukV9_P(hyi zw~$e#`fw7~yeLd;+;3H9f<)N)Y*8P|1V$E=fXU$)m=(^93vZ-?A}Z2>6u$VEBHkfq z^|QwH_xJY&I8&*I+`XiggEhrrD)*j437uN&(i5~1e03Ze8Gzw+e8aMcn_ve1Yy1xd zuUzj*-sl8WSq$f$t~GY3d(O`PFOlhA=?eP;8Ne;yFvciWG6!aGZ4il$)^-9j%=aOE5*TZf(3Sqqp zo41SeXAaBKmiz8oH*)*;niWP8CXyc!BBuAV#kz^sEgFye{maItK2HuWZ=Bp-2ScK@ zTaOC_Cm~0A85p!@AD2!tgM)>8mYIPgCh^YB@P31UFHa$09uxQ`pp3*I`v=#JB4Abz zZ{5+%w9l#3%0ek1eLpDc4k-H?GP0Hr4Y3VBR88S9H28Y6%cUPwdWOin5)B3fjJVe? zZPOwktxXOpk>sd{(A0cD zK?$*2|0T`x62E@D3FoCq(msH*V}t`uB^DBO=p}gj&UBBfRHrfQFTLJOCS~ZkMa*<6 zrg`xJD0CdOz`Lva9Qyltc%e1risd=q9k5-|pCYeAudvpq&L|2wnuzE`Y zm#J8eyf%08+3R{zo$E=V6fqwmQMAf9%D|(1p2K|6!`|WL3FPr|bdEFz`S4lEVLV`_ ztpbeAtf(={`3As2G1M=FQV`ueJ!33pa_MiK^CA%~S2Ma50#Q`&r)q69!%6+_ngoyK zpkRd2;I%qV5@54)0OhZ-BSJl*u>xiw`FD%BAEdrs9ZH)I#PeNeQn)|t8oyEMo!nE) zr>dJyK3lE%p!T&K)$D=-^YYou;FQC@e2#ef=rQ``)5;6w_5A44f=EMyDd#b-A(8D{ z%Z(ld(#2THI&F9dFneoq+56iHRt{+9M>=vhfe}JJ7e@j$roGSY+`~2P?roQwBE{~< zkT=?`UnA)#=VnTJaWmN{-WSKv%cgvg@Il-o`eP+7`)|&|D%P%}!agH2a_&|I@v)4f zeBRpLD5s4?HnoFC4@~s-4*+)l?b7;P2l%9U3EcQna|kjrM?Gt2c7JiE^Q8`~83D4~ z0VxtpmCP^hJ|d7^<5;93v4NXbML-}gIFK=ID5Tek5%p6{uk&`? z#Jbn#LVZr0n1_QbkCciNO^?n`UZc=Y8*2_mDMV&D^lH9qlxSrg*@OAkXXRV#1yD9O z7oCK4#!-QmqhNhLR0_qvYKec<+~O?sYfc>z{Z*Rc3Hs&&L&Y(dAr4L%S-yYk0!5fOYIb#**3-qTSCosZ zyiDwZdEsrRVuOiq^8e1|!s1y!qraE%GM{m;F2I;lr;zx~{q|tMga~4A`o#p>fV=ux zobQ4Y9JI*9#v6f!j%I}O>1n8fvhcD>&Z}7PO!xd*CYPy*m#~{okaxZiUMjR`8)CDMV&9_%^8P$mxG^U?C{Z~HO^6hM37K_3U#sqlSTvyCxlAO z2}A8O8*!j&EU`m|@{(S&oBkV?4Yj+^*al^+To(e1Ct+KI{Tx0*BI;V0s$S^S)@p63 zS5(ALl4B@g2Vu9P+VG7iaxxUTvdq4F_l>g~(kA#Rj>8Oi@*QXAofd7Jm=C(hoQIK9 z?>7l<{PqiK6avtW7 z>DE*`*lctf28jkF1tjTqPvb)@qu4gExs2(EEaJ6|>$GF^W!M!}N%ZtcnvJ;EJL?&w zVvLNgkM*}1D|Bp$;?zovOh`I2M7@%rll*fG79+MIwLuh2AcXGyW6LgXVmEgqe?JE- z`VRU6z<;XYX;`yg_@X6VUm5xpMZp7v%`6g)Z^nJw$3vp8w>sS79a@xwiC2q8A~JrX zf$K%6N)lNq6#c~$QxJLn9cp-XRcndJVjvFl-6#=@Rt1ec67Spd8^CHxaW%NhKH9jW z#Ny3Doev;JNY**c1|Jvmeg28he^}SU(pwI_8*s^vM6W3Na@g=iofzxA27aym@<2yA zd!=231IQdmsb+$wULf>Dq>=3{&4CEP2INOtt@4M<5XWfn9VYCtlUy|yHvEeb#0P$r z`(jvESx`?^x5oB!_AhJ<3{KH$bnwa532tIt=Qga-q>~A0-7etXRt3`FeI691d~$BZ zI6kh$I0L>}$81{yXK!To?ywTGOw>V)Ak=d#H6Hj-?^`T3q2=A|O6u`d2x@q`M|bKb zkm4+Fm}ZEvTS*z%L}M6zf_ykpLm7Oj3GDjTZOE3JKixE=Ao(u0!>N85^8$Q}GiKfm z3Q$Rz&V6Te5t59iq$HjQ;BB(jJA;eQR;iD#gK?>y=G^U&+hp98SjHM+{0=kzlATh8 zpB}*$saZf8h=wZCbX3Gb=J=UI4e&lkcklC|2`qA^HeJ3SB@-mF5tgnuMz4z2&U!c8 zF7k%A8P85u-z}{IZbb6)5E}I;Kp{7@+HBIfiwKqhi#O2u!#k(?V8X3p8Kk zx8aVgm4gfx6%X%w2gbpD8D()=zYXIXNLDO! zYh5i4UX*JHzWNPBPlTL4C*Grd&x!PzHZ4BNZ-wm#{zTd7sNo$7R7#+LRc?Ls{XhLN znp%9vFwP4Y>}T5iL~L;WQ#ef zz9c!W2j31J@cA3c#&LheHz&A8@YzYU+pYO*gnuG76sGd&g{eJ zCU08&3i?!ZSY;~Oc4aqSH+>V>q}*u6_!IA0fXOe07bfz%*Zb3x7Wd4OfKJ;Lp-pQ- z)%gKP65s-h3qmm5%??adt%Nj^K0C8-tm0tmX>}Xx3kFe;WYANCz_y6m+t%czE^>j& zi~6e7+X}-pbCKSL`^;QKk@!Nz>R=*!@om3eayWm)2t?*6n%F|72ReQi83oF|$V75m zJAYEe;K@eJ5-mtb^x0a;w&tJ^*oPGFC0_eqD)6`1T_UCQp^X<)_n;?a0|K@cJdlp` zCUPJ<583<}7f)8mwwmW=QCQn#2NX4*B%t_kWQW;-ORtbvZ1?=1RVw(buK^v@gr(LH{j zz<3qPd2t5IVIe-BgcK3?42!d$pIv1&yGt^2^Cn?!kABpx%lM@YI?jSet2R-T6+1lo zlkllfeV(ZEkO$5+M4+4McJX`k1qGkARkcU0dxnzO?Yl<1QoU|=QJDS&zpa*1n{s$0 zshI!Y5%3A`bI?ZqQ1LoeFLsmPNBuntKWQ)&54|F9d~slv1TFS%!{e);ZGm z`V*dZIN_Y<#k^%~fk|#y7khH%>xwmg9aOL*SMhD;?B`;q(3($kjz-7xEJ51mcor>d z<=p}E{2EE~hNr0}NpER}?&yQGH}YIyOWM-A+MWIExT*ZKdja(VdO@$pff~KU{lm<) zEvVQi)f@4&4TJ$RCHofn$@y89vdF`&N6q(IBz2ivA&?%}H4+GD+5xJKoWw7tQ1?{> z?1?1eguw*%Y&LBkDf6EF`tF&0fqSIrx0?%p2QibR%7nFa_f<8&y;6$qvr-|N#~iWJ z^5lEr<7cBRkK8WKB^~caf1)o&aOHCVc^nJ`9&y=*5P0MqLWGN<5(`_5q}Ru6c0IB} z#mkyk<3rWN)U(+iruUUUmfJ!{JBTl)+-pqd@-|z>z zH);77I={?Un&2N@jb-%7BccyYhc^0iRMKqaV8O4cm2(<2m={k}htlV(%mNoFr=a~t zP#NH63bS;%rzli8hEW@Ya1-qeSS>w!8<`-6S(UNZ+`ku zkIfE^Kq1Lo#BT*T*fm@fDS6wj1po4D8??YXG-@!&>T~#cwmO`(2Aq8z60_WqXo^B zE9N{O4SIQfQwG%L(P8@SUlihAKTuptoKflqZ7?-`Ltj8opUqHqPN=7qT3aywG=znl zHkcuoHGRBa+O!@)KXmx!*HtfRDdZ86|DkI0?W}@Zd1l_&2J(70gHi(3J4T`0XS)a! zi1dShbLHCDc>oz^`2G!v>pPg#+R=WAz^B+baA?!8kA}gx?vf)Br zP@K73_mei!v&HCdNM}Ca;;3$hS^QYoU#ki0T9kcY8TXa4{GsVmUwtkx#3>xrzwKp0 z<~>>UHX@cQZ*jUZ)S5EK65fYOVD-Y_;BS&!%h1dLEJQxKu{aEjM;fJg9E+)T_Bn_OOfh zvrmj~r-sCN7sDjiI%TFDBS#IOIK-NrAt+c-z#m=wF1`j#tq1rNs~NnGs*s2M{sL!M zJYvE9V36{Kt85qV#6E9hv7##b44}aO@B+>!gd(d2WpAunApjRiNlf?o|^}vlCK5p2D2^ zpV1Nx!@pFUqOlx&U*GsTS;))HW0~c4FkGmhqwy=o&OGgkAh|U;bH42J+`mAYG!ffU zbO|vC{V5U>?2$ER)YFqmN?sBoluH5x-sxec?fp;EB=sI>PcB<5iM~D-eoGLP`qke` zA*nJfi+D+Bv2%HXW8|tY;F)5NyWW?;(e~r$8Lk>Zi}yZ^B7bOyH0Z5FXB|d!m4%_m zPtEH~0Uj)vPY?n+sMv#RRt%mt?OHaL9`rb>B~(WLcLrx1B5uCV$AD#k>iXdgmkG4d#7T^J~YA_*4Go#v=f>yE1(2&(X$6PKENe zXS5abZQ|NKqu+W-Mqu(a<+J;eQaWfjOtuB=a0S zZMEze5{TrOcW#{MQSt`Pm=wUpdFTT`xa9zd{6Uj(3QF(>HVQ&T2-*+sjc4EFjse7W z7i&PHq&ZX&!uZNqtLl~c(JW9%>VuAhd7vPf-hWPI>Ww^NOCm)XcsbRH)%_j>b%zdf z_Qc`g0V}RRtY)LRT;3&pzG1xF$3enIlH+cbAosDi^k)IhWT4j&2w@ZQ4#rSp=l0n= zP}?Xoz)b*hQgl1(Ejj<6QI{&&-@){AoOF(S>Q)V**YQk0(qFz4{bhwlF{&#f(5l{s zcbh9G_tO65=E07_Z28kk-}S-W-Tu_VB?i;!)XXsydf*T2Dzo$97roOCOM;bHJh76d zy=7Eiu<+E9vp;fKFslPvS7W+6XHymxXI({ zo)*uZLyV_z^01=8q-c5PVgM*$KjNXWg;$HT>7SJ(d%^X*Ko3RAIFUA!8l=*?g~k(! zGl=_|Q%_Md(8_)&#x#Vt(K#)F(xz1-WKV8cixwEne0;CKRkM;OCHs8B7kS1s^!>xR z%_}}fKI0z0xn{THB7byNxZl8;fjUu1WH?1t`W@Z;I}Y1LDAF6TPcOIK=7FIZE7{kE zD6~Ee-WdD>AfxUlG>sAze*zu?;&3{{20vir+`Gy2ILED}x?JXL=gF!b(<_gLx7BNt zM2|+IAjblx-S)|8ITA`m;M?iM5GBp$0pmgq&%p6kAvI63!;E3KIUdm)FcJHULWM&c3!8KM+r z*oI`PWrx6WQ(lZhCK1zdB4r{eUVo%5Nk0fhtOO$JqN-QpD-2i7Y7K!hPX*2+gp8bV zaJeT-M*%IUa&qHNc00e&SCkPjP}Z5HM$-CqK8HUt(-D}w0CyC+p+7(JTuv+ujq`d1 z+w3e)>)qROh9Gwvd>uH-ukVnf1qcQg#MP0U)nWiO(T^}rY>$F47SrX+>J&pEI~OIr9)1hc7Y1)=ka$!*eO0R4MzJ+%l=XfPBQxosS=^ zx4P-I+3O3nOy@N12sBMXf8K47vn%nwh#M^Mfd7x4F~UViK@( z%K(L1X$lQX{bFQ$9DY&kbn)9=2+lJ!W6uXU`E5yhk5a{r-O$*R5m$!E^>4ijK>)w1 zSHh_Vdwlh*`7oIX3&<*LI~XnMMt`-@HI_ z*FY;Lod`~Hw{5khbuXC@Ul@qvW}6<)Fu62>_qTp;J7MHAuoDXSIU(OtCCu0xwJ~RW zxIc*1)AfQ6jDKkuxr%0jr>Y8lSy>Jl4<*wOzike$*vjQwlSA8gB0N51i1ytE zQs2cRf)Nq0h9A!6?T(Ky7wOeb)e4Z#D_9%sv{5^2{mKgB%{ID9h~F8(TqpC4@cOq@ zvD*9zZun{Ho(wgO?&q&eRY1CZUe!cp(+TY(@M~GF|LZvH$z%npGrprpQf2vs3><$s z3pz~TuCX&z!SIpDSr93Y#bXxJeNQomi&ahd8n|xM9EHJgrIWgcGes#I%oyup{?=zp z|EkYkUm-_{VFEr2E=!;n?jHYIeW}D2r3-Ys5CW5=ZugO#5$IXETpQs(b9YsOhu9rB z*Rai<0}0RS{46JiDwW0wPbL}~67y3fITEGip9h-99q~QEFQq{_6%|Ya`b@&Dmmj%4 z?(E0~N9*T&$#lqLo$XYsLa>+H&^(F(k^%6vS*~@_C}&yzJi%klZE5wf5_xoqGLG+7 zT8uVS5RfnF3sK-T?kTfym@brp{m?DS78Gkgl9k6$?KCkFQ=`~KVD7Kf zANv41@i71{V@v5WlZcgx{Dg|7mt(XPv|DZ>rUHS}?u;c&^abtiud8<_i>uq%)C09;u;EYC;ylR5w4LTTz_cz@Jy zxSVn>;-H+!UpXlmLle%PY$HJ`R0Z-ejPugYWg#_%ss-U7-&3lDf+g?k9NKPWps8~8 zk$)U?PKVWQTuw4v66NVP3~|vc*C|29BIV)hzm^GJjoVzl#F*0+a3~ZXnVC1e>eX?u z32-+dvY@Ol-##dx1hU|y0soz9G2$<({)XcF7gsx#ZMYW^ZH^`R8hursl-QoK8E8hOKT3Z>COvGy?aH@a4>*eHGfM}3v1a{nwf{-~% zJ&<1xQ48$)O}swX=G@UBP0N0lZbWbs*m=if=z}otQnincKB-rWAB}_9l3y!TA{Z5n^FYyHVdjf+ zq~QF2L@la>z#<+Zw2tBqoKWfSAS+aEKU8Kgqk%v`12L?G@3}xiu7_Cqt&VDqmZBkF z#iL*Ls*d;`#xXa8j>H^eEKm)pFGaerj>y=7Yy>H{JomL8(hrms+To~d*Zv%3Nf>kA z;al??vYZn)bwT>+lKJX5IYz=Sz-ZW|ruf!b5iW-2*91T$;)g%*2u(vR4H}5tHiwkQ zZmVt90ma2|uT#|n12m@%VAK=ltj7zQ<|2A z&fL?oA~|^W8!KuN5AiE;c^yKM5=ZNa8fLL*3G@o~7qf|@Dr96BZwZY}4wZ^|D$57J zrvWJ>YWnLl6y=ED$Rh?HcfY zzIX+1bXxp-4H16fP2-XVG+N0}UnvEnUc>@$E)SD5gQ<4u$4^YS3Bou%K(7v3`XYju z6$nvFyX6Ka4vhfhl4ZlyN-Kr@VFvLNcLSfoPsJ}HUyADZOc8V?@nw}>frReFT&-5y z&u&6{Zv4`y(6?11H%>4pPk>5w;{4+OUFA7a3g28!K-PA}hHCXza0aK%mm)BWjM{Ek&rxQ%Gy zg78TEMS1JR;J>93KrJ9{O=BdH)J_;aK-@3R$Fd!in#=J=-;@4W4t*er@9`tjeA$vJ zUYGqoh9<{zp(SL<%Xgr>kPxdd@tGz_)XJ}))$N7jPZMX70Si;t&Yp)C^LC*mAvy^> zU?E|XO^iQ+G!haez8<|nV-o^B05dv=V6$7`bvfKs(W!8x)o*k8AS$|LPWkjx8-;h` zuk7sM;4i<`S4Oe14Wh2PzWDN9Qz!`m}wO6eV@ntkAI zY;pNocwhjvVbB;u6W{8(;(2R+q?)YNft6=6%Mhy%y8*lyeOnIrE#NiCsC(K|PRX*a&qVHJqhU^EO_E)HRqyj!nlj&j*A60o;99{5Gx z>drzKyRI(kk$SdJ5VGN2w_>Mt>_`SE_#Ixq4O9;ra|;x$WK<}b0|9QN9v5n_97-o| z4At{!QD)2j#|z-);{8GS<#$ZBh$nT>W*WK@%s1Hxj_5CC%#%P+tver*cOs?w0_Jxo z1mIdl$TmMe_Te9UK*^#>U;$JrE=V;J;p6BJ#tAn$N@W$$mWDd#)1SU4?QSP4fnCaK z>ih<7*PFMA%X-dRBMP&QO6|D(f0`j6TN*-8v6*NN)qREq9<2GB>%Ez{QOmF;eEr++2w0Yoac|&`BPaoF%tbsi-kCS&4 z4I~n3NyEZC#G9iGvzIL;&oUeyXChRo2LgfY0Fy|7IC_Yfv8M;+0|xT zVjbu^^WPhD<|T^C*Q8i4muxHc{l1;91(Ns*BbSXIk{5@Fy}ah~{OTzQBqxxJ8U`$I z@Pz!(D?;{$KrY&oxL6!(yZt;mU+Jv=Zd1lw-?Tae0yyHl43Up+3$?~gw1!4y?WJejk`nF9|4GrApsSee>z&rJS7(48o%KUXz|NMne!i zD(0^C0til)YP2Qp%cK_kI=;o47)sItv~E<(BS0Jm`U**35P+~F4?kPx`%|P>gnXc8 znZdV-*R2D#{XvdL`@{u=UfOtpI?c7DIzS-er^>E@L zA5=6+%t1c$hz=^VQ`3eXDp{{`74Vu?ixyW3FbZSJHv%!i%Af;3G;y^xuD@|o*n-ek z$N}6G2|H9u*SZe=^idwiDf!{mW|)WG?vx@rinQAhc&w6eII)NdL9dZ)aI0NOuRO}yF=(s)|ZHR1PeqZdq z;w3u|iiR*=`$!0RN*Q;{KK*94|15V6Ncf)qT!K2iA$$9ypO^BPF7)dbORnrtTLcnm zjck7IW#(EggSH#3gw1^iJePSL(pXtf^KN%$N*6cR_Y{+P%zMg!AIqWjOo}r89~WYzD-fi3b*7=guw54?$i>7w5_$# zYQD(6re^GLW>48H16!sggKCk2-=M(Fp%j@zVBwv{dN{htFs>wkT2`H1T@0r-JAd32 z%o4Q)Xw_=+7JNS40K%gLw%oQIPbCm)5sq-by0@t}KF|8k1fc_C4$ndlGK2F{JvR=t zHS(~Eje^Jmx!1?xLoR~2&W=c)h^RJ(SA&6pC4%3x++oTTuf^9c&<+Tc-n%>owl^7|6PWGqC~zv5skkhB(Jt>D5#aTs z^@(O67O|teu50yh@|#95<3a=2t=q+=x>Mlo)&7iH8BKDvg^H`Aeip59jmx}hZNoBf zEJMr^PdT3~3pAQN4YR`A%5Fb&nfgoTl{8@KW0TjyJY#PcJtddG3elwh2Uv-mw8`3(X4 zCN9A56S?l3Qg=pdYqZa++YvEph<;&7Q*}xl$TIQRjB1t|A728scuq1LlxphXabL;q zdGA=|53Fid-3=jXqkG36zHe7YvzQw6gjhsmzXVOAKcisMe7~ZU3X$yWw3-eh4)bu$ z!KoJG7+tmFB)PaB=JL2iP(O)Zf(la-S}>9nNZcHSWF>?!Brd^hmfZmDkmb?nr;XM5 z|1&w`L(0=Qim23O=_yBVFo&e5dO~luL6-2*9dmbEw`N;R0U-wwmyO1|slv(2#S`c_ zzlhl_ehwLlMpC1YTwcfMZ$xk?CyzPVF*;uyen$j6N&Ozs{d`$w?7&$kR3@N!JpKvR z`?0glv5^hO;gS5jHFD#r5kL^C^lOz=7Z=Mc+-9$9@{NGC`HF`juw&E>QCSA$h*wSw zP@(@@0k2B*usMK?BLSfIa}vWXe^Jh#nt@DpmJZGRKlUgUx(ZH`6I!C+7lLo}ypoQC zbbI>WkH387Yz_cWae(3vj~(}uFYM;kVgEQ$n*=5XhOg>grITF~U=#DJXq|$?jbkl| zpYrkkUF5;pzzL!2#EwxukWD`Ukg&Zr7*0g_gYnCo6eHfA7b+g_1ofq8Pyv5@tpc7k zKX&$i#C{kySSFMfKOMu;8*jJmtUZTIBzgEEWuk8M=!QI5JlT7`&MtMiB)cV=b#T%j zI`i7H7wYD14L$#p9$!hxxhj-lXtI#kqa+qVjb|GQh%KF~o>`8hX%By+#6AaxW*?98 zR$n*P$0HKhnOvb<0tE#8JBs(b)z8nw6?JYP`yhNg)j*r^T!%U?)_J zS;L!Co>RC@6J$8QWBs>{N;bU;3^fIuNOFW85s)#tf|;DpOp`D0=_@nEmcQ3_HmSh*)s_DrHc>?5 z#v?=>;ulh{>J5enAI4On+S9U!WaBRl%6>QvvgtSBd@9kytc(+(LZ{Lc&i_MQ-LZFS z+>mpn)SZw6o<5wIEA#Qf!hEiAoK#XJe@u7tTA+ht}iu^H^^8?<)|?S!A^|BG&)>$WYYB$lFRCp(*a+9Uk2qz&-rK-1ta zIN5*%dW;%!AH#CiP*c}+J>WOMs#zqzGioUA>o)QNX7a+#@?gF?(dk*HsMmAAG>=)@ z7w=vTZF{GUpl;QmFJO=tkv3ngHU#D~%ACGcvVpb$Ak=@uev}?R3S}H>sC@a-KCY+t z8{LWMpMc2!7hGoN`QIdoQT>x#ssH}V{^w7`08*s=kj~+MuA_g}`Cl}~z!oil)2p%^ zdTH=aG5Vib!hcaa|DPgEzIYZIzJ0p?_q+J7SNa#O<3~c_r%pTMWUe4(9D~bzzLHHs z;j`EJ&!PXnX(izK3;s(3xfX5b{k))cS^qkv_B4d|{r{hjwAL;2dn-U27O~vJ(=<_>DX#u{ zXjP5T-j@Zh8-7s_GrB}4v-3RFhh&8#snP{9*+0~OiVHb8N9XdqwpSSgXI~k zFHlb?;jgdPIIN20-%*p2zAx3O_0?}w^Y9?$`#jNAc+n@}FRqG@!K5B?{>>IQI)u{< z3Rv7LUnspZLjw$P1V0Qr_D+V#M3SojMw(1Y86uk-2iYTmAiz<`zjB=A!;V~kx;__D zt*TWu@qc}45yQWqdeW#+nT?)Gm|EtVx{FDmVSv~$56DMQ(bB^B;x;rw#j2e6dtfX! za5C&R`14AKsSDB?Z8;naSOg27u1_guNR~SQ0b|dogoxge#eG?t2;n?GzoetiszgR5^sTklzOX-oQvGekup*g^Sr_T+A;CaGC0um6q9Z}8dWYkwSaRbH%sbHx!hpc zYFX)E_ZyemE@0;Kabru7Rio~wtZ~d#(E)nFSjO`o^35dx3X%o*(yHlzKtfJ8cnTRJ zfk1!toxPTM0;^_J&@*bqw^f$;8#E7BJ+Jkd5;MwRHVBWG1`62QGcE)HQq-?8pZ55b zr`OjDNXyECa4X(ZXW*mFfpu%G74j8xqYxGVKm?c?V8dT8RBbr`sqML{@t;pCy>0=1 zsJ32dxwyCor8WzMrTyFNn!LPzkx!Xc;+~{>2II09TlJoow0Bmo7l&MSdCX zsNA=&5?PZyKP7iO+a>SL4r#wH1Slm}neQHyw`u$aoS)VU8G8@)^~q2$<(Sd`vF!nP zVlJNJTjOoa+3ry>3h7cE=m#RFnB(B3JYwi!R{2g@KEO=;KKfB0J4oPiI`?M5=Thup3&`k!36eLj6%L#DPAg>_Wm-D{_)dnzKJ-5Ce|@==$w)9}A?y9yZ~L$5BZFLg z&e(TlA*am{r;P}ucnyp%(N1Qg5?RJs1M$=UL4*>s7wb<7{vtw_J-!z~s{NSp~&9wJf(1uD!0#B3z38-V3;iCE_s_ z6fiZS2JkHd@jQuN2d@CWCECEN6#d5=J?RQ$;ecqu^1#w5RetE&Mdh86;XMN3=gur` z#Uj9aXtR(C*g5IC069{KWB$dmj?8jh;Nn%_xZdHobtTc7{}~R0#7#tkc8q+U;wGQg zeh%=%Z9vRBZ~m-Mo}E`J{E^G_iuaWP{Oa;DCyba?l}%kv*!_t6+Se{$d0ldV;dB+^ zo&>VIQY!@RP|Zn%S`tZ=3;>^F$7zBZ06TA~!g?V4v!!z7i2NYBqBsPL)aE54Qv))w zT(8mw8X>RsZTt_Z*qMVE8UIHbq*=S~qc}cY{)X9RQ)G+6&S<8la{(CiU$cV$ zS}MO^K4NDW68wEBYx-2BzD$9M|B^sDcqx~9=J2OO8!GS^{i#|^%iivvtM^69blCch zWFHdkSE^_8)DeejX6hw6jaZ1g#d6*+f8I6Q854wHRs)edOax;qiom}3D*>b6sGV8d zb3Gj8u}ncgAWttF^$YL`pA(KifA&)T+5WU<&QwaRjn&PmF-_4#@e}?`8b-z!^XD29 zL&>Y%sg;xSci2Qs;uqT^YW5Lnmp?VjGt}#BJ)IFtiP$6~0Dl6?oy=EUJbD}}4Gg;S z+>RED1s(5@JP+#ue?*-++vMTOla`C;fUGE@@!=;3TX&K{jAMHjms~^&ce5Fj8MaJ=x z6N^HPtKIdlfq(w7DYQH>&}nvi^NfNYrxIB1kmfuY}jG+*-l5fZG1S%V&!U>as?RHs1IMQ@uXKs zL36dC8zk%)dWQRuoH2#d^uEdESki8>mH`*nJ^Wzwi~@k!tlaOdhfUn?fgY?0n}BAo zb9C)32SF$hq@ni?u;(0e6M#0E++Xxp`O#3kbwbnIHSB4AyI$;Rd(Roesqh z2K}!c5#x~tMne>5r+=erH3A_81oJe_m1-5f}=-=GY# zOeNg$cGzSP)z(Ty(DVl#B|sumjpv0$wGe$_B=?*9l|0fuDPSOnE981kbensTZLR#7 zm{li@PJ)~Z-|cc&B~=X<@VE!)(w}i!B}0uaXFnETXJ>f;zaixpPtn^o!E3g!SNk=7 z`0U;<=8o7HkAxJm2(weKddJL^T_-_IfK@B=;8Qt_rIFrl_ei(C&^d7gm`lFdyJhaH z0lGFn8SGt%_bU)^SS%ERUZmH^z2q8`i_1F8tj74wXx?ZX34}AL90{y$mVfF;3rqpU zy)Ut7{(6P=l`4N^-J$Y1(j37-gR7b976l)CHEr}=M(HCPz)=zo&>H6A$cH!rRv(12 zllcnye;C5DFztaXR(mWgp-?1T>diIz)SKQyfbYIxN%-n=vgeezBJoYU!JkvuW7k*J zt@6>yn%}pNTYxNNoWXzMdA2)XU%^pMPMJ^sVuoEM=-)`vIRh_jSoHQsw9l#(R`lUaCv#E z>iRDuJ{L%bm{J&P4=5T6xUiBJ=`j{B|6FT+56BMC_egA1n_sX?zNGQft_2v!`ghFc znKjCF|FskT>#p!nVoh4|w{$=<#nxbECf1Y9td7RXu|-$b$@ZTVm)#M3AGH%kX1|e7 zGs|z}Pi3#pQs?8FB7X@RV>Vyr_5>yget8r^wS&py)}F?1N1hO8&-*B6jy>Irob^=8 z^RkD+VJx}YvcNJrgJ0jQDqjpE8o=!6wL6q9m)Qzp<~Xne_2Gix1vxDo8JTygv5d;+ z-9Gv0eO8FC9c!0`Y9G&DynI=fo}pFSF(7P^1e~Rb01@%@!o8)P-OqV@NClB8aP1X- zGQS+TXo$rgyN?ElnZzZ_%WqP0)|js*OmKs%|hrIjfnS-70&^<8P>_(7Iiv%7)&vo zGgr2(w8Y8>FTIsf5ORl6R!S-w%0y9qK>1YjtLJUtnSsOatY=E*mCyBlrSKW%m*Xkf z0EPIz^UC$G01DfwK2uJA6Tl@@;IkX+MWhyt@KPe#8=<<@?Y^K}MQGaqOn$TK^9pBe zXnp&SZsIy9p0GAI-@QkDqp}0?0dbl}&DkLPcGPy}K)fgTM!wbrkAF5%=@ZEPxMXu2)8!$sA|~v@hMhJ64YIwl_rZfba9w zOLd6v+ySgU`&#QPuw~to{hb~?#UY)j$&4;lgix{w8 z)MbchTe+!I2#_*gX!!Dt*;qz7SoeySY*=L!I`>2Bj16f-u-Zy&)b!I0*{lYSUEOqw1?V zE7gMgPy6L&=8j7soliYyKj_(kL<)Oe-ut|>SrjtA&uj$(xTz|0B>V*0ttra_wHKtG zeAWPUV7TfQ3E0OO|1|EXCpaWw?{?gCRTnhSTWRqeHUx5g(&kRCXZ?Oq#}3F4@;TaW zBaWXQ|-stvqf$Z#St|hwwba zs%CK%U1+)0tOi6lNt2IeFC^tBt?%y^PX_c=R(F-ekO2lhwdAGZX-tey4&$#V_*Kap zw4!_mEP$x27tM}1Md()t^fFT)_HBCg!!|D1r0+SRM)=kc*YVAHNHkzx$!xpL64>Jv z((iIP$A#FN=5OY9-JkPg@6eB1=8jd>GSAg}xPB~vS7!MXcH-_K$SSW>Yp0N}Wjxbc z0BGN+@Sey1p`~n~l{rK0c1G`B&Dx9s(&f)XNnHFsrotxE#J@JwobW8Z%`;R>hzfz} zFkq9jdEmNCVB%eTw@NKIHUs|N=dUj_54IGnGHjU03k*Lv#iwUG)GRy@BbTEP;Np6# z-AKT$eNOL#Auq^J6$_g20+J(!{KRwC1U zFWH!TDDW^a=cTY3PIc%_h-ngo=q?ngx4^$q?=;QAhpIqWvDYnJ%PVRIrNr(Cy4BZe zuH2tM`U#=9y;0Qp;Uw&Hi_$*ZLpL1Xp$~>L9a5kkNc~2q+|G-^|EI=GS1|AumpoWH z!Fsxx567>MSKZpLZ3gB%F{%l3#YAajam=tb&#z*p?wtdU!b|rDgdOtEp%W=1v?ZSS zLS8U7ovO{yLHuj~$4QAyDwOP>A(N}R^)%`#l-)rjZiIiJC)d>CdlUKjqm@6GtcanZ z8zj@^z?e|zdVYAKzp`ScWPMJ}zU!>JiV6XHlm^Qw-jO~9@*K|HG)p_K3w6~H$fVuCr*0thV*L7a!+1~f*`tud^R;J2V+(NDj zHtw)!H~iD=&ymv)y%V41!8Csq5dTh?oQ*DQPPL0QIWFKCKb;AVrRXByL{#Qa9&B(! z^?DJHf=iispU)68;YHYD9giNZaVJ1+BfXQ8P8MN@qptvA20dGjM@25DyD(3H*3uxA zA-SP$pu|C4XVupJZ^1#|Uw2++@DHaxVM^uE4=<2=F{zG|(&fh;-us?WoOL*dl9dAh z3$o#$G5S;|m{UwgT;9~-0f@KS@pT5u_pvA)6W>LdvveOLY4nU`cVsz}rCOSY_TWB9x0Cnw=^ z%g<5?n(c-SzIGUUKCJN9U1&Q^Q3G2h}Q=Fj0Y?bd)| zR60N-|12@TW%Jv}j@OkNb%dgV%&{$vrB^^WtV!TyV6mA|%1DM39ifm~uZzU35b|gS zfHOb?2W9Uw+!_ITdO`h$wn#sv|mK$8tnN_g9499DRhMF+amcr!Kj9bcgZpQcx+E^P=#L#JgJW@ z4~_b=ry!ViCpw?~H&@l4c2W9WT&F8AOi0=PgN0Nva-n!^|@S9%WY8=ai9}?Qxw~Bseqcx>;yBwga zdE!;JYBg`R%NhRe+h}-Chu_Q3;lh;x=Wege1@+fnUBA57nG3N{`sK#h7|3=HA>=}Z zP`!_z{?s6cn3h_`df=yOW-~Lr8BlhSD3JH=$LMt7&H5}xajy`(E}1dBqIAn(STQK4 z;Bx7G`woFnDqDjE_H0ZZS|0C-7PS90ygoOH&7mhu@j`5=7)=nw?>2Abzc)pDf;szz zEmETHh%6u5luFv7H&wwyA&8Ou6AGXi7zdD!D3v@Xgd>c=e-oIz+FMN|sM#*4j zK-^^Tt&>M;V*6W_GZ&QoU2aI<#9(<|bC~b-yx%oLO&{$=8y(cRB)rCwPwL`mzK`cT z6n1!ZNq2GYFp;p5FI%GwQT{SD#{2Ai6ouUXEJH1v%IIs^y|CRAc8P3Rq%y~`{*-Y4 zDDaxs5P~r}UsWR13c1^%Qc({JKdnZdK2&M_ZFSA(Xoj`^+bZi$2vIV z$&+r;LxMYdm=fWMX{UD!j|@J19g1ku+0yJxV!REHwGE%{`a=u@uNGR; zrj~cR0#5mO)Hir_1xr3alRh}b;%MmXtyIc=S~xbvdd*fGW?LA;2(GR!m>C(dEnkpy z^|UL0OJ5Q11y`+4S{kBE>w57ec%@mY88#uRm07G75tmtUyV>=9g>Ch)-6RHe<(%xp z&{Ewkrg!hzEmG2!PFCYm>$jlz9XpHTk0~H$s}|>T{o<3MTUkgMHgp-{_{#M<$1;21 ziR}Ry2x2Y4t_gd$--Xu5sD-#(#~E>;zW~yek3s_&=Dp9&H;ucwZSQ?N-uQC-!sq=O zks7Ix@!Ba=812&_SKp+kT9v+W?p-!Cyaz7hZ#Wqbc$)KJIGt~!wZg#G5yQ8@==U?x zW$N{1TlL2efkh}(+r`yJ1eHaIhV>G#Tmi|Ivi9$;vvhlwIx|I+KJd$JZe0S$bG%GG z!tITv^@N9Poh*jcMsJ>$rA#^v@wGk-;U$$R`7cxbWi=NZ4@#(`vflewQUE10w)^5EPg?pt&KKRzJ8ZGDag zfIRzE)}CFWF1Wd+J_JagQaPbx#RO2~c zZLqTP3t1H!nj=;th49)=Hh^w+NM)z_o$VSAuDl1rSH8~-@KcvsvhjkOpWLQ^p!?0` zORmvZbV76c8)wIc8y#FhTeF|Ahzv>T=TE1f%I-Ud;9vu?);*ao;IYX^?@|)LTR`Mc z?zaj{yN0VLItP~ISoU&~(YG4Quu98o?L|=VmrtDmUO$yfMr#(Svg^;^fOw?fz5=>;Om~#6wVwXy)%vRl7$`p|&v3K?4?M6hWjtf(_G>CQ_>?OPw;BkyMqN|U+zGWl zIyVap>{!6{NiS=gwbx{0*ZB0Imw%X#R0acFpyXoi@%}VfJs4MtsYhquAtPh1_*kt_ zHc=#SzTi^_9-(bNJS6&$B^ZKb5L$r`CQs9^(Kam~-hRNoP5$6fwvv|@4>@`A8ug{~ zacq-*xt>Zf>!ZXe`WWlc#m=$XHGp|-{Q=$ZcKWEyxn#M1O`HvRBq+gZM1X9vEF+i4 z{Otop^oUdV>>vjlTmP;lK+%TC5E-s4prN3M2}WPqIZIZ-!_QK>UF=DuN)1$&SGeIG z()TCD7y?2*1OyY`mQLH5PQAmF%J~`yP7a+Cf3tiBzutDf7;bv8&^!f_Y9yvVrJDJi z%%1Po+2#S-s0f_RsRUA3zQ`hD@}c5YncS)b$ND9f$1`oU3XwRDch;Tff&dP&8&%Ki z78)%L)E=J$c?E>hU9L=FS1$eH z@gtOU${x~{mD^=o2=0TCp65ajyHsofG1a*3`c2tWTCtUb9(mukkN{=MzZSh)?FiF4 zl9G=&%76!h;K8x3`)U{nBC8y2*jwL42APy!n?$eGz}?8_NQE$oy&ks*H>S^wzA=I? zzsw7xNpIg4*0)qdqwDM{P^d0s@q!HX=IB1_@v-UX+LFvADHc=E$sH8-+vgi+4E0Id zbhn6!Qy1;~#{hAfP2rzF&~nJ@I)>e-LE5x=wK+H^Hy0xvbO{x3TIwuPlNKeuW?^9& zx!(k_TIvc~V^X{vnwItjs?6LEmSuOgE)xH}um9dGLbAK{u^Zm%zmV(1izU1B>Sp3f zespYHO2UtUEn{#=B2w|(ZGm6ESl)@g6z&ok5!th}L<(HzMD~?IppQ6ZaW5&^n_TDa z@qPAUg%G$sx3K}~t1A+Cl&c!$ja*MA=^mg?Hu7Vq7+T6cxXtF=r!<+t7Lv+&ve9Dj zebYOBXf*{S)e;#3XuG733bKO2Pf8`ie@lb|;mR?7yYV0W#U3h4JC$;ZmMv~3Go`wc z-sRMJss4soCd4OM=9oYjxF}W7P)@+F1a-E{-M%eS29JN#&78^TS`Cr~l6R>{6U@U~ z5UDTOK8tSvsw@?KFz>|`a@FkM@fJbzU0GS#_4i$aqM(TyqUXAkj3)U|`Q;2$X%2nL%8!SSN)F}3JQr=u$jrmpoyhP;gxKmH) zYy3XT-o7vg!WVd}2T|>#x$UFyy_Y*$N@q_R;+jRmP$Q!nVe=@OQk`p%19+DjogSiU|u7zl3Ia@m`sQCk8$ z`fU_Hg@!4^EePd-bRQ_e_4+y)@)Rm)M@YgTQTW2=!`j9MytNW>wePbii^e-$YlUs3 z!{H*ek2pqaPd5OujSV4t#7jT7;Maf5hv9Azc0ms5$-tJ(sG5jMisJzj6V>a+uV3lh zXp0*L0cDzXK|6;BKrEdZ?(>4QPi8h#!XfVDdi@QwC~$8JPjUwQB^y>B;u`FR-rZK&o~%=spcj| zKrcei$#*{=Pu~e(edpB8mllK11E^_#zr$@xu)hl$*SCJ*k>A9hJ- zU!ZZ39@ov&EEBuuQt-=6%e;{&#OT`9F>68t5kim~1)L^zI|d5D+S8cIR0UdkK)9S7 z85hNk@VJc-W=6~`U801OYfGSdrnH(!oA$~_r4@necVAT+b@iUKO(bZQFqyUh0oBzR z`3sEFB7e_wB=GCgkyE+RA|GJlyga9eZRsbfUY&_7 zHDR(mCU*8+|A}mpg5!Z}I@#4RYt&Lje5+Ib(5)^5cp}T%MoS=WLrokT7nezJu;I_k z4a1V^_;iS#12cEQ&@Vw8;xVCG&kcX3%($Yz_C;GDJe;atdqW=R!knpJZ<&LErG zU9o8^G&258To2&bTKlIv=E}PLk0eLb8jNCh#YGHkFJ81Ro2K zY&o9klT?%VvvgKZrZ{~q<`O-FIFWuc!pmi*EsrJ&f2@b`q~uLGPJ6UlY)soL zm!#`go8bxw25Htv)x4UX*fPnk01noRgFf8imZV7X55y$ZQy283o}D>NgYG|1ouwgu zlnoF_nq}&cpzC8is$=AF1q9+WDp4hPn}FamVcg#6I;`e|woy-S8-8KN_5K=P&3lyCzMH6^TZDpN zeOyVBCpBYB(7Z0-n^(WH=#8A{|D5)}-KWqB!tc1?Sz&-}C7*f>a^qU^yu|UMQrDr8 zLmT9>t4}&02E6-T=+&=w%}deLrY~JW)}F_v8SlL_=T@4_)>bU8r=#T*{*|HB*m zmk*scMgTmVRQiGxL@jfNLo-|0dPY+Q9S)=eLpm)87lKwp2tRZKl$Y9;mttGsSuNNz zjkHKT`_ZiaMvjvEJUo>Nmbg($|6BL}`gq~|yU_qoT0d04W@R<=e$a4mFR2Wwo6`m| zvJqyuSKQs|zFPP>K;JXv_SRyx-%P(+zPS4j@!)Hu{h6odWO}>qe-G&YJY15~iVC{* z#w)cI2%CIz@_mw!K(_zc^Z5H86X{<)1HS#x3u^|e0pPeI`G;Zs*HfppLPBRmKCYMj z_gDV=Zt>T<3E?-e8+sw};&T5s@Bg$0u#EG=m*!Xv1Nz%mfyrGC^OcmUV&ySHviRyjp;>yj%O0~+X#Bj>TFBo)~XJSvZa&$jFppW&6cwa_S z@qcUczdtTB|9-nl3-Qx)_H3=SX0VQaTKG~kCj8*yp@LalZ*LVhedH&;|CrnV{`Si~ zoN6_zZ)FyyASW>_@4040hl|IkW_zIm-Bq$XbZ`3Sq~Wg&M}__mjqjFSZo>h0Nq4oD zXyd=@@L|QWeR>tY|LpskQTRaQkC@J#|LeQKogJLnO79i-ij6w#9zWnyVv)R0NcG^6 zF?=Nc?nAPhfbt_i^-K=bN8)-&GKT-d!lE->Zo>ul$K30)f4?|bcfgE5UAlf``?&Od zqN8o+!B~f%Cn5(;_%{7vL9hrh$Eiy&3&UyLJWW(-DC?QAbVGX@)sAyWi`m`K@jM)wz*_ zi~&5O)BNCFY6=U0)DMn64Oh<)?m^H9X}5uBDp7%KX*?EL8}2WoP`}%G?DH*bu7WuS zpz|Y+SNQiV`fJ~u*6BufgTe~^DR=Vb7D$&zi6GC>`_743X&zI~7jQR<@kSFCgb9Wu zE;6fQ`>JM&?pZ7&P~?NRx;g$HD&lMqSE8=0{M6UiH*O!v4Vff|o}_p4Jj@N9F}m%= z^0Hyp`GST_>+YL3D&NvC4ry-z4XWuO^OWqTCI}?@fgC<$MX~=CQuw!J@2cKx!D=9v zzS#;lrg}#$ipT5b79o<$Gg$dzgIW0ggTWZyA3HIMEQ>A1Jz3Ot2cn^A60n ztCx@xi|=&-bk_}ALY_t5T;ICq&|s_6>;2kYh;u?tTDxP`bl7J>HeIX+>??k|`hZYl zfJ{;w9vt))0FR~fSq{uJ*dtCp7P3yKY5*St+l+c!&rC6{`?24-MJPjZS61EUnD$!l?&ocUZ@vWzuK9l^jY-d2zxDm zuo&pr%r_M+Em5R@oqInQA0I!{-2~ryVM!^6t}}S}8X_OPE2DXKK2GIrIRjA7ZTp@` zxV8uip4K}y6t6QJ8O#X&G)qH&UHkZkVqM=5@-?~3QJ>3D)(a#Ic%tDC6yGkVnYzgi zo0>k5WYXejg979`!=X@UWsA{%?kUOI>Ge)15EhFm*Drs-E{X>f z8w=|e(1|&P&&@SHa{=*?FiE`2Ta`85@IomJTIN5;Rd}Y*Mh~H*fnV;Ry+wn4a%2V% z51juzb`CT`JMh6tQu8`pT+fySaL?nmVhT%rvy9qFP1(q!XYjD*3vtW(-V;P~;4JMk@|yxse<0fedZ4qMiu4r5ONwiM-vnV*5N zyv)oue#@A{gUQ)dUq08#L9hTs@izfF@khZxg<#1b5PuO(<1ywDh$m&t6~FU-@SQBc z;>5F`TB!WGK(}NxqaQCUZ1?qR{Ix)e0rl>-Q)lgJGe3fvSs3~OtK`^WhlG7xxXQ>+ z5hm85^1{iSz=?3YIP7r&QYLA7c|6k4!u+FO2=yk3XM^C@PdEG*`;%u&4&xm?Z&dr@y;gz6ebqHTP<%vq+*lU z)Jzt6H%1c}gDk5}B1mN}y6xayPUOk}UAm_OIPA&7lm~inEx7Y~fbO?Lxqc~U7YAvJIjphh9JtWT7UjLVSO~nX z4?V>F+uTqMmBa<#yr$WlDUgUn2MKQbY)2I)@Mq1xyfsI<+cOYjTF19eTF6#hVBVAl z{eJG=xaooaJkIiCm$#1js|z)k&emaOsRcX9ZG)OO>EGZn%WCAclm#O=;Cj{dYix3; z`WH*9Gn6N}gx5CfV--A&9Px;}JR2Pb1A5*tK%1!P8* zCojS4?+tn#a5V>?Nc0+ZQE^Rau&{oekaqgE*MraW@q&PY>=ox-Q`@CJB@(qsRF6)R zEjhZp>U{PsZf`Cz5f?exw}dlHvYx!02LxW&tWEJLj&Y*0(zUF`gdaLiHdmD; zOpN`C6TJWm9jJSJ{NJMk3md{-}J0=a6E#6&~CG!wH*Yy){l@WYZ348Rz-d zJ*_myNLfI5H@ZRRdy7?cXDX+L=*!bW!u_nW@<}pP?z6@)jd;oZPNdQ45+>vD`*l8g zVtx3WcKA8AKL%j?cI3+by8lAQ)n{`|c7D9;eOVsB+n1t*CFGL>-y#=Z2s&RlLb*ij zbgS&cNQ)(Kz`qtD-dQ}MuxeZXr{%-thBcA3wYU5 z>9Z4=qr9O@Qr|oLh%6FnN8Bf`YQa-ZtNSjfU(%4cjn(Nto#o|htPdmzu9Qa)WQ`TQ z9FK&Z(4FZ7!(qYSW0pvn`s+3sly85J7~!B8uUcH7eqw}GN5XptsdOvO<$Hu>oLk?l znhdkV{d-ey4L@G7++%UTXh=4=it0@05~a=q$R`1SJQ;Nub;3V9n1c9LWeRYvSfn~1 z_4MKr)jeM$RJ*}i1E}HA0`XkYd<|vgTZ{lQ$VFe37RqZ;uW%NL<0{LJdJ`KvA~>;S z>uC|B-#~rbWj8E6a+!k%reNi7XVoReSKTbh)OZu~f)qQRgP2EyMR zZ?OM%efdU1#q45SX&n_)bg5R+TA8Uq6@)&W9=TY3zB*>g6$)y#3wqtBG>Pprc7xzu zoVA&>!DpUQMx*U1gLw~K>*AZwTNtGhQc|L8z6C}A;38Y|_mN@}I~u;X z;iQY`^LC@-R6QX(H{fXP1EhT40M`_#q2wLthbxrhve&uPIh3=#nhRl|76B_xH;J`3 zwFY-;>+xa!*DfTVHUIR~yVZWj+eNAvq793MpDlPuCEnq`m9A;_ zv91bYwbvy>M&WxyYF|8N+0$BCBj`pDzEo)a)bMI=Glh8PK6UWp4mvuP;C^JQjCQ%Q z0BBE=06XJ$Z|~?*f5(`nXH&s?Q)43@*xK6qJ8LK0YdDJ;s$W-Vt!!eF0jjzh3tT#j zcV8V?$&X@8vM}Zl03$XlEzhd<9cLRk7n8SaO?ZnapT|kHx?nem*a8QuJ++fz>T(X#^=*mz7CS|`IT$?C?J@~ zl0WctvSm*|46EV&;1N};G5&Em4%n6TlNknmP7byx>g5sQpUm+@vxa!>Qu+k!%oVBb zd3&O<@riqZ4ZEsDfQeVvA0Kw@LK`iC_tw0qW=>aA%I+7&fmH8b29KCA|8NT-Jm#I1 zH zC4WhChl;i!co6d5w?FCD41M@yqxQ7rjT^L!DhjfC_^%JH4jT@5kwT(5Pu@{jZ#h^L z3EYb_eh1C&@%8I-anYDf=hbRmbfJY3(^gIycL|DarLA#~hg`qn&5XpMW!h5O%Pm|< zTov7zdh9UQ#``S@{so6SZfTke1|VR1TB7-iWiVlSy)MlGF>GWBoG_2;HxwM=djg_I ziHXz_E~Nx>jnh!?04=Nr0&=M9QWrKRY08DcYpZ!#p-Anr&M5fKIiC39Hs(Fv{ zYM%x`RVbRZ<`1_jl* z?MYlvoeoxb@WCzNi@$imD4*dJL{(-H{v6S(rAa<7)paLWQrWd`?x)B6+@%|QbIcc5 zf4g+}-%JmMH9qeRsv5Rh|9aM1=Fet~)Cukb#rGxV_SJbpBvcLFJUt#Dc$krf1%ZKS zj8;?#tW19N#>tC&Zwfc#Wh*?}lA>NTrTq$_c{`${E0DKv1JUX%kyZtbI)4=SHu@*G zE-_KeR|h0p&{$qi^qaT=fdA{cKLbq0i=+@`X}WCxX~VJ15h?=-ZnoZWR;Lx~*{}?Z zBP|r@XxMwQg)W+;TT0jpa%PikSa9KXcqV;WTKU#*=xlEN_{pzU>~j?(D&7kHE?ma zcX#GR(EHYgiS_|<#AXInbs!b5SLm9KBf{Ax*QkBS1*5;kpn5=FP}<{>DGFUdU|I3# z(gHbNb9G0=)}?EWn9TVSIrLOOw}7J^O5SNw{K4r(yAKBaBJgy|u(>2$gnv@sYJmhr zxQT3_V}}1{j0lLu)R4WTg*s|aja_lsY}@Q^CRMYS$D!C~+Dicu+H|o7%Xazh(|~&Ko*Il?#bG_q>I`V&e~({G6iZ zY*oAw^i|Pn-3cVY=7|b-hf#vlIAO)TE;IJU?rlXh!C!O*o5D)qJcN0ZylQv(+PNIoGNs#S`XQ12=*{i?=TZp&HJi zcuzH7n>>j)aZyipFkX$cUcirW6+kHr52eNOQiAu}%lWSixDapqjN=7~5z=YJm|3ws zZCL$AC6L?8s|J0Zf21o|g9Dyzg~a1LZ4QMQK)2S#*>tbmqy(RbKgIw8AnM0H=Jee- zc1I6!@Nk|twtfoN-?A3rHI&MWQz5Mn)Q38fmR)1p9lmCvzA`%7O01@*w-nPAEZTw_ zK-bv$cQ`|5G`5guKa+JtwrXL7LIemib9foQ^E8Rf^$Cjw4E?rmkzYR`H~8{R$1m(r z;8;3GIa+;F!73RM)c>x(+{hKR)6%(&!qK3Go~AN_+f=twICWh}(@&93TUCb5UYs2) zFKru1C^-iT}wq1ejB{+0XXcSqE{4hk9b3(7b3gx1#c!u)hRp)-epc;MMFOS&t_ zVLz2GaB^o`6o?-EPGzpdMv6CQ0vRjpa&5mV{^5)yzuyBV%xlUH#KicAE1^RfNt_#- zPLn5=C2xY!BVrF9=!0|BBC;AdiwwEE1VNgO^qIw(oUUlQR0Q+8VfzSUh+`XL%4qk< zb~z>3wJ2(4)_bR4a-$fd+g}<5(p^ZEw*ouT?xQZ7_zdE6q-ufNi{#-)if{LAgF5z_ z=Mbu}%PpH?=@fHe)g8lBgF{WCLwlv3#OvZ`=EWGzr zw5?m|DPR8#zq>mVc(Ww_+ee0=jlAo?BcL9GmZ8``P(qzg7cM)@rfCbXA zC`s&FgRg?;M!ofW4k_5bS0$AJwn5A`nHqe~0+&JS@xcCZZss+WNi&r*BT%t@bH5pU z7DhiDfCr&YsslM+zwd#ZAKXe&m}6*+n#w~k+S(kCH!fAyKcti%3_CK+2Qv&iPpDOT z(;2gQW>+TpH33_cty2W7D*aUaa-5vHty*hBpHjp@1qABlH-_Gql$?L%qbo91F^zqc zVb6t_54!f+#a^Q&VUXq_QU=x1wFhh0SV#q)jLQjK1KA|l)YFDe&f^Hcg$KO5+R82o zJ%C-!Z59BnL?R|^-3Jgf^+|i|?Je&ZuAr4JGfYvWpD*mjZx8bFt@4#_jJn@OW&9bL zCWMEWTirX6XS#dHeV@`!5LZZ%_NatiwK_Gj^*}tFo>;a&BUQUjmgVAtQjC)Qh~4i6 zPts~Z0vSWhX3V&FD+~R`Yvk91ofl?*y$>_15-bfJVj=HvbSMlO7qm?b?Qls$D=~w3@T2uD&RcSZfdi{k@3-eR zT+W}&2-Y+)plo7PlF8`iiPFC(qJ{c7S#;}ww0q^flC5@Ri@VO{ilf$Sg&|+5<=(6} zqG=P0fQL1AuxBUv`z4wh$Qwo_vfC8!l!lI*ZwF|(WYH{Hw>n4wPn)(oo6t(2X z@XDM+CVr}HPPWI>i^=Eotcd@{p+(vqO2X<-vX8<<@E5fk*5&s-!ME>C&=2W}S;}Z=$#!glt z-w%v%m>$Pxw0u>BWgNvwqt?>VUXI^$-@Z$6C}gvECg(z5z^AZ^V7fzIgM4o=tf}3l z;T^s&^Ex>|V|5xmc!%kN+eAbvg0$u1ii^<-F#_fB!C#Lt0D3w}C{$KH zbA3gE+QHbesm*|r{a{HS0^)-rW`MHu6>gjQ>?9g8vXC0PwoJI*q03Ag?u$<3y#iY{ zjh$}=ibM{1+BI(GexD7w5VopwjMKVD60dfnfpqT-&dc1Yi`z1R7;GIKR@?4h|#Qfh!c*};!@RNCgj19Ea-GPT6?U0lT& zFiC7oYPH6*Ao*bAn(-&m>mP#GHSp9!xNEy}^Jv2W-_qy3>s}m5ez|-;E_@dYV9svcj-L2p9z?0aTL~4dj~<1+Wqp6mNAsoE4!m57-y=1;T>qX9+oR?7S2 zImpkW8ck06Ybfa>%xw@PSfbf&VcS>rxXBJRYLa7ZJT9g%V5vG#GZpH8^ZtD*(5ZvP zKrWKnn6ZF9N2Ub(N6g>CZ{Aq1LT7&2?G^PRrcc=0eI@AYtldk!O?6YsEX)mtQ=lv? z#$2O?CB~{rfmOLB%twKDHFmqg1@(vWW;*v)n3khTCso7`baAt8kvtnQ9nG8CQ(WPQ z!LGCjxW^a#h}%VV-M~n!>XPQ?vq{K~H^7ErM!OKN1V9XzO$(!8*VI&0QR;M})<8rq zIyRNFMne=hoUg$-8~TE5yBXralGht#&<_@DLf8v!=LuWRhWD(-668x9xAley*SL+I zJ#>sR$N;K+C&JZCwu)|s8Q84pSrYTPyEQqT+OD+}oOU$xJjdKhRNdfu zcacR*9h05AZ_SJ&Pmi1Ypxqgl}lReY1KZZjyG%7iz8aY{@XGqK)s{t!EiCfGtG%|4cp1`BOAVVJ=YOIFx&v@_u^Je18)ZW@B_3sy z$Uip|bXr)XFXGluN#(c80Q)DQ2I#rC0;qVRfw@u83<$$cK}6= zj#w5|!iX14ALcCz%lLQZ=&sJu*7uah(12QreebuiF)i_mA;i{qiEE&`@@e0;v%q!M zK=1yanf#FRTY!6My67BNDwMDDI4$&&!8G5u|A;(+t%rkG_7dZKgB@Mmh)fdx8JC2I ziSo%(nv$R#yQqG3kjkl>RtqX|QO)HtwiXhxI7{5hE=#AVy^QkobuS9ScHg)Dq0Fhp zk3~9MK*j>F0?BOvMR_x)w%kx5-*auA3R_jHX3PzC%|yqM`9F;jf;BA*Y^SEu`ANc8 zBnsIEv04RkYy@8#bB)9FqRrE4c@+JjcFG3DsdjbZUFYQGqNO415NBRp670evy|0nOoA~jthu5OERYF^OCcZqnYYP%+VdNO zvt#KN?cX9AmRorMeWZ>SN}@X1bBaa5s-=CIZk$h zA%=wBj0Cc3scEV!n8;OD=E0)(p2+bB*ipx2Pfy+XpuJpkzZR&(KwKNAv5|n7c#rX4 z0vr;XVOW0I78iyI4b@2>fGoM?%By4AKW-0qO>VY#?{12n_trRs=q0J>VlHr4**-N6 zebg%~Dp7fv7Iw^GL*^$yF!HN9syw!lrZv(oZAfrNWlr#>Bd1Oxd#W9ITDCat+by-Q zx}B60nbl{Z@Pyx>AJ7u-4x95n-(HV5>cSlbl-1N<+OC*$ev??=IjmEPXLOir=KYc- z{kmW6o@M;~gRDPy%%?Yj;ezvCJ$ZXI`~XV+s()}u7{N*a*J0&Jc1+E;Uj>lAZ`ZTw z@<6e(f~Ptsh4nnxX^v^&J93T}xrq-b9aRonU$SE{RelJ0;nSZC`|~vZuL)(r0-%lj zMoJ%R{mo*3;i!C-LqcIuR(?kR{P+F4R#xlT=dtgL{|>tXa0UknH?W0BdyZ=V-o4+? zTjcESMm*W4Q&Ruasr=XfFWUS$Gs_36PrU5i<(QirI>7U1ilz^ZA zn2d*1?VmfA4K%IexXbN?Q#{W0?|2O#G=i~nqE1ae>m|0j`~VvZmE;k`mr_TmTXZViECKuPMQd z;p_STTG-2xRMfM81iX^s>N!!m+lBKQ?tg7%gzvjC*tfhRVraQ#oNoX>DvBBk)pAy0 F{|k19$MFCF literal 0 HcmV?d00001 diff --git a/packages/kbn-openapi-generator/index.ts b/packages/kbn-openapi-generator/index.ts new file mode 100644 index 00000000000000..eeaad5343dc9f3 --- /dev/null +++ b/packages/kbn-openapi-generator/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 * from './src/openapi_generator'; +export * from './src/cli'; diff --git a/packages/kbn-openapi-generator/jest.config.js b/packages/kbn-openapi-generator/jest.config.js new file mode 100644 index 00000000000000..6b5b1fce1c4d47 --- /dev/null +++ b/packages/kbn-openapi-generator/jest.config.js @@ -0,0 +1,13 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 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. + */ + +module.exports = { + preset: '@kbn/test', + rootDir: '../..', + roots: ['/packages/kbn-openapi-generator'], +}; diff --git a/packages/kbn-openapi-generator/kibana.jsonc b/packages/kbn-openapi-generator/kibana.jsonc new file mode 100644 index 00000000000000..b507d94ec022d6 --- /dev/null +++ b/packages/kbn-openapi-generator/kibana.jsonc @@ -0,0 +1,6 @@ +{ + "devOnly": true, + "id": "@kbn/openapi-generator", + "owner": "@elastic/security-detection-engine", + "type": "shared-common" +} diff --git a/packages/kbn-openapi-generator/package.json b/packages/kbn-openapi-generator/package.json new file mode 100644 index 00000000000000..5847d729d025c9 --- /dev/null +++ b/packages/kbn-openapi-generator/package.json @@ -0,0 +1,10 @@ +{ + "bin": { + "openapi-generator": "./bin/openapi-generator.js" + }, + "description": "OpenAPI code generator for Kibana", + "license": "SSPL-1.0 OR Elastic License 2.0", + "name": "@kbn/openapi-generator", + "private": true, + "version": "1.0.0" +} diff --git a/packages/kbn-openapi-generator/src/cli.ts b/packages/kbn-openapi-generator/src/cli.ts new file mode 100644 index 00000000000000..9eb91dd9bba946 --- /dev/null +++ b/packages/kbn-openapi-generator/src/cli.ts @@ -0,0 +1,44 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 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 yargs from 'yargs/yargs'; +import { generate } from './openapi_generator'; +import { AVAILABLE_TEMPLATES } from './template_service/template_service'; + +export function runCli() { + yargs(process.argv.slice(2)) + .command( + '*', + 'Generate code artifacts from OpenAPI specifications', + (y) => + y + .option('rootDir', { + describe: 'Root directory to search for OpenAPI specs', + demandOption: true, + string: true, + }) + .option('sourceGlob', { + describe: 'Elasticsearch target', + default: './**/*.schema.yaml', + string: true, + }) + .option('templateName', { + describe: 'Template to use for code generation', + default: 'zod_operation_schema' as const, + choices: AVAILABLE_TEMPLATES, + }) + .showHelpOnFail(false), + (argv) => { + generate(argv).catch((err) => { + // eslint-disable-next-line no-console + console.error(err); + process.exit(1); + }); + } + ) + .parse(); +} diff --git a/x-pack/plugins/security_solution/scripts/openapi/lib/fix_eslint.ts b/packages/kbn-openapi-generator/src/lib/fix_eslint.ts similarity index 62% rename from x-pack/plugins/security_solution/scripts/openapi/lib/fix_eslint.ts rename to packages/kbn-openapi-generator/src/lib/fix_eslint.ts index 23d8bf540f7317..c205dbcebf1644 100644 --- a/x-pack/plugins/security_solution/scripts/openapi/lib/fix_eslint.ts +++ b/packages/kbn-openapi-generator/src/lib/fix_eslint.ts @@ -1,19 +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. + * 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 execa from 'execa'; -import { resolve } from 'path'; - -const KIBANA_ROOT = resolve(__dirname, '../../../../../../'); +import { REPO_ROOT } from '@kbn/repo-info'; export async function fixEslint(path: string) { await execa('npx', ['eslint', '--fix', path], { // Need to run eslint from the Kibana root directory, otherwise it will not // be able to pick up the right config - cwd: KIBANA_ROOT, + cwd: REPO_ROOT, }); } diff --git a/x-pack/plugins/security_solution/scripts/openapi/lib/format_output.ts b/packages/kbn-openapi-generator/src/lib/format_output.ts similarity index 61% rename from x-pack/plugins/security_solution/scripts/openapi/lib/format_output.ts rename to packages/kbn-openapi-generator/src/lib/format_output.ts index 6c374aa1f06d25..7b50b0732009bb 100644 --- a/x-pack/plugins/security_solution/scripts/openapi/lib/format_output.ts +++ b/packages/kbn-openapi-generator/src/lib/format_output.ts @@ -1,8 +1,9 @@ /* * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. + * 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 execa from 'execa'; diff --git a/packages/kbn-openapi-generator/src/lib/get_generated_file_path.ts b/packages/kbn-openapi-generator/src/lib/get_generated_file_path.ts new file mode 100644 index 00000000000000..4139d3610d8b65 --- /dev/null +++ b/packages/kbn-openapi-generator/src/lib/get_generated_file_path.ts @@ -0,0 +1,11 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 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 function getGeneratedFilePath(sourcePath: string) { + return sourcePath.replace(/\..+$/, '.gen.ts'); +} diff --git a/x-pack/plugins/security_solution/scripts/openapi/lib/remove_gen_artifacts.ts b/packages/kbn-openapi-generator/src/lib/remove_gen_artifacts.ts similarity index 75% rename from x-pack/plugins/security_solution/scripts/openapi/lib/remove_gen_artifacts.ts rename to packages/kbn-openapi-generator/src/lib/remove_gen_artifacts.ts index 3cbf421b8c94b3..45933864faf8f0 100644 --- a/x-pack/plugins/security_solution/scripts/openapi/lib/remove_gen_artifacts.ts +++ b/packages/kbn-openapi-generator/src/lib/remove_gen_artifacts.ts @@ -1,8 +1,9 @@ /* * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. + * 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 fs from 'fs/promises'; diff --git a/packages/kbn-openapi-generator/src/openapi_generator.ts b/packages/kbn-openapi-generator/src/openapi_generator.ts new file mode 100644 index 00000000000000..539994a2581264 --- /dev/null +++ b/packages/kbn-openapi-generator/src/openapi_generator.ts @@ -0,0 +1,77 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +/* eslint-disable no-console */ + +import SwaggerParser from '@apidevtools/swagger-parser'; +import chalk from 'chalk'; +import fs from 'fs/promises'; +import globby from 'globby'; +import { resolve } from 'path'; +import { fixEslint } from './lib/fix_eslint'; +import { formatOutput } from './lib/format_output'; +import { getGeneratedFilePath } from './lib/get_generated_file_path'; +import { removeGenArtifacts } from './lib/remove_gen_artifacts'; +import { getGenerationContext } from './parser/get_generation_context'; +import type { OpenApiDocument } from './parser/openapi_types'; +import { initTemplateService, TemplateName } from './template_service/template_service'; + +export interface GeneratorConfig { + rootDir: string; + sourceGlob: string; + templateName: TemplateName; +} + +export const generate = async (config: GeneratorConfig) => { + const { rootDir, sourceGlob, templateName } = config; + + console.log(chalk.bold(`Generating API route schemas`)); + console.log(chalk.bold(`Working directory: ${chalk.underline(rootDir)}`)); + + console.log(`๐Ÿ‘€ Searching for source files`); + const sourceFilesGlob = resolve(rootDir, sourceGlob); + const schemaPaths = await globby([sourceFilesGlob]); + + console.log(`๐Ÿ•ต๏ธโ€โ™€๏ธ Found ${schemaPaths.length} schemas, parsing`); + const parsedSources = await Promise.all( + schemaPaths.map(async (sourcePath) => { + const parsedSchema = (await SwaggerParser.parse(sourcePath)) as OpenApiDocument; + return { sourcePath, parsedSchema }; + }) + ); + + console.log(`๐Ÿงน Cleaning up any previously generated artifacts`); + await removeGenArtifacts(rootDir); + + console.log(`๐Ÿช„ Generating new artifacts`); + const TemplateService = await initTemplateService(); + await Promise.all( + parsedSources.map(async ({ sourcePath, parsedSchema }) => { + const generationContext = getGenerationContext(parsedSchema); + + // If there are no operations or components to generate, skip this file + const shouldGenerate = + generationContext.operations.length > 0 || generationContext.components !== undefined; + if (!shouldGenerate) { + return; + } + + const result = TemplateService.compileTemplate(templateName, generationContext); + + // Write the generation result to disk + await fs.writeFile(getGeneratedFilePath(sourcePath), result); + }) + ); + + // Format the output folder using prettier as the generator produces + // unformatted code and fix any eslint errors + console.log(`๐Ÿ’… Formatting output`); + const generatedArtifactsGlob = resolve(rootDir, './**/*.gen.ts'); + await formatOutput(generatedArtifactsGlob); + await fixEslint(generatedArtifactsGlob); +}; diff --git a/packages/kbn-openapi-generator/src/parser/get_generation_context.ts b/packages/kbn-openapi-generator/src/parser/get_generation_context.ts new file mode 100644 index 00000000000000..14a3b8eb2e178e --- /dev/null +++ b/packages/kbn-openapi-generator/src/parser/get_generation_context.ts @@ -0,0 +1,34 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 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 { OpenAPIV3 } from 'openapi-types'; +import { getApiOperationsList } from './lib/get_api_operations_list'; +import { getComponents } from './lib/get_components'; +import { getImportsMap, ImportsMap } from './lib/get_imports_map'; +import { normalizeSchema } from './lib/normalize_schema'; +import { NormalizedOperation, OpenApiDocument } from './openapi_types'; + +export interface GenerationContext { + components: OpenAPIV3.ComponentsObject | undefined; + operations: NormalizedOperation[]; + imports: ImportsMap; +} + +export function getGenerationContext(document: OpenApiDocument): GenerationContext { + const normalizedDocument = normalizeSchema(document); + + const components = getComponents(normalizedDocument); + const operations = getApiOperationsList(normalizedDocument); + const imports = getImportsMap(normalizedDocument); + + return { + components, + operations, + imports, + }; +} diff --git a/x-pack/plugins/security_solution/scripts/openapi/parsers/get_api_operations_list.ts b/packages/kbn-openapi-generator/src/parser/lib/get_api_operations_list.ts similarity index 87% rename from x-pack/plugins/security_solution/scripts/openapi/parsers/get_api_operations_list.ts rename to packages/kbn-openapi-generator/src/parser/lib/get_api_operations_list.ts index c9d9a75c078541..ac63820555419d 100644 --- a/x-pack/plugins/security_solution/scripts/openapi/parsers/get_api_operations_list.ts +++ b/packages/kbn-openapi-generator/src/parser/lib/get_api_operations_list.ts @@ -1,12 +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. + * 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 { OpenAPIV3 } from 'openapi-types'; -import type { NormalizedOperation, ObjectSchema, OpenApiDocument } from './openapi_types'; +import type { + NormalizedOperation, + NormalizedSchemaItem, + ObjectSchema, + OpenApiDocument, +} from '../openapi_types'; const HTTP_METHODS = Object.values(OpenAPIV3.HttpMethods); @@ -61,14 +67,12 @@ export function getApiOperationsList(parsedSchema: OpenApiDocument): NormalizedO `Cannot generate response for ${method} ${path}: $ref in response is not supported` ); } - const response = operation.responses?.['200']?.content?.['application/json']?.schema; if (operation.requestBody && '$ref' in operation.requestBody) { throw new Error( `Cannot generate request for ${method} ${path}: $ref in request body is not supported` ); } - const requestBody = operation.requestBody?.content?.['application/json']?.schema; const { operationId, description, tags, deprecated } = operation; @@ -78,7 +82,13 @@ export function getApiOperationsList(parsedSchema: OpenApiDocument): NormalizedO throw new Error(`Missing operationId for ${method} ${path}`); } - return { + const response = operation.responses?.['200']?.content?.['application/json']?.schema as + | NormalizedSchemaItem + | undefined; + const requestBody = operation.requestBody?.content?.['application/json']?.schema as + | NormalizedSchemaItem + | undefined; + const normalizedOperation: NormalizedOperation = { path, method, operationId, @@ -90,6 +100,8 @@ export function getApiOperationsList(parsedSchema: OpenApiDocument): NormalizedO requestBody, response, }; + + return normalizedOperation; }); } ); diff --git a/x-pack/plugins/security_solution/scripts/openapi/parsers/get_components.ts b/packages/kbn-openapi-generator/src/parser/lib/get_components.ts similarity index 59% rename from x-pack/plugins/security_solution/scripts/openapi/parsers/get_components.ts rename to packages/kbn-openapi-generator/src/parser/lib/get_components.ts index 5b3fef72905c0e..6e98793de1afb6 100644 --- a/x-pack/plugins/security_solution/scripts/openapi/parsers/get_components.ts +++ b/packages/kbn-openapi-generator/src/parser/lib/get_components.ts @@ -1,15 +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. + * 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 { OpenApiDocument } from './openapi_types'; +import type { OpenApiDocument } from '../openapi_types'; export function getComponents(parsedSchema: OpenApiDocument) { if (parsedSchema.components?.['x-codegen-enabled'] === false) { return undefined; } + return parsedSchema.components; } diff --git a/x-pack/plugins/security_solution/scripts/openapi/parsers/get_imports_map.ts b/packages/kbn-openapi-generator/src/parser/lib/get_imports_map.ts similarity index 76% rename from x-pack/plugins/security_solution/scripts/openapi/parsers/get_imports_map.ts rename to packages/kbn-openapi-generator/src/parser/lib/get_imports_map.ts index 8e068b61ba0344..c2259052e0cb6f 100644 --- a/x-pack/plugins/security_solution/scripts/openapi/parsers/get_imports_map.ts +++ b/packages/kbn-openapi-generator/src/parser/lib/get_imports_map.ts @@ -1,12 +1,14 @@ /* * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. + * 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 { uniq } from 'lodash'; -import type { OpenApiDocument } from './openapi_types'; +import type { OpenApiDocument } from '../openapi_types'; +import { traverseObject } from './traverse_object'; export interface ImportsMap { [importPath: string]: string[]; @@ -55,23 +57,11 @@ const hasRef = (obj: unknown): obj is { $ref: string } => { function findRefs(obj: unknown): string[] { const refs: string[] = []; - function search(element: unknown) { - if (typeof element === 'object' && element !== null) { - if (hasRef(element)) { - refs.push(element.$ref); - } - - Object.values(element).forEach((value) => { - if (Array.isArray(value)) { - value.forEach(search); - } else { - search(value); - } - }); + traverseObject(obj, (element) => { + if (hasRef(element)) { + refs.push(element.$ref); } - } - - search(obj); + }); return refs; } diff --git a/packages/kbn-openapi-generator/src/parser/lib/normalize_schema.ts b/packages/kbn-openapi-generator/src/parser/lib/normalize_schema.ts new file mode 100644 index 00000000000000..0ea2062e369c3a --- /dev/null +++ b/packages/kbn-openapi-generator/src/parser/lib/normalize_schema.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 { OpenAPIV3 } from 'openapi-types'; +import { NormalizedReferenceObject } from '../openapi_types'; +import { traverseObject } from './traverse_object'; + +/** + * Check if an object has a $ref property + * + * @param obj Any object + * @returns True if the object has a $ref property + */ +const hasRef = (obj: unknown): obj is NormalizedReferenceObject => { + return typeof obj === 'object' && obj !== null && '$ref' in obj; +}; + +export function normalizeSchema(schema: OpenAPIV3.Document) { + traverseObject(schema, (element) => { + if (hasRef(element)) { + const referenceName = element.$ref.split('/').pop(); + if (!referenceName) { + throw new Error(`Cannot parse reference name: ${element.$ref}`); + } + + element.referenceName = referenceName; + } + }); + + return schema; +} diff --git a/packages/kbn-openapi-generator/src/parser/lib/traverse_object.ts b/packages/kbn-openapi-generator/src/parser/lib/traverse_object.ts new file mode 100644 index 00000000000000..2049465e0753b7 --- /dev/null +++ b/packages/kbn-openapi-generator/src/parser/lib/traverse_object.ts @@ -0,0 +1,31 @@ +/* + * Copyright 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. + */ + +/** + * A generic function to traverse an object or array of objects recursively + * + * @param obj The object to traverse + * @param onVisit A function that will be called for each traversed node in the object + */ +export function traverseObject(obj: unknown, onVisit: (element: object) => void) { + function search(element: unknown) { + if (typeof element === 'object' && element !== null) { + onVisit(element); + + Object.values(element).forEach((value) => { + if (Array.isArray(value)) { + value.forEach(search); + } else { + search(value); + } + }); + } + } + + search(obj); +} diff --git a/x-pack/plugins/security_solution/scripts/openapi/parsers/openapi_types.ts b/packages/kbn-openapi-generator/src/parser/openapi_types.ts similarity index 62% rename from x-pack/plugins/security_solution/scripts/openapi/parsers/openapi_types.ts rename to packages/kbn-openapi-generator/src/parser/openapi_types.ts index 2449f34fa4b768..c8b1e4f7153456 100644 --- a/x-pack/plugins/security_solution/scripts/openapi/parsers/openapi_types.ts +++ b/packages/kbn-openapi-generator/src/parser/openapi_types.ts @@ -1,8 +1,9 @@ /* * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. + * 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 { OpenAPIV3 } from 'openapi-types'; @@ -27,6 +28,21 @@ declare module 'openapi-types' { } } +export type NormalizedReferenceObject = OpenAPIV3.ReferenceObject & { + referenceName: string; +}; + +export interface UnknownType { + type: 'unknown'; +} + +export type NormalizedSchemaObject = + | OpenAPIV3.ArraySchemaObject + | OpenAPIV3.NonArraySchemaObject + | UnknownType; + +export type NormalizedSchemaItem = OpenAPIV3.SchemaObject | NormalizedReferenceObject; + /** * OpenAPI types do not have a dedicated type for objects, so we need to create * to use for path and query parameters @@ -36,7 +52,7 @@ export interface ObjectSchema { required: string[]; description?: string; properties: { - [name: string]: OpenAPIV3.ReferenceObject | OpenAPIV3.SchemaObject; + [name: string]: NormalizedSchemaItem; }; } @@ -50,8 +66,8 @@ export interface NormalizedOperation { description?: string; tags?: string[]; deprecated?: boolean; - requestParams?: ObjectSchema; - requestQuery?: ObjectSchema; - requestBody?: OpenAPIV3.ReferenceObject | OpenAPIV3.SchemaObject; - response?: OpenAPIV3.ReferenceObject | OpenAPIV3.SchemaObject; + requestParams?: NormalizedSchemaItem; + requestQuery?: NormalizedSchemaItem; + requestBody?: NormalizedSchemaItem; + response?: NormalizedSchemaItem; } diff --git a/x-pack/plugins/security_solution/scripts/openapi/template_service/register_helpers.ts b/packages/kbn-openapi-generator/src/template_service/register_helpers.ts similarity index 75% rename from x-pack/plugins/security_solution/scripts/openapi/template_service/register_helpers.ts rename to packages/kbn-openapi-generator/src/template_service/register_helpers.ts index b3bb02f7743c89..1431dafcdfba9f 100644 --- a/x-pack/plugins/security_solution/scripts/openapi/template_service/register_helpers.ts +++ b/packages/kbn-openapi-generator/src/template_service/register_helpers.ts @@ -1,8 +1,9 @@ /* * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. + * 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 Handlebars from '@kbn/handlebars'; @@ -13,9 +14,6 @@ export function registerHelpers(handlebarsInstance: typeof Handlebars) { const values = args.slice(0, -1) as unknown[]; return values.join(''); }); - handlebarsInstance.registerHelper('parseRef', (refName: string) => { - return refName.split('/').pop(); - }); handlebarsInstance.registerHelper('snakeCase', snakeCase); handlebarsInstance.registerHelper('camelCase', camelCase); handlebarsInstance.registerHelper('toJSON', (value: unknown) => { @@ -43,13 +41,4 @@ export function registerHelpers(handlebarsInstance: typeof Handlebars) { handlebarsInstance.registerHelper('isUnknown', (val: object) => { return !('type' in val || '$ref' in val || 'anyOf' in val || 'oneOf' in val || 'allOf' in val); }); - handlebarsInstance.registerHelper('isEmpty', (val) => { - if (Array.isArray(val)) { - return val.length === 0; - } - if (typeof val === 'object') { - return Object.keys(val).length === 0; - } - return val === undefined || val === null || val === ''; - }); } diff --git a/x-pack/plugins/security_solution/scripts/openapi/template_service/register_templates.ts b/packages/kbn-openapi-generator/src/template_service/register_templates.ts similarity index 83% rename from x-pack/plugins/security_solution/scripts/openapi/template_service/register_templates.ts rename to packages/kbn-openapi-generator/src/template_service/register_templates.ts index fa39b52d99471b..b8f9711ecb1a66 100644 --- a/x-pack/plugins/security_solution/scripts/openapi/template_service/register_templates.ts +++ b/packages/kbn-openapi-generator/src/template_service/register_templates.ts @@ -1,8 +1,9 @@ /* * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. + * 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 Handlebars from '@kbn/handlebars'; diff --git a/x-pack/plugins/security_solution/scripts/openapi/template_service/template_service.ts b/packages/kbn-openapi-generator/src/template_service/template_service.ts similarity index 60% rename from x-pack/plugins/security_solution/scripts/openapi/template_service/template_service.ts rename to packages/kbn-openapi-generator/src/template_service/template_service.ts index becb02bb54ebe2..9980282bbfdc3c 100644 --- a/x-pack/plugins/security_solution/scripts/openapi/template_service/template_service.ts +++ b/packages/kbn-openapi-generator/src/template_service/template_service.ts @@ -1,28 +1,23 @@ /* * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. + * 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 Handlebars from 'handlebars'; -import type { OpenAPIV3 } from 'openapi-types'; import { resolve } from 'path'; -import type { ImportsMap } from '../parsers/get_imports_map'; -import type { NormalizedOperation } from '../parsers/openapi_types'; +import { GenerationContext } from '../parser/get_generation_context'; import { registerHelpers } from './register_helpers'; import { registerTemplates } from './register_templates'; -export interface TemplateContext { - importsMap: ImportsMap; - apiOperations: NormalizedOperation[]; - components: OpenAPIV3.ComponentsObject | undefined; -} +export const AVAILABLE_TEMPLATES = ['zod_operation_schema'] as const; -export type TemplateName = 'schemas'; +export type TemplateName = typeof AVAILABLE_TEMPLATES[number]; export interface ITemplateService { - compileTemplate: (templateName: TemplateName, context: TemplateContext) => string; + compileTemplate: (templateName: TemplateName, context: GenerationContext) => string; } /** @@ -36,7 +31,7 @@ export const initTemplateService = async (): Promise => { const templates = await registerTemplates(resolve(__dirname, './templates'), handlebars); return { - compileTemplate: (templateName: TemplateName, context: TemplateContext) => { + compileTemplate: (templateName: TemplateName, context: GenerationContext) => { return handlebars.compile(templates[templateName])(context); }, }; diff --git a/x-pack/plugins/security_solution/scripts/openapi/template_service/templates/disclaimer.handlebars b/packages/kbn-openapi-generator/src/template_service/templates/disclaimer.handlebars similarity index 80% rename from x-pack/plugins/security_solution/scripts/openapi/template_service/templates/disclaimer.handlebars rename to packages/kbn-openapi-generator/src/template_service/templates/disclaimer.handlebars index 4be0a93d1b79e6..403a5b54f09b37 100644 --- a/x-pack/plugins/security_solution/scripts/openapi/template_service/templates/disclaimer.handlebars +++ b/packages/kbn-openapi-generator/src/template_service/templates/disclaimer.handlebars @@ -1,5 +1,5 @@ /* * NOTICE: Do not edit this file manually. - * This file is automatically generated by the OpenAPI Generator `yarn openapi:generate`. + * This file is automatically generated by the OpenAPI Generator, @kbn/openapi-generator. */ \ No newline at end of file diff --git a/x-pack/plugins/security_solution/scripts/openapi/template_service/templates/schemas.handlebars b/packages/kbn-openapi-generator/src/template_service/templates/zod_operation_schema.handlebars similarity index 75% rename from x-pack/plugins/security_solution/scripts/openapi/template_service/templates/schemas.handlebars rename to packages/kbn-openapi-generator/src/template_service/templates/zod_operation_schema.handlebars index a6df5d96b124fe..0b129b3aa13ed9 100644 --- a/x-pack/plugins/security_solution/scripts/openapi/template_service/templates/schemas.handlebars +++ b/packages/kbn-openapi-generator/src/template_service/templates/zod_operation_schema.handlebars @@ -9,7 +9,7 @@ import { z } from "zod"; {{> disclaimer}} -{{#each importsMap}} +{{#each imports}} import { {{#each this}}{{.}},{{/each}} } from "{{@key}}" @@ -22,11 +22,15 @@ import { */ {{/description}} export type {{@key}} = z.infer; -export const {{@key}} = {{> schema_item}}; +export const {{@key}} = {{> zod_schema_item}}; +{{#if enum}} +export const {{@key}}Enum = {{@key}}.enum; +export type {{@key}}Enum = typeof {{@key}}.enum; +{{/if}} {{/each}} -{{#each apiOperations}} +{{#each operations}} {{#if requestQuery}} {{#if requestQuery.description}} /** @@ -34,7 +38,7 @@ export const {{@key}} = {{> schema_item}}; */ {{/if}} export type {{operationId}}RequestQuery = z.infer; -export const {{operationId}}RequestQuery = {{> schema_item requestQuery }}; +export const {{operationId}}RequestQuery = {{> zod_query_item requestQuery }}; export type {{operationId}}RequestQueryInput = z.input; {{/if}} @@ -45,7 +49,7 @@ export type {{operationId}}RequestQueryInput = z.input; -export const {{operationId}}RequestParams = {{> schema_item requestParams }}; +export const {{operationId}}RequestParams = {{> zod_schema_item requestParams }}; export type {{operationId}}RequestParamsInput = z.input; {{/if}} @@ -56,7 +60,7 @@ export type {{operationId}}RequestParamsInput = z.input; -export const {{operationId}}RequestBody = {{> schema_item requestBody }}; +export const {{operationId}}RequestBody = {{> zod_schema_item requestBody }}; export type {{operationId}}RequestBodyInput = z.input; {{/if}} @@ -67,6 +71,6 @@ export type {{operationId}}RequestBodyInput = z.input; -export const {{operationId}}Response = {{> schema_item response }}; +export const {{operationId}}Response = {{> zod_schema_item response }}; {{/if}} {{/each}} diff --git a/packages/kbn-openapi-generator/src/template_service/templates/zod_query_item.handlebars b/packages/kbn-openapi-generator/src/template_service/templates/zod_query_item.handlebars new file mode 100644 index 00000000000000..0b718d941cbed2 --- /dev/null +++ b/packages/kbn-openapi-generator/src/template_service/templates/zod_query_item.handlebars @@ -0,0 +1,51 @@ +{{~#if $ref~}} + {{referenceName}} + {{~#if nullable}}.nullable(){{/if~}} + {{~#if (eq requiredBool false)}}.optional(){{/if~}} + {{~#if (defined default)}}.default({{{toJSON default}}}){{/if~}} +{{~/if~}} + +{{~#if (eq type "object")}} + z.object({ + {{#each properties}} + {{#if description}} + /** + * {{{description}}} + */ + {{/if}} + {{@key}}: {{> zod_query_item requiredBool=(includes ../required @key)}}, + {{/each}} + }) +{{~/if~}} + +{{~#if (eq type "array")}} + z.preprocess( + (value: unknown) => (typeof value === "string") ? value === '' ? [] : value.split(",") : value, + z.array({{~> zod_schema_item items ~}}) + ) + {{~#if minItems}}.min({{minItems}}){{/if~}} + {{~#if maxItems}}.max({{maxItems}}){{/if~}} + {{~#if (eq requiredBool false)}}.optional(){{/if~}} + {{~#if (defined default)}}.default({{{toJSON default}}}){{/if~}} +{{~/if~}} + +{{~#if (eq type "boolean")}} + z.preprocess( + (value: unknown) => (typeof value === "boolean") ? String(value) : value, + z.enum(["true", "false"]) + {{~#if (defined default)}}.default("{{{toJSON default}}}"){{/if~}} + .transform((value) => value === "true") + ) +{{~/if~}} + +{{~#if (eq type "string")}} +{{> zod_schema_item}} +{{~/if~}} + +{{~#if (eq type "integer")}} +{{> zod_schema_item}} +{{~/if~}} + +{{~#if (eq type "number")}} +{{> zod_schema_item}} +{{~/if~}} diff --git a/x-pack/plugins/security_solution/scripts/openapi/template_service/templates/schema_item.handlebars b/packages/kbn-openapi-generator/src/template_service/templates/zod_schema_item.handlebars similarity index 79% rename from x-pack/plugins/security_solution/scripts/openapi/template_service/templates/schema_item.handlebars rename to packages/kbn-openapi-generator/src/template_service/templates/zod_schema_item.handlebars index 2d544a702ac004..dbf156b6a7b125 100644 --- a/x-pack/plugins/security_solution/scripts/openapi/template_service/templates/schema_item.handlebars +++ b/packages/kbn-openapi-generator/src/template_service/templates/zod_schema_item.handlebars @@ -6,7 +6,7 @@ {{~/if~}} {{~#if $ref~}} - {{parseRef $ref}} + {{referenceName}} {{~#if nullable}}.nullable(){{/if~}} {{~#if (eq requiredBool false)}}.optional(){{/if~}} {{~#if (defined default)}}.default({{{toJSON default}}}){{/if~}} @@ -15,9 +15,9 @@ {{~#if allOf~}} {{~#each allOf~}} {{~#if @first~}} - {{> schema_item }} + {{> zod_schema_item }} {{~else~}} - .and({{> schema_item }}) + .and({{> zod_schema_item }}) {{~/if~}} {{~/each~}} {{~/if~}} @@ -25,7 +25,7 @@ {{~#if anyOf~}} z.union([ {{~#each anyOf~}} - {{~> schema_item ~}}, + {{~> zod_schema_item ~}}, {{~/each~}} ]) {{~/if~}} @@ -33,7 +33,7 @@ {{~#if oneOf~}} z.union([ {{~#each oneOf~}} - {{~> schema_item ~}}, + {{~> zod_schema_item ~}}, {{~/each~}} ]) {{~/if~}} @@ -43,11 +43,7 @@ z.unknown() {{/if}} {{~#*inline "type_array"~}} - {{~#if x-preprocess}} - z.preprocess({{x-preprocess}}, z.array({{~> schema_item items ~}})) - {{else}} - z.array({{~> schema_item items ~}}) - {{~/if~}} + z.array({{~> zod_schema_item items ~}}) {{~#if minItems}}.min({{minItems}}){{/if~}} {{~#if maxItems}}.max({{maxItems}}){{/if~}} {{~/inline~}} @@ -58,11 +54,13 @@ z.unknown() {{~/inline~}} {{~#*inline "type_integer"~}} - {{~#if x-coerce}} - z.coerce.number() - {{~else~}} + z.number().int() + {{~#if minimum includeZero=true}}.min({{minimum}}){{/if~}} + {{~#if maximum includeZero=true}}.max({{maximum}}){{/if~}} +{{~/inline~}} + +{{~#*inline "type_number"~}} z.number() - {{~/if~}} {{~#if minimum includeZero=true}}.min({{minimum}}){{/if~}} {{~#if maximum includeZero=true}}.max({{maximum}}){{/if~}} {{~/inline~}} @@ -75,7 +73,7 @@ z.unknown() * {{{description}}} */ {{/if}} - {{@key}}: {{> schema_item requiredBool=(includes ../required @key)}}, + {{@key}}: {{> zod_schema_item requiredBool=(includes ../required @key)}}, {{/each}} }) {{#if (eq additionalProperties false)}}.strict(){{/if}} diff --git a/packages/kbn-openapi-generator/tsconfig.json b/packages/kbn-openapi-generator/tsconfig.json new file mode 100644 index 00000000000000..465b739262cf82 --- /dev/null +++ b/packages/kbn-openapi-generator/tsconfig.json @@ -0,0 +1,13 @@ +{ + "compilerOptions": { + "outDir": "target/types", + "types": ["jest", "node"] + }, + "exclude": ["target/**/*"], + "extends": "../../tsconfig.base.json", + "include": ["**/*.ts"], + "kbn_references": [ + "@kbn/repo-info", + "@kbn/handlebars", + ] +} diff --git a/scripts/generate_openapi.js b/scripts/generate_openapi.js new file mode 100644 index 00000000000000..2dfae34bf46dd7 --- /dev/null +++ b/scripts/generate_openapi.js @@ -0,0 +1,10 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 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. + */ + +require('../src/setup_node_env'); +require('@kbn/openapi-generator').runCli(); diff --git a/tsconfig.base.json b/tsconfig.base.json index 31381c82719626..a33f7b1cd960bd 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -1072,6 +1072,8 @@ "@kbn/oidc-provider-plugin/*": ["x-pack/test/security_api_integration/plugins/oidc_provider/*"], "@kbn/open-telemetry-instrumented-plugin": ["test/common/plugins/otel_metrics"], "@kbn/open-telemetry-instrumented-plugin/*": ["test/common/plugins/otel_metrics/*"], + "@kbn/openapi-generator": ["packages/kbn-openapi-generator"], + "@kbn/openapi-generator/*": ["packages/kbn-openapi-generator/*"], "@kbn/optimizer": ["packages/kbn-optimizer"], "@kbn/optimizer/*": ["packages/kbn-optimizer/*"], "@kbn/optimizer-webpack-helpers": ["packages/kbn-optimizer-webpack-helpers"], diff --git a/x-pack/plugins/security_solution/common/api/detection_engine/model/warning_schema.gen.ts b/x-pack/plugins/security_solution/common/api/detection_engine/model/warning_schema.gen.ts index 9bb7d32c19645b..c99e7d77da8300 100644 --- a/x-pack/plugins/security_solution/common/api/detection_engine/model/warning_schema.gen.ts +++ b/x-pack/plugins/security_solution/common/api/detection_engine/model/warning_schema.gen.ts @@ -9,7 +9,7 @@ import { z } from 'zod'; /* * NOTICE: Do not edit this file manually. - * This file is automatically generated by the OpenAPI Generator `yarn openapi:generate`. + * This file is automatically generated by the OpenAPI Generator, @kbn/openapi-generator. */ export type WarningSchema = z.infer; diff --git a/x-pack/plugins/security_solution/common/api/detection_engine/prebuilt_rules/get_prebuilt_rules_and_timelines_status/get_prebuilt_rules_and_timelines_status_route.gen.ts b/x-pack/plugins/security_solution/common/api/detection_engine/prebuilt_rules/get_prebuilt_rules_and_timelines_status/get_prebuilt_rules_and_timelines_status_route.gen.ts index 9f9abdf51dc4e6..f68164f5bc12b0 100644 --- a/x-pack/plugins/security_solution/common/api/detection_engine/prebuilt_rules/get_prebuilt_rules_and_timelines_status/get_prebuilt_rules_and_timelines_status_route.gen.ts +++ b/x-pack/plugins/security_solution/common/api/detection_engine/prebuilt_rules/get_prebuilt_rules_and_timelines_status/get_prebuilt_rules_and_timelines_status_route.gen.ts @@ -9,7 +9,7 @@ import { z } from 'zod'; /* * NOTICE: Do not edit this file manually. - * This file is automatically generated by the OpenAPI Generator `yarn openapi:generate`. + * This file is automatically generated by the OpenAPI Generator, @kbn/openapi-generator. */ export type GetPrebuiltRulesAndTimelinesStatusResponse = z.infer< @@ -20,30 +20,30 @@ export const GetPrebuiltRulesAndTimelinesStatusResponse = z /** * The total number of custom rules */ - rules_custom_installed: z.number().min(0), + rules_custom_installed: z.number().int().min(0), /** * The total number of installed prebuilt rules */ - rules_installed: z.number().min(0), + rules_installed: z.number().int().min(0), /** * The total number of available prebuilt rules that are not installed */ - rules_not_installed: z.number().min(0), + rules_not_installed: z.number().int().min(0), /** * The total number of outdated prebuilt rules */ - rules_not_updated: z.number().min(0), + rules_not_updated: z.number().int().min(0), /** * The total number of installed prebuilt timelines */ - timelines_installed: z.number().min(0), + timelines_installed: z.number().int().min(0), /** * The total number of available prebuilt timelines that are not installed */ - timelines_not_installed: z.number().min(0), + timelines_not_installed: z.number().int().min(0), /** * The total number of outdated prebuilt timelines */ - timelines_not_updated: z.number().min(0), + timelines_not_updated: z.number().int().min(0), }) .strict(); diff --git a/x-pack/plugins/security_solution/common/api/endpoint/actions/audit_log.gen.ts b/x-pack/plugins/security_solution/common/api/endpoint/actions/audit_log.gen.ts index a36476054dfdc7..36a15ffc5f7018 100644 --- a/x-pack/plugins/security_solution/common/api/endpoint/actions/audit_log.gen.ts +++ b/x-pack/plugins/security_solution/common/api/endpoint/actions/audit_log.gen.ts @@ -9,7 +9,7 @@ import { z } from 'zod'; /* * NOTICE: Do not edit this file manually. - * This file is automatically generated by the OpenAPI Generator `yarn openapi:generate`. + * This file is automatically generated by the OpenAPI Generator, @kbn/openapi-generator. */ import { Page, PageSize, StartDate, EndDate, AgentId } from '../model/schema/common.gen'; diff --git a/x-pack/plugins/security_solution/common/api/endpoint/actions/details.gen.ts b/x-pack/plugins/security_solution/common/api/endpoint/actions/details.gen.ts index b9557d98e87f97..546878e699cd91 100644 --- a/x-pack/plugins/security_solution/common/api/endpoint/actions/details.gen.ts +++ b/x-pack/plugins/security_solution/common/api/endpoint/actions/details.gen.ts @@ -9,7 +9,7 @@ import { z } from 'zod'; /* * NOTICE: Do not edit this file manually. - * This file is automatically generated by the OpenAPI Generator `yarn openapi:generate`. + * This file is automatically generated by the OpenAPI Generator, @kbn/openapi-generator. */ export type DetailsRequestParams = z.infer; diff --git a/x-pack/plugins/security_solution/common/api/endpoint/actions/execute.gen.ts b/x-pack/plugins/security_solution/common/api/endpoint/actions/execute.gen.ts index e1176c167fcf49..dbd24eef454d31 100644 --- a/x-pack/plugins/security_solution/common/api/endpoint/actions/execute.gen.ts +++ b/x-pack/plugins/security_solution/common/api/endpoint/actions/execute.gen.ts @@ -9,7 +9,7 @@ import { z } from 'zod'; /* * NOTICE: Do not edit this file manually. - * This file is automatically generated by the OpenAPI Generator `yarn openapi:generate`. + * This file is automatically generated by the OpenAPI Generator, @kbn/openapi-generator. */ import { BaseActionSchema, Command, Timeout } from '../model/schema/common.gen'; diff --git a/x-pack/plugins/security_solution/common/api/endpoint/actions/file_download.gen.ts b/x-pack/plugins/security_solution/common/api/endpoint/actions/file_download.gen.ts index 0b70a7676e069d..945a03f0d38d2f 100644 --- a/x-pack/plugins/security_solution/common/api/endpoint/actions/file_download.gen.ts +++ b/x-pack/plugins/security_solution/common/api/endpoint/actions/file_download.gen.ts @@ -9,7 +9,7 @@ import { z } from 'zod'; /* * NOTICE: Do not edit this file manually. - * This file is automatically generated by the OpenAPI Generator `yarn openapi:generate`. + * This file is automatically generated by the OpenAPI Generator, @kbn/openapi-generator. */ export type FileDownloadRequestParams = z.infer; diff --git a/x-pack/plugins/security_solution/common/api/endpoint/actions/file_info.gen.ts b/x-pack/plugins/security_solution/common/api/endpoint/actions/file_info.gen.ts index 1e4e7813d35b8f..ef9a40462334e9 100644 --- a/x-pack/plugins/security_solution/common/api/endpoint/actions/file_info.gen.ts +++ b/x-pack/plugins/security_solution/common/api/endpoint/actions/file_info.gen.ts @@ -9,7 +9,7 @@ import { z } from 'zod'; /* * NOTICE: Do not edit this file manually. - * This file is automatically generated by the OpenAPI Generator `yarn openapi:generate`. + * This file is automatically generated by the OpenAPI Generator, @kbn/openapi-generator. */ export type FileInfoRequestParams = z.infer; diff --git a/x-pack/plugins/security_solution/common/api/endpoint/actions/file_upload.gen.ts b/x-pack/plugins/security_solution/common/api/endpoint/actions/file_upload.gen.ts index af03b239d39138..785a4a1097e0cd 100644 --- a/x-pack/plugins/security_solution/common/api/endpoint/actions/file_upload.gen.ts +++ b/x-pack/plugins/security_solution/common/api/endpoint/actions/file_upload.gen.ts @@ -9,7 +9,7 @@ import { z } from 'zod'; /* * NOTICE: Do not edit this file manually. - * This file is automatically generated by the OpenAPI Generator `yarn openapi:generate`. + * This file is automatically generated by the OpenAPI Generator, @kbn/openapi-generator. */ import { BaseActionSchema } from '../model/schema/common.gen'; diff --git a/x-pack/plugins/security_solution/common/api/endpoint/actions/get_file.gen.ts b/x-pack/plugins/security_solution/common/api/endpoint/actions/get_file.gen.ts index d8109d433fab44..648f1700a54ca1 100644 --- a/x-pack/plugins/security_solution/common/api/endpoint/actions/get_file.gen.ts +++ b/x-pack/plugins/security_solution/common/api/endpoint/actions/get_file.gen.ts @@ -9,7 +9,7 @@ import { z } from 'zod'; /* * NOTICE: Do not edit this file manually. - * This file is automatically generated by the OpenAPI Generator `yarn openapi:generate`. + * This file is automatically generated by the OpenAPI Generator, @kbn/openapi-generator. */ import { BaseActionSchema } from '../model/schema/common.gen'; diff --git a/x-pack/plugins/security_solution/common/api/endpoint/actions/list.gen.ts b/x-pack/plugins/security_solution/common/api/endpoint/actions/list.gen.ts index f734092c220581..32844921170bd2 100644 --- a/x-pack/plugins/security_solution/common/api/endpoint/actions/list.gen.ts +++ b/x-pack/plugins/security_solution/common/api/endpoint/actions/list.gen.ts @@ -9,7 +9,7 @@ import { z } from 'zod'; /* * NOTICE: Do not edit this file manually. - * This file is automatically generated by the OpenAPI Generator `yarn openapi:generate`. + * This file is automatically generated by the OpenAPI Generator, @kbn/openapi-generator. */ import { @@ -31,7 +31,7 @@ export const ListRequestQuery = z.object({ /** * Number of items per page */ - pageSize: z.number().min(1).max(10000).optional().default(10), + pageSize: z.number().int().min(1).max(10000).optional().default(10), startDate: StartDate.optional(), endDate: EndDate.optional(), userIds: UserIds.optional(), diff --git a/x-pack/plugins/security_solution/common/api/endpoint/metadata/list_metadata.gen.ts b/x-pack/plugins/security_solution/common/api/endpoint/metadata/list_metadata.gen.ts index fca1370559ada4..d56463621d3c89 100644 --- a/x-pack/plugins/security_solution/common/api/endpoint/metadata/list_metadata.gen.ts +++ b/x-pack/plugins/security_solution/common/api/endpoint/metadata/list_metadata.gen.ts @@ -9,7 +9,7 @@ import { z } from 'zod'; /* * NOTICE: Do not edit this file manually. - * This file is automatically generated by the OpenAPI Generator `yarn openapi:generate`. + * This file is automatically generated by the OpenAPI Generator, @kbn/openapi-generator. */ export type ListRequestQuery = z.infer; @@ -17,11 +17,11 @@ export const ListRequestQuery = z.object({ /** * Page number */ - page: z.number().min(0).optional().default(0), + page: z.number().int().min(0).optional().default(0), /** * Number of items per page */ - pageSize: z.number().min(1).max(10000).optional().default(10), + pageSize: z.number().int().min(1).max(10000).optional().default(10), kuery: z.string().nullable().optional(), sortField: z .enum([ diff --git a/x-pack/plugins/security_solution/common/api/endpoint/model/schema/common.gen.ts b/x-pack/plugins/security_solution/common/api/endpoint/model/schema/common.gen.ts index 89f15504c4be5e..2dffbc473ecc6f 100644 --- a/x-pack/plugins/security_solution/common/api/endpoint/model/schema/common.gen.ts +++ b/x-pack/plugins/security_solution/common/api/endpoint/model/schema/common.gen.ts @@ -9,7 +9,7 @@ import { z } from 'zod'; /* * NOTICE: Do not edit this file manually. - * This file is automatically generated by the OpenAPI Generator `yarn openapi:generate`. + * This file is automatically generated by the OpenAPI Generator, @kbn/openapi-generator. */ export type Id = z.infer; @@ -22,13 +22,13 @@ export const IdOrUndefined = Id.nullable(); * Page number */ export type Page = z.infer; -export const Page = z.number().min(1).default(1); +export const Page = z.number().int().min(1).default(1); /** * Number of items per page */ export type PageSize = z.infer; -export const PageSize = z.number().min(1).max(100).default(10); +export const PageSize = z.number().int().min(1).max(100).default(10); /** * Start date @@ -65,6 +65,8 @@ export const Command = z.enum([ 'execute', 'upload', ]); +export const CommandEnum = Command.enum; +export type CommandEnum = typeof Command.enum; export type Commands = z.infer; export const Commands = z.array(Command); @@ -73,10 +75,12 @@ export const Commands = z.array(Command); * The maximum timeout value in milliseconds (optional) */ export type Timeout = z.infer; -export const Timeout = z.number().min(1); +export const Timeout = z.number().int().min(1); export type Status = z.infer; export const Status = z.enum(['failed', 'pending', 'successful']); +export const StatusEnum = Status.enum; +export type StatusEnum = typeof Status.enum; export type Statuses = z.infer; export const Statuses = z.array(Status); @@ -95,6 +99,8 @@ export const WithOutputs = z.union([z.array(z.string().min(1)).min(1), z.string( export type Type = z.infer; export const Type = z.enum(['automated', 'manual']); +export const TypeEnum = Type.enum; +export type TypeEnum = typeof Type.enum; export type Types = z.infer; export const Types = z.array(Type); @@ -143,7 +149,7 @@ export const ProcessActionSchemas = BaseActionSchema.and( z.object({ parameters: z.union([ z.object({ - pid: z.number().min(1).optional(), + pid: z.number().int().min(1).optional(), }), z.object({ entity_id: z.string().min(1).optional(), diff --git a/x-pack/plugins/security_solution/common/api/endpoint/policy/policy.gen.ts b/x-pack/plugins/security_solution/common/api/endpoint/policy/policy.gen.ts index 3e511f7b4aad47..0b81cbdccd8825 100644 --- a/x-pack/plugins/security_solution/common/api/endpoint/policy/policy.gen.ts +++ b/x-pack/plugins/security_solution/common/api/endpoint/policy/policy.gen.ts @@ -9,7 +9,7 @@ import { z } from 'zod'; /* * NOTICE: Do not edit this file manually. - * This file is automatically generated by the OpenAPI Generator `yarn openapi:generate`. + * This file is automatically generated by the OpenAPI Generator, @kbn/openapi-generator. */ import { SuccessResponse, AgentId } from '../model/schema/common.gen'; diff --git a/x-pack/plugins/security_solution/common/api/endpoint/suggestions/get_suggestions.gen.ts b/x-pack/plugins/security_solution/common/api/endpoint/suggestions/get_suggestions.gen.ts index a827c94d3b5fdb..c1bc91e6ded867 100644 --- a/x-pack/plugins/security_solution/common/api/endpoint/suggestions/get_suggestions.gen.ts +++ b/x-pack/plugins/security_solution/common/api/endpoint/suggestions/get_suggestions.gen.ts @@ -9,7 +9,7 @@ import { z } from 'zod'; /* * NOTICE: Do not edit this file manually. - * This file is automatically generated by the OpenAPI Generator `yarn openapi:generate`. + * This file is automatically generated by the OpenAPI Generator, @kbn/openapi-generator. */ import { SuccessResponse } from '../model/schema/common.gen'; diff --git a/x-pack/plugins/security_solution/scripts/openapi/generate.js b/x-pack/plugins/security_solution/scripts/openapi/generate.js index bd88357a3754d0..77446122827505 100644 --- a/x-pack/plugins/security_solution/scripts/openapi/generate.js +++ b/x-pack/plugins/security_solution/scripts/openapi/generate.js @@ -6,6 +6,13 @@ */ require('../../../../../src/setup_node_env'); -const { generate } = require('./openapi_generator'); +const { generate } = require('@kbn/openapi-generator'); +const { resolve } = require('path'); -generate(); +const SECURITY_SOLUTION_ROOT = resolve(__dirname, '../..'); + +generate({ + rootDir: SECURITY_SOLUTION_ROOT, + sourceGlob: './**/*.schema.yaml', + templateName: 'zod_operation_schema', +}); diff --git a/x-pack/plugins/security_solution/scripts/openapi/openapi_generator.ts b/x-pack/plugins/security_solution/scripts/openapi/openapi_generator.ts deleted file mode 100644 index 272e62061c6a49..00000000000000 --- a/x-pack/plugins/security_solution/scripts/openapi/openapi_generator.ts +++ /dev/null @@ -1,77 +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. - */ - -/* eslint-disable no-console */ - -import SwaggerParser from '@apidevtools/swagger-parser'; -import chalk from 'chalk'; -import fs from 'fs/promises'; -import globby from 'globby'; -import { resolve } from 'path'; -import { fixEslint } from './lib/fix_eslint'; -import { formatOutput } from './lib/format_output'; -import { removeGenArtifacts } from './lib/remove_gen_artifacts'; -import { getApiOperationsList } from './parsers/get_api_operations_list'; -import { getComponents } from './parsers/get_components'; -import { getImportsMap } from './parsers/get_imports_map'; -import type { OpenApiDocument } from './parsers/openapi_types'; -import { initTemplateService } from './template_service/template_service'; - -const ROOT_SECURITY_SOLUTION_FOLDER = resolve(__dirname, '../..'); -const COMMON_API_FOLDER = resolve(ROOT_SECURITY_SOLUTION_FOLDER, './common/api'); -const SCHEMA_FILES_GLOB = resolve(ROOT_SECURITY_SOLUTION_FOLDER, './**/*.schema.yaml'); -const GENERATED_ARTIFACTS_GLOB = resolve(COMMON_API_FOLDER, './**/*.gen.ts'); - -export const generate = async () => { - console.log(chalk.bold(`Generating API route schemas`)); - console.log(chalk.bold(`Working directory: ${chalk.underline(COMMON_API_FOLDER)}`)); - - console.log(`๐Ÿ‘€ Searching for schemas`); - const schemaPaths = await globby([SCHEMA_FILES_GLOB]); - - console.log(`๐Ÿ•ต๏ธโ€โ™€๏ธ Found ${schemaPaths.length} schemas, parsing`); - const parsedSchemas = await Promise.all( - schemaPaths.map(async (schemaPath) => { - const parsedSchema = (await SwaggerParser.parse(schemaPath)) as OpenApiDocument; - return { schemaPath, parsedSchema }; - }) - ); - - console.log(`๐Ÿงน Cleaning up any previously generated artifacts`); - await removeGenArtifacts(COMMON_API_FOLDER); - - console.log(`๐Ÿช„ Generating new artifacts`); - const TemplateService = await initTemplateService(); - await Promise.all( - parsedSchemas.map(async ({ schemaPath, parsedSchema }) => { - const components = getComponents(parsedSchema); - const apiOperations = getApiOperationsList(parsedSchema); - const importsMap = getImportsMap(parsedSchema); - - // If there are no operations or components to generate, skip this file - const shouldGenerate = apiOperations.length > 0 || components !== undefined; - if (!shouldGenerate) { - return; - } - - const result = TemplateService.compileTemplate('schemas', { - components, - apiOperations, - importsMap, - }); - - // Write the generation result to disk - await fs.writeFile(schemaPath.replace('.schema.yaml', '.gen.ts'), result); - }) - ); - - // Format the output folder using prettier as the generator produces - // unformatted code and fix any eslint errors - console.log(`๐Ÿ’… Formatting output`); - await formatOutput(GENERATED_ARTIFACTS_GLOB); - await fixEslint(GENERATED_ARTIFACTS_GLOB); -}; diff --git a/x-pack/plugins/security_solution/tsconfig.json b/x-pack/plugins/security_solution/tsconfig.json index e73140fec20b72..3dbc778394ecbd 100644 --- a/x-pack/plugins/security_solution/tsconfig.json +++ b/x-pack/plugins/security_solution/tsconfig.json @@ -170,8 +170,8 @@ "@kbn/core-logging-server-mocks", "@kbn/core-lifecycle-browser", "@kbn/security-solution-features", - "@kbn/handlebars", "@kbn/content-management-plugin", - "@kbn/subscription-tracking" + "@kbn/subscription-tracking", + "@kbn/openapi-generator" ] } diff --git a/yarn.lock b/yarn.lock index 83eb6e673dc60c..84df6498ff2507 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5087,6 +5087,10 @@ version "0.0.0" uid "" +"@kbn/openapi-generator@link:packages/kbn-openapi-generator": + version "0.0.0" + uid "" + "@kbn/optimizer-webpack-helpers@link:packages/kbn-optimizer-webpack-helpers": version "0.0.0" uid "" From d601747e3a6e74f2abdc70119876cd9484f51ba3 Mon Sep 17 00:00:00 2001 From: Alex Szabo Date: Mon, 25 Sep 2023 11:16:45 +0200 Subject: [PATCH 67/72] fix: Fix hash on changed sha key (#167116) ## Summary Infra updated the GPG keys for elastic, so we need to adjust the hash of the gpg key. more context: https://elastic.slack.com/archives/C0D8P2XK5/p1695621791855459 --- src/dev/build/tasks/fleet/download_elastic_gpg_key.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/dev/build/tasks/fleet/download_elastic_gpg_key.ts b/src/dev/build/tasks/fleet/download_elastic_gpg_key.ts index 85e927001bd419..483a342ba300ec 100644 --- a/src/dev/build/tasks/fleet/download_elastic_gpg_key.ts +++ b/src/dev/build/tasks/fleet/download_elastic_gpg_key.ts @@ -15,7 +15,7 @@ import { downloadToDisk } from '../../lib'; const ARTIFACTS_URL = 'https://artifacts.elastic.co/'; const GPG_KEY_NAME = 'GPG-KEY-elasticsearch'; const GPG_KEY_SHA512 = - '84ee193cc337344d9a7da9021daf3f5ede83f5f1ab049d169f3634921529dcd096abf7a91eec7f26f3a6913e5e38f88f69a5e2ce79ad155d46edc75705a648c6'; + '62a567354286deb02baf5fc6b82ddf6c7067898723463da9ae65b132b8c6d6f064b2874e390885682376228eed166c1c82fe7f11f6c9a69f0c157029c548fa3d'; export async function downloadElasticGpgKey(pkgDir: string, log: ToolingLog) { const gpgKeyUrl = ARTIFACTS_URL + GPG_KEY_NAME; From e6cbe509a0395c44ab5bd4d5d67550a22cd693ec Mon Sep 17 00:00:00 2001 From: Maxim Kholod Date: Mon, 25 Sep 2023 11:17:10 +0200 Subject: [PATCH 68/72] [Cloud Security][Fleet] fix broken k8s manifest link (#167059) ## Summary fixes: - https://github.com/elastic/kibana/issues/166931 The issue was introduced in https://github.com/elastic/kibana/pull/165127/files#diff-276f84c47e09954d668b83d633d87edc09406b69603dac7e63964b70e2342af1R120 ### Checklist - [x] [Unit or functional tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html) were updated or added to match the most common scenarios --- .../kubernetes_instructions.test.tsx | 22 +++++++++++++++++++ .../kubernetes_instructions.tsx | 16 +++++++++----- 2 files changed, 32 insertions(+), 6 deletions(-) create mode 100644 x-pack/plugins/fleet/public/components/agent_enrollment_flyout/kubernetes_instructions.test.tsx diff --git a/x-pack/plugins/fleet/public/components/agent_enrollment_flyout/kubernetes_instructions.test.tsx b/x-pack/plugins/fleet/public/components/agent_enrollment_flyout/kubernetes_instructions.test.tsx new file mode 100644 index 00000000000000..9eab4d3e0c99a8 --- /dev/null +++ b/x-pack/plugins/fleet/public/components/agent_enrollment_flyout/kubernetes_instructions.test.tsx @@ -0,0 +1,22 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { getManifestDownloadLink } from './kubernetes_instructions'; + +describe('getManifestDownloadLink', () => { + it('should return the correct link', () => { + expect(getManifestDownloadLink('https://fleet.host', 'enrollmentToken')).toEqual( + '/api/fleet/kubernetes/download?fleetServer=https%3A%2F%2Ffleet.host&enrolToken=enrollmentToken' + ); + expect(getManifestDownloadLink('https://fleet.host')).toEqual( + '/api/fleet/kubernetes/download?fleetServer=https%3A%2F%2Ffleet.host' + ); + expect(getManifestDownloadLink(undefined, 'enrollmentToken')).toEqual( + '/api/fleet/kubernetes/download?enrolToken=enrollmentToken' + ); + }); +}); diff --git a/x-pack/plugins/fleet/public/components/agent_enrollment_flyout/kubernetes_instructions.tsx b/x-pack/plugins/fleet/public/components/agent_enrollment_flyout/kubernetes_instructions.tsx index 8125cdb4acf35c..a44b7ab4020e9a 100644 --- a/x-pack/plugins/fleet/public/components/agent_enrollment_flyout/kubernetes_instructions.tsx +++ b/x-pack/plugins/fleet/public/components/agent_enrollment_flyout/kubernetes_instructions.tsx @@ -31,6 +31,15 @@ interface Props { fleetServerHost?: string; } +export const getManifestDownloadLink = (fleetServerHost?: string, enrollmentAPIKey?: string) => { + const searchParams = new URLSearchParams({ + ...(fleetServerHost && { fleetServer: fleetServerHost }), + ...(enrollmentAPIKey && { enrolToken: enrollmentAPIKey }), + }); + + return `${agentPolicyRouteService.getK8sFullDownloadPath()}?${searchParams.toString()}`; +}; + export const KubernetesInstructions: React.FunctionComponent = ({ enrollmentAPIKey, onCopy, @@ -111,13 +120,8 @@ export const KubernetesInstructions: React.FunctionComponent = ({ ); - const searchParams = new URLSearchParams({ - ...(fleetServerHost && { fleetServer: fleetServerHost }), - ...(enrollmentAPIKey && { enrolToken: enrollmentAPIKey }), - }); - const downloadLink = core.http.basePath.prepend( - `${agentPolicyRouteService.getK8sFullDownloadPath()}${searchParams.toString()}` + getManifestDownloadLink(fleetServerHost, enrollmentAPIKey) ); const k8sDownloadYaml = ( From 9cbd597ebb2a3912eb3897142c61b22ab3a5ae3a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cau=C3=AA=20Marcondes?= <55978943+cauemarcondes@users.noreply.github.com> Date: Mon, 25 Sep 2023 10:51:03 +0100 Subject: [PATCH 69/72] [Profiling] Fix set up process (#167067) So clients reported that they got stuck in the set up screen In the Universal Profling UI. And when the set up button was clicked an error happened: ``` An integration policy with the name elastic-universal-profiling-collector already exists. Please rename it or choose a different name. ``` This happens because when we were checking if the Collector and Symbolizer integrations were installed we weren't taking into consideration that the Fleet API is paginated. So if neither integration was available on the first page we just assumed the Profiling wasn't set up. This PR fixes it by adding a kuery filter in the Fleet API call to only look for out integrations. So we don't need to worry about paginating. --- .../profiling_data_access/common/fleet_policies.ts | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/x-pack/plugins/profiling_data_access/common/fleet_policies.ts b/x-pack/plugins/profiling_data_access/common/fleet_policies.ts index c3c489563b8acb..d3a9b51dd55d5e 100644 --- a/x-pack/plugins/profiling_data_access/common/fleet_policies.ts +++ b/x-pack/plugins/profiling_data_access/common/fleet_policies.ts @@ -7,6 +7,7 @@ import { SavedObjectsClientContract } from '@kbn/core/server'; import type { PackagePolicyClient } from '@kbn/fleet-plugin/server'; +import { PACKAGE_POLICY_SAVED_OBJECT_TYPE, PackagePolicy } from '@kbn/fleet-plugin/common'; import { getApmPolicy } from './get_apm_policy'; import { PartialSetupState, ProfilingSetupOptions } from './setup'; @@ -21,9 +22,11 @@ async function getPackagePolicy({ packagePolicyClient: PackagePolicyClient; soClient: SavedObjectsClientContract; packageName: string; -}) { - const packagePolicies = await packagePolicyClient.list(soClient, {}); - return packagePolicies.items.find((pkg) => pkg.name === packageName); +}): Promise { + const packagePolicies = await packagePolicyClient.list(soClient, { + kuery: `${PACKAGE_POLICY_SAVED_OBJECT_TYPE}.name:${packageName}`, + }); + return packagePolicies.items[0]; } export async function getCollectorPolicy({ From e44362feae21d8a3e7d8090cabc7fed682d6956d Mon Sep 17 00:00:00 2001 From: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> Date: Mon, 25 Sep 2023 06:24:07 -0400 Subject: [PATCH 70/72] skip failing test suite (#151854) --- .../test/security_solution_endpoint_api_int/apis/metadata.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/x-pack/test/security_solution_endpoint_api_int/apis/metadata.ts b/x-pack/test/security_solution_endpoint_api_int/apis/metadata.ts index b92a26e7851273..c4778f7039a91e 100644 --- a/x-pack/test/security_solution_endpoint_api_int/apis/metadata.ts +++ b/x-pack/test/security_solution_endpoint_api_int/apis/metadata.ts @@ -43,7 +43,8 @@ export default function ({ getService }: FtrProviderContext) { const supertest = getService('supertest'); const endpointTestResources = getService('endpointTestResources'); - describe('test metadata apis', () => { + // Failing: See https://github.com/elastic/kibana/issues/151854 + describe.skip('test metadata apis', () => { describe('list endpoints GET route', () => { const numberOfHostsInFixture = 2; let agent1Timestamp: number; From 62e087a8a8c7507cd0ead1e54d2db36654c58e60 Mon Sep 17 00:00:00 2001 From: natasha-moore-elastic <137783811+natasha-moore-elastic@users.noreply.github.com> Date: Mon, 25 Sep 2023 11:38:41 +0100 Subject: [PATCH 71/72] [DOCS] Makes shards optional in Create pack API (#166639) ## Summary * Resolves https://github.com/elastic/security-docs/issues/3822. * Updates the `shards` object in Create pack API to optional for 8.10.1 and 8.11.0 onwards, per https://github.com/elastic/kibana/pull/166178 * Related to changes made in https://github.com/elastic/kibana/pull/166363. --- docs/api/osquery-manager/packs/create.asciidoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/api/osquery-manager/packs/create.asciidoc b/docs/api/osquery-manager/packs/create.asciidoc index 2fcfc58d43dba7..280f6a1d9fe753 100644 --- a/docs/api/osquery-manager/packs/create.asciidoc +++ b/docs/api/osquery-manager/packs/create.asciidoc @@ -33,7 +33,7 @@ experimental[] Create packs. `policy_ids`:: (Optional, array) A list of agents policy IDs. -`shards`:: (Required, object) An object with shard configuration for policies included in the pack. For each policy, set the shard configuration to a percentage (1โ€“100) of target hosts. +`shards`:: (Optional, object) An object with shard configuration for policies included in the pack. For each policy, set the shard configuration to a percentage (1โ€“100) of target hosts. `queries`:: (Required, object) An object of queries. From d8b80901d7ea1b2f3ca333c9452f4962de720f3d Mon Sep 17 00:00:00 2001 From: Shahzad Date: Mon, 25 Sep 2023 12:50:57 +0200 Subject: [PATCH 72/72] [Uptime] Fixes monitor details overview (#166736) --- .../components/monitor/monitor_title.test.tsx | 33 +------- .../components/monitor/monitor_title.tsx | 83 ------------------- .../monitor_status.bar.test.tsx.snap | 75 ++++++++++++----- .../ssl_certificate.test.tsx.snap | 42 ++-------- .../status_bar/ssl_certificate.tsx | 13 ++- .../status_details/status_bar/status_bar.tsx | 68 ++++++++------- .../monitor/status_details/status_details.tsx | 25 +----- .../columns/define_connectors.test.tsx | 12 +-- .../columns/define_connectors.tsx | 44 ++-------- .../monitor_list/columns/enable_alert.tsx | 8 +- .../uptime/public/legacy_uptime/routes.tsx | 3 +- 11 files changed, 122 insertions(+), 284 deletions(-) diff --git a/x-pack/plugins/uptime/public/legacy_uptime/components/monitor/monitor_title.test.tsx b/x-pack/plugins/uptime/public/legacy_uptime/components/monitor/monitor_title.test.tsx index 3c98245760fcbe..45b3c182084f60 100644 --- a/x-pack/plugins/uptime/public/legacy_uptime/components/monitor/monitor_title.test.tsx +++ b/x-pack/plugins/uptime/public/legacy_uptime/components/monitor/monitor_title.test.tsx @@ -13,7 +13,7 @@ import { render } from '../../lib/helper/rtl_helpers'; import * as reactRouterDom from 'react-router-dom'; import { Ping } from '../../../../common/runtime_types'; -import { MonitorPageTitle, MonitorPageTitleContent } from './monitor_title'; +import { MonitorPageTitle } from './monitor_title'; jest.mock('react-router-dom', () => { const originalModule = jest.requireActual('react-router-dom'); @@ -51,23 +51,6 @@ describe('MonitorTitle component', () => { }, }; - const defaultBrowserMonitorStatus: Ping = { - docId: 'few213kl', - timestamp: moment(new Date()).subtract(15, 'm').toString(), - monitor: { - duration: { - us: 1234567, - }, - id: 'browser', - status: 'up', - type: 'browser', - check_group: 'test-group', - }, - url: { - full: 'https://www.elastic.co/', - }, - }; - const monitorStatusWithName: Ping = { ...defaultMonitorStatus, monitor: { @@ -84,14 +67,12 @@ describe('MonitorTitle component', () => { render( <> - , { state: { monitorStatus: { status: monitorStatusWithName, loading: false } }, } ); expect(screen.getByText(monitorName)); - expect(screen.getByRole('switch')).toBeInTheDocument(); }); it('renders the user provided monitorId when the name is not present', () => { @@ -114,16 +95,4 @@ describe('MonitorTitle component', () => { ); expect(screen.getByText(defaultMonitorStatus!.url!.full!)); }); - - it('renders beta disclaimer for synthetics monitors', () => { - render(, { - state: { monitorStatus: { status: defaultBrowserMonitorStatus, loading: false } }, - }); - const betaLink = screen.getByRole('link', { - name: 'See more External link (opens in a new tab or window)', - }) as HTMLAnchorElement; - expect(betaLink).toBeInTheDocument(); - expect(betaLink.href).toBe('https://www.elastic.co/what-is/synthetic-monitoring'); - expect(screen.getByText('Browser (BETA)')).toBeInTheDocument(); - }); }); diff --git a/x-pack/plugins/uptime/public/legacy_uptime/components/monitor/monitor_title.tsx b/x-pack/plugins/uptime/public/legacy_uptime/components/monitor/monitor_title.tsx index a15b941e4e9350..2a84d3acbf4ad3 100644 --- a/x-pack/plugins/uptime/public/legacy_uptime/components/monitor/monitor_title.tsx +++ b/x-pack/plugins/uptime/public/legacy_uptime/components/monitor/monitor_title.tsx @@ -5,13 +5,10 @@ * 2.0. */ -import { EuiBadge, EuiFlexGroup, EuiFlexItem, EuiSpacer, EuiLink, EuiText } from '@elastic/eui'; -import { FormattedMessage } from '@kbn/i18n-react'; import React from 'react'; import { useSelector } from 'react-redux'; import { useMonitorId } from '../../hooks'; import { monitorStatusSelector } from '../../state/selectors'; -import { EnableMonitorAlert } from '../overview/monitor_list/columns/enable_alert'; import { Ping } from '../../../../common/runtime_types/ping'; import { useBreadcrumbs } from '../../hooks/use_breadcrumbs'; @@ -32,86 +29,6 @@ const getPageTitle = (monitorId: string, selectedMonitor: Ping | null) => { return monitorId; }; -export const MonitorPageTitleContent: React.FC = () => { - const monitorId = useMonitorId(); - const selectedMonitor = useSelector(monitorStatusSelector); - const type = selectedMonitor?.monitor?.type; - const isBrowser = type === 'browser'; - const renderMonitorType = (monitorType: string) => { - switch (monitorType) { - case 'http': - return ( - - ); - case 'tcp': - return ( - - ); - case 'icmp': - return ( - - ); - case 'browser': - return ( - - ); - default: - return ''; - } - }; - return ( - <> - - - - - - - - - {isBrowser && type && ( - - {renderMonitorType(type)}{' '} - - - )} - - {isBrowser && ( - - - - - - - - )} - - - ); -}; - export const MonitorPageTitle: React.FC = () => { const monitorId = useMonitorId(); diff --git a/x-pack/plugins/uptime/public/legacy_uptime/components/monitor/status_details/__snapshots__/monitor_status.bar.test.tsx.snap b/x-pack/plugins/uptime/public/legacy_uptime/components/monitor/status_details/__snapshots__/monitor_status.bar.test.tsx.snap index 5ebde1d72dd0d9..77345c95164a6d 100644 --- a/x-pack/plugins/uptime/public/legacy_uptime/components/monitor/status_details/__snapshots__/monitor_status.bar.test.tsx.snap +++ b/x-pack/plugins/uptime/public/legacy_uptime/components/monitor/status_details/__snapshots__/monitor_status.bar.test.tsx.snap @@ -12,58 +12,49 @@ Array [
    , - .c0.c0.c0 { - width: 30%; - max-width: 250px; -} - -.c1.c1.c1 { - width: 70%; - overflow-wrap: anywhere; -} - -
    Overall availability
    0.00 %
    Url
    --
    Monitor ID
    Tags
    +
    + Enable status alerts +
    +
    +
    +
    +
    +
    + +
    +
    +
    +
    +
    , ] `; diff --git a/x-pack/plugins/uptime/public/legacy_uptime/components/monitor/status_details/__snapshots__/ssl_certificate.test.tsx.snap b/x-pack/plugins/uptime/public/legacy_uptime/components/monitor/status_details/__snapshots__/ssl_certificate.test.tsx.snap index d80ca3bb003765..1e50379a095536 100644 --- a/x-pack/plugins/uptime/public/legacy_uptime/components/monitor/status_details/__snapshots__/ssl_certificate.test.tsx.snap +++ b/x-pack/plugins/uptime/public/legacy_uptime/components/monitor/status_details/__snapshots__/ssl_certificate.test.tsx.snap @@ -2,32 +2,19 @@ exports[`SSL Certificate component renders 1`] = ` Array [ - .c0.c0.c0 { - width: 30%; - max-width: 250px; -} - -
    TLS Certificate
    , -
    , .c0.c0.c0 { - width: 70%; - overflow-wrap: anywhere; -} - -.c1.c1.c1 { margin: 0 0 0 4px; display: inline-block; color: inherit; }

    Expires in 2 months

    @@ -57,26 +44,13 @@ Array [ exports[`SSL Certificate component renders null if invalid date 1`] = ` Array [ - .c0.c0.c0 { - width: 30%; - max-width: 250px; -} - -
    TLS Certificate
    , -
    , - .c0.c0.c0 { - width: 70%; - overflow-wrap: anywhere; -} - -
    { return ( <> - + - - - - + + - + ); }; diff --git a/x-pack/plugins/uptime/public/legacy_uptime/components/monitor/status_details/status_bar/status_bar.tsx b/x-pack/plugins/uptime/public/legacy_uptime/components/monitor/status_details/status_bar/status_bar.tsx index 50e4ca36dabc5e..f122415d725c0b 100644 --- a/x-pack/plugins/uptime/public/legacy_uptime/components/monitor/status_details/status_bar/status_bar.tsx +++ b/x-pack/plugins/uptime/public/legacy_uptime/components/monitor/status_details/status_bar/status_bar.tsx @@ -6,7 +6,6 @@ */ import React from 'react'; -import styled from 'styled-components'; import { EuiLink, EuiSpacer, @@ -16,6 +15,10 @@ import { } from '@elastic/eui'; import { FormattedMessage } from '@kbn/i18n-react'; import { i18n } from '@kbn/i18n'; +import { useSelector } from 'react-redux'; +import { ENABLE_STATUS_ALERT } from '../../../overview/monitor_list/columns/translations'; +import { monitorStatusSelector } from '../../../../state/selectors'; +import { EnableMonitorAlert } from '../../../overview/monitor_list/columns/enable_alert'; import { MonitorSSLCertificate } from './ssl_certificate'; import * as labels from '../translations'; import { StatusByLocations } from './status_by_location'; @@ -31,20 +34,6 @@ import { formatAvailabilityValue } from '../availability_reporting/availability_ import { MonitorRedirects } from './monitor_redirects'; import { MonitorTags } from '../../../common/monitor_tags'; -export const MonListTitle = styled(EuiDescriptionListTitle)` - &&& { - width: 30%; - max-width: 250px; - } -`; - -export const MonListDescription = styled(EuiDescriptionListDescription)` - &&& { - width: 70%; - overflow-wrap: anywhere; - } -`; - export const renderMonitorType = (type: string | undefined) => { switch (type) { case 'http': @@ -77,24 +66,29 @@ export const MonitorStatusBar: React.FC = () => { const availability = (ups === 0 && downs === 0) || !ups ? 0 : (ups / (ups + downs)) * 100; + const selectedMonitor = useSelector(monitorStatusSelector); + return ( <>
    - - {OverallAvailability} - + + {OverallAvailability} + - - {URL_LABEL} - + + {URL_LABEL} + {full ? ( { ) : ( '--' )} - - {MonitorIDLabel} - {monitorId} + + {MonitorIDLabel} + + {monitorId} + {monitorStatus?.monitor?.type && ( <> - {labels.typeLabel} - + + {labels.typeLabel} + + {renderMonitorType(monitorStatus?.monitor?.type)} - + )} - {TAGS_LABEL} - + {TAGS_LABEL} + - + {monitorStatus?.monitor?.project?.id && ( <> - {PROJECT_LABEL} - {monitorStatus?.monitor?.project.id} + {PROJECT_LABEL} + + {monitorStatus?.monitor?.project.id} + )} + {ENABLE_STATUS_ALERT} + {selectedMonitor && ( + + )} ); diff --git a/x-pack/plugins/uptime/public/legacy_uptime/components/monitor/status_details/status_details.tsx b/x-pack/plugins/uptime/public/legacy_uptime/components/monitor/status_details/status_details.tsx index 0c9c347fc8c802..48196a75f37b59 100644 --- a/x-pack/plugins/uptime/public/legacy_uptime/components/monitor/status_details/status_details.tsx +++ b/x-pack/plugins/uptime/public/legacy_uptime/components/monitor/status_details/status_details.tsx @@ -5,11 +5,10 @@ * 2.0. */ -import React, { useContext, useEffect, useState } from 'react'; +import React from 'react'; import { EuiFlexGroup, EuiFlexItem, EuiPanel } from '@elastic/eui'; import styled from 'styled-components'; import { LocationAvailability } from './location_availability/location_availability'; -import { UptimeRefreshContext } from '../../../contexts'; import { MonitorLocations } from '../../../../../common/runtime_types'; import { MonitorStatusBar } from './status_bar'; @@ -26,28 +25,6 @@ const WrapFlexItem = styled(EuiFlexItem)` `; export const MonitorStatusDetailsComponent = ({ monitorLocations }: MonitorStatusDetailsProps) => { - const { refreshApp } = useContext(UptimeRefreshContext); - - const [isTabActive] = useState(document.visibilityState); - const onTabActive = () => { - if (document.visibilityState === 'visible' && isTabActive === 'hidden') { - refreshApp(); - } - }; - - // Refreshing application state after Tab becomes active to render latest map state - // If application renders in when tab is not in focus it gives some unexpected behaviors - // Where map is not visible on change - useEffect(() => { - document.addEventListener('visibilitychange', onTabActive); - return () => { - document.removeEventListener('visibilitychange', onTabActive); - }; - - // we want this effect to execute exactly once after the component mounts - // eslint-disable-next-line react-hooks/exhaustive-deps - }, []); - return ( diff --git a/x-pack/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/columns/define_connectors.test.tsx b/x-pack/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/columns/define_connectors.test.tsx index aa257177970a18..29f0dd189594c3 100644 --- a/x-pack/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/columns/define_connectors.test.tsx +++ b/x-pack/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/columns/define_connectors.test.tsx @@ -21,21 +21,23 @@ describe('EnableAlertComponent', () => { fireEvent.click(screen.getByTestId('uptimeDisplayDefineConnector')); - expect(screen.queryByTestId('uptimeSettingsDefineConnector')).not.toBeInTheDocument(); + expect(screen.queryByTestId('uptimeSettingsDefineConnector')).toBeInTheDocument(); }); it('shows label when showLabel is true', () => { - render(); - expect(screen.getByText(ENABLE_STATUS_ALERT)).toBeInTheDocument(); + render(); + expect(screen.getByLabelText(ENABLE_STATUS_ALERT)).toBeInTheDocument(); }); it('shows helpText when showHelpText is true', () => { - render(); + render(); + fireEvent.click(screen.getByTestId('uptimeDisplayDefineConnector')); + expect(screen.getByText(/Define a default connector/)).toBeInTheDocument(); }); it('renders popover on click when showPopover is true', () => { - render(); + render(); fireEvent.click(screen.getByTestId('uptimeDisplayDefineConnector')); diff --git a/x-pack/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/columns/define_connectors.tsx b/x-pack/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/columns/define_connectors.tsx index 0a6040249a663a..4ee8cb1c67d897 100644 --- a/x-pack/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/columns/define_connectors.tsx +++ b/x-pack/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/columns/define_connectors.tsx @@ -12,17 +12,7 @@ import { ReactRouterEuiLink } from '../../../common/react_router_helpers'; import { SETTINGS_ROUTE } from '../../../../../../common/constants'; import { ENABLE_STATUS_ALERT } from './translations'; -interface Props { - showPopover?: boolean; - showHelpText?: boolean; - showLabel?: boolean; -} - -export const DefineAlertConnectors = ({ - showPopover = false, - showHelpText = false, - showLabel = false, -}: Props) => { +export const DefineAlertConnectors = () => { const [isPopoverOpen, setIsPopoverOpen] = useState(false); const onButtonClick = () => setIsPopoverOpen((val) => !val); @@ -32,46 +22,22 @@ export const DefineAlertConnectors = ({ - - - - ), - }} - /> - ) : undefined - } - > + {}} + onChange={onButtonClick} checked={false} compressed={true} - disabled={!showPopover} data-test-subj={'uptimeDisplayDefineConnector'} /> } - isOpen={showPopover ? isPopoverOpen : false} + isOpen={isPopoverOpen} closePopover={closePopover} > diff --git a/x-pack/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/columns/enable_alert.tsx b/x-pack/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/columns/enable_alert.tsx index b52aacd5abb6e2..e7ff83f5ebae17 100644 --- a/x-pack/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/columns/enable_alert.tsx +++ b/x-pack/plugins/uptime/public/legacy_uptime/components/overview/monitor_list/columns/enable_alert.tsx @@ -111,7 +111,7 @@ export const EnableMonitorAlert = ({ monitorId, selectedMonitor }: Props) => { compressed={!isMonitorPage} disabled={showSpinner} label={btnLabel} - showLabel={!!isMonitorPage} + showLabel={false} aria-label={btnLabel} onChange={onAlertClick} checked={!!hasAlert} @@ -126,10 +126,6 @@ export const EnableMonitorAlert = ({ monitorId, selectedMonitor }: Props) => {
    ) : ( - + ); }; diff --git a/x-pack/plugins/uptime/public/legacy_uptime/routes.tsx b/x-pack/plugins/uptime/public/legacy_uptime/routes.tsx index 43194e10735d6a..269624a0c6dc0d 100644 --- a/x-pack/plugins/uptime/public/legacy_uptime/routes.tsx +++ b/x-pack/plugins/uptime/public/legacy_uptime/routes.tsx @@ -30,7 +30,7 @@ import { SyntheticsCheckStepsPageHeader, SyntheticsCheckStepsPageRightSideItem, } from './pages/synthetics/synthetics_checks'; -import { MonitorPageTitle, MonitorPageTitleContent } from './components/monitor/monitor_title'; +import { MonitorPageTitle } from './components/monitor/monitor_title'; import { UptimeDatePicker } from './components/common/uptime_date_picker'; import { CertRefreshBtn } from './components/certificates/cert_refresh_btn'; import { CertificateTitle } from './components/certificates/certificate_title'; @@ -69,7 +69,6 @@ const getRoutes = (): RouteProps[] => { component: MonitorPage, dataTestSubj: 'uptimeMonitorPage', pageHeader: { - children: , pageTitle: , rightSideItems: [], },