diff --git a/.buildkite/scripts/steps/artifacts/docker_image.sh b/.buildkite/scripts/steps/artifacts/docker_image.sh index a47372359893e..edd82152aae2a 100755 --- a/.buildkite/scripts/steps/artifacts/docker_image.sh +++ b/.buildkite/scripts/steps/artifacts/docker_image.sh @@ -65,23 +65,3 @@ buildkite-agent artifact upload "kibana-$BASE_VERSION-docker-image.tar.gz" buildkite-agent artifact upload "kibana-$BASE_VERSION-docker-image-aarch64.tar.gz" buildkite-agent artifact upload "dependencies-$GIT_ABBREV_COMMIT.csv" cd - - -echo "--- Trigger image tag update" -if [[ "$BUILDKITE_BRANCH" == "$KIBANA_BASE_BRANCH" ]]; then - - cat << EOF | buildkite-agent pipeline upload -steps: - - trigger: k8s-gitops-update-image-tag - label: "Update image tag for deployment-api" - branches: main - build: - env: - MODE: sed - TARGET_FILE: app-config-controllers.yaml - IMAGE_TAG: "$KIBANA_IMAGE" - SERVICE: app-config-controllers -EOF - -else - echo "Skipping update for untracked branch $BUILDKITE_BRANCH" -fi diff --git a/api_docs/actions.devdocs.json b/api_docs/actions.devdocs.json index 16ef1ac715e6e..a83fdd9ed6bfc 100644 --- a/api_docs/actions.devdocs.json +++ b/api_docs/actions.devdocs.json @@ -1941,7 +1941,7 @@ "ActionTypeConfig", ">>; execute: ({ actionId, params, source, relatedSavedObjects, }: Omit<", "ExecuteOptions", - ", \"request\">) => Promise<", + ", \"request\" | \"actionExecutionId\">) => Promise<", { "pluginId": "actions", "scope": "common", @@ -1991,7 +1991,31 @@ "section": "def-common.ActionType", "text": "ActionType" }, - "[]>; isActionTypeEnabled: (actionTypeId: string, options?: { notifyUsage: boolean; }) => boolean; isPreconfigured: (connectorId: string) => boolean; }" + "[]>; isActionTypeEnabled: (actionTypeId: string, options?: { notifyUsage: boolean; }) => boolean; isPreconfigured: (connectorId: string) => boolean; getGlobalExecutionLogWithAuth: ({ dateStart, dateEnd, filter, page, perPage, sort, namespaces, }: ", + { + "pluginId": "actions", + "scope": "common", + "docId": "kibActionsPluginApi", + "section": "def-common.GetGlobalExecutionLogParams", + "text": "GetGlobalExecutionLogParams" + }, + ") => Promise<", + { + "pluginId": "actions", + "scope": "common", + "docId": "kibActionsPluginApi", + "section": "def-common.IExecutionLogResult", + "text": "IExecutionLogResult" + }, + ">; getGlobalExecutionKpiWithAuth: ({ dateStart, dateEnd, filter, namespaces, }: ", + { + "pluginId": "actions", + "scope": "common", + "docId": "kibActionsPluginApi", + "section": "def-common.GetGlobalExecutionKPIParams", + "text": "GetGlobalExecutionKPIParams" + }, + ") => Promise<{ success: number; unknown: number; failure: number; warning: number; }>; }" ], "path": "x-pack/plugins/actions/server/index.ts", "deprecated": false, @@ -3259,6 +3283,363 @@ ], "initialIsOpen": false }, + { + "parentPluginId": "actions", + "id": "def-common.GetGlobalExecutionKPIParams", + "type": "Interface", + "tags": [], + "label": "GetGlobalExecutionKPIParams", + "description": [], + "path": "x-pack/plugins/actions/common/execution_log_types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "actions", + "id": "def-common.GetGlobalExecutionKPIParams.dateStart", + "type": "string", + "tags": [], + "label": "dateStart", + "description": [], + "path": "x-pack/plugins/actions/common/execution_log_types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "actions", + "id": "def-common.GetGlobalExecutionKPIParams.dateEnd", + "type": "string", + "tags": [], + "label": "dateEnd", + "description": [], + "signature": [ + "string | undefined" + ], + "path": "x-pack/plugins/actions/common/execution_log_types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "actions", + "id": "def-common.GetGlobalExecutionKPIParams.filter", + "type": "string", + "tags": [], + "label": "filter", + "description": [], + "signature": [ + "string | undefined" + ], + "path": "x-pack/plugins/actions/common/execution_log_types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "actions", + "id": "def-common.GetGlobalExecutionKPIParams.namespaces", + "type": "Array", + "tags": [], + "label": "namespaces", + "description": [], + "signature": [ + "(string | undefined)[] | undefined" + ], + "path": "x-pack/plugins/actions/common/execution_log_types.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "actions", + "id": "def-common.GetGlobalExecutionLogParams", + "type": "Interface", + "tags": [], + "label": "GetGlobalExecutionLogParams", + "description": [], + "path": "x-pack/plugins/actions/common/execution_log_types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "actions", + "id": "def-common.GetGlobalExecutionLogParams.dateStart", + "type": "string", + "tags": [], + "label": "dateStart", + "description": [], + "path": "x-pack/plugins/actions/common/execution_log_types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "actions", + "id": "def-common.GetGlobalExecutionLogParams.dateEnd", + "type": "string", + "tags": [], + "label": "dateEnd", + "description": [], + "signature": [ + "string | undefined" + ], + "path": "x-pack/plugins/actions/common/execution_log_types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "actions", + "id": "def-common.GetGlobalExecutionLogParams.filter", + "type": "string", + "tags": [], + "label": "filter", + "description": [], + "signature": [ + "string | undefined" + ], + "path": "x-pack/plugins/actions/common/execution_log_types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "actions", + "id": "def-common.GetGlobalExecutionLogParams.page", + "type": "number", + "tags": [], + "label": "page", + "description": [], + "path": "x-pack/plugins/actions/common/execution_log_types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "actions", + "id": "def-common.GetGlobalExecutionLogParams.perPage", + "type": "number", + "tags": [], + "label": "perPage", + "description": [], + "path": "x-pack/plugins/actions/common/execution_log_types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "actions", + "id": "def-common.GetGlobalExecutionLogParams.sort", + "type": "CompoundType", + "tags": [], + "label": "sort", + "description": [], + "signature": [ + "SortCombinations", + " | ", + "SortCombinations", + "[]" + ], + "path": "x-pack/plugins/actions/common/execution_log_types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "actions", + "id": "def-common.GetGlobalExecutionLogParams.namespaces", + "type": "Array", + "tags": [], + "label": "namespaces", + "description": [], + "signature": [ + "(string | undefined)[] | undefined" + ], + "path": "x-pack/plugins/actions/common/execution_log_types.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "actions", + "id": "def-common.IExecutionLog", + "type": "Interface", + "tags": [], + "label": "IExecutionLog", + "description": [], + "path": "x-pack/plugins/actions/common/execution_log_types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "actions", + "id": "def-common.IExecutionLog.id", + "type": "string", + "tags": [], + "label": "id", + "description": [], + "path": "x-pack/plugins/actions/common/execution_log_types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "actions", + "id": "def-common.IExecutionLog.timestamp", + "type": "string", + "tags": [], + "label": "timestamp", + "description": [], + "path": "x-pack/plugins/actions/common/execution_log_types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "actions", + "id": "def-common.IExecutionLog.duration_ms", + "type": "number", + "tags": [], + "label": "duration_ms", + "description": [], + "path": "x-pack/plugins/actions/common/execution_log_types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "actions", + "id": "def-common.IExecutionLog.status", + "type": "string", + "tags": [], + "label": "status", + "description": [], + "path": "x-pack/plugins/actions/common/execution_log_types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "actions", + "id": "def-common.IExecutionLog.message", + "type": "string", + "tags": [], + "label": "message", + "description": [], + "path": "x-pack/plugins/actions/common/execution_log_types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "actions", + "id": "def-common.IExecutionLog.version", + "type": "string", + "tags": [], + "label": "version", + "description": [], + "path": "x-pack/plugins/actions/common/execution_log_types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "actions", + "id": "def-common.IExecutionLog.schedule_delay_ms", + "type": "number", + "tags": [], + "label": "schedule_delay_ms", + "description": [], + "path": "x-pack/plugins/actions/common/execution_log_types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "actions", + "id": "def-common.IExecutionLog.space_ids", + "type": "Array", + "tags": [], + "label": "space_ids", + "description": [], + "signature": [ + "string[]" + ], + "path": "x-pack/plugins/actions/common/execution_log_types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "actions", + "id": "def-common.IExecutionLog.connector_name", + "type": "string", + "tags": [], + "label": "connector_name", + "description": [], + "path": "x-pack/plugins/actions/common/execution_log_types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "actions", + "id": "def-common.IExecutionLog.connector_id", + "type": "string", + "tags": [], + "label": "connector_id", + "description": [], + "path": "x-pack/plugins/actions/common/execution_log_types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "actions", + "id": "def-common.IExecutionLog.timed_out", + "type": "boolean", + "tags": [], + "label": "timed_out", + "description": [], + "path": "x-pack/plugins/actions/common/execution_log_types.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "actions", + "id": "def-common.IExecutionLogResult", + "type": "Interface", + "tags": [], + "label": "IExecutionLogResult", + "description": [], + "path": "x-pack/plugins/actions/common/execution_log_types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "actions", + "id": "def-common.IExecutionLogResult.total", + "type": "number", + "tags": [], + "label": "total", + "description": [], + "path": "x-pack/plugins/actions/common/execution_log_types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "actions", + "id": "def-common.IExecutionLogResult.data", + "type": "Array", + "tags": [], + "label": "data", + "description": [], + "signature": [ + { + "pluginId": "actions", + "scope": "common", + "docId": "kibActionsPluginApi", + "section": "def-common.IExecutionLog", + "text": "IExecutionLog" + }, + "[]" + ], + "path": "x-pack/plugins/actions/common/execution_log_types.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, { "parentPluginId": "actions", "id": "def-common.ValidatedEmail", @@ -3518,6 +3899,36 @@ "trackAdoption": false, "initialIsOpen": false }, + { + "parentPluginId": "actions", + "id": "def-common.ExecutionLogSortFields", + "type": "Type", + "tags": [], + "label": "ExecutionLogSortFields", + "description": [], + "signature": [ + "\"timestamp\" | \"execution_duration\" | \"schedule_delay\"" + ], + "path": "x-pack/plugins/actions/common/execution_log_types.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "actions", + "id": "def-common.IExecutionKPIResult", + "type": "Type", + "tags": [], + "label": "IExecutionKPIResult", + "description": [], + "signature": [ + "{ success: number; unknown: number; failure: number; warning: number; }" + ], + "path": "x-pack/plugins/actions/common/execution_log_types.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, { "parentPluginId": "actions", "id": "def-common.INTERNAL_BASE_ACTION_API_PATH", @@ -3759,6 +4170,79 @@ ], "initialIsOpen": false }, + { + "parentPluginId": "actions", + "id": "def-common.EMPTY_EXECUTION_KPI_RESULT", + "type": "Object", + "tags": [], + "label": "EMPTY_EXECUTION_KPI_RESULT", + "description": [], + "path": "x-pack/plugins/actions/common/execution_log_types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "actions", + "id": "def-common.EMPTY_EXECUTION_KPI_RESULT.success", + "type": "number", + "tags": [], + "label": "success", + "description": [], + "path": "x-pack/plugins/actions/common/execution_log_types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "actions", + "id": "def-common.EMPTY_EXECUTION_KPI_RESULT.unknown", + "type": "number", + "tags": [], + "label": "unknown", + "description": [], + "path": "x-pack/plugins/actions/common/execution_log_types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "actions", + "id": "def-common.EMPTY_EXECUTION_KPI_RESULT.failure", + "type": "number", + "tags": [], + "label": "failure", + "description": [], + "path": "x-pack/plugins/actions/common/execution_log_types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "actions", + "id": "def-common.EMPTY_EXECUTION_KPI_RESULT.warning", + "type": "number", + "tags": [], + "label": "warning", + "description": [], + "path": "x-pack/plugins/actions/common/execution_log_types.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "actions", + "id": "def-common.executionLogSortableColumns", + "type": "Object", + "tags": [], + "label": "executionLogSortableColumns", + "description": [], + "signature": [ + "readonly [\"timestamp\", \"execution_duration\", \"schedule_delay\"]" + ], + "path": "x-pack/plugins/actions/common/execution_log_types.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, { "parentPluginId": "actions", "id": "def-common.MustacheInEmailRegExp", diff --git a/api_docs/actions.mdx b/api_docs/actions.mdx index 882757a213a9f..ee662b9c89472 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-01-23 +date: 2023-01-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'actions'] --- import actionsObj from './actions.devdocs.json'; @@ -21,7 +21,7 @@ Contact [Response Ops](https://github.com/orgs/elastic/teams/response-ops) for q | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 220 | 8 | 215 | 24 | +| 256 | 8 | 251 | 24 | ## Client diff --git a/api_docs/advanced_settings.mdx b/api_docs/advanced_settings.mdx index d502783f4a86b..4b62794804f09 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-01-23 +date: 2023-01-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 b7fca969b6214..efc8fee440e65 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-01-23 +date: 2023-01-24 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 f3f981432d60d..598360a4ad3e4 100644 --- a/api_docs/alerting.devdocs.json +++ b/api_docs/alerting.devdocs.json @@ -565,14 +565,6 @@ ", filterOpts: ", "AlertingAuthorizationFilterOpts", ") => Promise<{ filter?: ", - { - "pluginId": "@kbn/utility-types", - "scope": "common", - "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-common.JsonObject", - "text": "JsonObject" - }, - " | ", { "pluginId": "@kbn/es-query", "scope": "common", @@ -580,6 +572,14 @@ "section": "def-common.KueryNode", "text": "KueryNode" }, + " | ", + { + "pluginId": "@kbn/utility-types", + "scope": "common", + "docId": "kibKbnUtilityTypesPluginApi", + "section": "def-common.JsonObject", + "text": "JsonObject" + }, " | undefined; ensureRuleTypeIsAuthorized: (ruleTypeId: string, consumer: string, auth: string) => void; }>" ], "path": "x-pack/plugins/alerting/server/authorization/alerting_authorization.ts", @@ -660,14 +660,6 @@ "text": "WriteOperations" }, ") => Promise<{ filter?: ", - { - "pluginId": "@kbn/utility-types", - "scope": "common", - "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-common.JsonObject", - "text": "JsonObject" - }, - " | ", { "pluginId": "@kbn/es-query", "scope": "common", @@ -675,6 +667,14 @@ "section": "def-common.KueryNode", "text": "KueryNode" }, + " | ", + { + "pluginId": "@kbn/utility-types", + "scope": "common", + "docId": "kibKbnUtilityTypesPluginApi", + "section": "def-common.JsonObject", + "text": "JsonObject" + }, " | undefined; ensureRuleTypeIsAuthorized: (ruleTypeId: string, consumer: string, auth: string) => void; }>" ], "path": "x-pack/plugins/alerting/server/authorization/alerting_authorization.ts", @@ -2919,6 +2919,37 @@ "path": "x-pack/plugins/alerting/server/types.ts", "deprecated": false, "trackAdoption": false + }, + { + "parentPluginId": "alerting", + "id": "def-server.RuleType.alerts", + "type": "Object", + "tags": [], + "label": "alerts", + "description": [], + "signature": [ + "IRuleTypeAlerts", + " | undefined" + ], + "path": "x-pack/plugins/alerting/server/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "alerting", + "id": "def-server.RuleType.autoRecoverAlerts", + "type": "CompoundType", + "tags": [], + "label": "autoRecoverAlerts", + "description": [ + "\nDetermines whether framework should\nautomatically make recovery determination. Defaults to true." + ], + "signature": [ + "boolean | undefined" + ], + "path": "x-pack/plugins/alerting/server/types.ts", + "deprecated": false, + "trackAdoption": false } ], "initialIsOpen": false @@ -3381,30 +3412,32 @@ "section": "def-common.SanitizedRule", "text": "SanitizedRule" }, - ">; muteAll: (options: { id: string; }) => Promise; getAlertState: (params: ", - "GetAlertStateParams", - ") => Promise; getAlertSummary: (params: ", - "GetAlertSummaryParams", + ">; getGlobalExecutionLogWithAuth: (params: ", + "GetGlobalExecutionLogParams", ") => Promise<", { "pluginId": "alerting", "scope": "common", "docId": "kibAlertingPluginApi", - "section": "def-common.AlertSummary", - "text": "AlertSummary" + "section": "def-common.IExecutionLogResult", + "text": "IExecutionLogResult" }, - ">; getExecutionLogForRule: (params: ", - "GetExecutionLogByIdParams", + ">; getGlobalExecutionKpiWithAuth: (params: ", + "GetGlobalExecutionKPIParams", + ") => Promise<{ success: number; unknown: number; failure: number; warning: number; activeAlerts: number; newAlerts: number; recoveredAlerts: number; erroredActions: number; triggeredActions: number; }>; muteAll: (options: { id: string; }) => Promise; getAlertState: (params: ", + "GetAlertStateParams", + ") => Promise; getAlertSummary: (params: ", + "GetAlertSummaryParams", ") => Promise<", { "pluginId": "alerting", "scope": "common", "docId": "kibAlertingPluginApi", - "section": "def-common.IExecutionLogResult", - "text": "IExecutionLogResult" + "section": "def-common.AlertSummary", + "text": "AlertSummary" }, - ">; getGlobalExecutionLogWithAuth: (params: ", - "GetGlobalExecutionLogParams", + ">; getExecutionLogForRule: (params: ", + "GetExecutionLogByIdParams", ") => Promise<", { "pluginId": "alerting", @@ -3415,8 +3448,6 @@ }, ">; getRuleExecutionKPI: (params: ", "GetRuleExecutionKPIParams", - ") => Promise<{ success: number; unknown: number; failure: number; warning: number; activeAlerts: number; newAlerts: number; recoveredAlerts: number; erroredActions: number; triggeredActions: number; }>; getGlobalExecutionKpiWithAuth: (params: ", - "GetGlobalExecutionKPIParams", ") => Promise<{ success: number; unknown: number; failure: number; warning: number; activeAlerts: number; newAlerts: number; recoveredAlerts: number; erroredActions: number; triggeredActions: number; }>; getActionErrorLog: (params: ", "GetActionErrorLogByIdParams", ") => Promise<", @@ -7145,7 +7176,7 @@ "label": "AlertInstanceMeta", "description": [], "signature": [ - "{ lastScheduledActions?: ({ subgroup?: string | undefined; } & { group: string; date: Date; } & { actions?: { [x: string]: { date: Date; }; } | undefined; }) | undefined; flappingHistory?: boolean[] | undefined; flapping?: boolean | undefined; }" + "{ lastScheduledActions?: ({ subgroup?: string | undefined; } & { group: string; date: Date; } & { actions?: { [x: string]: { date: Date; }; } | undefined; }) | undefined; flappingHistory?: boolean[] | undefined; flapping?: boolean | undefined; pendingRecoveredCount?: number | undefined; }" ], "path": "x-pack/plugins/alerting/common/alert_instance.ts", "deprecated": false, @@ -7295,7 +7326,7 @@ "label": "ExecutionLogSortFields", "description": [], "signature": [ - "\"timestamp\" | \"execution_duration\" | \"total_search_duration\" | \"es_search_duration\" | \"schedule_delay\" | \"num_triggered_actions\" | \"num_generated_actions\" | \"num_active_alerts\" | \"num_recovered_alerts\" | \"num_new_alerts\"" + "\"timestamp\" | \"execution_duration\" | \"schedule_delay\" | \"total_search_duration\" | \"es_search_duration\" | \"num_triggered_actions\" | \"num_generated_actions\" | \"num_active_alerts\" | \"num_recovered_alerts\" | \"num_new_alerts\"" ], "path": "x-pack/plugins/alerting/common/execution_log_types.ts", "deprecated": false, @@ -7474,7 +7505,7 @@ "label": "RawAlertInstance", "description": [], "signature": [ - "{ state?: { [x: string]: unknown; } | undefined; meta?: { lastScheduledActions?: ({ subgroup?: string | undefined; } & { group: string; date: Date; } & { actions?: { [x: string]: { date: Date; }; } | undefined; }) | undefined; flappingHistory?: boolean[] | undefined; flapping?: boolean | undefined; } | undefined; }" + "{ state?: { [x: string]: unknown; } | undefined; meta?: { lastScheduledActions?: ({ subgroup?: string | undefined; } & { group: string; date: Date; } & { actions?: { [x: string]: { date: Date; }; } | undefined; }) | undefined; flappingHistory?: boolean[] | undefined; flapping?: boolean | undefined; pendingRecoveredCount?: number | undefined; } | undefined; }" ], "path": "x-pack/plugins/alerting/common/alert_instance.ts", "deprecated": false, @@ -7823,7 +7854,7 @@ "label": "RuleTaskState", "description": [], "signature": [ - "{ alertTypeState?: { [x: string]: unknown; } | undefined; alertInstances?: { [x: string]: { state?: { [x: string]: unknown; } | undefined; meta?: { lastScheduledActions?: ({ subgroup?: string | undefined; } & { group: string; date: Date; } & { actions?: { [x: string]: { date: Date; }; } | undefined; }) | undefined; flappingHistory?: boolean[] | undefined; flapping?: boolean | undefined; } | undefined; }; } | undefined; alertRecoveredInstances?: { [x: string]: { state?: { [x: string]: unknown; } | undefined; meta?: { lastScheduledActions?: ({ subgroup?: string | undefined; } & { group: string; date: Date; } & { actions?: { [x: string]: { date: Date; }; } | undefined; }) | undefined; flappingHistory?: boolean[] | undefined; flapping?: boolean | undefined; } | undefined; }; } | undefined; previousStartedAt?: Date | null | undefined; summaryActions?: { [x: string]: { date: Date; }; } | undefined; }" + "{ alertTypeState?: { [x: string]: unknown; } | undefined; alertInstances?: { [x: string]: { state?: { [x: string]: unknown; } | undefined; meta?: { lastScheduledActions?: ({ subgroup?: string | undefined; } & { group: string; date: Date; } & { actions?: { [x: string]: { date: Date; }; } | undefined; }) | undefined; flappingHistory?: boolean[] | undefined; flapping?: boolean | undefined; pendingRecoveredCount?: number | undefined; } | undefined; }; } | undefined; alertRecoveredInstances?: { [x: string]: { state?: { [x: string]: unknown; } | undefined; meta?: { lastScheduledActions?: ({ subgroup?: string | undefined; } & { group: string; date: Date; } & { actions?: { [x: string]: { date: Date; }; } | undefined; }) | undefined; flappingHistory?: boolean[] | undefined; flapping?: boolean | undefined; pendingRecoveredCount?: number | undefined; } | undefined; }; } | undefined; previousStartedAt?: Date | null | undefined; summaryActions?: { [x: string]: { date: Date; }; } | undefined; }" ], "path": "x-pack/plugins/alerting/common/rule_task_instance.ts", "deprecated": false, @@ -8265,6 +8296,8 @@ "BooleanC", ">; flapping: ", "BooleanC", + "; pendingRecoveredCount: ", + "NumberC", "; }>; }>" ], "path": "x-pack/plugins/alerting/common/alert_instance.ts", @@ -8413,6 +8446,8 @@ "BooleanC", ">; flapping: ", "BooleanC", + "; pendingRecoveredCount: ", + "NumberC", "; }>; }>>; alertRecoveredInstances: ", "RecordC", "<", @@ -8455,6 +8490,8 @@ "BooleanC", ">; flapping: ", "BooleanC", + "; pendingRecoveredCount: ", + "NumberC", "; }>; }>>; previousStartedAt: ", "UnionC", "<[", diff --git a/api_docs/alerting.mdx b/api_docs/alerting.mdx index 4b8d8e6b88320..a9f9c13e7a73a 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-01-23 +date: 2023-01-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'alerting'] --- import alertingObj from './alerting.devdocs.json'; @@ -21,7 +21,7 @@ Contact [Response Ops](https://github.com/orgs/elastic/teams/response-ops) for q | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 465 | 0 | 456 | 38 | +| 467 | 0 | 457 | 39 | ## Client diff --git a/api_docs/apm.mdx b/api_docs/apm.mdx index b575f13b49d63..6795d650c6d27 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-01-23 +date: 2023-01-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'apm'] --- import apmObj from './apm.devdocs.json'; diff --git a/api_docs/banners.mdx b/api_docs/banners.mdx index a6372c2ec5f9b..7f6d19eb01edf 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-01-23 +date: 2023-01-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 b8d69c68892bf..b42b0468a7dc7 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-01-23 +date: 2023-01-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 ea4a8dbdd7112..20c1b79092539 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-01-23 +date: 2023-01-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 32c6dfabc0308..697aeac448100 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-01-23 +date: 2023-01-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 7c47818af3acb..92f9b58fbf61e 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-01-23 +date: 2023-01-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 be71624edcd06..719e85fbca149 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-01-23 +date: 2023-01-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 c10c892a4b31c..07861197c1a9d 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-01-23 +date: 2023-01-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudChat'] --- import cloudChatObj from './cloud_chat.devdocs.json'; diff --git a/api_docs/cloud_data_migration.mdx b/api_docs/cloud_data_migration.mdx index 9bf47c37698c2..9aff276af60f4 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-01-23 +date: 2023-01-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 39e865fca5b5d..2799b15be2380 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-01-23 +date: 2023-01-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 50eaedaa2b4f2..de3eb208301c4 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-01-23 +date: 2023-01-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 83610a7d6125c..1e38856df3e4d 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-01-23 +date: 2023-01-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 4e396919c5d5a..560bdbe4cb872 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-01-23 +date: 2023-01-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'console'] --- import consoleObj from './console.devdocs.json'; diff --git a/api_docs/controls.mdx b/api_docs/controls.mdx index 6071894e19c6b..b61657e794017 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-01-23 +date: 2023-01-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'controls'] --- import controlsObj from './controls.devdocs.json'; diff --git a/api_docs/core.devdocs.json b/api_docs/core.devdocs.json index f8065754bc020..56a598e85ddc6 100644 --- a/api_docs/core.devdocs.json +++ b/api_docs/core.devdocs.json @@ -8226,6 +8226,14 @@ "plugin": "fleet", "path": "x-pack/plugins/fleet/server/services/telemetry/fleet_usage_sender.ts" }, + { + "plugin": "infra", + "path": "x-pack/plugins/infra/public/services/telemetry/telemetry_client.ts" + }, + { + "plugin": "infra", + "path": "x-pack/plugins/infra/public/services/telemetry/telemetry_client.ts" + }, { "plugin": "osquery", "path": "x-pack/plugins/osquery/server/lib/telemetry/sender.ts" @@ -8438,6 +8446,30 @@ "plugin": "security", "path": "x-pack/plugins/security/server/analytics/analytics_service.test.ts" }, + { + "plugin": "infra", + "path": "x-pack/plugins/infra/public/services/telemetry/telemetry_service.test.ts" + }, + { + "plugin": "infra", + "path": "x-pack/plugins/infra/public/services/telemetry/telemetry_service.test.ts" + }, + { + "plugin": "infra", + "path": "x-pack/plugins/infra/public/services/telemetry/telemetry_service.test.ts" + }, + { + "plugin": "infra", + "path": "x-pack/plugins/infra/public/services/telemetry/telemetry_service.test.ts" + }, + { + "plugin": "infra", + "path": "x-pack/plugins/infra/public/services/telemetry/telemetry_service.test.ts" + }, + { + "plugin": "infra", + "path": "x-pack/plugins/infra/public/services/telemetry/telemetry_service.test.ts" + }, { "plugin": "@kbn/core-status-server-internal", "path": "packages/core/status/core-status-server-internal/src/status_service.test.ts" @@ -21700,6 +21732,18 @@ "plugin": "cases", "path": "x-pack/plugins/cases/server/common/types.ts" }, + { + "plugin": "cases", + "path": "x-pack/plugins/cases/server/services/user_actions/operations/find.ts" + }, + { + "plugin": "cases", + "path": "x-pack/plugins/cases/server/services/user_actions/operations/find.ts" + }, + { + "plugin": "cases", + "path": "x-pack/plugins/cases/server/services/user_actions/operations/find.ts" + }, { "plugin": "synthetics", "path": "x-pack/plugins/synthetics/public/apps/synthetics/state/monitor_list/api.ts" @@ -21772,6 +21816,50 @@ "plugin": "alerting", "path": "x-pack/plugins/alerting/server/rules_client/tests/bulk_disable.test.ts" }, + { + "plugin": "cases", + "path": "x-pack/plugins/cases/server/services/user_actions/test_utils.ts" + }, + { + "plugin": "cases", + "path": "x-pack/plugins/cases/server/services/user_actions/test_utils.ts" + }, + { + "plugin": "cases", + "path": "x-pack/plugins/cases/server/services/user_actions/test_utils.ts" + }, + { + "plugin": "cases", + "path": "x-pack/plugins/cases/server/services/user_actions/test_utils.ts" + }, + { + "plugin": "cases", + "path": "x-pack/plugins/cases/server/services/user_actions/test_utils.ts" + }, + { + "plugin": "cases", + "path": "x-pack/plugins/cases/server/services/user_actions/test_utils.ts" + }, + { + "plugin": "cases", + "path": "x-pack/plugins/cases/server/services/user_actions/test_utils.ts" + }, + { + "plugin": "cases", + "path": "x-pack/plugins/cases/server/services/user_actions/test_utils.ts" + }, + { + "plugin": "cases", + "path": "x-pack/plugins/cases/server/services/user_actions/test_utils.ts" + }, + { + "plugin": "cases", + "path": "x-pack/plugins/cases/server/services/user_actions/test_utils.ts" + }, + { + "plugin": "cases", + "path": "x-pack/plugins/cases/server/services/user_actions/test_utils.ts" + }, { "plugin": "fleet", "path": "x-pack/plugins/fleet/server/services/agents/action.mock.ts" @@ -23637,6 +23725,14 @@ "plugin": "lens", "path": "x-pack/plugins/lens/public/app_plugin/share_action.ts" }, + { + "plugin": "cases", + "path": "x-pack/plugins/cases/server/services/user_actions/test_utils.ts" + }, + { + "plugin": "cases", + "path": "x-pack/plugins/cases/server/services/user_actions/test_utils.ts" + }, { "plugin": "@kbn/core-saved-objects-api-server-internal", "path": "packages/core/saved-objects/core-saved-objects-api-server-internal/src/test_helpers/repository.test.common.ts" @@ -37469,6 +37565,14 @@ "plugin": "fleet", "path": "x-pack/plugins/fleet/server/services/telemetry/fleet_usage_sender.ts" }, + { + "plugin": "infra", + "path": "x-pack/plugins/infra/public/services/telemetry/telemetry_client.ts" + }, + { + "plugin": "infra", + "path": "x-pack/plugins/infra/public/services/telemetry/telemetry_client.ts" + }, { "plugin": "osquery", "path": "x-pack/plugins/osquery/server/lib/telemetry/sender.ts" @@ -37681,6 +37785,30 @@ "plugin": "security", "path": "x-pack/plugins/security/server/analytics/analytics_service.test.ts" }, + { + "plugin": "infra", + "path": "x-pack/plugins/infra/public/services/telemetry/telemetry_service.test.ts" + }, + { + "plugin": "infra", + "path": "x-pack/plugins/infra/public/services/telemetry/telemetry_service.test.ts" + }, + { + "plugin": "infra", + "path": "x-pack/plugins/infra/public/services/telemetry/telemetry_service.test.ts" + }, + { + "plugin": "infra", + "path": "x-pack/plugins/infra/public/services/telemetry/telemetry_service.test.ts" + }, + { + "plugin": "infra", + "path": "x-pack/plugins/infra/public/services/telemetry/telemetry_service.test.ts" + }, + { + "plugin": "infra", + "path": "x-pack/plugins/infra/public/services/telemetry/telemetry_service.test.ts" + }, { "plugin": "@kbn/core-status-server-internal", "path": "packages/core/status/core-status-server-internal/src/status_service.test.ts" @@ -45224,6 +45352,32 @@ "children": [], "returnComment": [] }, + { + "parentPluginId": "core", + "id": "def-server.ISavedObjectTypeRegistry.getVisibleToHttpApisTypes", + "type": "Function", + "tags": [], + "label": "getVisibleToHttpApisTypes", + "description": [ + "\nReturns all visible {@link SavedObjectsType | types} exposed to the global SO HTTP APIs\n\nA visibleToHttpApis type is a type that doesn't explicitly define `hidden=true` nor `hiddenFromHttpApis=true` during registration." + ], + "signature": [ + "() => ", + { + "pluginId": "@kbn/core-saved-objects-server", + "scope": "common", + "docId": "kibKbnCoreSavedObjectsServerPluginApi", + "section": "def-common.SavedObjectsType", + "text": "SavedObjectsType" + }, + "[]" + ], + "path": "packages/core/saved-objects/core-saved-objects-server/src/type_registry.ts", + "deprecated": false, + "trackAdoption": false, + "children": [], + "returnComment": [] + }, { "parentPluginId": "core", "id": "def-server.ISavedObjectTypeRegistry.getAllTypes", @@ -45446,6 +45600,40 @@ ], "returnComment": [] }, + { + "parentPluginId": "core", + "id": "def-server.ISavedObjectTypeRegistry.isHiddenFromHttpApis", + "type": "Function", + "tags": [], + "label": "isHiddenFromHttpApis", + "description": [ + "\nReturns the `hiddenFromHttpApis` property for a given type, or `false` if\nthe type is not registered" + ], + "signature": [ + "(type: string) => boolean" + ], + "path": "packages/core/saved-objects/core-saved-objects-server/src/type_registry.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "core", + "id": "def-server.ISavedObjectTypeRegistry.isHiddenFromHttpApis.$1", + "type": "string", + "tags": [], + "label": "type", + "description": [], + "signature": [ + "string" + ], + "path": "packages/core/saved-objects/core-saved-objects-server/src/type_registry.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + }, { "parentPluginId": "core", "id": "def-server.ISavedObjectTypeRegistry.getIndex", @@ -62587,6 +62775,22 @@ "deprecated": false, "trackAdoption": false }, + { + "parentPluginId": "core", + "id": "def-server.SavedObjectsType.hiddenFromHttpApis", + "type": "CompoundType", + "tags": [], + "label": "hiddenFromHttpApis", + "description": [ + "\nIs the type hidden from the http APIs. If `hiddenFromHttpApis:true`, repositories will have access to the type but the type is not exposed via the HTTP APIs.\nIt is recommended to hide types registered with 'hidden=false' from the httpApis for backward compatibility in the HTTP layer.\n" + ], + "signature": [ + "boolean | undefined" + ], + "path": "packages/core/saved-objects/core-saved-objects-server/src/saved_objects_type.ts", + "deprecated": false, + "trackAdoption": false + }, { "parentPluginId": "core", "id": "def-server.SavedObjectsType.namespaceType", diff --git a/api_docs/core.mdx b/api_docs/core.mdx index 11fb66e31cd8b..af4d87f06642e 100644 --- a/api_docs/core.mdx +++ b/api_docs/core.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/core title: "core" image: https://source.unsplash.com/400x175/?github description: API docs for the core plugin -date: 2023-01-23 +date: 2023-01-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'core'] --- import coreObj from './core.devdocs.json'; @@ -21,7 +21,7 @@ Contact [Kibana Core](https://github.com/orgs/elastic/teams/kibana-core) for que | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 2806 | 17 | 1017 | 0 | +| 2810 | 17 | 1018 | 0 | ## Client diff --git a/api_docs/custom_integrations.mdx b/api_docs/custom_integrations.mdx index c07872138ad68..b18f322b9a33c 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-01-23 +date: 2023-01-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'customIntegrations'] --- import customIntegrationsObj from './custom_integrations.devdocs.json'; diff --git a/api_docs/dashboard.devdocs.json b/api_docs/dashboard.devdocs.json index 38b159a4d1b1e..66e3597db0e0f 100644 --- a/api_docs/dashboard.devdocs.json +++ b/api_docs/dashboard.devdocs.json @@ -1,7 +1,1421 @@ { "id": "dashboard", "client": { - "classes": [], + "classes": [ + { + "parentPluginId": "dashboard", + "id": "def-public.DashboardContainer", + "type": "Class", + "tags": [], + "label": "DashboardContainer", + "description": [], + "signature": [ + { + "pluginId": "dashboard", + "scope": "public", + "docId": "kibDashboardPluginApi", + "section": "def-public.DashboardContainer", + "text": "DashboardContainer" + }, + " extends ", + { + "pluginId": "embeddable", + "scope": "public", + "docId": "kibEmbeddablePluginApi", + "section": "def-public.Container", + "text": "Container" + }, + "<", + "InheritedChildInput", + ", ", + { + "pluginId": "dashboard", + "scope": "common", + "docId": "kibDashboardPluginApi", + "section": "def-common.DashboardContainerInput", + "text": "DashboardContainerInput" + }, + ", ", + { + "pluginId": "embeddable", + "scope": "public", + "docId": "kibEmbeddablePluginApi", + "section": "def-public.ContainerOutput", + "text": "ContainerOutput" + }, + ">" + ], + "path": "src/plugins/dashboard/public/dashboard_container/embeddable/dashboard_container.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "dashboard", + "id": "def-public.DashboardContainer.type", + "type": "string", + "tags": [], + "label": "type", + "description": [], + "signature": [ + "\"dashboard\"" + ], + "path": "src/plugins/dashboard/public/dashboard_container/embeddable/dashboard_container.tsx", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "dashboard", + "id": "def-public.DashboardContainer.controlGroup", + "type": "Object", + "tags": [], + "label": "controlGroup", + "description": [], + "signature": [ + { + "pluginId": "controls", + "scope": "public", + "docId": "kibControlsPluginApi", + "section": "def-public.ControlGroupContainer", + "text": "ControlGroupContainer" + }, + " | undefined" + ], + "path": "src/plugins/dashboard/public/dashboard_container/embeddable/dashboard_container.tsx", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "dashboard", + "id": "def-public.DashboardContainer.Unnamed", + "type": "Function", + "tags": [], + "label": "Constructor", + "description": [], + "signature": [ + "any" + ], + "path": "src/plugins/dashboard/public/dashboard_container/embeddable/dashboard_container.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "dashboard", + "id": "def-public.DashboardContainer.Unnamed.$1", + "type": "CompoundType", + "tags": [], + "label": "initialInput", + "description": [], + "signature": [ + { + "pluginId": "dashboard", + "scope": "common", + "docId": "kibDashboardPluginApi", + "section": "def-common.DashboardContainerInput", + "text": "DashboardContainerInput" + } + ], + "path": "src/plugins/dashboard/public/dashboard_container/embeddable/dashboard_container.tsx", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "dashboard", + "id": "def-public.DashboardContainer.Unnamed.$2", + "type": "number", + "tags": [], + "label": "dashboardCreationStartTime", + "description": [], + "signature": [ + "number | undefined" + ], + "path": "src/plugins/dashboard/public/dashboard_container/embeddable/dashboard_container.tsx", + "deprecated": false, + "trackAdoption": false, + "isRequired": false + }, + { + "parentPluginId": "dashboard", + "id": "def-public.DashboardContainer.Unnamed.$3", + "type": "Object", + "tags": [], + "label": "parent", + "description": [], + "signature": [ + { + "pluginId": "embeddable", + "scope": "public", + "docId": "kibEmbeddablePluginApi", + "section": "def-public.Container", + "text": "Container" + }, + "<{}, ", + { + "pluginId": "embeddable", + "scope": "public", + "docId": "kibEmbeddablePluginApi", + "section": "def-public.ContainerInput", + "text": "ContainerInput" + }, + "<{}>, ", + { + "pluginId": "embeddable", + "scope": "public", + "docId": "kibEmbeddablePluginApi", + "section": "def-public.ContainerOutput", + "text": "ContainerOutput" + }, + "> | undefined" + ], + "path": "src/plugins/dashboard/public/dashboard_container/embeddable/dashboard_container.tsx", + "deprecated": false, + "trackAdoption": false, + "isRequired": false + }, + { + "parentPluginId": "dashboard", + "id": "def-public.DashboardContainer.Unnamed.$4", + "type": "Object", + "tags": [], + "label": "creationOptions", + "description": [], + "signature": [ + "DashboardCreationOptions", + " | undefined" + ], + "path": "src/plugins/dashboard/public/dashboard_container/embeddable/dashboard_container.tsx", + "deprecated": false, + "trackAdoption": false, + "isRequired": false + } + ], + "returnComment": [] + }, + { + "parentPluginId": "dashboard", + "id": "def-public.DashboardContainer.getDashboardSavedObjectId", + "type": "Function", + "tags": [], + "label": "getDashboardSavedObjectId", + "description": [], + "signature": [ + "() => string | undefined" + ], + "path": "src/plugins/dashboard/public/dashboard_container/embeddable/dashboard_container.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [], + "returnComment": [] + }, + { + "parentPluginId": "dashboard", + "id": "def-public.DashboardContainer.getInputAsValueType", + "type": "Function", + "tags": [], + "label": "getInputAsValueType", + "description": [], + "signature": [ + "() => ", + { + "pluginId": "dashboard", + "scope": "common", + "docId": "kibDashboardPluginApi", + "section": "def-common.DashboardContainerByValueInput", + "text": "DashboardContainerByValueInput" + } + ], + "path": "src/plugins/dashboard/public/dashboard_container/embeddable/dashboard_container.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [], + "returnComment": [] + }, + { + "parentPluginId": "dashboard", + "id": "def-public.DashboardContainer.untilInitialized", + "type": "Function", + "tags": [], + "label": "untilInitialized", + "description": [], + "signature": [ + "() => Promise" + ], + "path": "src/plugins/dashboard/public/dashboard_container/embeddable/dashboard_container.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [], + "returnComment": [] + }, + { + "parentPluginId": "dashboard", + "id": "def-public.DashboardContainer.reportPerformanceMetrics", + "type": "Function", + "tags": [], + "label": "reportPerformanceMetrics", + "description": [], + "signature": [ + "(stats: ", + "DashboardRenderPerformanceStats", + ") => void" + ], + "path": "src/plugins/dashboard/public/dashboard_container/embeddable/dashboard_container.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "dashboard", + "id": "def-public.DashboardContainer.reportPerformanceMetrics.$1", + "type": "Object", + "tags": [], + "label": "stats", + "description": [], + "signature": [ + "DashboardRenderPerformanceStats" + ], + "path": "src/plugins/dashboard/public/dashboard_container/embeddable/dashboard_container.tsx", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + }, + { + "parentPluginId": "dashboard", + "id": "def-public.DashboardContainer.createNewPanelState", + "type": "Function", + "tags": [], + "label": "createNewPanelState", + "description": [], + "signature": [ + ">(factory: ", + { + "pluginId": "embeddable", + "scope": "public", + "docId": "kibEmbeddablePluginApi", + "section": "def-public.EmbeddableFactory", + "text": "EmbeddableFactory" + }, + ", partial?: Partial) => ", + { + "pluginId": "dashboard", + "scope": "common", + "docId": "kibDashboardPluginApi", + "section": "def-common.DashboardPanelState", + "text": "DashboardPanelState" + }, + "" + ], + "path": "src/plugins/dashboard/public/dashboard_container/embeddable/dashboard_container.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "dashboard", + "id": "def-public.DashboardContainer.createNewPanelState.$1", + "type": "Object", + "tags": [], + "label": "factory", + "description": [], + "signature": [ + { + "pluginId": "embeddable", + "scope": "public", + "docId": "kibEmbeddablePluginApi", + "section": "def-public.EmbeddableFactory", + "text": "EmbeddableFactory" + }, + "" + ], + "path": "src/plugins/dashboard/public/dashboard_container/embeddable/dashboard_container.tsx", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "dashboard", + "id": "def-public.DashboardContainer.createNewPanelState.$2", + "type": "Object", + "tags": [], + "label": "partial", + "description": [], + "signature": [ + "Partial" + ], + "path": "src/plugins/dashboard/public/dashboard_container/embeddable/dashboard_container.tsx", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + }, + { + "parentPluginId": "dashboard", + "id": "def-public.DashboardContainer.getExplicitInputIsEqual", + "type": "Function", + "tags": [], + "label": "getExplicitInputIsEqual", + "description": [], + "signature": [ + "(lastExplicitInput: ", + { + "pluginId": "dashboard", + "scope": "common", + "docId": "kibDashboardPluginApi", + "section": "def-common.DashboardContainerByValueInput", + "text": "DashboardContainerByValueInput" + }, + ") => Promise" + ], + "path": "src/plugins/dashboard/public/dashboard_container/embeddable/dashboard_container.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "dashboard", + "id": "def-public.DashboardContainer.getExplicitInputIsEqual.$1", + "type": "Object", + "tags": [], + "label": "lastExplicitInput", + "description": [], + "signature": [ + { + "pluginId": "dashboard", + "scope": "common", + "docId": "kibDashboardPluginApi", + "section": "def-common.DashboardContainerByValueInput", + "text": "DashboardContainerByValueInput" + } + ], + "path": "src/plugins/dashboard/public/dashboard_container/embeddable/dashboard_container.tsx", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + }, + { + "parentPluginId": "dashboard", + "id": "def-public.DashboardContainer.getReduxEmbeddableTools", + "type": "Function", + "tags": [], + "label": "getReduxEmbeddableTools", + "description": [], + "signature": [ + "() => ", + { + "pluginId": "presentationUtil", + "scope": "public", + "docId": "kibPresentationUtilPluginApi", + "section": "def-public.ReduxEmbeddableTools", + "text": "ReduxEmbeddableTools" + }, + "<", + "DashboardReduxState", + ", { setControlGroupState: (state: ", + "DashboardReduxState", + ", action: { payload: ", + { + "pluginId": "controls", + "scope": "common", + "docId": "kibControlsPluginApi", + "section": "def-common.PersistableControlGroupInput", + "text": "PersistableControlGroupInput" + }, + " | undefined; type: string; }) => void; setPanels: (state: ", + "DashboardReduxState", + ", action: { payload: ", + { + "pluginId": "dashboard", + "scope": "common", + "docId": "kibDashboardPluginApi", + "section": "def-common.DashboardPanelMap", + "text": "DashboardPanelMap" + }, + "; type: string; }) => void; setStateFromSaveModal: (state: ", + "DashboardReduxState", + ", action: { payload: ", + "DashboardStateFromSaveModal", + "; type: string; }) => void; setDescription: (state: ", + "DashboardReduxState", + ", action: { payload: string | undefined; type: string; }) => void; setViewMode: (state: ", + "DashboardReduxState", + ", action: { payload: ", + { + "pluginId": "embeddable", + "scope": "common", + "docId": "kibEmbeddablePluginApi", + "section": "def-common.ViewMode", + "text": "ViewMode" + }, + "; type: string; }) => void; setTags: (state: ", + "DashboardReduxState", + ", action: { payload: string[]; type: string; }) => void; setTitle: (state: ", + "DashboardReduxState", + ", action: { payload: string; type: string; }) => void; setSearchSessionId: (state: ", + "DashboardReduxState", + ", action: { payload: string | undefined; type: string; }) => void; setHasUnsavedChanges: (state: ", + "DashboardReduxState", + ", action: { payload: boolean | undefined; type: string; }) => void; setLastSavedInput: (state: ", + "DashboardReduxState", + ", action: { payload: ", + { + "pluginId": "dashboard", + "scope": "common", + "docId": "kibDashboardPluginApi", + "section": "def-common.DashboardContainerByValueInput", + "text": "DashboardContainerByValueInput" + }, + "; type: string; }) => void; resetToLastSavedInput: (state: ", + "DashboardReduxState", + ") => void; setUseMargins: (state: ", + "DashboardReduxState", + ", action: { payload: boolean; type: string; }) => void; setSyncCursor: (state: ", + "DashboardReduxState", + ", action: { payload: boolean; type: string; }) => void; setSyncColors: (state: ", + "DashboardReduxState", + ", action: { payload: boolean; type: string; }) => void; setSyncTooltips: (state: ", + "DashboardReduxState", + ", action: { payload: boolean; type: string; }) => void; setHidePanelTitles: (state: ", + "DashboardReduxState", + ", action: { payload: boolean; type: string; }) => void; setFiltersAndQuery: (state: ", + "DashboardReduxState", + ", action: { payload: Pick<", + { + "pluginId": "dashboard", + "scope": "common", + "docId": "kibDashboardPluginApi", + "section": "def-common.DashboardContainerByValueInput", + "text": "DashboardContainerByValueInput" + }, + ", \"query\" | \"filters\">; type: string; }) => void; setLastReloadRequestTimeToNow: (state: ", + "DashboardReduxState", + ") => void; setFilters: (state: ", + "DashboardReduxState", + ", action: { payload: ", + { + "pluginId": "@kbn/es-query", + "scope": "common", + "docId": "kibKbnEsQueryPluginApi", + "section": "def-common.Filter", + "text": "Filter" + }, + "[]; type: string; }) => void; setQuery: (state: ", + "DashboardReduxState", + ", action: { payload: ", + { + "pluginId": "@kbn/es-query", + "scope": "common", + "docId": "kibKbnEsQueryPluginApi", + "section": "def-common.Query", + "text": "Query" + }, + "; type: string; }) => void; setSavedQueryId: (state: ", + "DashboardReduxState", + ", action: { payload: string | undefined; type: string; }) => void; setTimeRestore: (state: ", + "DashboardReduxState", + ", action: { payload: boolean; type: string; }) => void; setTimeRange: (state: ", + "DashboardReduxState", + ", action: { payload: ", + { + "pluginId": "@kbn/es-query", + "scope": "common", + "docId": "kibKbnEsQueryPluginApi", + "section": "def-common.TimeRange", + "text": "TimeRange" + }, + " | undefined; type: string; }) => void; setRefreshInterval: (state: ", + "DashboardReduxState", + ", action: { payload: ", + { + "pluginId": "data", + "scope": "common", + "docId": "kibDataQueryPluginApi", + "section": "def-common.RefreshInterval", + "text": "RefreshInterval" + }, + " | undefined; type: string; }) => void; setTimeslice: (state: ", + "DashboardReduxState", + ", action: { payload: [number, number] | undefined; type: string; }) => void; setExpandedPanelId: (state: ", + "DashboardReduxState", + ", action: { payload: string | undefined; type: string; }) => void; setFullScreenMode: (state: ", + "DashboardReduxState", + ", action: { payload: boolean; type: string; }) => void; }>" + ], + "path": "src/plugins/dashboard/public/dashboard_container/embeddable/dashboard_container.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [], + "returnComment": [] + }, + { + "parentPluginId": "dashboard", + "id": "def-public.DashboardContainer.render", + "type": "Function", + "tags": [], + "label": "render", + "description": [], + "signature": [ + "(dom: HTMLElement) => void" + ], + "path": "src/plugins/dashboard/public/dashboard_container/embeddable/dashboard_container.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "dashboard", + "id": "def-public.DashboardContainer.render.$1", + "type": "Object", + "tags": [], + "label": "dom", + "description": [], + "signature": [ + "HTMLElement" + ], + "path": "src/plugins/dashboard/public/dashboard_container/embeddable/dashboard_container.tsx", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + }, + { + "parentPluginId": "dashboard", + "id": "def-public.DashboardContainer.getInheritedInput", + "type": "Function", + "tags": [], + "label": "getInheritedInput", + "description": [], + "signature": [ + "(id: string) => ", + "InheritedChildInput" + ], + "path": "src/plugins/dashboard/public/dashboard_container/embeddable/dashboard_container.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "dashboard", + "id": "def-public.DashboardContainer.getInheritedInput.$1", + "type": "string", + "tags": [], + "label": "id", + "description": [], + "signature": [ + "string" + ], + "path": "src/plugins/dashboard/public/dashboard_container/embeddable/dashboard_container.tsx", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + }, + { + "parentPluginId": "dashboard", + "id": "def-public.DashboardContainer.destroy", + "type": "Function", + "tags": [], + "label": "destroy", + "description": [], + "signature": [ + "() => void" + ], + "path": "src/plugins/dashboard/public/dashboard_container/embeddable/dashboard_container.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [], + "returnComment": [] + }, + { + "parentPluginId": "dashboard", + "id": "def-public.DashboardContainer.isExpectingIdChange", + "type": "Function", + "tags": [], + "label": "isExpectingIdChange", + "description": [ + "\nSometimes when the ID changes, it's due to a clone operation, or a save as operation. In these cases,\nmost of the state hasn't actually changed, so there isn't any reason to destroy this container and\nload up a fresh one. When an id change is in progress, the renderer can check this method, and if it returns\ntrue, the renderer can safely skip destroying and rebuilding the container." + ], + "signature": [ + "() => boolean" + ], + "path": "src/plugins/dashboard/public/dashboard_container/embeddable/dashboard_container.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [], + "returnComment": [] + }, + { + "parentPluginId": "dashboard", + "id": "def-public.DashboardContainer.expectIdChange", + "type": "Function", + "tags": [], + "label": "expectIdChange", + "description": [], + "signature": [ + "() => void" + ], + "path": "src/plugins/dashboard/public/dashboard_container/embeddable/dashboard_container.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [], + "returnComment": [] + }, + { + "parentPluginId": "dashboard", + "id": "def-public.DashboardContainer.runClone", + "type": "Function", + "tags": [], + "label": "runClone", + "description": [], + "signature": [ + "(this: ", + { + "pluginId": "dashboard", + "scope": "public", + "docId": "kibDashboardPluginApi", + "section": "def-public.DashboardContainer", + "text": "DashboardContainer" + }, + ") => Promise<", + "SaveDashboardReturn", + " | undefined>" + ], + "path": "src/plugins/dashboard/public/dashboard_container/embeddable/dashboard_container.tsx", + "deprecated": false, + "trackAdoption": false, + "returnComment": [], + "children": [] + }, + { + "parentPluginId": "dashboard", + "id": "def-public.DashboardContainer.runSaveAs", + "type": "Function", + "tags": [], + "label": "runSaveAs", + "description": [], + "signature": [ + "(this: ", + { + "pluginId": "dashboard", + "scope": "public", + "docId": "kibDashboardPluginApi", + "section": "def-public.DashboardContainer", + "text": "DashboardContainer" + }, + ") => Promise<", + "SaveDashboardReturn", + " | undefined>" + ], + "path": "src/plugins/dashboard/public/dashboard_container/embeddable/dashboard_container.tsx", + "deprecated": false, + "trackAdoption": false, + "returnComment": [], + "children": [] + }, + { + "parentPluginId": "dashboard", + "id": "def-public.DashboardContainer.runQuickSave", + "type": "Function", + "tags": [], + "label": "runQuickSave", + "description": [], + "signature": [ + "(this: ", + { + "pluginId": "dashboard", + "scope": "public", + "docId": "kibDashboardPluginApi", + "section": "def-public.DashboardContainer", + "text": "DashboardContainer" + }, + ") => Promise<", + "SaveDashboardReturn", + ">" + ], + "path": "src/plugins/dashboard/public/dashboard_container/embeddable/dashboard_container.tsx", + "deprecated": false, + "trackAdoption": false, + "returnComment": [], + "children": [] + }, + { + "parentPluginId": "dashboard", + "id": "def-public.DashboardContainer.showOptions", + "type": "Function", + "tags": [], + "label": "showOptions", + "description": [], + "signature": [ + "(this: ", + { + "pluginId": "dashboard", + "scope": "public", + "docId": "kibDashboardPluginApi", + "section": "def-public.DashboardContainer", + "text": "DashboardContainer" + }, + ", anchorElement: HTMLElement) => void" + ], + "path": "src/plugins/dashboard/public/dashboard_container/embeddable/dashboard_container.tsx", + "deprecated": false, + "trackAdoption": false, + "returnComment": [], + "children": [ + { + "parentPluginId": "dashboard", + "id": "def-public.DashboardContainer.showOptions.$1", + "type": "Object", + "tags": [], + "label": "anchorElement", + "description": [], + "signature": [ + "HTMLElement" + ], + "path": "src/plugins/dashboard/public/dashboard_container/embeddable/api/show_options_popover.tsx", + "deprecated": false, + "trackAdoption": false + } + ] + }, + { + "parentPluginId": "dashboard", + "id": "def-public.DashboardContainer.addFromLibrary", + "type": "Function", + "tags": [], + "label": "addFromLibrary", + "description": [], + "signature": [ + "(this: ", + { + "pluginId": "dashboard", + "scope": "public", + "docId": "kibDashboardPluginApi", + "section": "def-public.DashboardContainer", + "text": "DashboardContainer" + }, + ") => void" + ], + "path": "src/plugins/dashboard/public/dashboard_container/embeddable/dashboard_container.tsx", + "deprecated": false, + "trackAdoption": false, + "returnComment": [], + "children": [] + }, + { + "parentPluginId": "dashboard", + "id": "def-public.DashboardContainer.replacePanel", + "type": "Function", + "tags": [], + "label": "replacePanel", + "description": [], + "signature": [ + "(this: ", + { + "pluginId": "dashboard", + "scope": "public", + "docId": "kibDashboardPluginApi", + "section": "def-public.DashboardContainer", + "text": "DashboardContainer" + }, + ", previousPanelState: ", + { + "pluginId": "dashboard", + "scope": "common", + "docId": "kibDashboardPluginApi", + "section": "def-common.DashboardPanelState", + "text": "DashboardPanelState" + }, + "<", + { + "pluginId": "embeddable", + "scope": "common", + "docId": "kibEmbeddablePluginApi", + "section": "def-common.EmbeddableInput", + "text": "EmbeddableInput" + }, + ">, newPanelState: Partial<", + { + "pluginId": "embeddable", + "scope": "common", + "docId": "kibEmbeddablePluginApi", + "section": "def-common.PanelState", + "text": "PanelState" + }, + "<{ id: string; }>>, generateNewId?: boolean | undefined) => Promise" + ], + "path": "src/plugins/dashboard/public/dashboard_container/embeddable/dashboard_container.tsx", + "deprecated": false, + "trackAdoption": false, + "returnComment": [], + "children": [ + { + "parentPluginId": "dashboard", + "id": "def-public.DashboardContainer.replacePanel.$1", + "type": "Object", + "tags": [], + "label": "previousPanelState", + "description": [], + "signature": [ + { + "pluginId": "dashboard", + "scope": "common", + "docId": "kibDashboardPluginApi", + "section": "def-common.DashboardPanelState", + "text": "DashboardPanelState" + }, + "<", + { + "pluginId": "embeddable", + "scope": "common", + "docId": "kibEmbeddablePluginApi", + "section": "def-common.EmbeddableInput", + "text": "EmbeddableInput" + }, + ">" + ], + "path": "src/plugins/dashboard/public/dashboard_container/embeddable/api/panel_management.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "dashboard", + "id": "def-public.DashboardContainer.replacePanel.$2", + "type": "Object", + "tags": [], + "label": "newPanelState", + "description": [], + "signature": [ + "{ type?: string | undefined; explicitInput?: (Partial<{ id: string; }> & { id: string; }) | undefined; }" + ], + "path": "src/plugins/dashboard/public/dashboard_container/embeddable/api/panel_management.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "dashboard", + "id": "def-public.DashboardContainer.replacePanel.$3", + "type": "CompoundType", + "tags": [], + "label": "generateNewId", + "description": [], + "signature": [ + "boolean | undefined" + ], + "path": "src/plugins/dashboard/public/dashboard_container/embeddable/api/panel_management.ts", + "deprecated": false, + "trackAdoption": false + } + ] + }, + { + "parentPluginId": "dashboard", + "id": "def-public.DashboardContainer.showPlaceholderUntil", + "type": "Function", + "tags": [], + "label": "showPlaceholderUntil", + "description": [], + "signature": [ + "(this: ", + { + "pluginId": "dashboard", + "scope": "public", + "docId": "kibDashboardPluginApi", + "section": "def-public.DashboardContainer", + "text": "DashboardContainer" + }, + ", newStateComplete: Promise>>, placementMethod?: ", + "PanelPlacementMethod", + " | undefined, placementArgs?: TPlacementMethodArgs | undefined) => void" + ], + "path": "src/plugins/dashboard/public/dashboard_container/embeddable/dashboard_container.tsx", + "deprecated": false, + "trackAdoption": false, + "returnComment": [], + "children": [ + { + "parentPluginId": "dashboard", + "id": "def-public.DashboardContainer.showPlaceholderUntil.$1", + "type": "Object", + "tags": [], + "label": "newStateComplete", + "description": [], + "signature": [ + "Promise>>" + ], + "path": "src/plugins/dashboard/public/dashboard_container/embeddable/api/panel_management.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "dashboard", + "id": "def-public.DashboardContainer.showPlaceholderUntil.$2", + "type": "Function", + "tags": [], + "label": "placementMethod", + "description": [], + "signature": [ + "PanelPlacementMethod", + " | undefined" + ], + "path": "src/plugins/dashboard/public/dashboard_container/embeddable/api/panel_management.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "dashboard", + "id": "def-public.DashboardContainer.showPlaceholderUntil.$3", + "type": "Uncategorized", + "tags": [], + "label": "placementArgs", + "description": [], + "signature": [ + "TPlacementMethodArgs | undefined" + ], + "path": "src/plugins/dashboard/public/dashboard_container/embeddable/api/panel_management.ts", + "deprecated": false, + "trackAdoption": false + } + ] + }, + { + "parentPluginId": "dashboard", + "id": "def-public.DashboardContainer.addOrUpdateEmbeddable", + "type": "Function", + "tags": [], + "label": "addOrUpdateEmbeddable", + "description": [], + "signature": [ + " = ", + { + "pluginId": "embeddable", + "scope": "public", + "docId": "kibEmbeddablePluginApi", + "section": "def-public.IEmbeddable", + "text": "IEmbeddable" + }, + ">(this: ", + { + "pluginId": "dashboard", + "scope": "public", + "docId": "kibDashboardPluginApi", + "section": "def-public.DashboardContainer", + "text": "DashboardContainer" + }, + ", type: string, explicitInput: Partial, embeddableId?: string | undefined) => Promise" + ], + "path": "src/plugins/dashboard/public/dashboard_container/embeddable/dashboard_container.tsx", + "deprecated": false, + "trackAdoption": false, + "returnComment": [], + "children": [ + { + "parentPluginId": "dashboard", + "id": "def-public.DashboardContainer.addOrUpdateEmbeddable.$1", + "type": "string", + "tags": [], + "label": "type", + "description": [], + "path": "src/plugins/dashboard/public/dashboard_container/embeddable/api/panel_management.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "dashboard", + "id": "def-public.DashboardContainer.addOrUpdateEmbeddable.$2", + "type": "Object", + "tags": [], + "label": "explicitInput", + "description": [], + "signature": [ + "{ [P in keyof EEI]?: EEI[P] | undefined; }" + ], + "path": "src/plugins/dashboard/public/dashboard_container/embeddable/api/panel_management.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "dashboard", + "id": "def-public.DashboardContainer.addOrUpdateEmbeddable.$3", + "type": "string", + "tags": [], + "label": "embeddableId", + "description": [], + "signature": [ + "string | undefined" + ], + "path": "src/plugins/dashboard/public/dashboard_container/embeddable/api/panel_management.ts", + "deprecated": false, + "trackAdoption": false + } + ] + }, + { + "parentPluginId": "dashboard", + "id": "def-public.DashboardContainer.forceRefresh", + "type": "Function", + "tags": [], + "label": "forceRefresh", + "description": [], + "signature": [ + "() => void" + ], + "path": "src/plugins/dashboard/public/dashboard_container/embeddable/dashboard_container.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [], + "returnComment": [] + }, + { + "parentPluginId": "dashboard", + "id": "def-public.DashboardContainer.onDataViewsUpdate$", + "type": "Object", + "tags": [], + "label": "onDataViewsUpdate$", + "description": [], + "signature": [ + "Subject", + "<", + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataView", + "text": "DataView" + }, + "[]>" + ], + "path": "src/plugins/dashboard/public/dashboard_container/embeddable/dashboard_container.tsx", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "dashboard", + "id": "def-public.DashboardContainer.resetToLastSavedState", + "type": "Function", + "tags": [], + "label": "resetToLastSavedState", + "description": [], + "signature": [ + "() => void" + ], + "path": "src/plugins/dashboard/public/dashboard_container/embeddable/dashboard_container.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [], + "returnComment": [] + }, + { + "parentPluginId": "dashboard", + "id": "def-public.DashboardContainer.getAllDataViews", + "type": "Function", + "tags": [], + "label": "getAllDataViews", + "description": [ + "\nGets all the dataviews that are actively being used in the dashboard" + ], + "signature": [ + "() => ", + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataView", + "text": "DataView" + }, + "[]" + ], + "path": "src/plugins/dashboard/public/dashboard_container/embeddable/dashboard_container.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [], + "returnComment": [ + "An array of dataviews" + ] + }, + { + "parentPluginId": "dashboard", + "id": "def-public.DashboardContainer.setAllDataViews", + "type": "Function", + "tags": [], + "label": "setAllDataViews", + "description": [ + "\nUse this to set the dataviews that are used in the dashboard when they change/update" + ], + "signature": [ + "(newDataViews: ", + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataView", + "text": "DataView" + }, + "[]) => void" + ], + "path": "src/plugins/dashboard/public/dashboard_container/embeddable/dashboard_container.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "dashboard", + "id": "def-public.DashboardContainer.setAllDataViews.$1", + "type": "Array", + "tags": [], + "label": "newDataViews", + "description": [ + "The new array of dataviews that will overwrite the old dataviews array" + ], + "signature": [ + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataView", + "text": "DataView" + }, + "[]" + ], + "path": "src/plugins/dashboard/public/dashboard_container/embeddable/dashboard_container.tsx", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + }, + { + "parentPluginId": "dashboard", + "id": "def-public.DashboardContainer.getExpandedPanelId", + "type": "Function", + "tags": [], + "label": "getExpandedPanelId", + "description": [], + "signature": [ + "() => string | undefined" + ], + "path": "src/plugins/dashboard/public/dashboard_container/embeddable/dashboard_container.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [], + "returnComment": [] + }, + { + "parentPluginId": "dashboard", + "id": "def-public.DashboardContainer.openOverlay", + "type": "Function", + "tags": [], + "label": "openOverlay", + "description": [], + "signature": [ + "(ref: ", + { + "pluginId": "@kbn/core-mount-utils-browser", + "scope": "common", + "docId": "kibKbnCoreMountUtilsBrowserPluginApi", + "section": "def-common.OverlayRef", + "text": "OverlayRef" + }, + ") => void" + ], + "path": "src/plugins/dashboard/public/dashboard_container/embeddable/dashboard_container.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "dashboard", + "id": "def-public.DashboardContainer.openOverlay.$1", + "type": "Object", + "tags": [], + "label": "ref", + "description": [], + "signature": [ + { + "pluginId": "@kbn/core-mount-utils-browser", + "scope": "common", + "docId": "kibKbnCoreMountUtilsBrowserPluginApi", + "section": "def-common.OverlayRef", + "text": "OverlayRef" + } + ], + "path": "src/plugins/dashboard/public/dashboard_container/embeddable/dashboard_container.tsx", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + }, + { + "parentPluginId": "dashboard", + "id": "def-public.DashboardContainer.clearOverlays", + "type": "Function", + "tags": [], + "label": "clearOverlays", + "description": [], + "signature": [ + "() => void" + ], + "path": "src/plugins/dashboard/public/dashboard_container/embeddable/dashboard_container.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [], + "returnComment": [] + }, + { + "parentPluginId": "dashboard", + "id": "def-public.DashboardContainer.setExpandedPanelId", + "type": "Function", + "tags": [], + "label": "setExpandedPanelId", + "description": [], + "signature": [ + "(newId?: string | undefined) => void" + ], + "path": "src/plugins/dashboard/public/dashboard_container/embeddable/dashboard_container.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "dashboard", + "id": "def-public.DashboardContainer.setExpandedPanelId.$1", + "type": "string", + "tags": [], + "label": "newId", + "description": [], + "signature": [ + "string | undefined" + ], + "path": "src/plugins/dashboard/public/dashboard_container/embeddable/dashboard_container.tsx", + "deprecated": false, + "trackAdoption": false, + "isRequired": false + } + ], + "returnComment": [] + }, + { + "parentPluginId": "dashboard", + "id": "def-public.DashboardContainer.getPanelCount", + "type": "Function", + "tags": [], + "label": "getPanelCount", + "description": [], + "signature": [ + "() => number" + ], + "path": "src/plugins/dashboard/public/dashboard_container/embeddable/dashboard_container.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [], + "returnComment": [] + }, + { + "parentPluginId": "dashboard", + "id": "def-public.DashboardContainer.getPanelTitles", + "type": "Function", + "tags": [], + "label": "getPanelTitles", + "description": [], + "signature": [ + "() => Promise" + ], + "path": "src/plugins/dashboard/public/dashboard_container/embeddable/dashboard_container.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [], + "returnComment": [] + } + ], + "initialIsOpen": false + } + ], "functions": [ { "parentPluginId": "dashboard", @@ -1957,16 +3371,16 @@ "pluginId": "dashboard", "scope": "common", "docId": "kibDashboardPluginApi", - "section": "def-common.DashboardContainerByValueInput", - "text": "DashboardContainerByValueInput" + "section": "def-common.DashboardContainerByReferenceInput", + "text": "DashboardContainerByReferenceInput" }, " | ", { "pluginId": "dashboard", "scope": "common", "docId": "kibDashboardPluginApi", - "section": "def-common.DashboardContainerByReferenceInput", - "text": "DashboardContainerByReferenceInput" + "section": "def-common.DashboardContainerByValueInput", + "text": "DashboardContainerByValueInput" } ], "path": "src/plugins/dashboard/common/dashboard_container/types.ts", @@ -2079,7 +3493,7 @@ "section": "def-common.PersistableControlGroupInput", "text": "PersistableControlGroupInput" }, - " | undefined; isEmbeddedExternally?: boolean | undefined; timeRestore?: boolean | undefined; refreshInterval?: ", + " | undefined; timeRestore?: boolean | undefined; refreshInterval?: ", { "pluginId": "data", "scope": "common", @@ -2087,7 +3501,7 @@ "section": "def-common.RefreshInterval", "text": "RefreshInterval" }, - " | undefined; useMargins?: boolean | undefined; panels?: ", + " | undefined; isEmbeddedExternally?: boolean | undefined; useMargins?: boolean | undefined; panels?: ", { "pluginId": "dashboard", "scope": "common", diff --git a/api_docs/dashboard.mdx b/api_docs/dashboard.mdx index 703856322f24f..2c1bcc15ceb43 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-01-23 +date: 2023-01-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dashboard'] --- import dashboardObj from './dashboard.devdocs.json'; @@ -21,7 +21,7 @@ Contact [Kibana Presentation](https://github.com/orgs/elastic/teams/kibana-prese | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 113 | 0 | 109 | 2 | +| 171 | 0 | 163 | 10 | ## Client @@ -34,6 +34,9 @@ Contact [Kibana Presentation](https://github.com/orgs/elastic/teams/kibana-prese ### Functions +### Classes + + ### Interfaces diff --git a/api_docs/dashboard_enhanced.mdx b/api_docs/dashboard_enhanced.mdx index 4492855f0c83e..c2bfbeccee8c1 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-01-23 +date: 2023-01-24 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 54ed4d3dcfef1..403980306ecd4 100644 --- a/api_docs/data.devdocs.json +++ b/api_docs/data.devdocs.json @@ -11737,6 +11737,18 @@ "plugin": "cases", "path": "x-pack/plugins/cases/server/common/types.ts" }, + { + "plugin": "cases", + "path": "x-pack/plugins/cases/server/services/user_actions/operations/find.ts" + }, + { + "plugin": "cases", + "path": "x-pack/plugins/cases/server/services/user_actions/operations/find.ts" + }, + { + "plugin": "cases", + "path": "x-pack/plugins/cases/server/services/user_actions/operations/find.ts" + }, { "plugin": "synthetics", "path": "x-pack/plugins/synthetics/public/apps/synthetics/state/monitor_list/api.ts" @@ -11809,6 +11821,50 @@ "plugin": "alerting", "path": "x-pack/plugins/alerting/server/rules_client/tests/bulk_disable.test.ts" }, + { + "plugin": "cases", + "path": "x-pack/plugins/cases/server/services/user_actions/test_utils.ts" + }, + { + "plugin": "cases", + "path": "x-pack/plugins/cases/server/services/user_actions/test_utils.ts" + }, + { + "plugin": "cases", + "path": "x-pack/plugins/cases/server/services/user_actions/test_utils.ts" + }, + { + "plugin": "cases", + "path": "x-pack/plugins/cases/server/services/user_actions/test_utils.ts" + }, + { + "plugin": "cases", + "path": "x-pack/plugins/cases/server/services/user_actions/test_utils.ts" + }, + { + "plugin": "cases", + "path": "x-pack/plugins/cases/server/services/user_actions/test_utils.ts" + }, + { + "plugin": "cases", + "path": "x-pack/plugins/cases/server/services/user_actions/test_utils.ts" + }, + { + "plugin": "cases", + "path": "x-pack/plugins/cases/server/services/user_actions/test_utils.ts" + }, + { + "plugin": "cases", + "path": "x-pack/plugins/cases/server/services/user_actions/test_utils.ts" + }, + { + "plugin": "cases", + "path": "x-pack/plugins/cases/server/services/user_actions/test_utils.ts" + }, + { + "plugin": "cases", + "path": "x-pack/plugins/cases/server/services/user_actions/test_utils.ts" + }, { "plugin": "fleet", "path": "x-pack/plugins/fleet/server/services/agents/action.mock.ts" @@ -30442,6 +30498,18 @@ "plugin": "cases", "path": "x-pack/plugins/cases/server/common/types.ts" }, + { + "plugin": "cases", + "path": "x-pack/plugins/cases/server/services/user_actions/operations/find.ts" + }, + { + "plugin": "cases", + "path": "x-pack/plugins/cases/server/services/user_actions/operations/find.ts" + }, + { + "plugin": "cases", + "path": "x-pack/plugins/cases/server/services/user_actions/operations/find.ts" + }, { "plugin": "synthetics", "path": "x-pack/plugins/synthetics/public/apps/synthetics/state/monitor_list/api.ts" @@ -30514,6 +30582,50 @@ "plugin": "alerting", "path": "x-pack/plugins/alerting/server/rules_client/tests/bulk_disable.test.ts" }, + { + "plugin": "cases", + "path": "x-pack/plugins/cases/server/services/user_actions/test_utils.ts" + }, + { + "plugin": "cases", + "path": "x-pack/plugins/cases/server/services/user_actions/test_utils.ts" + }, + { + "plugin": "cases", + "path": "x-pack/plugins/cases/server/services/user_actions/test_utils.ts" + }, + { + "plugin": "cases", + "path": "x-pack/plugins/cases/server/services/user_actions/test_utils.ts" + }, + { + "plugin": "cases", + "path": "x-pack/plugins/cases/server/services/user_actions/test_utils.ts" + }, + { + "plugin": "cases", + "path": "x-pack/plugins/cases/server/services/user_actions/test_utils.ts" + }, + { + "plugin": "cases", + "path": "x-pack/plugins/cases/server/services/user_actions/test_utils.ts" + }, + { + "plugin": "cases", + "path": "x-pack/plugins/cases/server/services/user_actions/test_utils.ts" + }, + { + "plugin": "cases", + "path": "x-pack/plugins/cases/server/services/user_actions/test_utils.ts" + }, + { + "plugin": "cases", + "path": "x-pack/plugins/cases/server/services/user_actions/test_utils.ts" + }, + { + "plugin": "cases", + "path": "x-pack/plugins/cases/server/services/user_actions/test_utils.ts" + }, { "plugin": "fleet", "path": "x-pack/plugins/fleet/server/services/agents/action.mock.ts" diff --git a/api_docs/data.mdx b/api_docs/data.mdx index fbdbddfe7bd5c..654ddf72d4e44 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-01-23 +date: 2023-01-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'data'] --- import dataObj from './data.devdocs.json'; diff --git a/api_docs/data_query.devdocs.json b/api_docs/data_query.devdocs.json index 98f5d2f670e1e..4287318f3d825 100644 --- a/api_docs/data_query.devdocs.json +++ b/api_docs/data_query.devdocs.json @@ -1832,14 +1832,6 @@ "text": "Filter" }, ", indexPatterns: ", - { - "pluginId": "@kbn/es-query", - "scope": "common", - "docId": "kibKbnEsQueryPluginApi", - "section": "def-common.DataViewBase", - "text": "DataViewBase" - }, - "[] | ", { "pluginId": "dataViews", "scope": "common", @@ -1847,6 +1839,14 @@ "section": "def-common.DataView", "text": "DataView" }, + "[] | ", + { + "pluginId": "@kbn/es-query", + "scope": "common", + "docId": "kibKbnEsQueryPluginApi", + "section": "def-common.DataViewBase", + "text": "DataViewBase" + }, "[]) => string" ], "path": "src/plugins/data/public/query/filter_manager/lib/get_display_value.ts", @@ -1882,14 +1882,6 @@ "label": "indexPatterns", "description": [], "signature": [ - { - "pluginId": "@kbn/es-query", - "scope": "common", - "docId": "kibKbnEsQueryPluginApi", - "section": "def-common.DataViewBase", - "text": "DataViewBase" - }, - "[] | ", { "pluginId": "dataViews", "scope": "common", @@ -1897,6 +1889,14 @@ "section": "def-common.DataView", "text": "DataView" }, + "[] | ", + { + "pluginId": "@kbn/es-query", + "scope": "common", + "docId": "kibKbnEsQueryPluginApi", + "section": "def-common.DataViewBase", + "text": "DataViewBase" + }, "[]" ], "path": "src/plugins/data/public/query/filter_manager/lib/get_display_value.ts", diff --git a/api_docs/data_query.mdx b/api_docs/data_query.mdx index 9f8b6bcca7a44..ee16a8981997d 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-01-23 +date: 2023-01-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'data.query'] --- import dataQueryObj from './data_query.devdocs.json'; diff --git a/api_docs/data_search.devdocs.json b/api_docs/data_search.devdocs.json index 7a787eaa2a666..bff96335cd044 100644 --- a/api_docs/data_search.devdocs.json +++ b/api_docs/data_search.devdocs.json @@ -26198,7 +26198,7 @@ "label": "aggregate", "description": [], "signature": [ - "\"min\" | \"max\" | \"sum\" | \"average\" | \"concat\"" + "\"min\" | \"max\" | \"concat\" | \"sum\" | \"average\"" ], "path": "src/plugins/data/common/search/aggs/metrics/top_hit.ts", "deprecated": false, diff --git a/api_docs/data_search.mdx b/api_docs/data_search.mdx index b3d8168770760..6346e509e1958 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-01-23 +date: 2023-01-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 7b012a86f90df..a9333f758afc3 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-01-23 +date: 2023-01-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 dd9454f0f63de..9d68b3c6ba463 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-01-23 +date: 2023-01-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 bc6d6f1ae8f68..29097445d4724 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-01-23 +date: 2023-01-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dataViewManagement'] --- import dataViewManagementObj from './data_view_management.devdocs.json'; diff --git a/api_docs/data_views.devdocs.json b/api_docs/data_views.devdocs.json index c8c66a842fcf8..33efa3cad42bb 100644 --- a/api_docs/data_views.devdocs.json +++ b/api_docs/data_views.devdocs.json @@ -26948,6 +26948,18 @@ "plugin": "cases", "path": "x-pack/plugins/cases/server/common/types.ts" }, + { + "plugin": "cases", + "path": "x-pack/plugins/cases/server/services/user_actions/operations/find.ts" + }, + { + "plugin": "cases", + "path": "x-pack/plugins/cases/server/services/user_actions/operations/find.ts" + }, + { + "plugin": "cases", + "path": "x-pack/plugins/cases/server/services/user_actions/operations/find.ts" + }, { "plugin": "synthetics", "path": "x-pack/plugins/synthetics/public/apps/synthetics/state/monitor_list/api.ts" @@ -27020,6 +27032,50 @@ "plugin": "alerting", "path": "x-pack/plugins/alerting/server/rules_client/tests/bulk_disable.test.ts" }, + { + "plugin": "cases", + "path": "x-pack/plugins/cases/server/services/user_actions/test_utils.ts" + }, + { + "plugin": "cases", + "path": "x-pack/plugins/cases/server/services/user_actions/test_utils.ts" + }, + { + "plugin": "cases", + "path": "x-pack/plugins/cases/server/services/user_actions/test_utils.ts" + }, + { + "plugin": "cases", + "path": "x-pack/plugins/cases/server/services/user_actions/test_utils.ts" + }, + { + "plugin": "cases", + "path": "x-pack/plugins/cases/server/services/user_actions/test_utils.ts" + }, + { + "plugin": "cases", + "path": "x-pack/plugins/cases/server/services/user_actions/test_utils.ts" + }, + { + "plugin": "cases", + "path": "x-pack/plugins/cases/server/services/user_actions/test_utils.ts" + }, + { + "plugin": "cases", + "path": "x-pack/plugins/cases/server/services/user_actions/test_utils.ts" + }, + { + "plugin": "cases", + "path": "x-pack/plugins/cases/server/services/user_actions/test_utils.ts" + }, + { + "plugin": "cases", + "path": "x-pack/plugins/cases/server/services/user_actions/test_utils.ts" + }, + { + "plugin": "cases", + "path": "x-pack/plugins/cases/server/services/user_actions/test_utils.ts" + }, { "plugin": "fleet", "path": "x-pack/plugins/fleet/server/services/agents/action.mock.ts" diff --git a/api_docs/data_views.mdx b/api_docs/data_views.mdx index ab8c80d61f817..e768c489ceb0d 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-01-23 +date: 2023-01-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 179199a6ed267..81adb92fe00b8 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-01-23 +date: 2023-01-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 7c1d32518069c..00f340eb9e9ed 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-01-23 +date: 2023-01-24 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- @@ -124,7 +124,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | @kbn/core-lifecycle-browser-mocks, core, ml, dashboard, dataViews, savedSearch, @kbn/core-plugins-browser-internal | - | | | core, lens, savedObjects, visualizations | - | | | core | - | -| | home, ml, canvas, osquery | - | +| | home, canvas, osquery | - | | | home, data, esUiShared, spaces, savedObjectsManagement, fleet, observability, ml, apm, indexLifecycleManagement, synthetics, upgradeAssistant, ux, kibanaOverview | - | | | dataViews, maps | - | | | dataViewManagement, dataViews | - | diff --git a/api_docs/deprecations_by_plugin.mdx b/api_docs/deprecations_by_plugin.mdx index 89adefbf1c2ab..da4e8add41adb 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-01-23 +date: 2023-01-24 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- @@ -502,19 +502,19 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | Deprecated API | Reference location(s) | Remove By | | ---------------|-----------|-----------| -| | [so_references.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/services/so_references.ts#:~:text=SavedObject), [so_references.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/services/so_references.ts#:~:text=SavedObject), [utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/authorization/utils.ts#:~:text=SavedObject), [utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/authorization/utils.ts#:~:text=SavedObject), [utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/authorization/utils.ts#:~:text=SavedObject), [utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/authorization/utils.ts#:~:text=SavedObject), [authorization.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/authorization/authorization.ts#:~:text=SavedObject), [authorization.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/authorization/authorization.ts#:~:text=SavedObject), [authorization.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/authorization/authorization.ts#:~:text=SavedObject), [authorization.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/authorization/authorization.ts#:~:text=SavedObject)+ 14 more | - | -| | [so_references.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/services/so_references.ts#:~:text=SavedObject), [so_references.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/services/so_references.ts#:~:text=SavedObject), [utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/authorization/utils.ts#:~:text=SavedObject), [utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/authorization/utils.ts#:~:text=SavedObject), [utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/authorization/utils.ts#:~:text=SavedObject), [utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/authorization/utils.ts#:~:text=SavedObject), [authorization.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/authorization/authorization.ts#:~:text=SavedObject), [authorization.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/authorization/authorization.ts#:~:text=SavedObject), [authorization.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/authorization/authorization.ts#:~:text=SavedObject), [authorization.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/authorization/authorization.ts#:~:text=SavedObject)+ 26 more | - | +| | [so_references.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/services/so_references.ts#:~:text=SavedObject), [so_references.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/services/so_references.ts#:~:text=SavedObject), [utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/authorization/utils.ts#:~:text=SavedObject), [utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/authorization/utils.ts#:~:text=SavedObject), [utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/authorization/utils.ts#:~:text=SavedObject), [utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/authorization/utils.ts#:~:text=SavedObject), [authorization.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/authorization/authorization.ts#:~:text=SavedObject), [authorization.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/authorization/authorization.ts#:~:text=SavedObject), [authorization.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/authorization/authorization.ts#:~:text=SavedObject), [authorization.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/authorization/authorization.ts#:~:text=SavedObject)+ 42 more | - | +| | [so_references.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/services/so_references.ts#:~:text=SavedObject), [so_references.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/services/so_references.ts#:~:text=SavedObject), [utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/authorization/utils.ts#:~:text=SavedObject), [utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/authorization/utils.ts#:~:text=SavedObject), [utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/authorization/utils.ts#:~:text=SavedObject), [utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/authorization/utils.ts#:~:text=SavedObject), [authorization.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/authorization/authorization.ts#:~:text=SavedObject), [authorization.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/authorization/authorization.ts#:~:text=SavedObject), [authorization.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/authorization/authorization.ts#:~:text=SavedObject), [authorization.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/authorization/authorization.ts#:~:text=SavedObject)+ 68 more | - | | | [saved_objects_finder.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/public/components/markdown_editor/plugins/lens/saved_objects_finder.tsx#:~:text=find) | - | | | [saved_objects_finder.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/public/components/markdown_editor/plugins/lens/saved_objects_finder.tsx#:~:text=SimpleSavedObject), [saved_objects_finder.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/public/components/markdown_editor/plugins/lens/saved_objects_finder.tsx#:~:text=SimpleSavedObject), [saved_objects_finder.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/public/components/markdown_editor/plugins/lens/saved_objects_finder.tsx#:~:text=SimpleSavedObject), [saved_objects_finder.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/public/components/markdown_editor/plugins/lens/saved_objects_finder.tsx#:~:text=SimpleSavedObject), [saved_objects_finder.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/public/components/markdown_editor/plugins/lens/saved_objects_finder.tsx#:~:text=SimpleSavedObject), [saved_objects_finder.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/public/components/markdown_editor/plugins/lens/saved_objects_finder.tsx#:~:text=SimpleSavedObject), [saved_objects_finder.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/public/components/markdown_editor/plugins/lens/saved_objects_finder.tsx#:~:text=SimpleSavedObject), [saved_objects_finder.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/public/components/markdown_editor/plugins/lens/saved_objects_finder.tsx#:~:text=SimpleSavedObject), [saved_objects_finder.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/public/components/markdown_editor/plugins/lens/saved_objects_finder.tsx#:~:text=SimpleSavedObject), [saved_objects_finder.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/public/components/markdown_editor/plugins/lens/saved_objects_finder.tsx#:~:text=SimpleSavedObject)+ 1 more | - | | | [types.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/common/ui/types.ts#:~:text=ResolvedSimpleSavedObject), [types.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/common/ui/types.ts#:~:text=ResolvedSimpleSavedObject), [types.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/common/ui/types.ts#:~:text=ResolvedSimpleSavedObject), [types.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/common/ui/types.ts#:~:text=ResolvedSimpleSavedObject) | - | -| | [so_references.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/attachment_framework/so_references.ts#:~:text=SavedObjectReference), [so_references.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/attachment_framework/so_references.ts#:~:text=SavedObjectReference), [so_references.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/attachment_framework/so_references.ts#:~:text=SavedObjectReference), [so_references.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/attachment_framework/so_references.ts#:~:text=SavedObjectReference), [so_references.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/services/so_references.ts#:~:text=SavedObjectReference), [so_references.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/services/so_references.ts#:~:text=SavedObjectReference), [so_references.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/services/so_references.ts#:~:text=SavedObjectReference) | - | +| | [so_references.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/attachment_framework/so_references.ts#:~:text=SavedObjectReference), [so_references.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/attachment_framework/so_references.ts#:~:text=SavedObjectReference), [so_references.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/attachment_framework/so_references.ts#:~:text=SavedObjectReference), [so_references.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/attachment_framework/so_references.ts#:~:text=SavedObjectReference), [so_references.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/services/so_references.ts#:~:text=SavedObjectReference), [so_references.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/services/so_references.ts#:~:text=SavedObjectReference), [so_references.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/services/so_references.ts#:~:text=SavedObjectReference), [test_utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/services/user_actions/test_utils.ts#:~:text=SavedObjectReference), [test_utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/services/user_actions/test_utils.ts#:~:text=SavedObjectReference) | - | | | [saved_objects_finder.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/public/components/markdown_editor/plugins/lens/saved_objects_finder.tsx#:~:text=savedObjects), [plugin.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/public/components/markdown_editor/plugins/lens/plugin.tsx#:~:text=savedObjects) | - | | | [cases.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/saved_object_types/cases.ts#:~:text=convertToMultiNamespaceTypeVersion), [configure.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/saved_object_types/configure.ts#:~:text=convertToMultiNamespaceTypeVersion), [comments.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/saved_object_types/comments.ts#:~:text=convertToMultiNamespaceTypeVersion), [user_actions.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/saved_object_types/user_actions.ts#:~:text=convertToMultiNamespaceTypeVersion), [connector_mappings.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/saved_object_types/connector_mappings.ts#:~:text=convertToMultiNamespaceTypeVersion) | - | | | [saved_objects_finder.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/public/components/markdown_editor/plugins/lens/saved_objects_finder.tsx#:~:text=savedObjects), [plugin.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/public/components/markdown_editor/plugins/lens/plugin.tsx#:~:text=savedObjects) | - | | | [saved_objects_finder.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/public/components/markdown_editor/plugins/lens/saved_objects_finder.tsx#:~:text=find) | - | | | [saved_objects_finder.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/public/components/markdown_editor/plugins/lens/saved_objects_finder.tsx#:~:text=SimpleSavedObject), [saved_objects_finder.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/public/components/markdown_editor/plugins/lens/saved_objects_finder.tsx#:~:text=SimpleSavedObject), [saved_objects_finder.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/public/components/markdown_editor/plugins/lens/saved_objects_finder.tsx#:~:text=SimpleSavedObject), [saved_objects_finder.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/public/components/markdown_editor/plugins/lens/saved_objects_finder.tsx#:~:text=SimpleSavedObject), [saved_objects_finder.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/public/components/markdown_editor/plugins/lens/saved_objects_finder.tsx#:~:text=SimpleSavedObject), [saved_objects_finder.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/public/components/markdown_editor/plugins/lens/saved_objects_finder.tsx#:~:text=SimpleSavedObject), [saved_objects_finder.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/public/components/markdown_editor/plugins/lens/saved_objects_finder.tsx#:~:text=SimpleSavedObject), [saved_objects_finder.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/public/components/markdown_editor/plugins/lens/saved_objects_finder.tsx#:~:text=SimpleSavedObject), [saved_objects_finder.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/public/components/markdown_editor/plugins/lens/saved_objects_finder.tsx#:~:text=SimpleSavedObject), [saved_objects_finder.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/public/components/markdown_editor/plugins/lens/saved_objects_finder.tsx#:~:text=SimpleSavedObject)+ 1 more | - | | | [types.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/common/ui/types.ts#:~:text=ResolvedSimpleSavedObject), [types.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/common/ui/types.ts#:~:text=ResolvedSimpleSavedObject), [types.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/common/ui/types.ts#:~:text=ResolvedSimpleSavedObject), [types.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/common/ui/types.ts#:~:text=ResolvedSimpleSavedObject) | - | -| | [so_references.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/attachment_framework/so_references.ts#:~:text=SavedObjectReference), [so_references.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/attachment_framework/so_references.ts#:~:text=SavedObjectReference), [so_references.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/attachment_framework/so_references.ts#:~:text=SavedObjectReference), [so_references.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/attachment_framework/so_references.ts#:~:text=SavedObjectReference), [so_references.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/services/so_references.ts#:~:text=SavedObjectReference), [so_references.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/services/so_references.ts#:~:text=SavedObjectReference), [so_references.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/services/so_references.ts#:~:text=SavedObjectReference) | - | +| | [so_references.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/attachment_framework/so_references.ts#:~:text=SavedObjectReference), [so_references.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/attachment_framework/so_references.ts#:~:text=SavedObjectReference), [so_references.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/attachment_framework/so_references.ts#:~:text=SavedObjectReference), [so_references.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/attachment_framework/so_references.ts#:~:text=SavedObjectReference), [so_references.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/services/so_references.ts#:~:text=SavedObjectReference), [so_references.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/services/so_references.ts#:~:text=SavedObjectReference), [so_references.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/services/so_references.ts#:~:text=SavedObjectReference), [test_utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/services/user_actions/test_utils.ts#:~:text=SavedObjectReference), [test_utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/services/user_actions/test_utils.ts#:~:text=SavedObjectReference) | - | | | [cases.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/saved_object_types/cases.ts#:~:text=convertToMultiNamespaceTypeVersion), [configure.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/saved_object_types/configure.ts#:~:text=convertToMultiNamespaceTypeVersion), [comments.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/saved_object_types/comments.ts#:~:text=convertToMultiNamespaceTypeVersion), [user_actions.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/saved_object_types/user_actions.ts#:~:text=convertToMultiNamespaceTypeVersion), [connector_mappings.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/saved_object_types/connector_mappings.ts#:~:text=convertToMultiNamespaceTypeVersion) | - | @@ -1175,8 +1175,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [index_patterns.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/server/models/data_frame_analytics/index_patterns.ts#:~:text=title), [rollup.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/server/models/job_service/new_job_caps/rollup.ts#:~:text=title), [alerting_service.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/server/lib/alerts/alerting_service.ts#:~:text=title), [data_recognizer.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/server/models/data_recognizer/data_recognizer.ts#:~:text=title), [configuration_step_details.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/components/configuration_step/configuration_step_details.tsx#:~:text=title), [data_loader.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/datavisualizer/index_based/data_loader/data_loader.ts#:~:text=title), [use_index_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/hooks/use_index_data.ts#:~:text=title), [use_index_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/hooks/use_index_data.ts#:~:text=title), [use_index_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/hooks/use_index_data.ts#:~:text=title), [use_index_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/hooks/use_index_data.ts#:~:text=title)+ 50 more | - | | | [index_patterns.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/server/models/data_frame_analytics/index_patterns.ts#:~:text=title), [rollup.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/server/models/job_service/new_job_caps/rollup.ts#:~:text=title), [alerting_service.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/server/lib/alerts/alerting_service.ts#:~:text=title), [data_recognizer.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/server/models/data_recognizer/data_recognizer.ts#:~:text=title), [configuration_step_details.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/components/configuration_step/configuration_step_details.tsx#:~:text=title), [data_loader.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/datavisualizer/index_based/data_loader/data_loader.ts#:~:text=title), [use_index_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/hooks/use_index_data.ts#:~:text=title), [use_index_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/hooks/use_index_data.ts#:~:text=title), [use_index_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/hooks/use_index_data.ts#:~:text=title), [use_index_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/hooks/use_index_data.ts#:~:text=title)+ 50 more | - | | | [index_patterns.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/server/models/data_frame_analytics/index_patterns.ts#:~:text=title), [rollup.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/server/models/job_service/new_job_caps/rollup.ts#:~:text=title), [alerting_service.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/server/lib/alerts/alerting_service.ts#:~:text=title), [data_recognizer.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/server/models/data_recognizer/data_recognizer.ts#:~:text=title), [configuration_step_details.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/components/configuration_step/configuration_step_details.tsx#:~:text=title), [data_loader.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/datavisualizer/index_based/data_loader/data_loader.ts#:~:text=title), [use_index_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/hooks/use_index_data.ts#:~:text=title), [use_index_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/hooks/use_index_data.ts#:~:text=title), [use_index_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/hooks/use_index_data.ts#:~:text=title), [use_index_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/hooks/use_index_data.ts#:~:text=title)+ 20 more | - | -| | [ml_page.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/components/ml_page/ml_page.tsx#:~:text=KibanaPageTemplate), [ml_page.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/components/ml_page/ml_page.tsx#:~:text=KibanaPageTemplate), [ml_page.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/components/ml_page/ml_page.tsx#:~:text=KibanaPageTemplate) | - | -| | [ml_page.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/components/ml_page/ml_page.tsx#:~:text=RedirectAppLinks), [ml_page.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/components/ml_page/ml_page.tsx#:~:text=RedirectAppLinks), [ml_page.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/components/ml_page/ml_page.tsx#:~:text=RedirectAppLinks), [jobs_list_page.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/management/jobs_list/components/jobs_list_page/jobs_list_page.tsx#:~:text=RedirectAppLinks), [jobs_list_page.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/management/jobs_list/components/jobs_list_page/jobs_list_page.tsx#:~:text=RedirectAppLinks), [jobs_list_page.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/management/jobs_list/components/jobs_list_page/jobs_list_page.tsx#:~:text=RedirectAppLinks) | - | +| | [jobs_list_page.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/management/jobs_list/components/jobs_list_page/jobs_list_page.tsx#:~:text=RedirectAppLinks), [jobs_list_page.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/management/jobs_list/components/jobs_list_page/jobs_list_page.tsx#:~:text=RedirectAppLinks), [jobs_list_page.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/management/jobs_list/components/jobs_list_page/jobs_list_page.tsx#:~:text=RedirectAppLinks) | - | | | [plugin.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/plugin.ts#:~:text=license%24) | 8.8.0 | | | [plugin.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/server/plugin.ts#:~:text=license%24) | 8.8.0 | | | [annotations.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/server/routes/annotations.ts#:~:text=authc) | - | diff --git a/api_docs/deprecations_by_team.mdx b/api_docs/deprecations_by_team.mdx index 9f73589003491..d8f278d73c778 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-01-23 +date: 2023-01-24 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- diff --git a/api_docs/dev_tools.mdx b/api_docs/dev_tools.mdx index e16ed19cfd0bd..3a56b077d95d3 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-01-23 +date: 2023-01-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 565b0c4d7f7cc..635d2e8f96759 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-01-23 +date: 2023-01-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 cfea72b74deed..8979b9bf90993 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-01-23 +date: 2023-01-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'discoverEnhanced'] --- import discoverEnhancedObj from './discover_enhanced.devdocs.json'; diff --git a/api_docs/embeddable.mdx b/api_docs/embeddable.mdx index 7cf851f266482..3f599220eb93e 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-01-23 +date: 2023-01-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 ca3ea6630622d..d9e812b297e96 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-01-23 +date: 2023-01-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 82087851680ec..62b0a673bb7cd 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-01-23 +date: 2023-01-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 d74e7509a5329..65d10d0825dc0 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-01-23 +date: 2023-01-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 79cb8cd8f1ab5..bfc0712dafc9c 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-01-23 +date: 2023-01-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 291ef13aa8a94..bb5e46e84bb45 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-01-23 +date: 2023-01-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'eventAnnotation'] --- import eventAnnotationObj from './event_annotation.devdocs.json'; diff --git a/api_docs/event_log.devdocs.json b/api_docs/event_log.devdocs.json index e847693888d03..a0ae8ae8dd26f 100644 --- a/api_docs/event_log.devdocs.json +++ b/api_docs/event_log.devdocs.json @@ -1228,7 +1228,7 @@ }, ", options?: Partial<", "AggregateOptionsType", - "> | undefined, namespaces?: (string | undefined)[] | undefined) => Promise<", + "> | undefined, namespaces?: (string | undefined)[] | undefined, includeSpaceAgnostic?: boolean | undefined) => Promise<", { "pluginId": "eventLog", "scope": "server", @@ -1309,6 +1309,21 @@ "deprecated": false, "trackAdoption": false, "isRequired": false + }, + { + "parentPluginId": "eventLog", + "id": "def-server.IEventLogClient.aggregateEventsWithAuthFilter.$5", + "type": "CompoundType", + "tags": [], + "label": "includeSpaceAgnostic", + "description": [], + "signature": [ + "boolean | undefined" + ], + "path": "x-pack/plugins/event_log/server/types.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": false } ], "returnComment": [] @@ -1499,7 +1514,7 @@ "label": "data", "description": [], "signature": [ - "(Readonly<{ error?: Readonly<{ type?: string | undefined; id?: string | undefined; message?: string | undefined; code?: string | undefined; stack_trace?: string | undefined; } & {}> | undefined; tags?: string[] | undefined; log?: Readonly<{ logger?: string | undefined; level?: string | undefined; } & {}> | undefined; user?: Readonly<{ name?: string | undefined; } & {}> | undefined; message?: string | undefined; kibana?: Readonly<{ alert?: Readonly<{ rule?: Readonly<{ consumer?: string | undefined; execution?: Readonly<{ status?: string | undefined; metrics?: Readonly<{ number_of_triggered_actions?: string | number | undefined; number_of_generated_actions?: string | number | undefined; alert_counts?: Readonly<{ recovered?: string | number | undefined; active?: string | number | undefined; new?: string | number | undefined; } & {}> | undefined; number_of_searches?: string | number | undefined; total_indexing_duration_ms?: string | number | undefined; es_search_duration_ms?: string | number | undefined; total_search_duration_ms?: string | number | undefined; execution_gap_duration_s?: string | number | undefined; rule_type_run_duration_ms?: string | number | undefined; process_alerts_duration_ms?: string | number | undefined; trigger_actions_duration_ms?: string | number | undefined; process_rule_duration_ms?: string | number | undefined; claim_to_start_duration_ms?: string | number | undefined; prepare_rule_duration_ms?: string | number | undefined; total_run_duration_ms?: string | number | undefined; total_enrichment_duration_ms?: string | number | undefined; } & {}> | undefined; uuid?: string | undefined; status_order?: string | number | undefined; } & {}> | undefined; rule_type_id?: string | undefined; } & {}> | undefined; flapping?: boolean | undefined; } & {}> | undefined; version?: string | undefined; alerting?: Readonly<{ status?: string | undefined; outcome?: string | undefined; instance_id?: string | undefined; action_group_id?: string | undefined; action_subgroup?: string | undefined; } & {}> | undefined; server_uuid?: string | undefined; task?: Readonly<{ id?: string | undefined; schedule_delay?: string | number | undefined; scheduled?: string | undefined; } & {}> | undefined; saved_objects?: Readonly<{ type?: string | undefined; id?: string | undefined; namespace?: string | undefined; rel?: string | undefined; type_id?: string | undefined; } & {}>[] | undefined; space_ids?: string[] | undefined; } & {}> | undefined; ecs?: Readonly<{ version?: string | undefined; } & {}> | undefined; rule?: Readonly<{ name?: string | undefined; description?: string | undefined; category?: string | undefined; id?: string | undefined; version?: string | undefined; license?: string | undefined; reference?: string | undefined; author?: string[] | undefined; ruleset?: string | undefined; uuid?: string | undefined; } & {}> | undefined; event?: Readonly<{ start?: string | undefined; category?: string[] | undefined; type?: string[] | undefined; id?: string | undefined; reason?: string | undefined; created?: string | undefined; outcome?: string | undefined; end?: string | undefined; original?: string | undefined; duration?: string | number | undefined; kind?: string | undefined; hash?: string | undefined; code?: string | undefined; url?: string | undefined; action?: string | undefined; severity?: string | number | undefined; dataset?: string | undefined; ingested?: string | undefined; module?: string | undefined; provider?: string | undefined; reference?: string | undefined; risk_score?: number | undefined; risk_score_norm?: number | undefined; sequence?: string | number | undefined; timezone?: string | undefined; } & {}> | undefined; '@timestamp'?: string | undefined; } & {}> | undefined)[]" + "(Readonly<{ error?: Readonly<{ type?: string | undefined; id?: string | undefined; message?: string | undefined; code?: string | undefined; stack_trace?: string | undefined; } & {}> | undefined; tags?: string[] | undefined; log?: Readonly<{ logger?: string | undefined; level?: string | undefined; } & {}> | undefined; user?: Readonly<{ name?: string | undefined; } & {}> | undefined; message?: string | undefined; kibana?: Readonly<{ alert?: Readonly<{ rule?: Readonly<{ consumer?: string | undefined; execution?: Readonly<{ status?: string | undefined; metrics?: Readonly<{ number_of_triggered_actions?: string | number | undefined; number_of_generated_actions?: string | number | undefined; alert_counts?: Readonly<{ recovered?: string | number | undefined; active?: string | number | undefined; new?: string | number | undefined; } & {}> | undefined; number_of_searches?: string | number | undefined; total_indexing_duration_ms?: string | number | undefined; es_search_duration_ms?: string | number | undefined; total_search_duration_ms?: string | number | undefined; execution_gap_duration_s?: string | number | undefined; rule_type_run_duration_ms?: string | number | undefined; process_alerts_duration_ms?: string | number | undefined; trigger_actions_duration_ms?: string | number | undefined; process_rule_duration_ms?: string | number | undefined; claim_to_start_duration_ms?: string | number | undefined; prepare_rule_duration_ms?: string | number | undefined; total_run_duration_ms?: string | number | undefined; total_enrichment_duration_ms?: string | number | undefined; } & {}> | undefined; uuid?: string | undefined; status_order?: string | number | undefined; } & {}> | undefined; rule_type_id?: string | undefined; } & {}> | undefined; flapping?: boolean | undefined; } & {}> | undefined; version?: string | undefined; action?: Readonly<{ name?: string | undefined; id?: string | undefined; execution?: Readonly<{ uuid?: string | undefined; } & {}> | undefined; } & {}> | undefined; alerting?: Readonly<{ status?: string | undefined; outcome?: string | undefined; instance_id?: string | undefined; action_group_id?: string | undefined; action_subgroup?: string | undefined; } & {}> | undefined; server_uuid?: string | undefined; task?: Readonly<{ id?: string | undefined; schedule_delay?: string | number | undefined; scheduled?: string | undefined; } & {}> | undefined; saved_objects?: Readonly<{ type?: string | undefined; id?: string | undefined; namespace?: string | undefined; rel?: string | undefined; type_id?: string | undefined; space_agnostic?: boolean | undefined; } & {}>[] | undefined; space_ids?: string[] | undefined; } & {}> | undefined; ecs?: Readonly<{ version?: string | undefined; } & {}> | undefined; '@timestamp'?: string | undefined; rule?: Readonly<{ name?: string | undefined; description?: string | undefined; category?: string | undefined; id?: string | undefined; version?: string | undefined; license?: string | undefined; reference?: string | undefined; author?: string[] | undefined; ruleset?: string | undefined; uuid?: string | undefined; } & {}> | undefined; event?: Readonly<{ start?: string | undefined; category?: string[] | undefined; type?: string[] | undefined; id?: string | undefined; reason?: string | undefined; created?: string | undefined; outcome?: string | undefined; end?: string | undefined; original?: string | undefined; duration?: string | number | undefined; kind?: string | undefined; hash?: string | undefined; code?: string | undefined; url?: string | undefined; action?: string | undefined; severity?: string | number | undefined; dataset?: string | undefined; ingested?: string | undefined; module?: string | undefined; provider?: string | undefined; reference?: string | undefined; risk_score?: number | undefined; risk_score_norm?: number | undefined; sequence?: string | number | undefined; timezone?: string | undefined; } & {}> | undefined; } & {}> | undefined)[]" ], "path": "x-pack/plugins/event_log/server/es/cluster_client_adapter.ts", "deprecated": false, @@ -1519,7 +1534,7 @@ "label": "IEvent", "description": [], "signature": [ - "DeepPartial | undefined; tags?: string[] | undefined; log?: Readonly<{ logger?: string | undefined; level?: string | undefined; } & {}> | undefined; user?: Readonly<{ name?: string | undefined; } & {}> | undefined; message?: string | undefined; kibana?: Readonly<{ alert?: Readonly<{ rule?: Readonly<{ consumer?: string | undefined; execution?: Readonly<{ status?: string | undefined; metrics?: Readonly<{ number_of_triggered_actions?: string | number | undefined; number_of_generated_actions?: string | number | undefined; alert_counts?: Readonly<{ recovered?: string | number | undefined; active?: string | number | undefined; new?: string | number | undefined; } & {}> | undefined; number_of_searches?: string | number | undefined; total_indexing_duration_ms?: string | number | undefined; es_search_duration_ms?: string | number | undefined; total_search_duration_ms?: string | number | undefined; execution_gap_duration_s?: string | number | undefined; rule_type_run_duration_ms?: string | number | undefined; process_alerts_duration_ms?: string | number | undefined; trigger_actions_duration_ms?: string | number | undefined; process_rule_duration_ms?: string | number | undefined; claim_to_start_duration_ms?: string | number | undefined; prepare_rule_duration_ms?: string | number | undefined; total_run_duration_ms?: string | number | undefined; total_enrichment_duration_ms?: string | number | undefined; } & {}> | undefined; uuid?: string | undefined; status_order?: string | number | undefined; } & {}> | undefined; rule_type_id?: string | undefined; } & {}> | undefined; flapping?: boolean | undefined; } & {}> | undefined; version?: string | undefined; alerting?: Readonly<{ status?: string | undefined; outcome?: string | undefined; instance_id?: string | undefined; action_group_id?: string | undefined; action_subgroup?: string | undefined; } & {}> | undefined; server_uuid?: string | undefined; task?: Readonly<{ id?: string | undefined; schedule_delay?: string | number | undefined; scheduled?: string | undefined; } & {}> | undefined; saved_objects?: Readonly<{ type?: string | undefined; id?: string | undefined; namespace?: string | undefined; rel?: string | undefined; type_id?: string | undefined; } & {}>[] | undefined; space_ids?: string[] | undefined; } & {}> | undefined; ecs?: Readonly<{ version?: string | undefined; } & {}> | undefined; rule?: Readonly<{ name?: string | undefined; description?: string | undefined; category?: string | undefined; id?: string | undefined; version?: string | undefined; license?: string | undefined; reference?: string | undefined; author?: string[] | undefined; ruleset?: string | undefined; uuid?: string | undefined; } & {}> | undefined; event?: Readonly<{ start?: string | undefined; category?: string[] | undefined; type?: string[] | undefined; id?: string | undefined; reason?: string | undefined; created?: string | undefined; outcome?: string | undefined; end?: string | undefined; original?: string | undefined; duration?: string | number | undefined; kind?: string | undefined; hash?: string | undefined; code?: string | undefined; url?: string | undefined; action?: string | undefined; severity?: string | number | undefined; dataset?: string | undefined; ingested?: string | undefined; module?: string | undefined; provider?: string | undefined; reference?: string | undefined; risk_score?: number | undefined; risk_score_norm?: number | undefined; sequence?: string | number | undefined; timezone?: string | undefined; } & {}> | undefined; '@timestamp'?: string | undefined; } & {}>>> | undefined" + "DeepPartial | undefined; tags?: string[] | undefined; log?: Readonly<{ logger?: string | undefined; level?: string | undefined; } & {}> | undefined; user?: Readonly<{ name?: string | undefined; } & {}> | undefined; message?: string | undefined; kibana?: Readonly<{ alert?: Readonly<{ rule?: Readonly<{ consumer?: string | undefined; execution?: Readonly<{ status?: string | undefined; metrics?: Readonly<{ number_of_triggered_actions?: string | number | undefined; number_of_generated_actions?: string | number | undefined; alert_counts?: Readonly<{ recovered?: string | number | undefined; active?: string | number | undefined; new?: string | number | undefined; } & {}> | undefined; number_of_searches?: string | number | undefined; total_indexing_duration_ms?: string | number | undefined; es_search_duration_ms?: string | number | undefined; total_search_duration_ms?: string | number | undefined; execution_gap_duration_s?: string | number | undefined; rule_type_run_duration_ms?: string | number | undefined; process_alerts_duration_ms?: string | number | undefined; trigger_actions_duration_ms?: string | number | undefined; process_rule_duration_ms?: string | number | undefined; claim_to_start_duration_ms?: string | number | undefined; prepare_rule_duration_ms?: string | number | undefined; total_run_duration_ms?: string | number | undefined; total_enrichment_duration_ms?: string | number | undefined; } & {}> | undefined; uuid?: string | undefined; status_order?: string | number | undefined; } & {}> | undefined; rule_type_id?: string | undefined; } & {}> | undefined; flapping?: boolean | undefined; } & {}> | undefined; version?: string | undefined; action?: Readonly<{ name?: string | undefined; id?: string | undefined; execution?: Readonly<{ uuid?: string | undefined; } & {}> | undefined; } & {}> | undefined; alerting?: Readonly<{ status?: string | undefined; outcome?: string | undefined; instance_id?: string | undefined; action_group_id?: string | undefined; action_subgroup?: string | undefined; } & {}> | undefined; server_uuid?: string | undefined; task?: Readonly<{ id?: string | undefined; schedule_delay?: string | number | undefined; scheduled?: string | undefined; } & {}> | undefined; saved_objects?: Readonly<{ type?: string | undefined; id?: string | undefined; namespace?: string | undefined; rel?: string | undefined; type_id?: string | undefined; space_agnostic?: boolean | undefined; } & {}>[] | undefined; space_ids?: string[] | undefined; } & {}> | undefined; ecs?: Readonly<{ version?: string | undefined; } & {}> | undefined; '@timestamp'?: string | undefined; rule?: Readonly<{ name?: string | undefined; description?: string | undefined; category?: string | undefined; id?: string | undefined; version?: string | undefined; license?: string | undefined; reference?: string | undefined; author?: string[] | undefined; ruleset?: string | undefined; uuid?: string | undefined; } & {}> | undefined; event?: Readonly<{ start?: string | undefined; category?: string[] | undefined; type?: string[] | undefined; id?: string | undefined; reason?: string | undefined; created?: string | undefined; outcome?: string | undefined; end?: string | undefined; original?: string | undefined; duration?: string | number | undefined; kind?: string | undefined; hash?: string | undefined; code?: string | undefined; url?: string | undefined; action?: string | undefined; severity?: string | number | undefined; dataset?: string | undefined; ingested?: string | undefined; module?: string | undefined; provider?: string | undefined; reference?: string | undefined; risk_score?: number | undefined; risk_score_norm?: number | undefined; sequence?: string | number | undefined; timezone?: string | undefined; } & {}> | undefined; } & {}>>> | undefined" ], "path": "x-pack/plugins/event_log/generated/schemas.ts", "deprecated": false, @@ -1534,7 +1549,7 @@ "label": "IValidatedEvent", "description": [], "signature": [ - "Readonly<{ error?: Readonly<{ type?: string | undefined; id?: string | undefined; message?: string | undefined; code?: string | undefined; stack_trace?: string | undefined; } & {}> | undefined; tags?: string[] | undefined; log?: Readonly<{ logger?: string | undefined; level?: string | undefined; } & {}> | undefined; user?: Readonly<{ name?: string | undefined; } & {}> | undefined; message?: string | undefined; kibana?: Readonly<{ alert?: Readonly<{ rule?: Readonly<{ consumer?: string | undefined; execution?: Readonly<{ status?: string | undefined; metrics?: Readonly<{ number_of_triggered_actions?: string | number | undefined; number_of_generated_actions?: string | number | undefined; alert_counts?: Readonly<{ recovered?: string | number | undefined; active?: string | number | undefined; new?: string | number | undefined; } & {}> | undefined; number_of_searches?: string | number | undefined; total_indexing_duration_ms?: string | number | undefined; es_search_duration_ms?: string | number | undefined; total_search_duration_ms?: string | number | undefined; execution_gap_duration_s?: string | number | undefined; rule_type_run_duration_ms?: string | number | undefined; process_alerts_duration_ms?: string | number | undefined; trigger_actions_duration_ms?: string | number | undefined; process_rule_duration_ms?: string | number | undefined; claim_to_start_duration_ms?: string | number | undefined; prepare_rule_duration_ms?: string | number | undefined; total_run_duration_ms?: string | number | undefined; total_enrichment_duration_ms?: string | number | undefined; } & {}> | undefined; uuid?: string | undefined; status_order?: string | number | undefined; } & {}> | undefined; rule_type_id?: string | undefined; } & {}> | undefined; flapping?: boolean | undefined; } & {}> | undefined; version?: string | undefined; alerting?: Readonly<{ status?: string | undefined; outcome?: string | undefined; instance_id?: string | undefined; action_group_id?: string | undefined; action_subgroup?: string | undefined; } & {}> | undefined; server_uuid?: string | undefined; task?: Readonly<{ id?: string | undefined; schedule_delay?: string | number | undefined; scheduled?: string | undefined; } & {}> | undefined; saved_objects?: Readonly<{ type?: string | undefined; id?: string | undefined; namespace?: string | undefined; rel?: string | undefined; type_id?: string | undefined; } & {}>[] | undefined; space_ids?: string[] | undefined; } & {}> | undefined; ecs?: Readonly<{ version?: string | undefined; } & {}> | undefined; rule?: Readonly<{ name?: string | undefined; description?: string | undefined; category?: string | undefined; id?: string | undefined; version?: string | undefined; license?: string | undefined; reference?: string | undefined; author?: string[] | undefined; ruleset?: string | undefined; uuid?: string | undefined; } & {}> | undefined; event?: Readonly<{ start?: string | undefined; category?: string[] | undefined; type?: string[] | undefined; id?: string | undefined; reason?: string | undefined; created?: string | undefined; outcome?: string | undefined; end?: string | undefined; original?: string | undefined; duration?: string | number | undefined; kind?: string | undefined; hash?: string | undefined; code?: string | undefined; url?: string | undefined; action?: string | undefined; severity?: string | number | undefined; dataset?: string | undefined; ingested?: string | undefined; module?: string | undefined; provider?: string | undefined; reference?: string | undefined; risk_score?: number | undefined; risk_score_norm?: number | undefined; sequence?: string | number | undefined; timezone?: string | undefined; } & {}> | undefined; '@timestamp'?: string | undefined; } & {}> | undefined" + "Readonly<{ error?: Readonly<{ type?: string | undefined; id?: string | undefined; message?: string | undefined; code?: string | undefined; stack_trace?: string | undefined; } & {}> | undefined; tags?: string[] | undefined; log?: Readonly<{ logger?: string | undefined; level?: string | undefined; } & {}> | undefined; user?: Readonly<{ name?: string | undefined; } & {}> | undefined; message?: string | undefined; kibana?: Readonly<{ alert?: Readonly<{ rule?: Readonly<{ consumer?: string | undefined; execution?: Readonly<{ status?: string | undefined; metrics?: Readonly<{ number_of_triggered_actions?: string | number | undefined; number_of_generated_actions?: string | number | undefined; alert_counts?: Readonly<{ recovered?: string | number | undefined; active?: string | number | undefined; new?: string | number | undefined; } & {}> | undefined; number_of_searches?: string | number | undefined; total_indexing_duration_ms?: string | number | undefined; es_search_duration_ms?: string | number | undefined; total_search_duration_ms?: string | number | undefined; execution_gap_duration_s?: string | number | undefined; rule_type_run_duration_ms?: string | number | undefined; process_alerts_duration_ms?: string | number | undefined; trigger_actions_duration_ms?: string | number | undefined; process_rule_duration_ms?: string | number | undefined; claim_to_start_duration_ms?: string | number | undefined; prepare_rule_duration_ms?: string | number | undefined; total_run_duration_ms?: string | number | undefined; total_enrichment_duration_ms?: string | number | undefined; } & {}> | undefined; uuid?: string | undefined; status_order?: string | number | undefined; } & {}> | undefined; rule_type_id?: string | undefined; } & {}> | undefined; flapping?: boolean | undefined; } & {}> | undefined; version?: string | undefined; action?: Readonly<{ name?: string | undefined; id?: string | undefined; execution?: Readonly<{ uuid?: string | undefined; } & {}> | undefined; } & {}> | undefined; alerting?: Readonly<{ status?: string | undefined; outcome?: string | undefined; instance_id?: string | undefined; action_group_id?: string | undefined; action_subgroup?: string | undefined; } & {}> | undefined; server_uuid?: string | undefined; task?: Readonly<{ id?: string | undefined; schedule_delay?: string | number | undefined; scheduled?: string | undefined; } & {}> | undefined; saved_objects?: Readonly<{ type?: string | undefined; id?: string | undefined; namespace?: string | undefined; rel?: string | undefined; type_id?: string | undefined; space_agnostic?: boolean | undefined; } & {}>[] | undefined; space_ids?: string[] | undefined; } & {}> | undefined; ecs?: Readonly<{ version?: string | undefined; } & {}> | undefined; '@timestamp'?: string | undefined; rule?: Readonly<{ name?: string | undefined; description?: string | undefined; category?: string | undefined; id?: string | undefined; version?: string | undefined; license?: string | undefined; reference?: string | undefined; author?: string[] | undefined; ruleset?: string | undefined; uuid?: string | undefined; } & {}> | undefined; event?: Readonly<{ start?: string | undefined; category?: string[] | undefined; type?: string[] | undefined; id?: string | undefined; reason?: string | undefined; created?: string | undefined; outcome?: string | undefined; end?: string | undefined; original?: string | undefined; duration?: string | number | undefined; kind?: string | undefined; hash?: string | undefined; code?: string | undefined; url?: string | undefined; action?: string | undefined; severity?: string | number | undefined; dataset?: string | undefined; ingested?: string | undefined; module?: string | undefined; provider?: string | undefined; reference?: string | undefined; risk_score?: number | undefined; risk_score_norm?: number | undefined; sequence?: string | number | undefined; timezone?: string | undefined; } & {}> | undefined; } & {}> | undefined" ], "path": "x-pack/plugins/event_log/generated/schemas.ts", "deprecated": false, diff --git a/api_docs/event_log.mdx b/api_docs/event_log.mdx index fc2109c0d7dca..55a604878d144 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-01-23 +date: 2023-01-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'eventLog'] --- import eventLogObj from './event_log.devdocs.json'; @@ -21,7 +21,7 @@ Contact [Response Ops](https://github.com/orgs/elastic/teams/response-ops) for q | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 115 | 0 | 115 | 11 | +| 116 | 0 | 116 | 11 | ## Server diff --git a/api_docs/expression_error.mdx b/api_docs/expression_error.mdx index 03dde1c927134..f44cfffda3f22 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-01-23 +date: 2023-01-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 a5727fca7e085..a04a2957503b2 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-01-23 +date: 2023-01-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 836bb3313c2c9..2fadac1a09340 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-01-23 +date: 2023-01-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 14604257af610..f05ebe8c92eeb 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-01-23 +date: 2023-01-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 bfc5df0096f61..903e5983afa5e 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-01-23 +date: 2023-01-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 3349475198cf6..ac58336f0cfc1 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-01-23 +date: 2023-01-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 b55cf7dd6a34a..229f0f2ae93d0 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-01-23 +date: 2023-01-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 576953499ecf5..87ae065fedd54 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-01-23 +date: 2023-01-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 87da8eee58ebf..cf907eaf211a1 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-01-23 +date: 2023-01-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 ec8c9a1a71a17..97ce462e90ef4 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-01-23 +date: 2023-01-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 660533d209edf..b18d830e6d937 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-01-23 +date: 2023-01-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 28d1142fed4ec..f66a0e6646622 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-01-23 +date: 2023-01-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 1e75b8cf5945c..93691067e1d8e 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-01-23 +date: 2023-01-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 8b8ddd01e44e0..b6635cc643d26 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-01-23 +date: 2023-01-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 685c5af44bf66..4f153b0d369fa 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-01-23 +date: 2023-01-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 4a995c0759556..2092476ac17bb 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-01-23 +date: 2023-01-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 e1ad0971791c6..7cb01a67883d0 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-01-23 +date: 2023-01-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 a68ca7b2dbd97..0ab83d5606956 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-01-23 +date: 2023-01-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 e13d523ab4b56..99cf4542f5de0 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-01-23 +date: 2023-01-24 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 54d1eaeee0c99..f3e224cdb290d 100644 --- a/api_docs/fleet.devdocs.json +++ b/api_docs/fleet.devdocs.json @@ -9155,6 +9155,21 @@ "path": "x-pack/plugins/fleet/common/types/models/agent.ts", "deprecated": false, "trackAdoption": false + }, + { + "parentPluginId": "fleet", + "id": "def-common.Agent.metrics", + "type": "Object", + "tags": [], + "label": "metrics", + "description": [], + "signature": [ + "AgentMetrics", + " | undefined" + ], + "path": "x-pack/plugins/fleet/common/types/models/agent.ts", + "deprecated": false, + "trackAdoption": false } ], "initialIsOpen": false diff --git a/api_docs/fleet.mdx b/api_docs/fleet.mdx index ed7baca4ce876..821e254c50156 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-01-23 +date: 2023-01-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'fleet'] --- import fleetObj from './fleet.devdocs.json'; @@ -21,7 +21,7 @@ Contact [Fleet](https://github.com/orgs/elastic/teams/fleet) for questions regar | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 1039 | 3 | 934 | 24 | +| 1040 | 3 | 935 | 25 | ## Client diff --git a/api_docs/global_search.mdx b/api_docs/global_search.mdx index 654e51d6c43ae..150d16bb72c93 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-01-23 +date: 2023-01-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 64a6caf49b723..3a528d8f23559 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-01-23 +date: 2023-01-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 77ad2143f7b2a..2283ab599fa41 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-01-23 +date: 2023-01-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 4440519f019a8..7c4e2831dc9ee 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-01-23 +date: 2023-01-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 317230f20ad2c..3e031c32d4b2d 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-01-23 +date: 2023-01-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 5559e84683575..cb17975618c53 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-01-23 +date: 2023-01-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'indexManagement'] --- import indexManagementObj from './index_management.devdocs.json'; diff --git a/api_docs/infra.devdocs.json b/api_docs/infra.devdocs.json index 78b72a4e776fa..a72f1be0fe334 100644 --- a/api_docs/infra.devdocs.json +++ b/api_docs/infra.devdocs.json @@ -337,6 +337,20 @@ "deprecated": false, "trackAdoption": false }, + { + "parentPluginId": "infra", + "id": "def-public.InfraClientStartExports.telemetry", + "type": "Object", + "tags": [], + "label": "telemetry", + "description": [], + "signature": [ + "ITelemetryClient" + ], + "path": "x-pack/plugins/infra/public/types.ts", + "deprecated": false, + "trackAdoption": false + }, { "parentPluginId": "infra", "id": "def-public.InfraClientStartExports.ContainerMetricsTable", diff --git a/api_docs/infra.mdx b/api_docs/infra.mdx index 6d60a22acbdc6..4c0c6adc0c501 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-01-23 +date: 2023-01-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'infra'] --- import infraObj from './infra.devdocs.json'; @@ -21,7 +21,7 @@ Contact [Logs and Metrics UI](https://github.com/orgs/elastic/teams/logs-metrics | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 42 | 0 | 39 | 8 | +| 43 | 0 | 40 | 9 | ## Client diff --git a/api_docs/inspector.mdx b/api_docs/inspector.mdx index c1cf59533b565..0b32fc334b641 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-01-23 +date: 2023-01-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 207535b488d0e..ac6ca29095a6c 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-01-23 +date: 2023-01-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 647c83071adf4..fac86811fdce4 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-01-23 +date: 2023-01-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 0a861cecc1ec6..9523d4da7a6f7 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-01-23 +date: 2023-01-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 e895507a8bf91..3658c5b1c973f 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-01-23 +date: 2023-01-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/aiops-utils'] --- import kbnAiopsUtilsObj from './kbn_aiops_utils.devdocs.json'; diff --git a/api_docs/kbn_alerts.mdx b/api_docs/kbn_alerts.mdx index cf0d2f46adbec..ee1c6e83f952e 100644 --- a/api_docs/kbn_alerts.mdx +++ b/api_docs/kbn_alerts.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-alerts title: "@kbn/alerts" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/alerts plugin -date: 2023-01-23 +date: 2023-01-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/alerts'] --- import kbnAlertsObj from './kbn_alerts.devdocs.json'; diff --git a/api_docs/kbn_analytics.mdx b/api_docs/kbn_analytics.mdx index 3608cf3a13b81..9d3dce0e9d663 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-01-23 +date: 2023-01-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics'] --- import kbnAnalyticsObj from './kbn_analytics.devdocs.json'; diff --git a/api_docs/kbn_analytics_client.devdocs.json b/api_docs/kbn_analytics_client.devdocs.json index e078afaecdacf..47bd94ed1644f 100644 --- a/api_docs/kbn_analytics_client.devdocs.json +++ b/api_docs/kbn_analytics_client.devdocs.json @@ -710,6 +710,14 @@ "plugin": "fleet", "path": "x-pack/plugins/fleet/server/services/telemetry/fleet_usage_sender.ts" }, + { + "plugin": "infra", + "path": "x-pack/plugins/infra/public/services/telemetry/telemetry_client.ts" + }, + { + "plugin": "infra", + "path": "x-pack/plugins/infra/public/services/telemetry/telemetry_client.ts" + }, { "plugin": "osquery", "path": "x-pack/plugins/osquery/server/lib/telemetry/sender.ts" @@ -778,6 +786,30 @@ "plugin": "security", "path": "x-pack/plugins/security/server/analytics/analytics_service.test.ts" }, + { + "plugin": "infra", + "path": "x-pack/plugins/infra/public/services/telemetry/telemetry_service.test.ts" + }, + { + "plugin": "infra", + "path": "x-pack/plugins/infra/public/services/telemetry/telemetry_service.test.ts" + }, + { + "plugin": "infra", + "path": "x-pack/plugins/infra/public/services/telemetry/telemetry_service.test.ts" + }, + { + "plugin": "infra", + "path": "x-pack/plugins/infra/public/services/telemetry/telemetry_service.test.ts" + }, + { + "plugin": "infra", + "path": "x-pack/plugins/infra/public/services/telemetry/telemetry_service.test.ts" + }, + { + "plugin": "infra", + "path": "x-pack/plugins/infra/public/services/telemetry/telemetry_service.test.ts" + }, { "plugin": "@kbn/core-status-server-internal", "path": "packages/core/status/core-status-server-internal/src/status_service.test.ts" diff --git a/api_docs/kbn_analytics_client.mdx b/api_docs/kbn_analytics_client.mdx index 7b1769cff3cbd..fe7efff171e88 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-01-23 +date: 2023-01-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 fcf036f77b563..22bee408c209a 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-01-23 +date: 2023-01-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 29a259b8828c7..e67370d7f53b6 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-01-23 +date: 2023-01-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 9a1c30af89cd0..ee2ae4c4cf208 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-01-23 +date: 2023-01-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 cb8390087c873..f504e359989fb 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-01-23 +date: 2023-01-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 e4c5124db35fd..33d0840e0d6f0 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-01-23 +date: 2023-01-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 97321b2ba4322..535f185f730e9 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-01-23 +date: 2023-01-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 5bdc3f4fc1fca..b0c73499eb35f 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-01-23 +date: 2023-01-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 bb35b450cc192..84f2cd32521f7 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-01-23 +date: 2023-01-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 b27258335c691..f34ba6396445d 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-01-23 +date: 2023-01-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 0eca8f52fc3df..66c0531adba68 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-01-23 +date: 2023-01-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 6b2e9df19fa43..22074415bac7a 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-01-23 +date: 2023-01-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 377d46d92f228..798d1ea47cc44 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-01-23 +date: 2023-01-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/cell-actions'] --- import kbnCellActionsObj from './kbn_cell_actions.devdocs.json'; diff --git a/api_docs/kbn_chart_icons.mdx b/api_docs/kbn_chart_icons.mdx index 52af95292454a..c7e89ef4fda08 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-01-23 +date: 2023-01-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 c7505d1eced66..62fd9645d31ad 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-01-23 +date: 2023-01-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 54136bd2a7f49..d41d712332035 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-01-23 +date: 2023-01-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 8d2d4da328de4..ccd4730a24b7c 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-01-23 +date: 2023-01-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 5833acfb320bf..68ff2a75efc68 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-01-23 +date: 2023-01-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_coloring.mdx b/api_docs/kbn_coloring.mdx index ce6d0657d130b..72d29bf9709a9 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-01-23 +date: 2023-01-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 476811ca4558b..8b3dffb1858c5 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-01-23 +date: 2023-01-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 80231df093140..52c56bf87d4a5 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-01-23 +date: 2023-01-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 3d28d2b615eb6..222f3df422cbc 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-01-23 +date: 2023-01-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 5254c0366a748..4a09f79430978 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-01-23 +date: 2023-01-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_table_list.mdx b/api_docs/kbn_content_management_table_list.mdx index 895bf144d26dc..6af82a887451c 100644 --- a/api_docs/kbn_content_management_table_list.mdx +++ b/api_docs/kbn_content_management_table_list.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-table-list title: "@kbn/content-management-table-list" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/content-management-table-list plugin -date: 2023-01-23 +date: 2023-01-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-table-list'] --- import kbnContentManagementTableListObj from './kbn_content_management_table_list.devdocs.json'; diff --git a/api_docs/kbn_core_analytics_browser.mdx b/api_docs/kbn_core_analytics_browser.mdx index 3a32fe0dc523b..9e766ec2e133b 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-01-23 +date: 2023-01-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 cd7600238a5c6..5e2c89aaaa06f 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-01-23 +date: 2023-01-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 848a7ab61c7f2..80032ec023528 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-01-23 +date: 2023-01-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 39772b9012db3..6b58db6685a1a 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-01-23 +date: 2023-01-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 b0673db8e595c..5aa03d4cfe624 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-01-23 +date: 2023-01-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 931895d86d683..5f5251fd39c7b 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-01-23 +date: 2023-01-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 1b000222f38df..64a1af8376e16 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-01-23 +date: 2023-01-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 19d0499b0d44b..f1084c72fd024 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-01-23 +date: 2023-01-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 13bca83e605e0..7e07f95b9f9d7 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-01-23 +date: 2023-01-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 f99343223f08a..db1f77402c1d8 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-01-23 +date: 2023-01-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 2f932e711b110..c316f8c6ab3f2 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-01-23 +date: 2023-01-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 1529828daf546..726af557d00b5 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-01-23 +date: 2023-01-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 183c14f1074b8..ff8abdcb2b50a 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-01-23 +date: 2023-01-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 2d43ce87eb23b..65d3fcd35af2e 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-01-23 +date: 2023-01-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 873cef04fdd0f..12776a9260da1 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-01-23 +date: 2023-01-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 098e8edbb8a96..f9418e8420a0d 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-01-23 +date: 2023-01-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 7b250f1e87214..6a8bee0c7e79b 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-01-23 +date: 2023-01-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 dc8063c1895e4..69274413d9f41 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-01-23 +date: 2023-01-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 2eb70a4ab56b4..86d77bfdffbc9 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-01-23 +date: 2023-01-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 e2b31bbf1094f..d3a5adc910f28 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-01-23 +date: 2023-01-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 1b568f5f13fb3..09da55bed853c 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-01-23 +date: 2023-01-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 f472ed6332be7..03e27d229a061 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-01-23 +date: 2023-01-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 210d293b7643f..b981fc083f250 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-01-23 +date: 2023-01-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 f9497e608049b..7c8ecb21590f8 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-01-23 +date: 2023-01-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 c41905d6975c7..9e8126faa7eb6 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-01-23 +date: 2023-01-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 4f962aece5402..b52a28ca1c58b 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-01-23 +date: 2023-01-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 28552060b6c6b..9e881465cb9a0 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-01-23 +date: 2023-01-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 7add27a8fe2ce..0d26238cb5473 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-01-23 +date: 2023-01-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 56d3987a24959..0dc300439629a 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-01-23 +date: 2023-01-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 e2d93648e1814..adf1c10887c67 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-01-23 +date: 2023-01-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 1819a2f2e49e6..22dcd664f082e 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-01-23 +date: 2023-01-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 1d72cb261fe8f..d0ca52e0c4db1 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-01-23 +date: 2023-01-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 4fa0c0e572d0f..0342c3cee5589 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-01-23 +date: 2023-01-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 2af5f8ccb7d28..03acb31d0719d 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-01-23 +date: 2023-01-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 553f8f1f00da6..eced494bc827f 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-01-23 +date: 2023-01-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 a32f121c72c7c..c7c79d7eddaf9 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-01-23 +date: 2023-01-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 9d052148bbe1e..535bc28fd8926 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-01-23 +date: 2023-01-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 19cc520cdd97f..9c154ed89a334 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-01-23 +date: 2023-01-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 cfe7fc58d8f26..64ed8ea4a392f 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-01-23 +date: 2023-01-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 d3e5f36af222d..f0980fd0c0d60 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-01-23 +date: 2023-01-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 32f3a48ee9761..834a2b4c0cb0b 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-01-23 +date: 2023-01-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 0feff8677eb7f..d6ea3c3dbcedc 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-01-23 +date: 2023-01-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 9744c7e7fe8d9..ff0e09cb04f18 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-01-23 +date: 2023-01-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 d3fff24d4de39..7697ff7fcb5d7 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-01-23 +date: 2023-01-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 33e7486d780d9..5cc3b38046f30 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-01-23 +date: 2023-01-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 cde7facd14d47..3def6c9accfe9 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-01-23 +date: 2023-01-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 d3a5365988248..02e845ca5b1b7 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-01-23 +date: 2023-01-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 409cdcd49870c..bcd2f6fe78590 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-01-23 +date: 2023-01-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 b89670e17ae5f..13930259b84b0 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-01-23 +date: 2023-01-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 37296a79ebb59..b9782ac654b11 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-01-23 +date: 2023-01-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 d409c9739834c..819f665a21d0c 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-01-23 +date: 2023-01-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 922fedcafe11e..db447a0679a4d 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-01-23 +date: 2023-01-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 1f5aabaa16619..1b0e91521177f 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-01-23 +date: 2023-01-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 c8d9ee7269bc5..62ed8b99d97c7 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-01-23 +date: 2023-01-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 d585b6312d6d9..9802b65233558 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-01-23 +date: 2023-01-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 88c8a458f00fa..19f5f8c79c862 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-01-23 +date: 2023-01-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 3054d95b86f6a..b54a3b4081f5f 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-01-23 +date: 2023-01-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 886c87b57eee9..805d4d19251f8 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-01-23 +date: 2023-01-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 87b58d6de05c8..81f5d1b60e840 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-01-23 +date: 2023-01-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 0ef208f015bd3..30281d6ae449e 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-01-23 +date: 2023-01-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 bf50cf4391221..dce9f917dd8c8 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-01-23 +date: 2023-01-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 a277903e323c0..007d98bf4219e 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-01-23 +date: 2023-01-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 ee17e87ef09ca..ecfbdab084847 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-01-23 +date: 2023-01-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 94ca69a24b30f..aa400917eb71a 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-01-23 +date: 2023-01-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 954223310027d..6776e6987716b 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-01-23 +date: 2023-01-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 518aad2c5b609..7e3574a7a7895 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-01-23 +date: 2023-01-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 dc3cd6de83c1e..766915cbb3087 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-01-23 +date: 2023-01-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 b3f7f41ffe833..019a83b152e20 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-01-23 +date: 2023-01-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 8c6969e813f2c..c8ef99d88dfce 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-01-23 +date: 2023-01-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 d2526b5cb1059..f8368d9b5d76c 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-01-23 +date: 2023-01-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 e62536c2d2a4d..516f74ee059cc 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-01-23 +date: 2023-01-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 63b6a2407f6fc..d5535294fc4b9 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-01-23 +date: 2023-01-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 4c6d63a4828c5..65f67046738a9 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-01-23 +date: 2023-01-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 cf1254721cb5d..261dfc9f5c204 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-01-23 +date: 2023-01-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 625ceb08bcf09..6644269274ede 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-01-23 +date: 2023-01-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 93bdcb9321d86..071bfeb50e69c 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-01-23 +date: 2023-01-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 10598881110bf..cdf1610024037 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-01-23 +date: 2023-01-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 2f88cec57f526..0da436dd13722 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-01-23 +date: 2023-01-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 2cba92c218bd4..06fc4b6f72f79 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-01-23 +date: 2023-01-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 c6f406e880793..199da06e16dc7 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-01-23 +date: 2023-01-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 69e573268cbca..9b6c9a35bc247 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-01-23 +date: 2023-01-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 274783a40d081..01a96d04157e7 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-01-23 +date: 2023-01-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 cfdc040d4e0c1..210800431c180 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-01-23 +date: 2023-01-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 cc6400c24d1a2..060fc3df12514 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-01-23 +date: 2023-01-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 df6588cb48cff..f681c2f225cd3 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-01-23 +date: 2023-01-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 62a28a0da1b27..fb31a2c42a0f5 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-01-23 +date: 2023-01-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 664842a6d95e1..a37300afb1b3a 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-01-23 +date: 2023-01-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 93f4f02353be2..a86ead740e849 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-01-23 +date: 2023-01-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 84e9c85e97666..33c5afe3a4887 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-01-23 +date: 2023-01-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 203ebe611de33..f5b792b3025c1 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-01-23 +date: 2023-01-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 49b197ea36757..f8f18a24c933b 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-01-23 +date: 2023-01-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 4d882da48b403..464e2d46494a7 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-01-23 +date: 2023-01-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 e2cb895ca1e8b..094f75f31c31c 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-01-23 +date: 2023-01-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 49b847bc56d47..de7e7f97c8dc4 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-01-23 +date: 2023-01-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 7454e4b96f39b..bf619a78e1e0c 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-01-23 +date: 2023-01-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 8589ce61a40ca..2db60dd101638 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-01-23 +date: 2023-01-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 f3fbd7c7b5247..d018c18c3c891 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-01-23 +date: 2023-01-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 642b8b95caa79..34505b85debed 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-01-23 +date: 2023-01-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 18afafa3e4e49..2319eb24e3236 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-01-23 +date: 2023-01-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 e762f3cc18337..792f9e511e531 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-01-23 +date: 2023-01-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 8d744247102dc..9055549a9a985 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-01-23 +date: 2023-01-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 5fb5df0a165f4..bef91754d4892 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-01-23 +date: 2023-01-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 9d736da13c6a2..bb6a05dfae46d 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-01-23 +date: 2023-01-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 84186f5aa5e8c..3f33090639c18 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-01-23 +date: 2023-01-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 09a935a357a96..228c897892a67 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-01-23 +date: 2023-01-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 44e109ab96e0d..abed367940ddd 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-01-23 +date: 2023-01-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 fe77adc758a76..9e9e808ed9789 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-01-23 +date: 2023-01-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 c64f8ce4218b7..4fa5e21be6729 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-01-23 +date: 2023-01-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 a476f68c9a39b..6db32880dd1ca 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-01-23 +date: 2023-01-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 00147b623fbee..fc964a4fb5460 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-01-23 +date: 2023-01-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 d462be6b5780a..9930dae2f0b04 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-01-23 +date: 2023-01-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 a35914791ff71..86134874c46c9 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-01-23 +date: 2023-01-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 c35af9a1a24f1..d5a444f71090f 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-01-23 +date: 2023-01-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 9d0e6a16bdac0..105aed347dfa9 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-01-23 +date: 2023-01-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 0b08cf4d4b8d1..5a16d5efe7701 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-01-23 +date: 2023-01-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 a6f7b8a32b308..6641a815ba250 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-01-23 +date: 2023-01-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_internal.mdx b/api_docs/kbn_core_saved_objects_api_server_internal.mdx index 152bf3a7fcf09..1abd1ea4b0ded 100644 --- a/api_docs/kbn_core_saved_objects_api_server_internal.mdx +++ b/api_docs/kbn_core_saved_objects_api_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-api-server-internal title: "@kbn/core-saved-objects-api-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-api-server-internal plugin -date: 2023-01-23 +date: 2023-01-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-api-server-internal'] --- import kbnCoreSavedObjectsApiServerInternalObj from './kbn_core_saved_objects_api_server_internal.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 5157ab0d0e8a4..ad3ee348eb01a 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-01-23 +date: 2023-01-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 f2d436180b986..f1926383ca672 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-01-23 +date: 2023-01-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 a21e9f0c82eb6..1d1b233d2cee2 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-01-23 +date: 2023-01-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 8de23a03d05b8..b1ec0efe5ab13 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-01-23 +date: 2023-01-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 93077b2ab4e1e..33fbc5f8f82d6 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-01-23 +date: 2023-01-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 6802de7eda5cd..96619cb4cbaa5 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-01-23 +date: 2023-01-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.devdocs.json b/api_docs/kbn_core_saved_objects_common.devdocs.json index c003cedc52ad2..748f954221ef6 100644 --- a/api_docs/kbn_core_saved_objects_common.devdocs.json +++ b/api_docs/kbn_core_saved_objects_common.devdocs.json @@ -2276,6 +2276,18 @@ "plugin": "cases", "path": "x-pack/plugins/cases/server/common/types.ts" }, + { + "plugin": "cases", + "path": "x-pack/plugins/cases/server/services/user_actions/operations/find.ts" + }, + { + "plugin": "cases", + "path": "x-pack/plugins/cases/server/services/user_actions/operations/find.ts" + }, + { + "plugin": "cases", + "path": "x-pack/plugins/cases/server/services/user_actions/operations/find.ts" + }, { "plugin": "synthetics", "path": "x-pack/plugins/synthetics/public/apps/synthetics/state/monitor_list/api.ts" @@ -2348,6 +2360,50 @@ "plugin": "alerting", "path": "x-pack/plugins/alerting/server/rules_client/tests/bulk_disable.test.ts" }, + { + "plugin": "cases", + "path": "x-pack/plugins/cases/server/services/user_actions/test_utils.ts" + }, + { + "plugin": "cases", + "path": "x-pack/plugins/cases/server/services/user_actions/test_utils.ts" + }, + { + "plugin": "cases", + "path": "x-pack/plugins/cases/server/services/user_actions/test_utils.ts" + }, + { + "plugin": "cases", + "path": "x-pack/plugins/cases/server/services/user_actions/test_utils.ts" + }, + { + "plugin": "cases", + "path": "x-pack/plugins/cases/server/services/user_actions/test_utils.ts" + }, + { + "plugin": "cases", + "path": "x-pack/plugins/cases/server/services/user_actions/test_utils.ts" + }, + { + "plugin": "cases", + "path": "x-pack/plugins/cases/server/services/user_actions/test_utils.ts" + }, + { + "plugin": "cases", + "path": "x-pack/plugins/cases/server/services/user_actions/test_utils.ts" + }, + { + "plugin": "cases", + "path": "x-pack/plugins/cases/server/services/user_actions/test_utils.ts" + }, + { + "plugin": "cases", + "path": "x-pack/plugins/cases/server/services/user_actions/test_utils.ts" + }, + { + "plugin": "cases", + "path": "x-pack/plugins/cases/server/services/user_actions/test_utils.ts" + }, { "plugin": "fleet", "path": "x-pack/plugins/fleet/server/services/agents/action.mock.ts" @@ -4229,6 +4285,14 @@ "plugin": "lens", "path": "x-pack/plugins/lens/public/app_plugin/share_action.ts" }, + { + "plugin": "cases", + "path": "x-pack/plugins/cases/server/services/user_actions/test_utils.ts" + }, + { + "plugin": "cases", + "path": "x-pack/plugins/cases/server/services/user_actions/test_utils.ts" + }, { "plugin": "@kbn/core-saved-objects-api-server-internal", "path": "packages/core/saved-objects/core-saved-objects-api-server-internal/src/test_helpers/repository.test.common.ts" diff --git a/api_docs/kbn_core_saved_objects_common.mdx b/api_docs/kbn_core_saved_objects_common.mdx index ffccec3a507d7..768ef4d59b257 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-01-23 +date: 2023-01-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 cc62d033aa6e8..c1ca4b00a4006 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-01-23 +date: 2023-01-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 5cab7b35648b8..9f2862d610d86 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-01-23 +date: 2023-01-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 b1821791a0b20..c54bcdb0fda62 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-01-23 +date: 2023-01-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 f5272120b5478..a7f195711ddf3 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-01-23 +date: 2023-01-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.devdocs.json b/api_docs/kbn_core_saved_objects_server.devdocs.json index bda94ef25320a..b4dac3d8ec4ea 100644 --- a/api_docs/kbn_core_saved_objects_server.devdocs.json +++ b/api_docs/kbn_core_saved_objects_server.devdocs.json @@ -1751,6 +1751,32 @@ "children": [], "returnComment": [] }, + { + "parentPluginId": "@kbn/core-saved-objects-server", + "id": "def-common.ISavedObjectTypeRegistry.getVisibleToHttpApisTypes", + "type": "Function", + "tags": [], + "label": "getVisibleToHttpApisTypes", + "description": [ + "\nReturns all visible {@link SavedObjectsType | types} exposed to the global SO HTTP APIs\n\nA visibleToHttpApis type is a type that doesn't explicitly define `hidden=true` nor `hiddenFromHttpApis=true` during registration." + ], + "signature": [ + "() => ", + { + "pluginId": "@kbn/core-saved-objects-server", + "scope": "common", + "docId": "kibKbnCoreSavedObjectsServerPluginApi", + "section": "def-common.SavedObjectsType", + "text": "SavedObjectsType" + }, + "[]" + ], + "path": "packages/core/saved-objects/core-saved-objects-server/src/type_registry.ts", + "deprecated": false, + "trackAdoption": false, + "children": [], + "returnComment": [] + }, { "parentPluginId": "@kbn/core-saved-objects-server", "id": "def-common.ISavedObjectTypeRegistry.getAllTypes", @@ -1973,6 +1999,40 @@ ], "returnComment": [] }, + { + "parentPluginId": "@kbn/core-saved-objects-server", + "id": "def-common.ISavedObjectTypeRegistry.isHiddenFromHttpApis", + "type": "Function", + "tags": [], + "label": "isHiddenFromHttpApis", + "description": [ + "\nReturns the `hiddenFromHttpApis` property for a given type, or `false` if\nthe type is not registered" + ], + "signature": [ + "(type: string) => boolean" + ], + "path": "packages/core/saved-objects/core-saved-objects-server/src/type_registry.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/core-saved-objects-server", + "id": "def-common.ISavedObjectTypeRegistry.isHiddenFromHttpApis.$1", + "type": "string", + "tags": [], + "label": "type", + "description": [], + "signature": [ + "string" + ], + "path": "packages/core/saved-objects/core-saved-objects-server/src/type_registry.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + }, { "parentPluginId": "@kbn/core-saved-objects-server", "id": "def-common.ISavedObjectTypeRegistry.getIndex", @@ -5427,6 +5487,22 @@ "deprecated": false, "trackAdoption": false }, + { + "parentPluginId": "@kbn/core-saved-objects-server", + "id": "def-common.SavedObjectsType.hiddenFromHttpApis", + "type": "CompoundType", + "tags": [], + "label": "hiddenFromHttpApis", + "description": [ + "\nIs the type hidden from the http APIs. If `hiddenFromHttpApis:true`, repositories will have access to the type but the type is not exposed via the HTTP APIs.\nIt is recommended to hide types registered with 'hidden=false' from the httpApis for backward compatibility in the HTTP layer.\n" + ], + "signature": [ + "boolean | undefined" + ], + "path": "packages/core/saved-objects/core-saved-objects-server/src/saved_objects_type.ts", + "deprecated": false, + "trackAdoption": false + }, { "parentPluginId": "@kbn/core-saved-objects-server", "id": "def-common.SavedObjectsType.namespaceType", diff --git a/api_docs/kbn_core_saved_objects_server.mdx b/api_docs/kbn_core_saved_objects_server.mdx index 498d44f20b7b1..53b2d7dcc6915 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-01-23 +date: 2023-01-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-server'] --- import kbnCoreSavedObjectsServerObj from './kbn_core_saved_objects_server.devdocs.json'; @@ -21,7 +21,7 @@ Contact Kibana Core for questions regarding this plugin. | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 325 | 0 | 95 | 1 | +| 329 | 0 | 96 | 1 | ## Common diff --git a/api_docs/kbn_core_saved_objects_server_internal.mdx b/api_docs/kbn_core_saved_objects_server_internal.mdx index 65f6a11727c7d..e97e6cd8cd6c2 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-01-23 +date: 2023-01-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 443f548de4864..1657ac443b71d 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-01-23 +date: 2023-01-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 e08eda23d4c2a..063d8c1cecbdf 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-01-23 +date: 2023-01-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 e5652924ff4db..1fc00a2098912 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-01-23 +date: 2023-01-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 b6e53b6f864f7..c7f2f42f724ec 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-01-23 +date: 2023-01-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 3ffd9064a22da..aa8ff77011a2e 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-01-23 +date: 2023-01-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 2987aadb73ffa..6d8279fdebe49 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-01-23 +date: 2023-01-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 376a850657143..2f2c50e13ce65 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-01-23 +date: 2023-01-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 4796e7fc71691..afea67842ab80 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-01-23 +date: 2023-01-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 8d108bf8ebea8..c728a8ce7fea3 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-01-23 +date: 2023-01-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 9d1522dc7f37f..f4cf62e8bf3d3 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-01-23 +date: 2023-01-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 4b677a212118c..4d858126647fa 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-01-23 +date: 2023-01-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.devdocs.json b/api_docs/kbn_core_test_helpers_test_utils.devdocs.json index 19a3e987a1c08..062b442c0c8d1 100644 --- a/api_docs/kbn_core_test_helpers_test_utils.devdocs.json +++ b/api_docs/kbn_core_test_helpers_test_utils.devdocs.json @@ -60,6 +60,84 @@ "returnComment": [], "initialIsOpen": false }, + { + "parentPluginId": "@kbn/core-test-helpers-test-utils", + "id": "def-common.createHiddenTypeVariants", + "type": "Function", + "tags": [], + "label": "createHiddenTypeVariants", + "description": [], + "signature": [ + "(createOptions: { name: string; hide?: boolean | undefined; hideFromHttpApis?: boolean | undefined; }) => ", + { + "pluginId": "@kbn/core-saved-objects-server", + "scope": "common", + "docId": "kibKbnCoreSavedObjectsServerPluginApi", + "section": "def-common.SavedObjectsType", + "text": "SavedObjectsType" + }, + "" + ], + "path": "packages/core/test-helpers/core-test-helpers-test-utils/src/create_hidden_type_variants.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/core-test-helpers-test-utils", + "id": "def-common.createHiddenTypeVariants.$1", + "type": "Object", + "tags": [], + "label": "createOptions", + "description": [], + "path": "packages/core/test-helpers/core-test-helpers-test-utils/src/create_hidden_type_variants.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/core-test-helpers-test-utils", + "id": "def-common.createHiddenTypeVariants.$1.name", + "type": "string", + "tags": [], + "label": "name", + "description": [], + "path": "packages/core/test-helpers/core-test-helpers-test-utils/src/create_hidden_type_variants.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/core-test-helpers-test-utils", + "id": "def-common.createHiddenTypeVariants.$1.hide", + "type": "CompoundType", + "tags": [], + "label": "hide", + "description": [], + "signature": [ + "boolean | undefined" + ], + "path": "packages/core/test-helpers/core-test-helpers-test-utils/src/create_hidden_type_variants.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/core-test-helpers-test-utils", + "id": "def-common.createHiddenTypeVariants.$1.hideFromHttpApis", + "type": "CompoundType", + "tags": [], + "label": "hideFromHttpApis", + "description": [], + "signature": [ + "boolean | undefined" + ], + "path": "packages/core/test-helpers/core-test-helpers-test-utils/src/create_hidden_type_variants.ts", + "deprecated": false, + "trackAdoption": false + } + ] + } + ], + "returnComment": [], + "initialIsOpen": false + }, { "parentPluginId": "@kbn/core-test-helpers-test-utils", "id": "def-common.setupServer", diff --git a/api_docs/kbn_core_test_helpers_test_utils.mdx b/api_docs/kbn_core_test_helpers_test_utils.mdx index 984f1a813ecf0..65fa5075b909a 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-01-23 +date: 2023-01-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-test-helpers-test-utils'] --- import kbnCoreTestHelpersTestUtilsObj from './kbn_core_test_helpers_test_utils.devdocs.json'; @@ -21,7 +21,7 @@ Contact [Owner missing] for questions regarding this plugin. | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 4 | 0 | 4 | 0 | +| 9 | 0 | 9 | 0 | ## Common diff --git a/api_docs/kbn_core_theme_browser.mdx b/api_docs/kbn_core_theme_browser.mdx index 5fde0f497a4f6..fd90e7d6443ad 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-01-23 +date: 2023-01-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_internal.mdx b/api_docs/kbn_core_theme_browser_internal.mdx index 2917abdc32db5..d97e70cd225d1 100644 --- a/api_docs/kbn_core_theme_browser_internal.mdx +++ b/api_docs/kbn_core_theme_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-theme-browser-internal title: "@kbn/core-theme-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-theme-browser-internal plugin -date: 2023-01-23 +date: 2023-01-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-theme-browser-internal'] --- import kbnCoreThemeBrowserInternalObj from './kbn_core_theme_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_theme_browser_mocks.mdx b/api_docs/kbn_core_theme_browser_mocks.mdx index a117efe0aa9ad..dd5793ef7c4af 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-01-23 +date: 2023-01-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 7a064c001fddd..93d4939ec91f4 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-01-23 +date: 2023-01-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 9f60fb3ca5655..2e858c6a0873d 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-01-23 +date: 2023-01-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 025fe2b2ccd85..842158f180cc9 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-01-23 +date: 2023-01-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 12f827a8d3e22..e5b20fe13d50b 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-01-23 +date: 2023-01-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 6ac60a431b027..05ac4447ffd39 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-01-23 +date: 2023-01-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 db6593bca5669..bab23e0a2500d 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-01-23 +date: 2023-01-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 9af9f2624fdd3..7e26b80997763 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-01-23 +date: 2023-01-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 76075508b2a44..69cbad0a2203e 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-01-23 +date: 2023-01-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 9f06f3559ee29..8738ce3716ab7 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-01-23 +date: 2023-01-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 54536fb0a1d4f..fb415f6540e28 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-01-23 +date: 2023-01-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_crypto.mdx b/api_docs/kbn_crypto.mdx index 496c0c4f87d85..ca954ce0af387 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-01-23 +date: 2023-01-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 d107ebc63b5fb..a88fe8da6ab96 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-01-23 +date: 2023-01-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/crypto-browser'] --- import kbnCryptoBrowserObj from './kbn_crypto_browser.devdocs.json'; diff --git a/api_docs/kbn_cypress_config.mdx b/api_docs/kbn_cypress_config.mdx index 9ef92d10cc3e0..92b77f212f1f6 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-01-23 +date: 2023-01-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/cypress-config'] --- import kbnCypressConfigObj from './kbn_cypress_config.devdocs.json'; diff --git a/api_docs/kbn_datemath.mdx b/api_docs/kbn_datemath.mdx index 39e105ac7457b..0a775810aa370 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-01-23 +date: 2023-01-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/datemath'] --- import kbnDatemathObj from './kbn_datemath.devdocs.json'; diff --git a/api_docs/kbn_dev_cli_errors.mdx b/api_docs/kbn_dev_cli_errors.mdx index b4d658801f863..03346fd31c1f6 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-01-23 +date: 2023-01-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 9a20fc6293d54..9b8b589af34d8 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-01-23 +date: 2023-01-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 36b94669e7b4d..b1d312a5768a5 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-01-23 +date: 2023-01-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 1701745ef59cf..22ad4c8e3b367 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-01-23 +date: 2023-01-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/dev-utils'] --- import kbnDevUtilsObj from './kbn_dev_utils.devdocs.json'; diff --git a/api_docs/kbn_doc_links.mdx b/api_docs/kbn_doc_links.mdx index e842cad2f799a..80fb1ae2f83b8 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-01-23 +date: 2023-01-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 10110ac3f8cac..58c7a91d1e432 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-01-23 +date: 2023-01-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/docs-utils'] --- import kbnDocsUtilsObj from './kbn_docs_utils.devdocs.json'; diff --git a/api_docs/kbn_ebt_tools.mdx b/api_docs/kbn_ebt_tools.mdx index 31c1ab1c0d5d0..a165433669f84 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-01-23 +date: 2023-01-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 124c46468f7ee..08bc679364971 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-01-23 +date: 2023-01-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ecs'] --- import kbnEcsObj from './kbn_ecs.devdocs.json'; diff --git a/api_docs/kbn_es.mdx b/api_docs/kbn_es.mdx index d641daaad2c71..715bfaf2a8d84 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-01-23 +date: 2023-01-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 23d0777f86cfb..77840497e205a 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-01-23 +date: 2023-01-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 c6fd6f8989ba1..5e8e2ff6f15dc 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-01-23 +date: 2023-01-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 fd96d569985ee..9d9f179978bc3 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-01-23 +date: 2023-01-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 7927337a93174..ec25924354dd6 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-01-23 +date: 2023-01-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 1deab7ed261f5..4b1d7030c1d7e 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-01-23 +date: 2023-01-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_field_types.mdx b/api_docs/kbn_field_types.mdx index 7b31fab5cdbb2..a9e8aa9f8ca4c 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-01-23 +date: 2023-01-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 51be1282f94a4..a4845ffedca9e 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-01-23 +date: 2023-01-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 7254847469eea..b77c117435bcb 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-01-23 +date: 2023-01-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 db0c85be22a92..ea21d29eb4548 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-01-23 +date: 2023-01-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/generate'] --- import kbnGenerateObj from './kbn_generate.devdocs.json'; diff --git a/api_docs/kbn_get_repo_files.mdx b/api_docs/kbn_get_repo_files.mdx index 571a2b46d4265..991d96a252e8d 100644 --- a/api_docs/kbn_get_repo_files.mdx +++ b/api_docs/kbn_get_repo_files.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-get-repo-files title: "@kbn/get-repo-files" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/get-repo-files plugin -date: 2023-01-23 +date: 2023-01-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/get-repo-files'] --- import kbnGetRepoFilesObj from './kbn_get_repo_files.devdocs.json'; diff --git a/api_docs/kbn_guided_onboarding.mdx b/api_docs/kbn_guided_onboarding.mdx index 38490c1d489fb..fda449bd2b776 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-01-23 +date: 2023-01-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 a05df194e13d6..90bd183da8732 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-01-23 +date: 2023-01-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 a8c67ce4dea25..05f826ccec91d 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-01-23 +date: 2023-01-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 0c9e6106d5c29..6fbc6cd541194 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-01-23 +date: 2023-01-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 3d0ce27a18630..6e00d68e0ae2a 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-01-23 +date: 2023-01-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 f0589392ae3ed..0b39341ced45e 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-01-23 +date: 2023-01-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 1a62fe290d58f..24ed791054794 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-01-23 +date: 2023-01-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 7c60554aaa4c9..d2f66504a3c90 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-01-23 +date: 2023-01-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 1ec60d6cf613e..e02fa3bc6764f 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-01-23 +date: 2023-01-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/import-resolver'] --- import kbnImportResolverObj from './kbn_import_resolver.devdocs.json'; diff --git a/api_docs/kbn_interpreter.mdx b/api_docs/kbn_interpreter.mdx index b1ce63fe6e33a..4d77a5e346963 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-01-23 +date: 2023-01-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 92d85b85d6c58..992ba877b7987 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-01-23 +date: 2023-01-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 cf02593010ffa..0ee55ace691d3 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-01-23 +date: 2023-01-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 6e75fe6e27191..943925cee2d63 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-01-23 +date: 2023-01-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 cd8e2019d316f..57a83483c206e 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-01-23 +date: 2023-01-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 0e9c0ceeacf0b..9107a16c20abb 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-01-23 +date: 2023-01-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 3a07b50a034d8..719c40e99f357 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-01-23 +date: 2023-01-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_logging.mdx b/api_docs/kbn_logging.mdx index 979b3532a0cbd..3a562a3d16c91 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-01-23 +date: 2023-01-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 79f513ec72e95..297920b1f118f 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-01-23 +date: 2023-01-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 5f33dafa82588..f7d88e64a1272 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-01-23 +date: 2023-01-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_mapbox_gl.mdx b/api_docs/kbn_mapbox_gl.mdx index 1a2cab74c82b3..79fd443a6c806 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-01-23 +date: 2023-01-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/mapbox-gl'] --- import kbnMapboxGlObj from './kbn_mapbox_gl.devdocs.json'; diff --git a/api_docs/kbn_ml_agg_utils.mdx b/api_docs/kbn_ml_agg_utils.mdx index 5e400664bc9ba..c237b3a552fb4 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-01-23 +date: 2023-01-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_date_picker.mdx b/api_docs/kbn_ml_date_picker.mdx index ca520e74ffd3f..8ecf5eb6323e2 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-01-23 +date: 2023-01-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_is_defined.mdx b/api_docs/kbn_ml_is_defined.mdx index 0eb5d578d1e94..771070a756f5f 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-01-23 +date: 2023-01-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 9e6074d54406a..a765ee3ffb8c0 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-01-23 +date: 2023-01-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_local_storage.mdx b/api_docs/kbn_ml_local_storage.mdx index 4689081d128e6..36093fb823848 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-01-23 +date: 2023-01-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 eda64de3f028e..2c8f7bded28e7 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-01-23 +date: 2023-01-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_query_utils.mdx b/api_docs/kbn_ml_query_utils.mdx index c0b13e9c7227d..b090bfe6ee680 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-01-23 +date: 2023-01-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_string_hash.mdx b/api_docs/kbn_ml_string_hash.mdx index e04d96f9a1876..75301de28a629 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-01-23 +date: 2023-01-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_url_state.mdx b/api_docs/kbn_ml_url_state.mdx index 18ab9ffa8e811..2e9ffed1a40cb 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-01-23 +date: 2023-01-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 7320d0544bdb7..81f0803e5c886 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-01-23 +date: 2023-01-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/monaco'] --- import kbnMonacoObj from './kbn_monaco.devdocs.json'; diff --git a/api_docs/kbn_optimizer.mdx b/api_docs/kbn_optimizer.mdx index f3297ae4678c7..fae9269cdd0d3 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-01-23 +date: 2023-01-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 9d47cab3d0a48..0d661b2bd5302 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-01-23 +date: 2023-01-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 5546f8af65834..ca09b63a28fdd 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-01-23 +date: 2023-01-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 fcbc28f5c082e..41bd576dc38de 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-01-23 +date: 2023-01-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 dbb2a8bb00093..06b05e085c043 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-01-23 +date: 2023-01-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 f84da983ddfc4..6df3b3513312b 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-01-23 +date: 2023-01-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/plugin-helpers'] --- import kbnPluginHelpersObj from './kbn_plugin_helpers.devdocs.json'; diff --git a/api_docs/kbn_react_field.mdx b/api_docs/kbn_react_field.mdx index bb775ec7f6518..aa726ae629b75 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-01-23 +date: 2023-01-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-field'] --- import kbnReactFieldObj from './kbn_react_field.devdocs.json'; diff --git a/api_docs/kbn_repo_file_maps.mdx b/api_docs/kbn_repo_file_maps.mdx index 67c9ae2a153af..ee54a3ef70177 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-01-23 +date: 2023-01-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 47cd7750790c2..0f7a2a7e57d9b 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-01-23 +date: 2023-01-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 1b95e4143d6a5..6def69c3ce2ad 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-01-23 +date: 2023-01-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 be3e88db7f552..ac153a55c6429 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-01-23 +date: 2023-01-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_rison.mdx b/api_docs/kbn_rison.mdx index d6bcd91d7110f..3a768818b2a4a 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-01-23 +date: 2023-01-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/rison'] --- import kbnRisonObj from './kbn_rison.devdocs.json'; diff --git a/api_docs/kbn_rule_data_utils.devdocs.json b/api_docs/kbn_rule_data_utils.devdocs.json index 2882bd4b1b87b..fdab2a321e5f2 100644 --- a/api_docs/kbn_rule_data_utils.devdocs.json +++ b/api_docs/kbn_rule_data_utils.devdocs.json @@ -188,7 +188,7 @@ "signature": [ "\"kibana.alert.action_group\"" ], - "path": "packages/kbn-rule-data-utils/src/technical_field_names.ts", + "path": "packages/kbn-rule-data-utils/src/default_alerts_as_data.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -233,7 +233,7 @@ "signature": [ "\"kibana.alert.duration.us\"" ], - "path": "packages/kbn-rule-data-utils/src/technical_field_names.ts", + "path": "packages/kbn-rule-data-utils/src/default_alerts_as_data.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -248,7 +248,7 @@ "signature": [ "\"kibana.alert.end\"" ], - "path": "packages/kbn-rule-data-utils/src/technical_field_names.ts", + "path": "packages/kbn-rule-data-utils/src/default_alerts_as_data.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -293,7 +293,22 @@ "signature": [ "\"kibana.alert.flapping\"" ], - "path": "packages/kbn-rule-data-utils/src/technical_field_names.ts", + "path": "packages/kbn-rule-data-utils/src/default_alerts_as_data.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/rule-data-utils", + "id": "def-common.ALERT_ID", + "type": "string", + "tags": [], + "label": "ALERT_ID", + "description": [], + "signature": [ + "\"kibana.alert.id\"" + ], + "path": "packages/kbn-rule-data-utils/src/default_alerts_as_data.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -323,7 +338,7 @@ "signature": [ "\"kibana.alert\"" ], - "path": "packages/kbn-rule-data-utils/src/technical_field_names.ts", + "path": "packages/kbn-rule-data-utils/src/default_alerts_as_data.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -338,7 +353,7 @@ "signature": [ "\"kibana.alert.reason\"" ], - "path": "packages/kbn-rule-data-utils/src/technical_field_names.ts", + "path": "packages/kbn-rule-data-utils/src/default_alerts_as_data.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -383,7 +398,7 @@ "signature": [ "\"kibana.alert.rule.category\"" ], - "path": "packages/kbn-rule-data-utils/src/technical_field_names.ts", + "path": "packages/kbn-rule-data-utils/src/default_alerts_as_data.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -398,7 +413,7 @@ "signature": [ "\"kibana.alert.rule.consumer\"" ], - "path": "packages/kbn-rule-data-utils/src/technical_field_names.ts", + "path": "packages/kbn-rule-data-utils/src/default_alerts_as_data.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -488,7 +503,7 @@ "signature": [ "\"kibana.alert.rule.execution.uuid\"" ], - "path": "packages/kbn-rule-data-utils/src/technical_field_names.ts", + "path": "packages/kbn-rule-data-utils/src/default_alerts_as_data.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -548,7 +563,7 @@ "signature": [ "\"kibana.alert.rule.name\"" ], - "path": "packages/kbn-rule-data-utils/src/technical_field_names.ts", + "path": "packages/kbn-rule-data-utils/src/default_alerts_as_data.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -563,7 +578,7 @@ "signature": [ "\"kibana.alert.rule\"" ], - "path": "packages/kbn-rule-data-utils/src/technical_field_names.ts", + "path": "packages/kbn-rule-data-utils/src/default_alerts_as_data.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -608,7 +623,7 @@ "signature": [ "\"kibana.alert.rule.parameters\"" ], - "path": "packages/kbn-rule-data-utils/src/technical_field_names.ts", + "path": "packages/kbn-rule-data-utils/src/default_alerts_as_data.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -623,7 +638,7 @@ "signature": [ "\"kibana.alert.rule.producer\"" ], - "path": "packages/kbn-rule-data-utils/src/technical_field_names.ts", + "path": "packages/kbn-rule-data-utils/src/default_alerts_as_data.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -683,7 +698,7 @@ "signature": [ "\"kibana.alert.rule.tags\"" ], - "path": "packages/kbn-rule-data-utils/src/technical_field_names.ts", + "path": "packages/kbn-rule-data-utils/src/default_alerts_as_data.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -728,7 +743,7 @@ "signature": [ "\"kibana.alert.rule.rule_type_id\"" ], - "path": "packages/kbn-rule-data-utils/src/technical_field_names.ts", + "path": "packages/kbn-rule-data-utils/src/default_alerts_as_data.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -773,7 +788,7 @@ "signature": [ "\"kibana.alert.rule.uuid\"" ], - "path": "packages/kbn-rule-data-utils/src/technical_field_names.ts", + "path": "packages/kbn-rule-data-utils/src/default_alerts_as_data.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -848,7 +863,7 @@ "signature": [ "\"kibana.alert.start\"" ], - "path": "packages/kbn-rule-data-utils/src/technical_field_names.ts", + "path": "packages/kbn-rule-data-utils/src/default_alerts_as_data.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -863,7 +878,7 @@ "signature": [ "\"kibana.alert.status\"" ], - "path": "packages/kbn-rule-data-utils/src/technical_field_names.ts", + "path": "packages/kbn-rule-data-utils/src/default_alerts_as_data.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -1163,7 +1178,7 @@ "signature": [ "\"kibana.alert.time_range\"" ], - "path": "packages/kbn-rule-data-utils/src/technical_field_names.ts", + "path": "packages/kbn-rule-data-utils/src/default_alerts_as_data.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -1178,7 +1193,7 @@ "signature": [ "\"kibana.alert.uuid\"" ], - "path": "packages/kbn-rule-data-utils/src/technical_field_names.ts", + "path": "packages/kbn-rule-data-utils/src/default_alerts_as_data.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -1208,7 +1223,7 @@ "signature": [ "\"kibana.alert.workflow_status\"" ], - "path": "packages/kbn-rule-data-utils/src/technical_field_names.ts", + "path": "packages/kbn-rule-data-utils/src/default_alerts_as_data.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -1273,6 +1288,21 @@ "trackAdoption": false, "initialIsOpen": false }, + { + "parentPluginId": "@kbn/rule-data-utils", + "id": "def-common.DefaultAlertFieldName", + "type": "Type", + "tags": [], + "label": "DefaultAlertFieldName", + "description": [], + "signature": [ + "\"kibana\" | \"kibana.alert.rule.rule_type_id\" | \"kibana.alert.rule.consumer\" | \"kibana.alert.rule.execution.uuid\" | \"kibana.alert\" | \"kibana.alert.rule\" | \"kibana.alert.rule.parameters\" | \"kibana.alert.rule.producer\" | \"kibana.space_ids\" | \"kibana.alert.uuid\" | \"kibana.alert.start\" | \"kibana.alert.time_range\" | \"kibana.alert.end\" | \"kibana.alert.duration.us\" | \"kibana.alert.status\" | \"kibana.alert.flapping\" | \"kibana.version\" | \"kibana.alert.workflow_status\" | \"kibana.alert.action_group\" | \"kibana.alert.reason\" | \"kibana.alert.rule.category\" | \"kibana.alert.rule.uuid\" | \"kibana.alert.rule.name\" | \"kibana.alert.rule.tags\" | \"kibana.alert.id\"" + ], + "path": "packages/kbn-rule-data-utils/src/default_alerts_as_data.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, { "parentPluginId": "@kbn/rule-data-utils", "id": "def-common.ECS_VERSION", @@ -1343,7 +1373,7 @@ "signature": [ "\"kibana\"" ], - "path": "packages/kbn-rule-data-utils/src/technical_field_names.ts", + "path": "packages/kbn-rule-data-utils/src/default_alerts_as_data.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -1373,7 +1403,7 @@ "signature": [ "\"kibana.space_ids\"" ], - "path": "packages/kbn-rule-data-utils/src/technical_field_names.ts", + "path": "packages/kbn-rule-data-utils/src/default_alerts_as_data.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -1416,7 +1446,7 @@ "label": "TechnicalRuleDataFieldName", "description": [], "signature": [ - "\"tags\" | \"kibana\" | \"@timestamp\" | \"event.action\" | \"kibana.alert.rule.execution.uuid\" | \"kibana.alert.rule.rule_type_id\" | \"kibana.alert.rule.consumer\" | \"kibana.alert\" | \"kibana.alert.rule\" | \"kibana.alert.rule.parameters\" | \"kibana.alert.rule.producer\" | \"kibana.space_ids\" | \"kibana.alert.uuid\" | \"kibana.alert.instance.id\" | \"kibana.alert.start\" | \"kibana.alert.time_range\" | \"kibana.alert.end\" | \"kibana.alert.duration.us\" | \"kibana.alert.severity\" | \"kibana.alert.status\" | \"kibana.alert.flapping\" | \"kibana.version\" | \"ecs.version\" | \"kibana.alert.risk_score\" | \"kibana.alert.workflow_status\" | \"kibana.alert.workflow_user\" | \"kibana.alert.workflow_reason\" | \"kibana.alert.system_status\" | \"kibana.alert.action_group\" | \"kibana.alert.reason\" | \"kibana.alert.case_ids\" | \"kibana.alert.rule.author\" | \"kibana.alert.rule.category\" | \"kibana.alert.rule.uuid\" | \"kibana.alert.rule.created_at\" | \"kibana.alert.rule.created_by\" | \"kibana.alert.rule.description\" | \"kibana.alert.rule.enabled\" | \"kibana.alert.rule.from\" | \"kibana.alert.rule.interval\" | \"kibana.alert.rule.license\" | \"kibana.alert.rule.name\" | \"kibana.alert.rule.note\" | \"kibana.alert.rule.references\" | \"kibana.alert.rule.rule_id\" | \"kibana.alert.rule.rule_name_override\" | \"kibana.alert.rule.tags\" | \"kibana.alert.rule.to\" | \"kibana.alert.rule.type\" | \"kibana.alert.rule.updated_at\" | \"kibana.alert.rule.updated_by\" | \"kibana.alert.rule.version\" | \"kibana.alert.suppression.terms\" | \"kibana.alert.suppression.terms.field\" | \"kibana.alert.suppression.terms.value\" | \"kibana.alert.suppression.start\" | \"kibana.alert.suppression.end\" | \"kibana.alert.suppression.docs_count\" | \"event.kind\" | \"event.module\" | \"kibana.alert.evaluation.threshold\" | \"kibana.alert.evaluation.value\" | \"kibana.alert.building_block_type\" | \"kibana.alert.rule.exceptions_list\" | \"kibana.alert.rule.namespace\" | \"kibana.alert.rule.threat.framework\" | \"kibana.alert.rule.threat.tactic.id\" | \"kibana.alert.rule.threat.tactic.name\" | \"kibana.alert.rule.threat.tactic.reference\" | \"kibana.alert.rule.threat.technique.id\" | \"kibana.alert.rule.threat.technique.name\" | \"kibana.alert.rule.threat.technique.reference\" | \"kibana.alert.rule.threat.technique.subtechnique.id\" | \"kibana.alert.rule.threat.technique.subtechnique.name\" | \"kibana.alert.rule.threat.technique.subtechnique.reference\"" + "\"tags\" | \"kibana\" | \"@timestamp\" | \"event.action\" | \"kibana.alert.rule.rule_type_id\" | \"kibana.alert.rule.consumer\" | \"kibana.alert.rule.execution.uuid\" | \"kibana.alert\" | \"kibana.alert.rule\" | \"kibana.alert.rule.parameters\" | \"kibana.alert.rule.producer\" | \"kibana.space_ids\" | \"kibana.alert.uuid\" | \"kibana.alert.instance.id\" | \"kibana.alert.start\" | \"kibana.alert.time_range\" | \"kibana.alert.end\" | \"kibana.alert.duration.us\" | \"kibana.alert.severity\" | \"kibana.alert.status\" | \"kibana.alert.flapping\" | \"kibana.version\" | \"ecs.version\" | \"kibana.alert.risk_score\" | \"kibana.alert.workflow_status\" | \"kibana.alert.workflow_user\" | \"kibana.alert.workflow_reason\" | \"kibana.alert.system_status\" | \"kibana.alert.action_group\" | \"kibana.alert.reason\" | \"kibana.alert.case_ids\" | \"kibana.alert.rule.author\" | \"kibana.alert.rule.category\" | \"kibana.alert.rule.uuid\" | \"kibana.alert.rule.created_at\" | \"kibana.alert.rule.created_by\" | \"kibana.alert.rule.description\" | \"kibana.alert.rule.enabled\" | \"kibana.alert.rule.from\" | \"kibana.alert.rule.interval\" | \"kibana.alert.rule.license\" | \"kibana.alert.rule.name\" | \"kibana.alert.rule.note\" | \"kibana.alert.rule.references\" | \"kibana.alert.rule.rule_id\" | \"kibana.alert.rule.rule_name_override\" | \"kibana.alert.rule.tags\" | \"kibana.alert.rule.to\" | \"kibana.alert.rule.type\" | \"kibana.alert.rule.updated_at\" | \"kibana.alert.rule.updated_by\" | \"kibana.alert.rule.version\" | \"kibana.alert.suppression.terms\" | \"kibana.alert.suppression.terms.field\" | \"kibana.alert.suppression.terms.value\" | \"kibana.alert.suppression.start\" | \"kibana.alert.suppression.end\" | \"kibana.alert.suppression.docs_count\" | \"event.kind\" | \"event.module\" | \"kibana.alert.evaluation.threshold\" | \"kibana.alert.evaluation.value\" | \"kibana.alert.building_block_type\" | \"kibana.alert.rule.exceptions_list\" | \"kibana.alert.rule.namespace\" | \"kibana.alert.rule.threat.framework\" | \"kibana.alert.rule.threat.tactic.id\" | \"kibana.alert.rule.threat.tactic.name\" | \"kibana.alert.rule.threat.tactic.reference\" | \"kibana.alert.rule.threat.technique.id\" | \"kibana.alert.rule.threat.technique.name\" | \"kibana.alert.rule.threat.technique.reference\" | \"kibana.alert.rule.threat.technique.subtechnique.id\" | \"kibana.alert.rule.threat.technique.subtechnique.name\" | \"kibana.alert.rule.threat.technique.subtechnique.reference\"" ], "path": "packages/kbn-rule-data-utils/src/technical_field_names.ts", "deprecated": false, @@ -1493,7 +1523,7 @@ "signature": [ "\"kibana.version\"" ], - "path": "packages/kbn-rule-data-utils/src/technical_field_names.ts", + "path": "packages/kbn-rule-data-utils/src/default_alerts_as_data.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false diff --git a/api_docs/kbn_rule_data_utils.mdx b/api_docs/kbn_rule_data_utils.mdx index 54c70b242db52..c1457a8a99e90 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-01-23 +date: 2023-01-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/rule-data-utils'] --- import kbnRuleDataUtilsObj from './kbn_rule_data_utils.devdocs.json'; @@ -21,7 +21,7 @@ Contact [Owner missing] for questions regarding this plugin. | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 97 | 0 | 94 | 0 | +| 99 | 0 | 96 | 0 | ## Common diff --git a/api_docs/kbn_securitysolution_autocomplete.mdx b/api_docs/kbn_securitysolution_autocomplete.mdx index 59a965a6c4099..941ba15d506ba 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-01-23 +date: 2023-01-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-autocomplete'] --- import kbnSecuritysolutionAutocompleteObj from './kbn_securitysolution_autocomplete.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_ecs.devdocs.json b/api_docs/kbn_securitysolution_ecs.devdocs.json new file mode 100644 index 0000000000000..d6503dc7fa76f --- /dev/null +++ b/api_docs/kbn_securitysolution_ecs.devdocs.json @@ -0,0 +1,4948 @@ +{ + "id": "@kbn/securitysolution-ecs", + "client": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { + "classes": [], + "functions": [], + "interfaces": [ + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.AgentEcs", + "type": "Interface", + "tags": [], + "label": "AgentEcs", + "description": [], + "path": "packages/kbn-securitysolution-ecs/src/agent/index.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.AgentEcs.type", + "type": "Array", + "tags": [], + "label": "type", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/agent/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.AgentEcs.id", + "type": "Array", + "tags": [], + "label": "id", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/agent/index.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.AuditdEcs", + "type": "Interface", + "tags": [], + "label": "AuditdEcs", + "description": [], + "path": "packages/kbn-securitysolution-ecs/src/auditd/index.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.AuditdEcs.result", + "type": "Array", + "tags": [], + "label": "result", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/auditd/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.AuditdEcs.session", + "type": "Array", + "tags": [], + "label": "session", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/auditd/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.AuditdEcs.data", + "type": "Object", + "tags": [], + "label": "data", + "description": [], + "signature": [ + "AuditdDataEcs", + " | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/auditd/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.AuditdEcs.summary", + "type": "Object", + "tags": [], + "label": "summary", + "description": [], + "signature": [ + "SummaryEcs", + " | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/auditd/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.AuditdEcs.sequence", + "type": "Array", + "tags": [], + "label": "sequence", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/auditd/index.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.CloudEcs", + "type": "Interface", + "tags": [], + "label": "CloudEcs", + "description": [], + "path": "packages/kbn-securitysolution-ecs/src/cloud/index.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.CloudEcs.instance", + "type": "Object", + "tags": [], + "label": "instance", + "description": [], + "signature": [ + "CloudInstanceEcs", + " | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/cloud/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.CloudEcs.machine", + "type": "Object", + "tags": [], + "label": "machine", + "description": [], + "signature": [ + "CloudMachineEcs", + " | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/cloud/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.CloudEcs.provider", + "type": "Array", + "tags": [], + "label": "provider", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/cloud/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.CloudEcs.region", + "type": "Array", + "tags": [], + "label": "region", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/cloud/index.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.CodeSignature", + "type": "Interface", + "tags": [], + "label": "CodeSignature", + "description": [], + "path": "packages/kbn-securitysolution-ecs/src/file/index.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.CodeSignature.subject_name", + "type": "Array", + "tags": [], + "label": "subject_name", + "description": [], + "signature": [ + "string[]" + ], + "path": "packages/kbn-securitysolution-ecs/src/file/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.CodeSignature.trusted", + "type": "Array", + "tags": [], + "label": "trusted", + "description": [], + "signature": [ + "string[]" + ], + "path": "packages/kbn-securitysolution-ecs/src/file/index.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.DestinationEcs", + "type": "Interface", + "tags": [], + "label": "DestinationEcs", + "description": [], + "path": "packages/kbn-securitysolution-ecs/src/destination/index.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.DestinationEcs.bytes", + "type": "Array", + "tags": [], + "label": "bytes", + "description": [], + "signature": [ + "number[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/destination/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.DestinationEcs.ip", + "type": "Array", + "tags": [], + "label": "ip", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/destination/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.DestinationEcs.port", + "type": "Array", + "tags": [], + "label": "port", + "description": [], + "signature": [ + "number[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/destination/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.DestinationEcs.domain", + "type": "Array", + "tags": [], + "label": "domain", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/destination/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.DestinationEcs.geo", + "type": "Object", + "tags": [], + "label": "geo", + "description": [], + "signature": [ + { + "pluginId": "@kbn/securitysolution-ecs", + "scope": "common", + "docId": "kibKbnSecuritysolutionEcsPluginApi", + "section": "def-common.GeoEcs", + "text": "GeoEcs" + }, + " | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/destination/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.DestinationEcs.packets", + "type": "Array", + "tags": [], + "label": "packets", + "description": [], + "signature": [ + "number[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/destination/index.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.DllEcs", + "type": "Interface", + "tags": [], + "label": "DllEcs", + "description": [], + "path": "packages/kbn-securitysolution-ecs/src/dll/index.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.DllEcs.path", + "type": "string", + "tags": [], + "label": "path", + "description": [], + "signature": [ + "string | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/dll/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.DllEcs.code_signature", + "type": "Object", + "tags": [], + "label": "code_signature", + "description": [], + "signature": [ + { + "pluginId": "@kbn/securitysolution-ecs", + "scope": "common", + "docId": "kibKbnSecuritysolutionEcsPluginApi", + "section": "def-common.CodeSignature", + "text": "CodeSignature" + }, + " | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/dll/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.DllEcs.pe", + "type": "Object", + "tags": [], + "label": "pe", + "description": [], + "signature": [ + "ProcessPe", + " | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/dll/index.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.DnsEcs", + "type": "Interface", + "tags": [], + "label": "DnsEcs", + "description": [], + "path": "packages/kbn-securitysolution-ecs/src/dns/index.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.DnsEcs.question", + "type": "Object", + "tags": [], + "label": "question", + "description": [], + "signature": [ + "DnsQuestionEcs", + " | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/dns/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.DnsEcs.resolved_ip", + "type": "Array", + "tags": [], + "label": "resolved_ip", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/dns/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.DnsEcs.response_code", + "type": "Array", + "tags": [], + "label": "response_code", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/dns/index.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.EcsSecurityExtension", + "type": "Interface", + "tags": [], + "label": "EcsSecurityExtension", + "description": [], + "path": "packages/kbn-securitysolution-ecs/src/index.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.EcsSecurityExtension.agent", + "type": "Object", + "tags": [], + "label": "agent", + "description": [], + "signature": [ + { + "pluginId": "@kbn/securitysolution-ecs", + "scope": "common", + "docId": "kibKbnSecuritysolutionEcsPluginApi", + "section": "def-common.AgentEcs", + "text": "AgentEcs" + }, + " | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.EcsSecurityExtension.destination", + "type": "Object", + "tags": [], + "label": "destination", + "description": [], + "signature": [ + { + "pluginId": "@kbn/securitysolution-ecs", + "scope": "common", + "docId": "kibKbnSecuritysolutionEcsPluginApi", + "section": "def-common.DestinationEcs", + "text": "DestinationEcs" + }, + " | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.EcsSecurityExtension.dns", + "type": "Object", + "tags": [], + "label": "dns", + "description": [], + "signature": [ + { + "pluginId": "@kbn/securitysolution-ecs", + "scope": "common", + "docId": "kibKbnSecuritysolutionEcsPluginApi", + "section": "def-common.DnsEcs", + "text": "DnsEcs" + }, + " | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.EcsSecurityExtension.event", + "type": "Object", + "tags": [], + "label": "event", + "description": [], + "signature": [ + { + "pluginId": "@kbn/securitysolution-ecs", + "scope": "common", + "docId": "kibKbnSecuritysolutionEcsPluginApi", + "section": "def-common.EventEcs", + "text": "EventEcs" + }, + " | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.EcsSecurityExtension.file", + "type": "Object", + "tags": [], + "label": "file", + "description": [], + "signature": [ + { + "pluginId": "@kbn/securitysolution-ecs", + "scope": "common", + "docId": "kibKbnSecuritysolutionEcsPluginApi", + "section": "def-common.FileEcs", + "text": "FileEcs" + }, + " | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.EcsSecurityExtension.host", + "type": "Object", + "tags": [], + "label": "host", + "description": [], + "signature": [ + { + "pluginId": "@kbn/securitysolution-ecs", + "scope": "common", + "docId": "kibKbnSecuritysolutionEcsPluginApi", + "section": "def-common.HostEcs", + "text": "HostEcs" + }, + " | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.EcsSecurityExtension.http", + "type": "Object", + "tags": [], + "label": "http", + "description": [], + "signature": [ + { + "pluginId": "@kbn/securitysolution-ecs", + "scope": "common", + "docId": "kibKbnSecuritysolutionEcsPluginApi", + "section": "def-common.HttpEcs", + "text": "HttpEcs" + }, + " | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.EcsSecurityExtension.message", + "type": "Array", + "tags": [], + "label": "message", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.EcsSecurityExtension.network", + "type": "Object", + "tags": [], + "label": "network", + "description": [], + "signature": [ + { + "pluginId": "@kbn/securitysolution-ecs", + "scope": "common", + "docId": "kibKbnSecuritysolutionEcsPluginApi", + "section": "def-common.NetworkEcs", + "text": "NetworkEcs" + }, + " | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.EcsSecurityExtension.process", + "type": "Object", + "tags": [], + "label": "process", + "description": [], + "signature": [ + { + "pluginId": "@kbn/securitysolution-ecs", + "scope": "common", + "docId": "kibKbnSecuritysolutionEcsPluginApi", + "section": "def-common.ProcessEcs", + "text": "ProcessEcs" + }, + " | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.EcsSecurityExtension.registry", + "type": "Object", + "tags": [], + "label": "registry", + "description": [], + "signature": [ + { + "pluginId": "@kbn/securitysolution-ecs", + "scope": "common", + "docId": "kibKbnSecuritysolutionEcsPluginApi", + "section": "def-common.RegistryEcs", + "text": "RegistryEcs" + }, + " | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.EcsSecurityExtension.rule", + "type": "Object", + "tags": [], + "label": "rule", + "description": [], + "signature": [ + { + "pluginId": "@kbn/securitysolution-ecs", + "scope": "common", + "docId": "kibKbnSecuritysolutionEcsPluginApi", + "section": "def-common.RuleEcs", + "text": "RuleEcs" + }, + " | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.EcsSecurityExtension.source", + "type": "Object", + "tags": [], + "label": "source", + "description": [], + "signature": [ + { + "pluginId": "@kbn/securitysolution-ecs", + "scope": "common", + "docId": "kibKbnSecuritysolutionEcsPluginApi", + "section": "def-common.SourceEcs", + "text": "SourceEcs" + }, + " | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.EcsSecurityExtension.threat", + "type": "Object", + "tags": [], + "label": "threat", + "description": [], + "signature": [ + { + "pluginId": "@kbn/securitysolution-ecs", + "scope": "common", + "docId": "kibKbnSecuritysolutionEcsPluginApi", + "section": "def-common.ThreatEcs", + "text": "ThreatEcs" + }, + " | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.EcsSecurityExtension.tls", + "type": "Object", + "tags": [], + "label": "tls", + "description": [], + "signature": [ + { + "pluginId": "@kbn/securitysolution-ecs", + "scope": "common", + "docId": "kibKbnSecuritysolutionEcsPluginApi", + "section": "def-common.TlsEcs", + "text": "TlsEcs" + }, + " | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.EcsSecurityExtension.url", + "type": "Object", + "tags": [], + "label": "url", + "description": [], + "signature": [ + { + "pluginId": "@kbn/securitysolution-ecs", + "scope": "common", + "docId": "kibKbnSecuritysolutionEcsPluginApi", + "section": "def-common.UrlEcs", + "text": "UrlEcs" + }, + " | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.EcsSecurityExtension.user", + "type": "Object", + "tags": [], + "label": "user", + "description": [], + "signature": [ + { + "pluginId": "@kbn/securitysolution-ecs", + "scope": "common", + "docId": "kibKbnSecuritysolutionEcsPluginApi", + "section": "def-common.UserEcs", + "text": "UserEcs" + }, + " | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.EcsSecurityExtension._id", + "type": "string", + "tags": [], + "label": "_id", + "description": [], + "path": "packages/kbn-securitysolution-ecs/src/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.EcsSecurityExtension._index", + "type": "string", + "tags": [], + "label": "_index", + "description": [], + "signature": [ + "string | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.EcsSecurityExtension.auditd", + "type": "Object", + "tags": [], + "label": "auditd", + "description": [], + "signature": [ + { + "pluginId": "@kbn/securitysolution-ecs", + "scope": "common", + "docId": "kibKbnSecuritysolutionEcsPluginApi", + "section": "def-common.AuditdEcs", + "text": "AuditdEcs" + }, + " | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.EcsSecurityExtension.endgame", + "type": "Object", + "tags": [], + "label": "endgame", + "description": [], + "signature": [ + { + "pluginId": "@kbn/securitysolution-ecs", + "scope": "common", + "docId": "kibKbnSecuritysolutionEcsPluginApi", + "section": "def-common.EndgameEcs", + "text": "EndgameEcs" + }, + " | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.EcsSecurityExtension.geo", + "type": "Object", + "tags": [], + "label": "geo", + "description": [], + "signature": [ + { + "pluginId": "@kbn/securitysolution-ecs", + "scope": "common", + "docId": "kibKbnSecuritysolutionEcsPluginApi", + "section": "def-common.GeoEcs", + "text": "GeoEcs" + }, + " | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.EcsSecurityExtension.kibana", + "type": "Object", + "tags": [], + "label": "kibana", + "description": [], + "signature": [ + "{ alert: ", + "SignalEcsAAD", + "; } | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.EcsSecurityExtension.kibana.alert.rule.parameters", + "type": "Object", + "tags": [], + "label": "'kibana.alert.rule.parameters'", + "description": [], + "signature": [ + "{ index: string[]; data_view_id?: string | undefined; } | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.EcsSecurityExtension.kibana.alert.workflow_status", + "type": "CompoundType", + "tags": [], + "label": "'kibana.alert.workflow_status'", + "description": [], + "signature": [ + "\"open\" | \"in-progress\" | \"closed\" | \"acknowledged\" | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.EcsSecurityExtension.Memory_protection", + "type": "Object", + "tags": [], + "label": "Memory_protection", + "description": [], + "signature": [ + { + "pluginId": "@kbn/securitysolution-ecs", + "scope": "common", + "docId": "kibKbnSecuritysolutionEcsPluginApi", + "section": "def-common.MemoryProtection", + "text": "MemoryProtection" + }, + " | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.EcsSecurityExtension.Ransomware", + "type": "Object", + "tags": [], + "label": "Ransomware", + "description": [], + "signature": [ + { + "pluginId": "@kbn/securitysolution-ecs", + "scope": "common", + "docId": "kibKbnSecuritysolutionEcsPluginApi", + "section": "def-common.Ransomware", + "text": "Ransomware" + }, + " | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.EcsSecurityExtension.Target", + "type": "Object", + "tags": [], + "label": "Target", + "description": [], + "signature": [ + { + "pluginId": "@kbn/securitysolution-ecs", + "scope": "common", + "docId": "kibKbnSecuritysolutionEcsPluginApi", + "section": "def-common.Target", + "text": "Target" + }, + " | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.EcsSecurityExtension.dll", + "type": "Object", + "tags": [], + "label": "dll", + "description": [], + "signature": [ + { + "pluginId": "@kbn/securitysolution-ecs", + "scope": "common", + "docId": "kibKbnSecuritysolutionEcsPluginApi", + "section": "def-common.DllEcs", + "text": "DllEcs" + }, + " | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.EcsSecurityExtension.eql", + "type": "Object", + "tags": [], + "label": "eql", + "description": [], + "signature": [ + "{ parentId: string; sequenceNumber: string; } | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.EcsSecurityExtension.signal", + "type": "Object", + "tags": [], + "label": "signal", + "description": [], + "signature": [ + { + "pluginId": "@kbn/securitysolution-ecs", + "scope": "common", + "docId": "kibKbnSecuritysolutionEcsPluginApi", + "section": "def-common.SignalEcs", + "text": "SignalEcs" + }, + " | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.EcsSecurityExtension.suricata", + "type": "Object", + "tags": [], + "label": "suricata", + "description": [], + "signature": [ + { + "pluginId": "@kbn/securitysolution-ecs", + "scope": "common", + "docId": "kibKbnSecuritysolutionEcsPluginApi", + "section": "def-common.SuricataEcs", + "text": "SuricataEcs" + }, + " | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.EcsSecurityExtension.system", + "type": "Object", + "tags": [], + "label": "system", + "description": [], + "signature": [ + { + "pluginId": "@kbn/securitysolution-ecs", + "scope": "common", + "docId": "kibKbnSecuritysolutionEcsPluginApi", + "section": "def-common.SystemEcs", + "text": "SystemEcs" + }, + " | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.EcsSecurityExtension.timestamp", + "type": "string", + "tags": [], + "label": "timestamp", + "description": [], + "signature": [ + "string | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.EcsSecurityExtension.winlog", + "type": "Object", + "tags": [], + "label": "winlog", + "description": [], + "signature": [ + { + "pluginId": "@kbn/securitysolution-ecs", + "scope": "common", + "docId": "kibKbnSecuritysolutionEcsPluginApi", + "section": "def-common.WinlogEcs", + "text": "WinlogEcs" + }, + " | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.EcsSecurityExtension.zeek", + "type": "Object", + "tags": [], + "label": "zeek", + "description": [], + "signature": [ + { + "pluginId": "@kbn/securitysolution-ecs", + "scope": "common", + "docId": "kibKbnSecuritysolutionEcsPluginApi", + "section": "def-common.ZeekEcs", + "text": "ZeekEcs" + }, + " | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/index.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.EndgameEcs", + "type": "Interface", + "tags": [], + "label": "EndgameEcs", + "description": [], + "path": "packages/kbn-securitysolution-ecs/src/endgame/index.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.EndgameEcs.exit_code", + "type": "Array", + "tags": [], + "label": "exit_code", + "description": [], + "signature": [ + "number[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/endgame/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.EndgameEcs.file_name", + "type": "Array", + "tags": [], + "label": "file_name", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/endgame/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.EndgameEcs.file_path", + "type": "Array", + "tags": [], + "label": "file_path", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/endgame/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.EndgameEcs.logon_type", + "type": "Array", + "tags": [], + "label": "logon_type", + "description": [], + "signature": [ + "number[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/endgame/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.EndgameEcs.parent_process_name", + "type": "Array", + "tags": [], + "label": "parent_process_name", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/endgame/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.EndgameEcs.pid", + "type": "Array", + "tags": [], + "label": "pid", + "description": [], + "signature": [ + "number[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/endgame/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.EndgameEcs.process_name", + "type": "Array", + "tags": [], + "label": "process_name", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/endgame/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.EndgameEcs.subject_domain_name", + "type": "Array", + "tags": [], + "label": "subject_domain_name", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/endgame/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.EndgameEcs.subject_logon_id", + "type": "Array", + "tags": [], + "label": "subject_logon_id", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/endgame/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.EndgameEcs.subject_user_name", + "type": "Array", + "tags": [], + "label": "subject_user_name", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/endgame/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.EndgameEcs.target_domain_name", + "type": "Array", + "tags": [], + "label": "target_domain_name", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/endgame/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.EndgameEcs.target_logon_id", + "type": "Array", + "tags": [], + "label": "target_logon_id", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/endgame/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.EndgameEcs.target_user_name", + "type": "Array", + "tags": [], + "label": "target_user_name", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/endgame/index.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.EventEcs", + "type": "Interface", + "tags": [], + "label": "EventEcs", + "description": [], + "path": "packages/kbn-securitysolution-ecs/src/event/index.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.EventEcs.action", + "type": "Array", + "tags": [], + "label": "action", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/event/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.EventEcs.category", + "type": "Array", + "tags": [], + "label": "category", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/event/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.EventEcs.code", + "type": "Array", + "tags": [], + "label": "code", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/event/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.EventEcs.created", + "type": "Array", + "tags": [], + "label": "created", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/event/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.EventEcs.dataset", + "type": "Array", + "tags": [], + "label": "dataset", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/event/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.EventEcs.duration", + "type": "Array", + "tags": [], + "label": "duration", + "description": [], + "signature": [ + "number[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/event/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.EventEcs.end", + "type": "Array", + "tags": [], + "label": "end", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/event/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.EventEcs.hash", + "type": "Array", + "tags": [], + "label": "hash", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/event/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.EventEcs.id", + "type": "Array", + "tags": [], + "label": "id", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/event/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.EventEcs.kind", + "type": "Array", + "tags": [], + "label": "kind", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/event/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.EventEcs.module", + "type": "Array", + "tags": [], + "label": "module", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/event/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.EventEcs.original", + "type": "Array", + "tags": [], + "label": "original", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/event/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.EventEcs.outcome", + "type": "Array", + "tags": [], + "label": "outcome", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/event/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.EventEcs.risk_score", + "type": "Array", + "tags": [], + "label": "risk_score", + "description": [], + "signature": [ + "number[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/event/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.EventEcs.risk_score_norm", + "type": "Array", + "tags": [], + "label": "risk_score_norm", + "description": [], + "signature": [ + "number[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/event/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.EventEcs.severity", + "type": "Array", + "tags": [], + "label": "severity", + "description": [], + "signature": [ + "number[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/event/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.EventEcs.start", + "type": "Array", + "tags": [], + "label": "start", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/event/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.EventEcs.timezone", + "type": "Array", + "tags": [], + "label": "timezone", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/event/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.EventEcs.type", + "type": "Array", + "tags": [], + "label": "type", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/event/index.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.FileEcs", + "type": "Interface", + "tags": [], + "label": "FileEcs", + "description": [], + "path": "packages/kbn-securitysolution-ecs/src/file/index.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.FileEcs.name", + "type": "Array", + "tags": [], + "label": "name", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/file/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.FileEcs.path", + "type": "Array", + "tags": [], + "label": "path", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/file/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.FileEcs.target_path", + "type": "Array", + "tags": [], + "label": "target_path", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/file/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.FileEcs.extension", + "type": "Array", + "tags": [], + "label": "extension", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/file/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.FileEcs.Ext", + "type": "Object", + "tags": [], + "label": "Ext", + "description": [], + "signature": [ + "Ext", + " | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/file/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.FileEcs.type", + "type": "Array", + "tags": [], + "label": "type", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/file/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.FileEcs.device", + "type": "Array", + "tags": [], + "label": "device", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/file/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.FileEcs.inode", + "type": "Array", + "tags": [], + "label": "inode", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/file/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.FileEcs.uid", + "type": "Array", + "tags": [], + "label": "uid", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/file/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.FileEcs.owner", + "type": "Array", + "tags": [], + "label": "owner", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/file/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.FileEcs.gid", + "type": "Array", + "tags": [], + "label": "gid", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/file/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.FileEcs.group", + "type": "Array", + "tags": [], + "label": "group", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/file/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.FileEcs.mode", + "type": "Array", + "tags": [], + "label": "mode", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/file/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.FileEcs.size", + "type": "Array", + "tags": [], + "label": "size", + "description": [], + "signature": [ + "number[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/file/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.FileEcs.mtime", + "type": "Array", + "tags": [], + "label": "mtime", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/file/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.FileEcs.ctime", + "type": "Array", + "tags": [], + "label": "ctime", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/file/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.FileEcs.hash", + "type": "Object", + "tags": [], + "label": "hash", + "description": [], + "signature": [ + "Hash", + " | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/file/index.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.GeoEcs", + "type": "Interface", + "tags": [], + "label": "GeoEcs", + "description": [], + "path": "packages/kbn-securitysolution-ecs/src/geo/index.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.GeoEcs.city_name", + "type": "Array", + "tags": [], + "label": "city_name", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/geo/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.GeoEcs.continent_name", + "type": "Array", + "tags": [], + "label": "continent_name", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/geo/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.GeoEcs.country_iso_code", + "type": "Array", + "tags": [], + "label": "country_iso_code", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/geo/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.GeoEcs.country_name", + "type": "Array", + "tags": [], + "label": "country_name", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/geo/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.GeoEcs.location", + "type": "Object", + "tags": [], + "label": "location", + "description": [], + "signature": [ + "Location", + " | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/geo/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.GeoEcs.region_iso_code", + "type": "Array", + "tags": [], + "label": "region_iso_code", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/geo/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.GeoEcs.region_name", + "type": "Array", + "tags": [], + "label": "region_name", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/geo/index.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.HostEcs", + "type": "Interface", + "tags": [], + "label": "HostEcs", + "description": [], + "path": "packages/kbn-securitysolution-ecs/src/host/index.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.HostEcs.architecture", + "type": "Array", + "tags": [], + "label": "architecture", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/host/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.HostEcs.id", + "type": "Array", + "tags": [], + "label": "id", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/host/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.HostEcs.ip", + "type": "Array", + "tags": [], + "label": "ip", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/host/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.HostEcs.mac", + "type": "Array", + "tags": [], + "label": "mac", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/host/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.HostEcs.name", + "type": "Array", + "tags": [], + "label": "name", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/host/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.HostEcs.os", + "type": "Object", + "tags": [], + "label": "os", + "description": [], + "signature": [ + { + "pluginId": "@kbn/securitysolution-ecs", + "scope": "common", + "docId": "kibKbnSecuritysolutionEcsPluginApi", + "section": "def-common.OsEcs", + "text": "OsEcs" + }, + " | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/host/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.HostEcs.type", + "type": "Array", + "tags": [], + "label": "type", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/host/index.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.HttpEcs", + "type": "Interface", + "tags": [], + "label": "HttpEcs", + "description": [], + "path": "packages/kbn-securitysolution-ecs/src/http/index.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.HttpEcs.version", + "type": "Array", + "tags": [], + "label": "version", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/http/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.HttpEcs.request", + "type": "Object", + "tags": [], + "label": "request", + "description": [], + "signature": [ + "HttpRequestData", + " | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/http/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.HttpEcs.response", + "type": "Object", + "tags": [], + "label": "response", + "description": [], + "signature": [ + "HttpResponseData", + " | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/http/index.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.MemoryProtection", + "type": "Interface", + "tags": [], + "label": "MemoryProtection", + "description": [], + "path": "packages/kbn-securitysolution-ecs/src/memory_protection/index.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.MemoryProtection.cross_session", + "type": "CompoundType", + "tags": [], + "label": "cross_session", + "description": [], + "signature": [ + "boolean | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/memory_protection/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.MemoryProtection.feature", + "type": "string", + "tags": [], + "label": "feature", + "description": [], + "signature": [ + "string | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/memory_protection/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.MemoryProtection.parent_to_child", + "type": "CompoundType", + "tags": [], + "label": "parent_to_child", + "description": [], + "signature": [ + "boolean | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/memory_protection/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.MemoryProtection.self_injection", + "type": "CompoundType", + "tags": [], + "label": "self_injection", + "description": [], + "signature": [ + "boolean | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/memory_protection/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.MemoryProtection.unique_key_v1", + "type": "string", + "tags": [], + "label": "unique_key_v1", + "description": [], + "signature": [ + "string | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/memory_protection/index.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.NetworkEcs", + "type": "Interface", + "tags": [], + "label": "NetworkEcs", + "description": [], + "path": "packages/kbn-securitysolution-ecs/src/network/index.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.NetworkEcs.bytes", + "type": "Array", + "tags": [], + "label": "bytes", + "description": [], + "signature": [ + "number[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/network/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.NetworkEcs.community_id", + "type": "Array", + "tags": [], + "label": "community_id", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/network/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.NetworkEcs.direction", + "type": "Array", + "tags": [], + "label": "direction", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/network/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.NetworkEcs.packets", + "type": "Array", + "tags": [], + "label": "packets", + "description": [], + "signature": [ + "number[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/network/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.NetworkEcs.protocol", + "type": "Array", + "tags": [], + "label": "protocol", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/network/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.NetworkEcs.transport", + "type": "Array", + "tags": [], + "label": "transport", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/network/index.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.OsEcs", + "type": "Interface", + "tags": [], + "label": "OsEcs", + "description": [], + "path": "packages/kbn-securitysolution-ecs/src/host/index.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.OsEcs.platform", + "type": "Array", + "tags": [], + "label": "platform", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/host/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.OsEcs.name", + "type": "Array", + "tags": [], + "label": "name", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/host/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.OsEcs.full", + "type": "Array", + "tags": [], + "label": "full", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/host/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.OsEcs.family", + "type": "Array", + "tags": [], + "label": "family", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/host/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.OsEcs.version", + "type": "Array", + "tags": [], + "label": "version", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/host/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.OsEcs.kernel", + "type": "Array", + "tags": [], + "label": "kernel", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/host/index.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.ProcessEcs", + "type": "Interface", + "tags": [], + "label": "ProcessEcs", + "description": [], + "path": "packages/kbn-securitysolution-ecs/src/process/index.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.ProcessEcs.Ext", + "type": "Object", + "tags": [], + "label": "Ext", + "description": [], + "signature": [ + "Ext", + " | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/process/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.ProcessEcs.command_line", + "type": "Array", + "tags": [], + "label": "command_line", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/process/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.ProcessEcs.entity_id", + "type": "Array", + "tags": [], + "label": "entity_id", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/process/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.ProcessEcs.entry_leader", + "type": "Object", + "tags": [], + "label": "entry_leader", + "description": [], + "signature": [ + "ProcessSessionData", + " | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/process/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.ProcessEcs.session_leader", + "type": "Object", + "tags": [], + "label": "session_leader", + "description": [], + "signature": [ + "ProcessSessionData", + " | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/process/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.ProcessEcs.group_leader", + "type": "Object", + "tags": [], + "label": "group_leader", + "description": [], + "signature": [ + "ProcessSessionData", + " | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/process/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.ProcessEcs.exit_code", + "type": "Array", + "tags": [], + "label": "exit_code", + "description": [], + "signature": [ + "number[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/process/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.ProcessEcs.hash", + "type": "Object", + "tags": [], + "label": "hash", + "description": [], + "signature": [ + "ProcessHashData", + " | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/process/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.ProcessEcs.parent", + "type": "Object", + "tags": [], + "label": "parent", + "description": [], + "signature": [ + "ProcessParentData", + " | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/process/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.ProcessEcs.code_signature", + "type": "Object", + "tags": [], + "label": "code_signature", + "description": [], + "signature": [ + { + "pluginId": "@kbn/securitysolution-ecs", + "scope": "common", + "docId": "kibKbnSecuritysolutionEcsPluginApi", + "section": "def-common.CodeSignature", + "text": "CodeSignature" + }, + " | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/process/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.ProcessEcs.pid", + "type": "Array", + "tags": [], + "label": "pid", + "description": [], + "signature": [ + "number[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/process/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.ProcessEcs.name", + "type": "Array", + "tags": [], + "label": "name", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/process/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.ProcessEcs.ppid", + "type": "Array", + "tags": [], + "label": "ppid", + "description": [], + "signature": [ + "number[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/process/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.ProcessEcs.args", + "type": "Array", + "tags": [], + "label": "args", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/process/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.ProcessEcs.executable", + "type": "Array", + "tags": [], + "label": "executable", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/process/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.ProcessEcs.title", + "type": "Array", + "tags": [], + "label": "title", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/process/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.ProcessEcs.thread", + "type": "Object", + "tags": [], + "label": "thread", + "description": [], + "signature": [ + "Thread", + " | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/process/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.ProcessEcs.working_directory", + "type": "Array", + "tags": [], + "label": "working_directory", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/process/index.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.Ransomware", + "type": "Interface", + "tags": [], + "label": "Ransomware", + "description": [], + "path": "packages/kbn-securitysolution-ecs/src/ransomware/index.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.Ransomware.feature", + "type": "Array", + "tags": [], + "label": "feature", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/ransomware/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.Ransomware.score", + "type": "Array", + "tags": [], + "label": "score", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/ransomware/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.Ransomware.version", + "type": "Array", + "tags": [], + "label": "version", + "description": [], + "signature": [ + "number[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/ransomware/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.Ransomware.child_pids", + "type": "Array", + "tags": [], + "label": "child_pids", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/ransomware/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.Ransomware.files", + "type": "Object", + "tags": [], + "label": "files", + "description": [], + "signature": [ + "RansomwareFiles", + " | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/ransomware/index.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.RegistryEcs", + "type": "Interface", + "tags": [], + "label": "RegistryEcs", + "description": [], + "path": "packages/kbn-securitysolution-ecs/src/registry/index.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.RegistryEcs.hive", + "type": "Array", + "tags": [], + "label": "hive", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/registry/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.RegistryEcs.key", + "type": "Array", + "tags": [], + "label": "key", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/registry/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.RegistryEcs.path", + "type": "Array", + "tags": [], + "label": "path", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/registry/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.RegistryEcs.value", + "type": "Array", + "tags": [], + "label": "value", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/registry/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.RegistryEcs.data", + "type": "Object", + "tags": [], + "label": "data", + "description": [], + "signature": [ + "RegistryEcsData", + " | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/registry/index.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.RuleEcs", + "type": "Interface", + "tags": [], + "label": "RuleEcs", + "description": [], + "path": "packages/kbn-securitysolution-ecs/src/rule/index.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.RuleEcs.id", + "type": "Array", + "tags": [], + "label": "id", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/rule/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.RuleEcs.rule_id", + "type": "Array", + "tags": [], + "label": "rule_id", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/rule/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.RuleEcs.name", + "type": "Array", + "tags": [], + "label": "name", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/rule/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.RuleEcs.false_positives", + "type": "Array", + "tags": [], + "label": "false_positives", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/rule/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.RuleEcs.saved_id", + "type": "Array", + "tags": [], + "label": "saved_id", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/rule/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.RuleEcs.timeline_id", + "type": "Array", + "tags": [], + "label": "timeline_id", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/rule/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.RuleEcs.timeline_title", + "type": "Array", + "tags": [], + "label": "timeline_title", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/rule/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.RuleEcs.max_signals", + "type": "Array", + "tags": [], + "label": "max_signals", + "description": [], + "signature": [ + "number[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/rule/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.RuleEcs.risk_score", + "type": "Array", + "tags": [], + "label": "risk_score", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/rule/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.RuleEcs.output_index", + "type": "Array", + "tags": [], + "label": "output_index", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/rule/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.RuleEcs.description", + "type": "Array", + "tags": [], + "label": "description", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/rule/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.RuleEcs.exceptions_list", + "type": "Array", + "tags": [], + "label": "exceptions_list", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/rule/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.RuleEcs.from", + "type": "Array", + "tags": [], + "label": "from", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/rule/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.RuleEcs.immutable", + "type": "Array", + "tags": [], + "label": "immutable", + "description": [], + "signature": [ + "boolean[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/rule/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.RuleEcs.index", + "type": "Array", + "tags": [], + "label": "index", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/rule/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.RuleEcs.data_view_id", + "type": "string", + "tags": [], + "label": "data_view_id", + "description": [], + "signature": [ + "string | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/rule/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.RuleEcs.interval", + "type": "Array", + "tags": [], + "label": "interval", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/rule/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.RuleEcs.language", + "type": "Array", + "tags": [], + "label": "language", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/rule/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.RuleEcs.query", + "type": "Array", + "tags": [], + "label": "query", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/rule/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.RuleEcs.references", + "type": "Array", + "tags": [], + "label": "references", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/rule/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.RuleEcs.severity", + "type": "Array", + "tags": [], + "label": "severity", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/rule/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.RuleEcs.tags", + "type": "Array", + "tags": [], + "label": "tags", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/rule/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.RuleEcs.threat", + "type": "Unknown", + "tags": [], + "label": "threat", + "description": [], + "signature": [ + "unknown" + ], + "path": "packages/kbn-securitysolution-ecs/src/rule/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.RuleEcs.threshold", + "type": "Unknown", + "tags": [], + "label": "threshold", + "description": [], + "signature": [ + "unknown" + ], + "path": "packages/kbn-securitysolution-ecs/src/rule/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.RuleEcs.type", + "type": "Array", + "tags": [], + "label": "type", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/rule/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.RuleEcs.size", + "type": "Array", + "tags": [], + "label": "size", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/rule/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.RuleEcs.to", + "type": "Array", + "tags": [], + "label": "to", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/rule/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.RuleEcs.enabled", + "type": "Array", + "tags": [], + "label": "enabled", + "description": [], + "signature": [ + "boolean[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/rule/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.RuleEcs.filters", + "type": "Unknown", + "tags": [], + "label": "filters", + "description": [], + "signature": [ + "unknown" + ], + "path": "packages/kbn-securitysolution-ecs/src/rule/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.RuleEcs.created_at", + "type": "Array", + "tags": [], + "label": "created_at", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/rule/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.RuleEcs.updated_at", + "type": "Array", + "tags": [], + "label": "updated_at", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/rule/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.RuleEcs.created_by", + "type": "Array", + "tags": [], + "label": "created_by", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/rule/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.RuleEcs.updated_by", + "type": "Array", + "tags": [], + "label": "updated_by", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/rule/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.RuleEcs.version", + "type": "Array", + "tags": [], + "label": "version", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/rule/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.RuleEcs.note", + "type": "Array", + "tags": [], + "label": "note", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/rule/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.RuleEcs.building_block_type", + "type": "Array", + "tags": [], + "label": "building_block_type", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/rule/index.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.SignalEcs", + "type": "Interface", + "tags": [], + "label": "SignalEcs", + "description": [], + "path": "packages/kbn-securitysolution-ecs/src/signal/index.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.SignalEcs.rule", + "type": "Object", + "tags": [], + "label": "rule", + "description": [], + "signature": [ + { + "pluginId": "@kbn/securitysolution-ecs", + "scope": "common", + "docId": "kibKbnSecuritysolutionEcsPluginApi", + "section": "def-common.RuleEcs", + "text": "RuleEcs" + }, + " | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/signal/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.SignalEcs.original_time", + "type": "Array", + "tags": [], + "label": "original_time", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/signal/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.SignalEcs.status", + "type": "Array", + "tags": [], + "label": "status", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/signal/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.SignalEcs.group", + "type": "Object", + "tags": [], + "label": "group", + "description": [], + "signature": [ + "{ id?: string[] | undefined; } | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/signal/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.SignalEcs.threshold_result", + "type": "Unknown", + "tags": [], + "label": "threshold_result", + "description": [], + "signature": [ + "unknown" + ], + "path": "packages/kbn-securitysolution-ecs/src/signal/index.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.SourceEcs", + "type": "Interface", + "tags": [], + "label": "SourceEcs", + "description": [], + "path": "packages/kbn-securitysolution-ecs/src/source/index.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.SourceEcs.bytes", + "type": "Array", + "tags": [], + "label": "bytes", + "description": [], + "signature": [ + "number[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/source/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.SourceEcs.ip", + "type": "Array", + "tags": [], + "label": "ip", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/source/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.SourceEcs.port", + "type": "Array", + "tags": [], + "label": "port", + "description": [], + "signature": [ + "number[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/source/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.SourceEcs.domain", + "type": "Array", + "tags": [], + "label": "domain", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/source/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.SourceEcs.geo", + "type": "Object", + "tags": [], + "label": "geo", + "description": [], + "signature": [ + { + "pluginId": "@kbn/securitysolution-ecs", + "scope": "common", + "docId": "kibKbnSecuritysolutionEcsPluginApi", + "section": "def-common.GeoEcs", + "text": "GeoEcs" + }, + " | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/source/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.SourceEcs.packets", + "type": "Array", + "tags": [], + "label": "packets", + "description": [], + "signature": [ + "number[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/source/index.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.SuricataEcs", + "type": "Interface", + "tags": [], + "label": "SuricataEcs", + "description": [], + "path": "packages/kbn-securitysolution-ecs/src/suricata/index.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.SuricataEcs.eve", + "type": "Object", + "tags": [], + "label": "eve", + "description": [], + "signature": [ + "SuricataEveData", + " | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/suricata/index.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.SystemEcs", + "type": "Interface", + "tags": [], + "label": "SystemEcs", + "description": [], + "path": "packages/kbn-securitysolution-ecs/src/system/index.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.SystemEcs.audit", + "type": "Object", + "tags": [], + "label": "audit", + "description": [], + "signature": [ + "AuditEcs", + " | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/system/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.SystemEcs.auth", + "type": "Object", + "tags": [], + "label": "auth", + "description": [], + "signature": [ + "AuthEcs", + " | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/system/index.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.Target", + "type": "Interface", + "tags": [], + "label": "Target", + "description": [], + "path": "packages/kbn-securitysolution-ecs/src/target_type/index.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.Target.process", + "type": "Object", + "tags": [], + "label": "process", + "description": [], + "signature": [ + { + "pluginId": "@kbn/securitysolution-ecs", + "scope": "common", + "docId": "kibKbnSecuritysolutionEcsPluginApi", + "section": "def-common.ProcessEcs", + "text": "ProcessEcs" + } + ], + "path": "packages/kbn-securitysolution-ecs/src/target_type/index.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.ThreatEcs", + "type": "Interface", + "tags": [], + "label": "ThreatEcs", + "description": [], + "path": "packages/kbn-securitysolution-ecs/src/threat/index.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.ThreatEcs.indicator", + "type": "Array", + "tags": [], + "label": "indicator", + "description": [], + "signature": [ + "LegacyThreatIndicatorEcs", + "[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/threat/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.ThreatEcs.enrichments", + "type": "Array", + "tags": [], + "label": "enrichments", + "description": [], + "signature": [ + "ThreatEnrichmentEcs", + "[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/threat/index.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.ThreatIndicatorEcs", + "type": "Interface", + "tags": [], + "label": "ThreatIndicatorEcs", + "description": [], + "path": "packages/kbn-securitysolution-ecs/src/threat/index.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.ThreatIndicatorEcs.url", + "type": "Object", + "tags": [], + "label": "url", + "description": [], + "signature": [ + { + "pluginId": "@kbn/securitysolution-ecs", + "scope": "common", + "docId": "kibKbnSecuritysolutionEcsPluginApi", + "section": "def-common.UrlEcs", + "text": "UrlEcs" + }, + " | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/threat/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.ThreatIndicatorEcs.provider", + "type": "Array", + "tags": [], + "label": "provider", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/threat/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.ThreatIndicatorEcs.reference", + "type": "Array", + "tags": [], + "label": "reference", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/threat/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.ThreatIndicatorEcs.type", + "type": "Array", + "tags": [], + "label": "type", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/threat/index.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.TlsEcs", + "type": "Interface", + "tags": [], + "label": "TlsEcs", + "description": [], + "path": "packages/kbn-securitysolution-ecs/src/tls/index.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.TlsEcs.client_certificate", + "type": "Object", + "tags": [], + "label": "client_certificate", + "description": [], + "signature": [ + "TlsClientCertificateData", + " | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/tls/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.TlsEcs.fingerprints", + "type": "Object", + "tags": [], + "label": "fingerprints", + "description": [], + "signature": [ + "TlsFingerprintsData", + " | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/tls/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.TlsEcs.server_certificate", + "type": "Object", + "tags": [], + "label": "server_certificate", + "description": [], + "signature": [ + "TlsServerCertificateData", + " | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/tls/index.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.UrlEcs", + "type": "Interface", + "tags": [], + "label": "UrlEcs", + "description": [], + "path": "packages/kbn-securitysolution-ecs/src/url/index.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.UrlEcs.domain", + "type": "Array", + "tags": [], + "label": "domain", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/url/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.UrlEcs.original", + "type": "Array", + "tags": [], + "label": "original", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/url/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.UrlEcs.username", + "type": "Array", + "tags": [], + "label": "username", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/url/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.UrlEcs.password", + "type": "Array", + "tags": [], + "label": "password", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/url/index.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.UserEcs", + "type": "Interface", + "tags": [], + "label": "UserEcs", + "description": [], + "path": "packages/kbn-securitysolution-ecs/src/user/index.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.UserEcs.domain", + "type": "Array", + "tags": [], + "label": "domain", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/user/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.UserEcs.id", + "type": "Array", + "tags": [], + "label": "id", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/user/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.UserEcs.name", + "type": "Array", + "tags": [], + "label": "name", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/user/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.UserEcs.full_name", + "type": "Array", + "tags": [], + "label": "full_name", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/user/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.UserEcs.email", + "type": "Array", + "tags": [], + "label": "email", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/user/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.UserEcs.hash", + "type": "Array", + "tags": [], + "label": "hash", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/user/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.UserEcs.group", + "type": "Array", + "tags": [], + "label": "group", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/user/index.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.WinlogEcs", + "type": "Interface", + "tags": [], + "label": "WinlogEcs", + "description": [], + "path": "packages/kbn-securitysolution-ecs/src/winlog/index.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.WinlogEcs.event_id", + "type": "Array", + "tags": [], + "label": "event_id", + "description": [], + "signature": [ + "number[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/winlog/index.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.ZeekEcs", + "type": "Interface", + "tags": [], + "label": "ZeekEcs", + "description": [], + "path": "packages/kbn-securitysolution-ecs/src/zeek/index.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.ZeekEcs.session_id", + "type": "Array", + "tags": [], + "label": "session_id", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/zeek/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.ZeekEcs.connection", + "type": "Object", + "tags": [], + "label": "connection", + "description": [], + "signature": [ + "ZeekConnectionData", + " | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/zeek/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.ZeekEcs.notice", + "type": "Object", + "tags": [], + "label": "notice", + "description": [], + "signature": [ + "ZeekNoticeData", + " | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/zeek/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.ZeekEcs.dns", + "type": "Object", + "tags": [], + "label": "dns", + "description": [], + "signature": [ + "ZeekDnsData", + " | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/zeek/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.ZeekEcs.http", + "type": "Object", + "tags": [], + "label": "http", + "description": [], + "signature": [ + "ZeekHttpData", + " | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/zeek/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.ZeekEcs.files", + "type": "Object", + "tags": [], + "label": "files", + "description": [], + "signature": [ + "ZeekFileData", + " | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/zeek/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.ZeekEcs.ssl", + "type": "Object", + "tags": [], + "label": "ssl", + "description": [], + "signature": [ + "ZeekSslData", + " | undefined" + ], + "path": "packages/kbn-securitysolution-ecs/src/zeek/index.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + } + ], + "enums": [ + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.EventCategory", + "type": "Enum", + "tags": [], + "label": "EventCategory", + "description": [], + "path": "packages/kbn-securitysolution-ecs/src/event/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.EventCode", + "type": "Enum", + "tags": [], + "label": "EventCode", + "description": [], + "path": "packages/kbn-securitysolution-ecs/src/event/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + } + ], + "misc": [], + "objects": [ + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.cloudFieldsMap", + "type": "Object", + "tags": [], + "label": "cloudFieldsMap", + "description": [], + "path": "packages/kbn-securitysolution-ecs/src/ecs_fields/index.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.cloudFieldsMap.cloud.account.id", + "type": "string", + "tags": [], + "label": "'cloud.account.id'", + "description": [], + "path": "packages/kbn-securitysolution-ecs/src/ecs_fields/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.cloudFieldsMap.cloud.availability_zone", + "type": "string", + "tags": [], + "label": "'cloud.availability_zone'", + "description": [], + "path": "packages/kbn-securitysolution-ecs/src/ecs_fields/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.cloudFieldsMap.cloud.instance.id", + "type": "string", + "tags": [], + "label": "'cloud.instance.id'", + "description": [], + "path": "packages/kbn-securitysolution-ecs/src/ecs_fields/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.cloudFieldsMap.cloud.instance.name", + "type": "string", + "tags": [], + "label": "'cloud.instance.name'", + "description": [], + "path": "packages/kbn-securitysolution-ecs/src/ecs_fields/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.cloudFieldsMap.cloud.machine.type", + "type": "string", + "tags": [], + "label": "'cloud.machine.type'", + "description": [], + "path": "packages/kbn-securitysolution-ecs/src/ecs_fields/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.cloudFieldsMap.cloud.provider", + "type": "string", + "tags": [], + "label": "'cloud.provider'", + "description": [], + "path": "packages/kbn-securitysolution-ecs/src/ecs_fields/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.cloudFieldsMap.cloud.region", + "type": "string", + "tags": [], + "label": "'cloud.region'", + "description": [], + "path": "packages/kbn-securitysolution-ecs/src/ecs_fields/index.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.hostFieldsMap", + "type": "Object", + "tags": [], + "label": "hostFieldsMap", + "description": [], + "path": "packages/kbn-securitysolution-ecs/src/ecs_fields/index.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.hostFieldsMap.host.architecture", + "type": "string", + "tags": [], + "label": "'host.architecture'", + "description": [], + "path": "packages/kbn-securitysolution-ecs/src/ecs_fields/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.hostFieldsMap.host.id", + "type": "string", + "tags": [], + "label": "'host.id'", + "description": [], + "path": "packages/kbn-securitysolution-ecs/src/ecs_fields/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.hostFieldsMap.host.ip", + "type": "string", + "tags": [], + "label": "'host.ip'", + "description": [], + "path": "packages/kbn-securitysolution-ecs/src/ecs_fields/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.hostFieldsMap.host.mac", + "type": "string", + "tags": [], + "label": "'host.mac'", + "description": [], + "path": "packages/kbn-securitysolution-ecs/src/ecs_fields/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.hostFieldsMap.host.name", + "type": "string", + "tags": [], + "label": "'host.name'", + "description": [], + "path": "packages/kbn-securitysolution-ecs/src/ecs_fields/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.hostFieldsMap.Unnamed", + "type": "Any", + "tags": [], + "label": "Unnamed", + "description": [], + "signature": [ + "any" + ], + "path": "packages/kbn-securitysolution-ecs/src/ecs_fields/index.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.osFieldsMap", + "type": "Object", + "tags": [], + "label": "osFieldsMap", + "description": [], + "path": "packages/kbn-securitysolution-ecs/src/ecs_fields/index.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.osFieldsMap.os.platform", + "type": "string", + "tags": [], + "label": "'os.platform'", + "description": [], + "path": "packages/kbn-securitysolution-ecs/src/ecs_fields/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.osFieldsMap.os.name", + "type": "string", + "tags": [], + "label": "'os.name'", + "description": [], + "path": "packages/kbn-securitysolution-ecs/src/ecs_fields/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.osFieldsMap.os.full", + "type": "string", + "tags": [], + "label": "'os.full'", + "description": [], + "path": "packages/kbn-securitysolution-ecs/src/ecs_fields/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.osFieldsMap.os.family", + "type": "string", + "tags": [], + "label": "'os.family'", + "description": [], + "path": "packages/kbn-securitysolution-ecs/src/ecs_fields/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.osFieldsMap.os.version", + "type": "string", + "tags": [], + "label": "'os.version'", + "description": [], + "path": "packages/kbn-securitysolution-ecs/src/ecs_fields/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.osFieldsMap.os.kernel", + "type": "string", + "tags": [], + "label": "'os.kernel'", + "description": [], + "path": "packages/kbn-securitysolution-ecs/src/ecs_fields/index.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.processFieldsMap", + "type": "Object", + "tags": [], + "label": "processFieldsMap", + "description": [], + "path": "packages/kbn-securitysolution-ecs/src/ecs_fields/index.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.processFieldsMap.process.hash.md5", + "type": "string", + "tags": [], + "label": "'process.hash.md5'", + "description": [], + "path": "packages/kbn-securitysolution-ecs/src/ecs_fields/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.processFieldsMap.process.hash.sha1", + "type": "string", + "tags": [], + "label": "'process.hash.sha1'", + "description": [], + "path": "packages/kbn-securitysolution-ecs/src/ecs_fields/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.processFieldsMap.process.hash.sha256", + "type": "string", + "tags": [], + "label": "'process.hash.sha256'", + "description": [], + "path": "packages/kbn-securitysolution-ecs/src/ecs_fields/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.processFieldsMap.process.pid", + "type": "string", + "tags": [], + "label": "'process.pid'", + "description": [], + "path": "packages/kbn-securitysolution-ecs/src/ecs_fields/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.processFieldsMap.process.name", + "type": "string", + "tags": [], + "label": "'process.name'", + "description": [], + "path": "packages/kbn-securitysolution-ecs/src/ecs_fields/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.processFieldsMap.process.ppid", + "type": "string", + "tags": [], + "label": "'process.ppid'", + "description": [], + "path": "packages/kbn-securitysolution-ecs/src/ecs_fields/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.processFieldsMap.process.args", + "type": "string", + "tags": [], + "label": "'process.args'", + "description": [], + "path": "packages/kbn-securitysolution-ecs/src/ecs_fields/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.processFieldsMap.process.entity_id", + "type": "string", + "tags": [], + "label": "'process.entity_id'", + "description": [], + "path": "packages/kbn-securitysolution-ecs/src/ecs_fields/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.processFieldsMap.process.executable", + "type": "string", + "tags": [], + "label": "'process.executable'", + "description": [], + "path": "packages/kbn-securitysolution-ecs/src/ecs_fields/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.processFieldsMap.process.title", + "type": "string", + "tags": [], + "label": "'process.title'", + "description": [], + "path": "packages/kbn-securitysolution-ecs/src/ecs_fields/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.processFieldsMap.process.thread", + "type": "string", + "tags": [], + "label": "'process.thread'", + "description": [], + "path": "packages/kbn-securitysolution-ecs/src/ecs_fields/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.processFieldsMap.process.working_directory", + "type": "string", + "tags": [], + "label": "'process.working_directory'", + "description": [], + "path": "packages/kbn-securitysolution-ecs/src/ecs_fields/index.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.sourceFieldsMap", + "type": "Object", + "tags": [], + "label": "sourceFieldsMap", + "description": [], + "path": "packages/kbn-securitysolution-ecs/src/ecs_fields/index.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.sourceFieldsMap.source.bytes", + "type": "string", + "tags": [], + "label": "'source.bytes'", + "description": [], + "path": "packages/kbn-securitysolution-ecs/src/ecs_fields/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.sourceFieldsMap.source.ip", + "type": "string", + "tags": [], + "label": "'source.ip'", + "description": [], + "path": "packages/kbn-securitysolution-ecs/src/ecs_fields/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.sourceFieldsMap.source.packets", + "type": "string", + "tags": [], + "label": "'source.packets'", + "description": [], + "path": "packages/kbn-securitysolution-ecs/src/ecs_fields/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.sourceFieldsMap.source.port", + "type": "string", + "tags": [], + "label": "'source.port'", + "description": [], + "path": "packages/kbn-securitysolution-ecs/src/ecs_fields/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.sourceFieldsMap.source.domain", + "type": "string", + "tags": [], + "label": "'source.domain'", + "description": [], + "path": "packages/kbn-securitysolution-ecs/src/ecs_fields/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.sourceFieldsMap.source.geo.continent_name", + "type": "string", + "tags": [], + "label": "'source.geo.continent_name'", + "description": [], + "path": "packages/kbn-securitysolution-ecs/src/ecs_fields/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.sourceFieldsMap.source.geo.country_name", + "type": "string", + "tags": [], + "label": "'source.geo.country_name'", + "description": [], + "path": "packages/kbn-securitysolution-ecs/src/ecs_fields/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.sourceFieldsMap.source.geo.country_iso_code", + "type": "string", + "tags": [], + "label": "'source.geo.country_iso_code'", + "description": [], + "path": "packages/kbn-securitysolution-ecs/src/ecs_fields/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.sourceFieldsMap.source.geo.city_name", + "type": "string", + "tags": [], + "label": "'source.geo.city_name'", + "description": [], + "path": "packages/kbn-securitysolution-ecs/src/ecs_fields/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.sourceFieldsMap.source.geo.region_iso_code", + "type": "string", + "tags": [], + "label": "'source.geo.region_iso_code'", + "description": [], + "path": "packages/kbn-securitysolution-ecs/src/ecs_fields/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.sourceFieldsMap.source.geo.region_name", + "type": "string", + "tags": [], + "label": "'source.geo.region_name'", + "description": [], + "path": "packages/kbn-securitysolution-ecs/src/ecs_fields/index.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.userFieldsMap", + "type": "Object", + "tags": [], + "label": "userFieldsMap", + "description": [], + "path": "packages/kbn-securitysolution-ecs/src/ecs_fields/index.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.userFieldsMap.user.domain", + "type": "string", + "tags": [], + "label": "'user.domain'", + "description": [], + "path": "packages/kbn-securitysolution-ecs/src/ecs_fields/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.userFieldsMap.user.id", + "type": "string", + "tags": [], + "label": "'user.id'", + "description": [], + "path": "packages/kbn-securitysolution-ecs/src/ecs_fields/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.userFieldsMap.user.name", + "type": "string", + "tags": [], + "label": "'user.name'", + "description": [], + "path": "packages/kbn-securitysolution-ecs/src/ecs_fields/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.userFieldsMap.user.full_name", + "type": "string", + "tags": [], + "label": "'user.full_name'", + "description": [ + "// NOTE: This field is not tested and available from ECS. Please remove this tag once it is" + ], + "path": "packages/kbn-securitysolution-ecs/src/ecs_fields/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.userFieldsMap.user.email", + "type": "string", + "tags": [], + "label": "'user.email'", + "description": [ + "// NOTE: This field is not tested and available from ECS. Please remove this tag once it is" + ], + "path": "packages/kbn-securitysolution-ecs/src/ecs_fields/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.userFieldsMap.user.hash", + "type": "string", + "tags": [], + "label": "'user.hash'", + "description": [ + "// NOTE: This field is not tested and available from ECS. Please remove this tag once it is" + ], + "path": "packages/kbn-securitysolution-ecs/src/ecs_fields/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-ecs", + "id": "def-common.userFieldsMap.user.group", + "type": "string", + "tags": [], + "label": "'user.group'", + "description": [ + "// NOTE: This field is not tested and available from ECS. Please remove this tag once it is" + ], + "path": "packages/kbn-securitysolution-ecs/src/ecs_fields/index.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + } + ] + } +} \ No newline at end of file diff --git a/api_docs/kbn_securitysolution_ecs.mdx b/api_docs/kbn_securitysolution_ecs.mdx new file mode 100644 index 0000000000000..ec137d55a30e2 --- /dev/null +++ b/api_docs/kbn_securitysolution_ecs.mdx @@ -0,0 +1,36 @@ +--- +#### +#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system. +#### Reach out in #docs-engineering for more info. +#### +id: kibKbnSecuritysolutionEcsPluginApi +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-01-24 +tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-ecs'] +--- +import kbnSecuritysolutionEcsObj from './kbn_securitysolution_ecs.devdocs.json'; + + + +Contact [Owner missing] for questions regarding this plugin. + +**Code health stats** + +| Public API count | Any count | Items lacking comments | Missing exports | +|-------------------|-----------|------------------------|-----------------| +| 341 | 1 | 337 | 32 | + +## Common + +### Objects + + +### Interfaces + + +### Enums + + diff --git a/api_docs/kbn_securitysolution_es_utils.mdx b/api_docs/kbn_securitysolution_es_utils.mdx index 28b54b60bbaa5..99687e53e5f59 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-01-23 +date: 2023-01-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.devdocs.json b/api_docs/kbn_securitysolution_exception_list_components.devdocs.json index 6e10def35b04f..3c97016f1c1c4 100644 --- a/api_docs/kbn_securitysolution_exception_list_components.devdocs.json +++ b/api_docs/kbn_securitysolution_exception_list_components.devdocs.json @@ -834,7 +834,7 @@ "label": "formattedDateComponent", "description": [], "signature": [ - "\"symbol\" | \"object\" | React.ComponentType | \"body\" | \"path\" | \"circle\" | \"filter\" | \"data\" | \"line\" | \"area\" | \"time\" | \"label\" | \"legend\" | \"article\" | \"image\" | \"link\" | \"menu\" | \"stop\" | \"base\" | \"text\" | \"title\" | \"s\" | \"small\" | \"source\" | \"output\" | \"svg\" | \"meta\" | \"script\" | \"summary\" | \"desc\" | \"q\" | \"pattern\" | \"mask\" | \"input\" | \"slot\" | \"style\" | \"head\" | \"section\" | \"animate\" | \"progress\" | \"view\" | \"big\" | \"sub\" | \"sup\" | \"var\" | \"map\" | \"html\" | \"a\" | \"img\" | \"audio\" | \"br\" | \"form\" | \"main\" | \"abbr\" | \"address\" | \"aside\" | \"b\" | \"bdi\" | \"bdo\" | \"blockquote\" | \"button\" | \"canvas\" | \"caption\" | \"cite\" | \"code\" | \"col\" | \"colgroup\" | \"datalist\" | \"dd\" | \"del\" | \"details\" | \"dfn\" | \"dialog\" | \"div\" | \"dl\" | \"dt\" | \"em\" | \"embed\" | \"fieldset\" | \"figcaption\" | \"figure\" | \"footer\" | \"h1\" | \"h2\" | \"h3\" | \"h4\" | \"h5\" | \"h6\" | \"header\" | \"hgroup\" | \"hr\" | \"i\" | \"iframe\" | \"ins\" | \"kbd\" | \"keygen\" | \"li\" | \"mark\" | \"menuitem\" | \"meter\" | \"nav\" | \"noindex\" | \"noscript\" | \"ol\" | \"optgroup\" | \"option\" | \"p\" | \"param\" | \"picture\" | \"pre\" | \"rp\" | \"rt\" | \"ruby\" | \"samp\" | \"select\" | \"span\" | \"strong\" | \"table\" | \"template\" | \"tbody\" | \"td\" | \"textarea\" | \"tfoot\" | \"th\" | \"thead\" | \"tr\" | \"track\" | \"u\" | \"ul\" | \"video\" | \"wbr\" | \"webview\" | \"animateMotion\" | \"animateTransform\" | \"clipPath\" | \"defs\" | \"ellipse\" | \"feBlend\" | \"feColorMatrix\" | \"feComponentTransfer\" | \"feComposite\" | \"feConvolveMatrix\" | \"feDiffuseLighting\" | \"feDisplacementMap\" | \"feDistantLight\" | \"feDropShadow\" | \"feFlood\" | \"feFuncA\" | \"feFuncB\" | \"feFuncG\" | \"feFuncR\" | \"feGaussianBlur\" | \"feImage\" | \"feMerge\" | \"feMergeNode\" | \"feMorphology\" | \"feOffset\" | \"fePointLight\" | \"feSpecularLighting\" | \"feSpotLight\" | \"feTile\" | \"feTurbulence\" | \"foreignObject\" | \"g\" | \"linearGradient\" | \"marker\" | \"metadata\" | \"mpath\" | \"polygon\" | \"polyline\" | \"radialGradient\" | \"rect\" | \"switch\" | \"textPath\" | \"tspan\" | \"use\"" + "\"symbol\" | \"object\" | React.ComponentType | \"body\" | \"path\" | \"circle\" | \"filter\" | \"data\" | \"line\" | \"area\" | \"time\" | \"label\" | \"legend\" | \"article\" | \"image\" | \"link\" | \"menu\" | \"stop\" | \"base\" | \"text\" | \"title\" | \"s\" | \"small\" | \"source\" | \"output\" | \"svg\" | \"map\" | \"meta\" | \"script\" | \"summary\" | \"desc\" | \"q\" | \"pattern\" | \"mask\" | \"input\" | \"slot\" | \"style\" | \"head\" | \"section\" | \"animate\" | \"progress\" | \"view\" | \"big\" | \"sub\" | \"sup\" | \"var\" | \"html\" | \"a\" | \"img\" | \"audio\" | \"br\" | \"form\" | \"main\" | \"abbr\" | \"address\" | \"aside\" | \"b\" | \"bdi\" | \"bdo\" | \"blockquote\" | \"button\" | \"canvas\" | \"caption\" | \"cite\" | \"code\" | \"col\" | \"colgroup\" | \"datalist\" | \"dd\" | \"del\" | \"details\" | \"dfn\" | \"dialog\" | \"div\" | \"dl\" | \"dt\" | \"em\" | \"embed\" | \"fieldset\" | \"figcaption\" | \"figure\" | \"footer\" | \"h1\" | \"h2\" | \"h3\" | \"h4\" | \"h5\" | \"h6\" | \"header\" | \"hgroup\" | \"hr\" | \"i\" | \"iframe\" | \"ins\" | \"kbd\" | \"keygen\" | \"li\" | \"mark\" | \"menuitem\" | \"meter\" | \"nav\" | \"noindex\" | \"noscript\" | \"ol\" | \"optgroup\" | \"option\" | \"p\" | \"param\" | \"picture\" | \"pre\" | \"rp\" | \"rt\" | \"ruby\" | \"samp\" | \"select\" | \"span\" | \"strong\" | \"table\" | \"template\" | \"tbody\" | \"td\" | \"textarea\" | \"tfoot\" | \"th\" | \"thead\" | \"tr\" | \"track\" | \"u\" | \"ul\" | \"video\" | \"wbr\" | \"webview\" | \"animateMotion\" | \"animateTransform\" | \"clipPath\" | \"defs\" | \"ellipse\" | \"feBlend\" | \"feColorMatrix\" | \"feComponentTransfer\" | \"feComposite\" | \"feConvolveMatrix\" | \"feDiffuseLighting\" | \"feDisplacementMap\" | \"feDistantLight\" | \"feDropShadow\" | \"feFlood\" | \"feFuncA\" | \"feFuncB\" | \"feFuncG\" | \"feFuncR\" | \"feGaussianBlur\" | \"feImage\" | \"feMerge\" | \"feMergeNode\" | \"feMorphology\" | \"feOffset\" | \"fePointLight\" | \"feSpecularLighting\" | \"feSpotLight\" | \"feTile\" | \"feTurbulence\" | \"foreignObject\" | \"g\" | \"linearGradient\" | \"marker\" | \"metadata\" | \"mpath\" | \"polygon\" | \"polyline\" | \"radialGradient\" | \"rect\" | \"switch\" | \"textPath\" | \"tspan\" | \"use\"" ], "path": "packages/kbn-securitysolution-exception-list-components/src/exception_item_card/meta/index.tsx", "deprecated": false, @@ -848,7 +848,7 @@ "label": "securityLinkAnchorComponent", "description": [], "signature": [ - "\"symbol\" | \"object\" | React.ComponentType | \"body\" | \"path\" | \"circle\" | \"filter\" | \"data\" | \"line\" | \"area\" | \"time\" | \"label\" | \"legend\" | \"article\" | \"image\" | \"link\" | \"menu\" | \"stop\" | \"base\" | \"text\" | \"title\" | \"s\" | \"small\" | \"source\" | \"output\" | \"svg\" | \"meta\" | \"script\" | \"summary\" | \"desc\" | \"q\" | \"pattern\" | \"mask\" | \"input\" | \"slot\" | \"style\" | \"head\" | \"section\" | \"animate\" | \"progress\" | \"view\" | \"big\" | \"sub\" | \"sup\" | \"var\" | \"map\" | \"html\" | \"a\" | \"img\" | \"audio\" | \"br\" | \"form\" | \"main\" | \"abbr\" | \"address\" | \"aside\" | \"b\" | \"bdi\" | \"bdo\" | \"blockquote\" | \"button\" | \"canvas\" | \"caption\" | \"cite\" | \"code\" | \"col\" | \"colgroup\" | \"datalist\" | \"dd\" | \"del\" | \"details\" | \"dfn\" | \"dialog\" | \"div\" | \"dl\" | \"dt\" | \"em\" | \"embed\" | \"fieldset\" | \"figcaption\" | \"figure\" | \"footer\" | \"h1\" | \"h2\" | \"h3\" | \"h4\" | \"h5\" | \"h6\" | \"header\" | \"hgroup\" | \"hr\" | \"i\" | \"iframe\" | \"ins\" | \"kbd\" | \"keygen\" | \"li\" | \"mark\" | \"menuitem\" | \"meter\" | \"nav\" | \"noindex\" | \"noscript\" | \"ol\" | \"optgroup\" | \"option\" | \"p\" | \"param\" | \"picture\" | \"pre\" | \"rp\" | \"rt\" | \"ruby\" | \"samp\" | \"select\" | \"span\" | \"strong\" | \"table\" | \"template\" | \"tbody\" | \"td\" | \"textarea\" | \"tfoot\" | \"th\" | \"thead\" | \"tr\" | \"track\" | \"u\" | \"ul\" | \"video\" | \"wbr\" | \"webview\" | \"animateMotion\" | \"animateTransform\" | \"clipPath\" | \"defs\" | \"ellipse\" | \"feBlend\" | \"feColorMatrix\" | \"feComponentTransfer\" | \"feComposite\" | \"feConvolveMatrix\" | \"feDiffuseLighting\" | \"feDisplacementMap\" | \"feDistantLight\" | \"feDropShadow\" | \"feFlood\" | \"feFuncA\" | \"feFuncB\" | \"feFuncG\" | \"feFuncR\" | \"feGaussianBlur\" | \"feImage\" | \"feMerge\" | \"feMergeNode\" | \"feMorphology\" | \"feOffset\" | \"fePointLight\" | \"feSpecularLighting\" | \"feSpotLight\" | \"feTile\" | \"feTurbulence\" | \"foreignObject\" | \"g\" | \"linearGradient\" | \"marker\" | \"metadata\" | \"mpath\" | \"polygon\" | \"polyline\" | \"radialGradient\" | \"rect\" | \"switch\" | \"textPath\" | \"tspan\" | \"use\"" + "\"symbol\" | \"object\" | React.ComponentType | \"body\" | \"path\" | \"circle\" | \"filter\" | \"data\" | \"line\" | \"area\" | \"time\" | \"label\" | \"legend\" | \"article\" | \"image\" | \"link\" | \"menu\" | \"stop\" | \"base\" | \"text\" | \"title\" | \"s\" | \"small\" | \"source\" | \"output\" | \"svg\" | \"map\" | \"meta\" | \"script\" | \"summary\" | \"desc\" | \"q\" | \"pattern\" | \"mask\" | \"input\" | \"slot\" | \"style\" | \"head\" | \"section\" | \"animate\" | \"progress\" | \"view\" | \"big\" | \"sub\" | \"sup\" | \"var\" | \"html\" | \"a\" | \"img\" | \"audio\" | \"br\" | \"form\" | \"main\" | \"abbr\" | \"address\" | \"aside\" | \"b\" | \"bdi\" | \"bdo\" | \"blockquote\" | \"button\" | \"canvas\" | \"caption\" | \"cite\" | \"code\" | \"col\" | \"colgroup\" | \"datalist\" | \"dd\" | \"del\" | \"details\" | \"dfn\" | \"dialog\" | \"div\" | \"dl\" | \"dt\" | \"em\" | \"embed\" | \"fieldset\" | \"figcaption\" | \"figure\" | \"footer\" | \"h1\" | \"h2\" | \"h3\" | \"h4\" | \"h5\" | \"h6\" | \"header\" | \"hgroup\" | \"hr\" | \"i\" | \"iframe\" | \"ins\" | \"kbd\" | \"keygen\" | \"li\" | \"mark\" | \"menuitem\" | \"meter\" | \"nav\" | \"noindex\" | \"noscript\" | \"ol\" | \"optgroup\" | \"option\" | \"p\" | \"param\" | \"picture\" | \"pre\" | \"rp\" | \"rt\" | \"ruby\" | \"samp\" | \"select\" | \"span\" | \"strong\" | \"table\" | \"template\" | \"tbody\" | \"td\" | \"textarea\" | \"tfoot\" | \"th\" | \"thead\" | \"tr\" | \"track\" | \"u\" | \"ul\" | \"video\" | \"wbr\" | \"webview\" | \"animateMotion\" | \"animateTransform\" | \"clipPath\" | \"defs\" | \"ellipse\" | \"feBlend\" | \"feColorMatrix\" | \"feComponentTransfer\" | \"feComposite\" | \"feConvolveMatrix\" | \"feDiffuseLighting\" | \"feDisplacementMap\" | \"feDistantLight\" | \"feDropShadow\" | \"feFlood\" | \"feFuncA\" | \"feFuncB\" | \"feFuncG\" | \"feFuncR\" | \"feGaussianBlur\" | \"feImage\" | \"feMerge\" | \"feMergeNode\" | \"feMorphology\" | \"feOffset\" | \"fePointLight\" | \"feSpecularLighting\" | \"feSpotLight\" | \"feTile\" | \"feTurbulence\" | \"foreignObject\" | \"g\" | \"linearGradient\" | \"marker\" | \"metadata\" | \"mpath\" | \"polygon\" | \"polyline\" | \"radialGradient\" | \"rect\" | \"switch\" | \"textPath\" | \"tspan\" | \"use\"" ], "path": "packages/kbn-securitysolution-exception-list-components/src/exception_item_card/meta/index.tsx", "deprecated": false, @@ -987,7 +987,7 @@ "label": "securityLinkAnchorComponent", "description": [], "signature": [ - "\"symbol\" | \"object\" | React.ComponentType | \"body\" | \"path\" | \"circle\" | \"filter\" | \"data\" | \"line\" | \"area\" | \"time\" | \"label\" | \"legend\" | \"article\" | \"image\" | \"link\" | \"menu\" | \"stop\" | \"base\" | \"text\" | \"title\" | \"s\" | \"small\" | \"source\" | \"output\" | \"svg\" | \"meta\" | \"script\" | \"summary\" | \"desc\" | \"q\" | \"pattern\" | \"mask\" | \"input\" | \"slot\" | \"style\" | \"head\" | \"section\" | \"animate\" | \"progress\" | \"view\" | \"big\" | \"sub\" | \"sup\" | \"var\" | \"map\" | \"html\" | \"a\" | \"img\" | \"audio\" | \"br\" | \"form\" | \"main\" | \"abbr\" | \"address\" | \"aside\" | \"b\" | \"bdi\" | \"bdo\" | \"blockquote\" | \"button\" | \"canvas\" | \"caption\" | \"cite\" | \"code\" | \"col\" | \"colgroup\" | \"datalist\" | \"dd\" | \"del\" | \"details\" | \"dfn\" | \"dialog\" | \"div\" | \"dl\" | \"dt\" | \"em\" | \"embed\" | \"fieldset\" | \"figcaption\" | \"figure\" | \"footer\" | \"h1\" | \"h2\" | \"h3\" | \"h4\" | \"h5\" | \"h6\" | \"header\" | \"hgroup\" | \"hr\" | \"i\" | \"iframe\" | \"ins\" | \"kbd\" | \"keygen\" | \"li\" | \"mark\" | \"menuitem\" | \"meter\" | \"nav\" | \"noindex\" | \"noscript\" | \"ol\" | \"optgroup\" | \"option\" | \"p\" | \"param\" | \"picture\" | \"pre\" | \"rp\" | \"rt\" | \"ruby\" | \"samp\" | \"select\" | \"span\" | \"strong\" | \"table\" | \"template\" | \"tbody\" | \"td\" | \"textarea\" | \"tfoot\" | \"th\" | \"thead\" | \"tr\" | \"track\" | \"u\" | \"ul\" | \"video\" | \"wbr\" | \"webview\" | \"animateMotion\" | \"animateTransform\" | \"clipPath\" | \"defs\" | \"ellipse\" | \"feBlend\" | \"feColorMatrix\" | \"feComponentTransfer\" | \"feComposite\" | \"feConvolveMatrix\" | \"feDiffuseLighting\" | \"feDisplacementMap\" | \"feDistantLight\" | \"feDropShadow\" | \"feFlood\" | \"feFuncA\" | \"feFuncB\" | \"feFuncG\" | \"feFuncR\" | \"feGaussianBlur\" | \"feImage\" | \"feMerge\" | \"feMergeNode\" | \"feMorphology\" | \"feOffset\" | \"fePointLight\" | \"feSpecularLighting\" | \"feSpotLight\" | \"feTile\" | \"feTurbulence\" | \"foreignObject\" | \"g\" | \"linearGradient\" | \"marker\" | \"metadata\" | \"mpath\" | \"polygon\" | \"polyline\" | \"radialGradient\" | \"rect\" | \"switch\" | \"textPath\" | \"tspan\" | \"use\"" + "\"symbol\" | \"object\" | React.ComponentType | \"body\" | \"path\" | \"circle\" | \"filter\" | \"data\" | \"line\" | \"area\" | \"time\" | \"label\" | \"legend\" | \"article\" | \"image\" | \"link\" | \"menu\" | \"stop\" | \"base\" | \"text\" | \"title\" | \"s\" | \"small\" | \"source\" | \"output\" | \"svg\" | \"map\" | \"meta\" | \"script\" | \"summary\" | \"desc\" | \"q\" | \"pattern\" | \"mask\" | \"input\" | \"slot\" | \"style\" | \"head\" | \"section\" | \"animate\" | \"progress\" | \"view\" | \"big\" | \"sub\" | \"sup\" | \"var\" | \"html\" | \"a\" | \"img\" | \"audio\" | \"br\" | \"form\" | \"main\" | \"abbr\" | \"address\" | \"aside\" | \"b\" | \"bdi\" | \"bdo\" | \"blockquote\" | \"button\" | \"canvas\" | \"caption\" | \"cite\" | \"code\" | \"col\" | \"colgroup\" | \"datalist\" | \"dd\" | \"del\" | \"details\" | \"dfn\" | \"dialog\" | \"div\" | \"dl\" | \"dt\" | \"em\" | \"embed\" | \"fieldset\" | \"figcaption\" | \"figure\" | \"footer\" | \"h1\" | \"h2\" | \"h3\" | \"h4\" | \"h5\" | \"h6\" | \"header\" | \"hgroup\" | \"hr\" | \"i\" | \"iframe\" | \"ins\" | \"kbd\" | \"keygen\" | \"li\" | \"mark\" | \"menuitem\" | \"meter\" | \"nav\" | \"noindex\" | \"noscript\" | \"ol\" | \"optgroup\" | \"option\" | \"p\" | \"param\" | \"picture\" | \"pre\" | \"rp\" | \"rt\" | \"ruby\" | \"samp\" | \"select\" | \"span\" | \"strong\" | \"table\" | \"template\" | \"tbody\" | \"td\" | \"textarea\" | \"tfoot\" | \"th\" | \"thead\" | \"tr\" | \"track\" | \"u\" | \"ul\" | \"video\" | \"wbr\" | \"webview\" | \"animateMotion\" | \"animateTransform\" | \"clipPath\" | \"defs\" | \"ellipse\" | \"feBlend\" | \"feColorMatrix\" | \"feComponentTransfer\" | \"feComposite\" | \"feConvolveMatrix\" | \"feDiffuseLighting\" | \"feDisplacementMap\" | \"feDistantLight\" | \"feDropShadow\" | \"feFlood\" | \"feFuncA\" | \"feFuncB\" | \"feFuncG\" | \"feFuncR\" | \"feGaussianBlur\" | \"feImage\" | \"feMerge\" | \"feMergeNode\" | \"feMorphology\" | \"feOffset\" | \"fePointLight\" | \"feSpecularLighting\" | \"feSpotLight\" | \"feTile\" | \"feTurbulence\" | \"foreignObject\" | \"g\" | \"linearGradient\" | \"marker\" | \"metadata\" | \"mpath\" | \"polygon\" | \"polyline\" | \"radialGradient\" | \"rect\" | \"switch\" | \"textPath\" | \"tspan\" | \"use\"" ], "path": "packages/kbn-securitysolution-exception-list-components/src/exception_item_card/exception_item_card.tsx", "deprecated": false, @@ -1001,7 +1001,7 @@ "label": "formattedDateComponent", "description": [], "signature": [ - "\"symbol\" | \"object\" | React.ComponentType | \"body\" | \"path\" | \"circle\" | \"filter\" | \"data\" | \"line\" | \"area\" | \"time\" | \"label\" | \"legend\" | \"article\" | \"image\" | \"link\" | \"menu\" | \"stop\" | \"base\" | \"text\" | \"title\" | \"s\" | \"small\" | \"source\" | \"output\" | \"svg\" | \"meta\" | \"script\" | \"summary\" | \"desc\" | \"q\" | \"pattern\" | \"mask\" | \"input\" | \"slot\" | \"style\" | \"head\" | \"section\" | \"animate\" | \"progress\" | \"view\" | \"big\" | \"sub\" | \"sup\" | \"var\" | \"map\" | \"html\" | \"a\" | \"img\" | \"audio\" | \"br\" | \"form\" | \"main\" | \"abbr\" | \"address\" | \"aside\" | \"b\" | \"bdi\" | \"bdo\" | \"blockquote\" | \"button\" | \"canvas\" | \"caption\" | \"cite\" | \"code\" | \"col\" | \"colgroup\" | \"datalist\" | \"dd\" | \"del\" | \"details\" | \"dfn\" | \"dialog\" | \"div\" | \"dl\" | \"dt\" | \"em\" | \"embed\" | \"fieldset\" | \"figcaption\" | \"figure\" | \"footer\" | \"h1\" | \"h2\" | \"h3\" | \"h4\" | \"h5\" | \"h6\" | \"header\" | \"hgroup\" | \"hr\" | \"i\" | \"iframe\" | \"ins\" | \"kbd\" | \"keygen\" | \"li\" | \"mark\" | \"menuitem\" | \"meter\" | \"nav\" | \"noindex\" | \"noscript\" | \"ol\" | \"optgroup\" | \"option\" | \"p\" | \"param\" | \"picture\" | \"pre\" | \"rp\" | \"rt\" | \"ruby\" | \"samp\" | \"select\" | \"span\" | \"strong\" | \"table\" | \"template\" | \"tbody\" | \"td\" | \"textarea\" | \"tfoot\" | \"th\" | \"thead\" | \"tr\" | \"track\" | \"u\" | \"ul\" | \"video\" | \"wbr\" | \"webview\" | \"animateMotion\" | \"animateTransform\" | \"clipPath\" | \"defs\" | \"ellipse\" | \"feBlend\" | \"feColorMatrix\" | \"feComponentTransfer\" | \"feComposite\" | \"feConvolveMatrix\" | \"feDiffuseLighting\" | \"feDisplacementMap\" | \"feDistantLight\" | \"feDropShadow\" | \"feFlood\" | \"feFuncA\" | \"feFuncB\" | \"feFuncG\" | \"feFuncR\" | \"feGaussianBlur\" | \"feImage\" | \"feMerge\" | \"feMergeNode\" | \"feMorphology\" | \"feOffset\" | \"fePointLight\" | \"feSpecularLighting\" | \"feSpotLight\" | \"feTile\" | \"feTurbulence\" | \"foreignObject\" | \"g\" | \"linearGradient\" | \"marker\" | \"metadata\" | \"mpath\" | \"polygon\" | \"polyline\" | \"radialGradient\" | \"rect\" | \"switch\" | \"textPath\" | \"tspan\" | \"use\"" + "\"symbol\" | \"object\" | React.ComponentType | \"body\" | \"path\" | \"circle\" | \"filter\" | \"data\" | \"line\" | \"area\" | \"time\" | \"label\" | \"legend\" | \"article\" | \"image\" | \"link\" | \"menu\" | \"stop\" | \"base\" | \"text\" | \"title\" | \"s\" | \"small\" | \"source\" | \"output\" | \"svg\" | \"map\" | \"meta\" | \"script\" | \"summary\" | \"desc\" | \"q\" | \"pattern\" | \"mask\" | \"input\" | \"slot\" | \"style\" | \"head\" | \"section\" | \"animate\" | \"progress\" | \"view\" | \"big\" | \"sub\" | \"sup\" | \"var\" | \"html\" | \"a\" | \"img\" | \"audio\" | \"br\" | \"form\" | \"main\" | \"abbr\" | \"address\" | \"aside\" | \"b\" | \"bdi\" | \"bdo\" | \"blockquote\" | \"button\" | \"canvas\" | \"caption\" | \"cite\" | \"code\" | \"col\" | \"colgroup\" | \"datalist\" | \"dd\" | \"del\" | \"details\" | \"dfn\" | \"dialog\" | \"div\" | \"dl\" | \"dt\" | \"em\" | \"embed\" | \"fieldset\" | \"figcaption\" | \"figure\" | \"footer\" | \"h1\" | \"h2\" | \"h3\" | \"h4\" | \"h5\" | \"h6\" | \"header\" | \"hgroup\" | \"hr\" | \"i\" | \"iframe\" | \"ins\" | \"kbd\" | \"keygen\" | \"li\" | \"mark\" | \"menuitem\" | \"meter\" | \"nav\" | \"noindex\" | \"noscript\" | \"ol\" | \"optgroup\" | \"option\" | \"p\" | \"param\" | \"picture\" | \"pre\" | \"rp\" | \"rt\" | \"ruby\" | \"samp\" | \"select\" | \"span\" | \"strong\" | \"table\" | \"template\" | \"tbody\" | \"td\" | \"textarea\" | \"tfoot\" | \"th\" | \"thead\" | \"tr\" | \"track\" | \"u\" | \"ul\" | \"video\" | \"wbr\" | \"webview\" | \"animateMotion\" | \"animateTransform\" | \"clipPath\" | \"defs\" | \"ellipse\" | \"feBlend\" | \"feColorMatrix\" | \"feComponentTransfer\" | \"feComposite\" | \"feConvolveMatrix\" | \"feDiffuseLighting\" | \"feDisplacementMap\" | \"feDistantLight\" | \"feDropShadow\" | \"feFlood\" | \"feFuncA\" | \"feFuncB\" | \"feFuncG\" | \"feFuncR\" | \"feGaussianBlur\" | \"feImage\" | \"feMerge\" | \"feMergeNode\" | \"feMorphology\" | \"feOffset\" | \"fePointLight\" | \"feSpecularLighting\" | \"feSpotLight\" | \"feTile\" | \"feTurbulence\" | \"foreignObject\" | \"g\" | \"linearGradient\" | \"marker\" | \"metadata\" | \"mpath\" | \"polygon\" | \"polyline\" | \"radialGradient\" | \"rect\" | \"switch\" | \"textPath\" | \"tspan\" | \"use\"" ], "path": "packages/kbn-securitysolution-exception-list-components/src/exception_item_card/exception_item_card.tsx", "deprecated": false, diff --git a/api_docs/kbn_securitysolution_exception_list_components.mdx b/api_docs/kbn_securitysolution_exception_list_components.mdx index 59fcefcdfa11c..24f44065a8755 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-01-23 +date: 2023-01-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_hook_utils.mdx b/api_docs/kbn_securitysolution_hook_utils.mdx index 7bc28e5151305..149e7ea6ae96f 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-01-23 +date: 2023-01-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 38e354a34d909..fbcebfc8d3377 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-01-23 +date: 2023-01-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 69ec65afd9277..985be2cd11a44 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-01-23 +date: 2023-01-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 1b57af66bd2b4..bbd9089552ad1 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-01-23 +date: 2023-01-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 e6262fd1f7da2..77849eae26fb0 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-01-23 +date: 2023-01-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 b605738ffcc4e..71ec9815ec586 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-01-23 +date: 2023-01-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 371ac74d47282..c495bb3b37aa5 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-01-23 +date: 2023-01-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 32147fbf4a55c..8fbe26d6bc7e6 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-01-23 +date: 2023-01-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 f2af83a6ab71a..ec852a2c263ae 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-01-23 +date: 2023-01-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 b50cf28def8b0..faea93f5db66f 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-01-23 +date: 2023-01-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 f78cca87ae209..f2fe3f812fdea 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-01-23 +date: 2023-01-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 ab4c98e6d53c2..1e1c309e9a761 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-01-23 +date: 2023-01-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 70f2390cc5d4c..d3e3a06f1a330 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-01-23 +date: 2023-01-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 c72fd19fc9b91..b7226dd53976e 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-01-23 +date: 2023-01-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_shared_svg.mdx b/api_docs/kbn_shared_svg.mdx index 271e40a1c7c08..80f96559dbd01 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-01-23 +date: 2023-01-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 0bb24cdb1f261..63335382ce4c9 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-01-23 +date: 2023-01-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 baac2ac3b249f..74e5ac3bcc273 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-01-23 +date: 2023-01-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 f1575d2ec0d7c..0b95a337c5b1d 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-01-23 +date: 2023-01-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 ab031950e37c5..fed1be27cb37d 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-01-23 +date: 2023-01-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 56a4ef437baa0..5ee9f7aeed7d7 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-01-23 +date: 2023-01-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 c9b627ea2778a..934cc06857309 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-01-23 +date: 2023-01-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 9ea7d653fc311..79cec7695d40f 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-01-23 +date: 2023-01-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_file_context.mdx b/api_docs/kbn_shared_ux_file_context.mdx index c601160e9c0e3..1b3c24be94d93 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-01-23 +date: 2023-01-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 4091baad1d0a6..c7b8ca8127037 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-01-23 +date: 2023-01-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 c46ec896a61af..6a92caa56e94c 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-01-23 +date: 2023-01-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 3dcd98229eef4..0079df083f4f8 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-01-23 +date: 2023-01-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 6d7ad8f51789c..f64e39b85256a 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-01-23 +date: 2023-01-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_upload.mdx b/api_docs/kbn_shared_ux_file_upload.mdx index 9bd718ec11706..561112c471bcf 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-01-23 +date: 2023-01-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 fb858c3a998d2..b3af472a664db 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-01-23 +date: 2023-01-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 90f08d26ce0b6..f894a306a78ac 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-01-23 +date: 2023-01-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 b6b5778243097..c059864f3cda6 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-01-23 +date: 2023-01-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 21523bac6f413..17189623a529a 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-01-23 +date: 2023-01-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 1f326700d14a3..1817408a14359 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-01-23 +date: 2023-01-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 88be05c18afa6..78b88625273a2 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-01-23 +date: 2023-01-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 74152788e10e7..9885b9811f0b7 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-01-23 +date: 2023-01-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 594ac5aa94e00..3f0495e05e642 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-01-23 +date: 2023-01-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 d0bc1d4e016ed..cceee7a34091d 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-01-23 +date: 2023-01-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 ce6ff349ee370..0c26d2e6c6637 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-01-23 +date: 2023-01-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 48b2e927b75f0..35224a1d37233 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-01-23 +date: 2023-01-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 f8bd74793a86f..891c1ef5cf11f 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-01-23 +date: 2023-01-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 3032aa1c15822..1f708fb570cbe 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-01-23 +date: 2023-01-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 e8d023533e891..5a5fcda5e9291 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-01-23 +date: 2023-01-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 729c1581c4277..da7cdb477d8ca 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-01-23 +date: 2023-01-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 0bd68b9280d32..014c5a61ad30a 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-01-23 +date: 2023-01-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 36c550d5909b0..2328a4397af50 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-01-23 +date: 2023-01-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 f44f46d1bf3e2..e4a5ad98a6940 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-01-23 +date: 2023-01-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 7b4b611ba7494..f4f357b108005 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-01-23 +date: 2023-01-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 f2f10aaa70902..cf843b74cfaf5 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-01-23 +date: 2023-01-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 875eeebf03863..411da85281a0e 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-01-23 +date: 2023-01-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 954c13d4b4c88..3dcd3fd16c316 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-01-23 +date: 2023-01-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 ea21ea7c03bc9..aaff3cbae701a 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-01-23 +date: 2023-01-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 6239fedcc9cbd..728833559ff38 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-01-23 +date: 2023-01-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 4826a46c18d1b..eafeacdc38731 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-01-23 +date: 2023-01-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 b1ce48eac65ce..2a905ca49cda0 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-01-23 +date: 2023-01-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 a88939913f538..e459334f636dd 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-01-23 +date: 2023-01-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 0e70e03dd440d..e1f166ac9e078 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-01-23 +date: 2023-01-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 3b468a59d4690..42170d62a0446 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-01-23 +date: 2023-01-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/storybook'] --- import kbnStorybookObj from './kbn_storybook.devdocs.json'; diff --git a/api_docs/kbn_telemetry_tools.mdx b/api_docs/kbn_telemetry_tools.mdx index 674fb0b25ffa8..991491f0751fd 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-01-23 +date: 2023-01-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 8bc63b61812ae..24e08a2548f07 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-01-23 +date: 2023-01-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 db8abf09889d8..4f47a743598ac 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-01-23 +date: 2023-01-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 cf8b64c5240a6..de9f86c2a2754 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-01-23 +date: 2023-01-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_tooling_log.mdx b/api_docs/kbn_tooling_log.mdx index 82d2693bbba43..0a67dd81eaf74 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-01-23 +date: 2023-01-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 1534dd1aeb107..4a3866d17e3a2 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-01-23 +date: 2023-01-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 3f48fac5959e2..5f01094604539 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-01-23 +date: 2023-01-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 dc0896b76d2ad..0c07efce09e5e 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-01-23 +date: 2023-01-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 d235a96b1940c..6bf235465a72f 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-01-23 +date: 2023-01-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 2062c1cec80bd..17a19f4939f35 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-01-23 +date: 2023-01-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ui-theme'] --- import kbnUiThemeObj from './kbn_ui_theme.devdocs.json'; diff --git a/api_docs/kbn_user_profile_components.mdx b/api_docs/kbn_user_profile_components.mdx index ec8b39956d5f3..44336a7dba89f 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-01-23 +date: 2023-01-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 1427c0d970bf2..0b3c7a242736b 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-01-23 +date: 2023-01-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 d2240f2ca4d6b..2fef44fc5b17f 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-01-23 +date: 2023-01-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 25cb237a4adeb..f0570e9080b49 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-01-23 +date: 2023-01-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/utils'] --- import kbnUtilsObj from './kbn_utils.devdocs.json'; diff --git a/api_docs/kbn_yarn_lock_validator.mdx b/api_docs/kbn_yarn_lock_validator.mdx index cffb97c1d533b..a260131c24776 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-01-23 +date: 2023-01-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 85b8bd0f9880d..ec5441569c8d8 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-01-23 +date: 2023-01-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'kibanaOverview'] --- import kibanaOverviewObj from './kibana_overview.devdocs.json'; diff --git a/api_docs/kibana_react.devdocs.json b/api_docs/kibana_react.devdocs.json index 38fd13a5e66a8..9d5150e975226 100644 --- a/api_docs/kibana_react.devdocs.json +++ b/api_docs/kibana_react.devdocs.json @@ -580,18 +580,6 @@ "plugin": "home", "path": "src/plugins/home/public/application/components/tutorial/tutorial.js" }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/components/ml_page/ml_page.tsx" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/components/ml_page/ml_page.tsx" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/components/ml_page/ml_page.tsx" - }, { "plugin": "canvas", "path": "x-pack/plugins/canvas/public/components/home/home.component.tsx" @@ -1316,18 +1304,6 @@ "plugin": "observability", "path": "x-pack/plugins/observability/public/application/index.tsx" }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/components/ml_page/ml_page.tsx" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/components/ml_page/ml_page.tsx" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/components/ml_page/ml_page.tsx" - }, { "plugin": "ml", "path": "x-pack/plugins/ml/public/application/management/jobs_list/components/jobs_list_page/jobs_list_page.tsx" diff --git a/api_docs/kibana_react.mdx b/api_docs/kibana_react.mdx index 751d6620108ae..291b5ca3202c7 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-01-23 +date: 2023-01-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 118b109e5689b..e4801f606a949 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-01-23 +date: 2023-01-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 95212ed32d42a..5c623d4de19e5 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-01-23 +date: 2023-01-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'kubernetesSecurity'] --- import kubernetesSecurityObj from './kubernetes_security.devdocs.json'; diff --git a/api_docs/lens.devdocs.json b/api_docs/lens.devdocs.json index 2a328fffb3a3e..222009d8f902c 100644 --- a/api_docs/lens.devdocs.json +++ b/api_docs/lens.devdocs.json @@ -181,6 +181,57 @@ ], "returnComment": [] }, + { + "parentPluginId": "lens", + "id": "def-public.Embeddable.getUserMessages", + "type": "Function", + "tags": [], + "label": "getUserMessages", + "description": [], + "signature": [ + "(locationId: \"banner\" | \"toolbar\" | \"visualization\" | \"embeddableBadge\" | \"visualizationOnEmbeddable\" | \"visualizationInEditor\" | \"textBasedLanguagesQueryInput\" | \"dimensionTrigger\" | (\"banner\" | \"toolbar\" | \"visualization\" | \"embeddableBadge\" | \"visualizationOnEmbeddable\" | \"visualizationInEditor\" | \"textBasedLanguagesQueryInput\" | \"dimensionTrigger\")[] | undefined, filters: ", + "UserMessageFilters", + ") => ", + "UserMessage", + "[]" + ], + "path": "x-pack/plugins/lens/public/embeddable/embeddable.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "lens", + "id": "def-public.Embeddable.getUserMessages.$1", + "type": "CompoundType", + "tags": [], + "label": "locationId", + "description": [], + "signature": [ + "\"banner\" | \"toolbar\" | \"visualization\" | \"embeddableBadge\" | \"visualizationOnEmbeddable\" | \"visualizationInEditor\" | \"textBasedLanguagesQueryInput\" | \"dimensionTrigger\" | (\"banner\" | \"toolbar\" | \"visualization\" | \"embeddableBadge\" | \"visualizationOnEmbeddable\" | \"visualizationInEditor\" | \"textBasedLanguagesQueryInput\" | \"dimensionTrigger\")[] | undefined" + ], + "path": "x-pack/plugins/lens/public/embeddable/embeddable.tsx", + "deprecated": false, + "trackAdoption": false, + "isRequired": false + }, + { + "parentPluginId": "lens", + "id": "def-public.Embeddable.getUserMessages.$2", + "type": "Object", + "tags": [], + "label": "filters", + "description": [], + "signature": [ + "UserMessageFilters" + ], + "path": "x-pack/plugins/lens/public/embeddable/embeddable.tsx", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + }, { "parentPluginId": "lens", "id": "def-public.Embeddable.reportsEmbeddableLoad", @@ -6394,7 +6445,7 @@ "\nRenders dimension trigger. Used only for noDatasource layers" ], "signature": [ - "((props: { columnId: string; label: string; hideTooltip?: boolean | undefined; invalid?: boolean | undefined; invalidMessage?: string | undefined; }) => JSX.Element | null) | undefined" + "((props: { columnId: string; label: string; hideTooltip?: boolean | undefined; invalid?: boolean | undefined; invalidMessage?: React.ReactNode; }) => JSX.Element | null) | undefined" ], "path": "x-pack/plugins/lens/public/types.ts", "deprecated": false, @@ -6464,12 +6515,12 @@ { "parentPluginId": "lens", "id": "def-public.Visualization.renderDimensionTrigger.$1.invalidMessage", - "type": "string", + "type": "CompoundType", "tags": [], "label": "invalidMessage", "description": [], "signature": [ - "string | undefined" + "boolean | React.ReactChild | React.ReactFragment | React.ReactPortal | null | undefined" ], "path": "x-pack/plugins/lens/public/types.ts", "deprecated": false, @@ -6794,169 +6845,19 @@ }, { "parentPluginId": "lens", - "id": "def-public.Visualization.getErrorMessages", + "id": "def-public.Visualization.getUserMessages", "type": "Function", "tags": [], - "label": "getErrorMessages", + "label": "getUserMessages", "description": [ "\nThe frame will call this function on all visualizations at few stages (pre-build/build error) in order\nto provide more context to the error and show it to the user" ], "signature": [ - "(state: T, frame?: Pick<", - "FramePublicAPI", - ", \"dataViews\" | \"datasourceLayers\"> | undefined) => { shortMessage: string; longMessage: React.ReactNode; }[] | undefined" - ], - "path": "x-pack/plugins/lens/public/types.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "lens", - "id": "def-public.Visualization.getErrorMessages.$1", - "type": "Uncategorized", - "tags": [], - "label": "state", - "description": [], - "signature": [ - "T" - ], - "path": "x-pack/plugins/lens/public/types.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - }, - { - "parentPluginId": "lens", - "id": "def-public.Visualization.getErrorMessages.$2", - "type": "Object", - "tags": [], - "label": "frame", - "description": [], - "signature": [ - "Pick<", - "FramePublicAPI", - ", \"dataViews\" | \"datasourceLayers\"> | undefined" - ], - "path": "x-pack/plugins/lens/public/types.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": false - } - ], - "returnComment": [] - }, - { - "parentPluginId": "lens", - "id": "def-public.Visualization.validateColumn", - "type": "Function", - "tags": [], - "label": "validateColumn", - "description": [], - "signature": [ - "((state: T, frame: Pick<", - "FramePublicAPI", - ", \"dataViews\">, layerId: string, columnId: string, group?: ", - "VisualizationDimensionGroupConfig", - " | undefined) => { invalid: boolean; invalidMessage?: string | undefined; }) | undefined" - ], - "path": "x-pack/plugins/lens/public/types.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "lens", - "id": "def-public.Visualization.validateColumn.$1", - "type": "Uncategorized", - "tags": [], - "label": "state", - "description": [], - "signature": [ - "T" - ], - "path": "x-pack/plugins/lens/public/types.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - }, - { - "parentPluginId": "lens", - "id": "def-public.Visualization.validateColumn.$2", - "type": "Object", - "tags": [], - "label": "frame", - "description": [], - "signature": [ - "Pick<", - "FramePublicAPI", - ", \"dataViews\">" - ], - "path": "x-pack/plugins/lens/public/types.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - }, - { - "parentPluginId": "lens", - "id": "def-public.Visualization.validateColumn.$3", - "type": "string", - "tags": [], - "label": "layerId", - "description": [], - "signature": [ - "string" - ], - "path": "x-pack/plugins/lens/public/types.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - }, - { - "parentPluginId": "lens", - "id": "def-public.Visualization.validateColumn.$4", - "type": "string", - "tags": [], - "label": "columnId", - "description": [], - "signature": [ - "string" - ], - "path": "x-pack/plugins/lens/public/types.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - }, - { - "parentPluginId": "lens", - "id": "def-public.Visualization.validateColumn.$5", - "type": "CompoundType", - "tags": [], - "label": "group", - "description": [], - "signature": [ - "VisualizationDimensionGroupConfig", - " | undefined" - ], - "path": "x-pack/plugins/lens/public/types.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": false - } - ], - "returnComment": [] - }, - { - "parentPluginId": "lens", - "id": "def-public.Visualization.getWarningMessages", - "type": "Function", - "tags": [], - "label": "getWarningMessages", - "description": [ - "\nThe frame calls this function to display warnings about visualization" - ], - "signature": [ - "((state: T, frame: ", + "((state: T, deps: { frame: ", "FramePublicAPI", - ") => React.ReactNode[] | undefined) | undefined" + "; }) => ", + "UserMessage", + "[]) | undefined" ], "path": "x-pack/plugins/lens/public/types.ts", "deprecated": false, @@ -6964,7 +6865,7 @@ "children": [ { "parentPluginId": "lens", - "id": "def-public.Visualization.getWarningMessages.$1", + "id": "def-public.Visualization.getUserMessages.$1", "type": "Uncategorized", "tags": [], "label": "state", @@ -6979,18 +6880,30 @@ }, { "parentPluginId": "lens", - "id": "def-public.Visualization.getWarningMessages.$2", + "id": "def-public.Visualization.getUserMessages.$2", "type": "Object", "tags": [], - "label": "frame", + "label": "deps", "description": [], - "signature": [ - "FramePublicAPI" - ], "path": "x-pack/plugins/lens/public/types.ts", "deprecated": false, "trackAdoption": false, - "isRequired": true + "children": [ + { + "parentPluginId": "lens", + "id": "def-public.Visualization.getUserMessages.$2.frame", + "type": "Object", + "tags": [], + "label": "frame", + "description": [], + "signature": [ + "FramePublicAPI" + ], + "path": "x-pack/plugins/lens/public/types.ts", + "deprecated": false, + "trackAdoption": false + } + ] } ], "returnComment": [] diff --git a/api_docs/lens.mdx b/api_docs/lens.mdx index dea24ab0fa93b..91643daa835ca 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-01-23 +date: 2023-01-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'lens'] --- import lensObj from './lens.devdocs.json'; @@ -21,7 +21,7 @@ Contact [Vis Editors](https://github.com/orgs/elastic/teams/kibana-visualization | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 698 | 0 | 602 | 50 | +| 693 | 0 | 598 | 52 | ## Client diff --git a/api_docs/license_api_guard.mdx b/api_docs/license_api_guard.mdx index 54678407a88b3..ef480ba5f9287 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-01-23 +date: 2023-01-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 7a327d7e8cd80..8ca729ecbd008 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-01-23 +date: 2023-01-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 50959f0188676..35357f5f36bd2 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-01-23 +date: 2023-01-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 3bf51da3689eb..c22bfac5d3dde 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-01-23 +date: 2023-01-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'lists'] --- import listsObj from './lists.devdocs.json'; diff --git a/api_docs/management.mdx b/api_docs/management.mdx index 3843f133a7c0b..9c49a4bacd7c2 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-01-23 +date: 2023-01-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 308a442d84406..32a3531008d02 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-01-23 +date: 2023-01-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 df2378722a4fd..6d42c9f0a0fdc 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-01-23 +date: 2023-01-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'mapsEms'] --- import mapsEmsObj from './maps_ems.devdocs.json'; diff --git a/api_docs/ml.mdx b/api_docs/ml.mdx index b862c56eda85c..e9fff64a18949 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-01-23 +date: 2023-01-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 7037c88bc93f1..1496a072adbd7 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-01-23 +date: 2023-01-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 9759dd3c2cf73..15be10b40cc44 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-01-23 +date: 2023-01-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 d0595e73e6ae1..7637ab1a93ad6 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-01-23 +date: 2023-01-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 65ae4a25bb31f..22e51d34dcff1 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-01-23 +date: 2023-01-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'newsfeed'] --- import newsfeedObj from './newsfeed.devdocs.json'; diff --git a/api_docs/notifications.mdx b/api_docs/notifications.mdx index b340b24159c7e..ecd955659daac 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-01-23 +date: 2023-01-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 8d3b351cc81d9..1100bdcab6fdb 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-01-23 +date: 2023-01-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'observability'] --- import observabilityObj from './observability.devdocs.json'; diff --git a/api_docs/osquery.mdx b/api_docs/osquery.mdx index b8b6553813101..2ae28294b8cda 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-01-23 +date: 2023-01-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'osquery'] --- import osqueryObj from './osquery.devdocs.json'; diff --git a/api_docs/plugin_directory.mdx b/api_docs/plugin_directory.mdx index 52b572450a0e0..b2886a71063e7 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-01-23 +date: 2023-01-24 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- @@ -15,22 +15,22 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | Count | Plugins or Packages with a
public API | Number of teams | |--------------|----------|------------------------| -| 561 | 463 | 42 | +| 562 | 464 | 42 | ### Public API health stats | API Count | Any Count | Missing comments | Missing exports | |--------------|----------|-----------------|--------| -| 34429 | 526 | 24089 | 1200 | +| 34879 | 527 | 24525 | 1244 | ## Plugin Directory | Plugin name           | Maintaining team | Description | API Cnt | Any Cnt | Missing
comments | Missing
exports | |--------------|----------------|-----------|--------------|----------|---------------|--------| -| | [Response Ops](https://github.com/orgs/elastic/teams/response-ops) | - | 220 | 8 | 215 | 24 | +| | [Response Ops](https://github.com/orgs/elastic/teams/response-ops) | - | 256 | 8 | 251 | 24 | | | [Kibana Core](https://github.com/orgs/elastic/teams/kibana-core) | - | 36 | 1 | 32 | 2 | | | [Machine Learning UI](https://github.com/orgs/elastic/teams/ml-ui) | AIOps plugin maintained by ML team. | 12 | 0 | 1 | 2 | -| | [Response Ops](https://github.com/orgs/elastic/teams/response-ops) | - | 465 | 0 | 456 | 38 | +| | [Response Ops](https://github.com/orgs/elastic/teams/response-ops) | - | 467 | 0 | 457 | 39 | | | [APM UI](https://github.com/orgs/elastic/teams/apm-ui) | The user interface for Elastic APM | 42 | 0 | 42 | 61 | | | [Kibana Core](https://github.com/orgs/elastic/teams/kibana-core) | - | 9 | 0 | 9 | 0 | | | [App Services](https://github.com/orgs/elastic/teams/kibana-app-services) | Considering using bfetch capabilities when fetching large amounts of data. This services supports batching HTTP requests and streaming responses back. | 89 | 1 | 74 | 2 | @@ -48,11 +48,11 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [Cloud Security Posture](https://github.com/orgs/elastic/teams/cloud-posture-security) | The cloud security posture plugin | 17 | 0 | 2 | 2 | | | [Stack Management](https://github.com/orgs/elastic/teams/kibana-stack-management) | - | 13 | 0 | 13 | 1 | | | [Kibana Presentation](https://github.com/orgs/elastic/teams/kibana-presentation) | The Controls Plugin contains embeddable components intended to create a simple query interface for end users, and a powerful editing suite that allows dashboard authors to build controls | 264 | 0 | 260 | 9 | -| | [Kibana Core](https://github.com/orgs/elastic/teams/kibana-core) | - | 2806 | 17 | 1017 | 0 | +| | [Kibana Core](https://github.com/orgs/elastic/teams/kibana-core) | - | 2810 | 17 | 1018 | 0 | | crossClusterReplication | [Stack Management](https://github.com/orgs/elastic/teams/kibana-stack-management) | - | 0 | 0 | 0 | 0 | | customBranding | [global-experience](https://github.com/orgs/elastic/teams/kibana-global-experience) | Enables customization of Kibana | 0 | 0 | 0 | 0 | | | [Fleet](https://github.com/orgs/elastic/teams/fleet) | Add custom data integrations so they can be displayed in the Fleet integrations app | 107 | 0 | 88 | 1 | -| | [Kibana Presentation](https://github.com/orgs/elastic/teams/kibana-presentation) | Adds the Dashboard app to Kibana | 113 | 0 | 109 | 2 | +| | [Kibana Presentation](https://github.com/orgs/elastic/teams/kibana-presentation) | Adds the Dashboard app to Kibana | 171 | 0 | 163 | 10 | | | [App Services](https://github.com/orgs/elastic/teams/kibana-app-services) | - | 54 | 0 | 51 | 0 | | | [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. | 3276 | 119 | 2578 | 27 | | | [App Services](https://github.com/orgs/elastic/teams/kibana-app-services) | This plugin provides the ability to create data views via a modal flyout inside Kibana apps | 16 | 0 | 7 | 0 | @@ -69,7 +69,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [Enterprise Search](https://github.com/orgs/elastic/teams/enterprise-search-frontend) | Adds dashboards for discovering and managing Enterprise Search products. | 9 | 0 | 9 | 0 | | | [Stack Management](https://github.com/orgs/elastic/teams/kibana-stack-management) | - | 114 | 3 | 110 | 5 | | | [Vis Editors](https://github.com/orgs/elastic/teams/kibana-visualizations) | The Event Annotation service contains expressions for event annotations | 172 | 30 | 172 | 3 | -| | [Response Ops](https://github.com/orgs/elastic/teams/response-ops) | - | 115 | 0 | 115 | 11 | +| | [Response Ops](https://github.com/orgs/elastic/teams/response-ops) | - | 116 | 0 | 116 | 11 | | | [Kibana Presentation](https://github.com/orgs/elastic/teams/kibana-presentation) | Adds 'error' renderer to expressions | 17 | 0 | 15 | 2 | | | [Vis Editors](https://github.com/orgs/elastic/teams/kibana-visualizations) | Expression Gauge plugin adds a `gauge` renderer and function to the expression plugin. The renderer will display the `gauge` chart. | 58 | 0 | 58 | 2 | | | [Vis Editors](https://github.com/orgs/elastic/teams/kibana-visualizations) | Expression Heatmap plugin adds a `heatmap` renderer and function to the expression plugin. The renderer will display the `heatmap` chart. | 111 | 14 | 107 | 2 | @@ -89,7 +89,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [Machine Learning UI](https://github.com/orgs/elastic/teams/ml-ui) | 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. | 62 | 0 | 62 | 2 | | | [@elastic/kibana-app-services](https://github.com/orgs/elastic/teams/team:AppServicesUx) | File upload, download, sharing, and serving over HTTP implementation in Kibana. | 254 | 1 | 45 | 5 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/@elastic/appex-sharedux) | Simple UI for managing files in Kibana | 2 | 1 | 2 | 0 | -| | [Fleet](https://github.com/orgs/elastic/teams/fleet) | - | 1039 | 3 | 934 | 24 | +| | [Fleet](https://github.com/orgs/elastic/teams/fleet) | - | 1040 | 3 | 935 | 25 | | | [Kibana Core](https://github.com/orgs/elastic/teams/kibana-core) | - | 68 | 0 | 14 | 5 | | globalSearchBar | [Kibana Core](https://github.com/orgs/elastic/teams/kibana-core) | - | 0 | 0 | 0 | 0 | | globalSearchProviders | [Kibana Core](https://github.com/orgs/elastic/teams/kibana-core) | - | 0 | 0 | 0 | 0 | @@ -100,7 +100,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/@elastic/appex-sharedux) | Image embeddable | 3 | 0 | 3 | 1 | | | [Stack Management](https://github.com/orgs/elastic/teams/kibana-stack-management) | - | 4 | 0 | 4 | 0 | | | [Stack Management](https://github.com/orgs/elastic/teams/kibana-stack-management) | - | 177 | 0 | 172 | 3 | -| | [Logs and Metrics UI](https://github.com/orgs/elastic/teams/logs-metrics-ui) | This plugin visualizes data from Filebeat and Metricbeat, and integrates with other Observability solutions | 42 | 0 | 39 | 8 | +| | [Logs and Metrics UI](https://github.com/orgs/elastic/teams/logs-metrics-ui) | This plugin visualizes data from Filebeat and Metricbeat, and integrates with other Observability solutions | 43 | 0 | 40 | 9 | | ingestPipelines | [Stack Management](https://github.com/orgs/elastic/teams/kibana-stack-management) | - | 0 | 0 | 0 | 0 | | inputControlVis | [Kibana Presentation](https://github.com/orgs/elastic/teams/kibana-presentation) | Adds Input Control visualization to Kibana | 0 | 0 | 0 | 0 | | | [App Services](https://github.com/orgs/elastic/teams/kibana-app-services) | - | 123 | 2 | 96 | 4 | @@ -110,7 +110,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | kibanaUsageCollection | [Kibana Telemetry](https://github.com/orgs/elastic/teams/kibana-telemetry) | - | 0 | 0 | 0 | 0 | | | [App Services](https://github.com/orgs/elastic/teams/kibana-app-services) | - | 609 | 3 | 416 | 9 | | | [Security Team](https://github.com/orgs/elastic/teams/security-team) | - | 3 | 0 | 3 | 1 | -| | [Vis Editors](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. | 698 | 0 | 602 | 50 | +| | [Vis Editors](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. | 693 | 0 | 598 | 52 | | | [Stack Management](https://github.com/orgs/elastic/teams/kibana-stack-management) | - | 8 | 0 | 8 | 0 | | | [Stack Management](https://github.com/orgs/elastic/teams/kibana-stack-management) | - | 3 | 0 | 3 | 0 | | | [Kibana Core](https://github.com/orgs/elastic/teams/kibana-core) | - | 117 | 0 | 42 | 10 | @@ -159,7 +159,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [Kibana Telemetry](https://github.com/orgs/elastic/teams/kibana-telemetry) | - | 1 | 0 | 1 | 0 | | | [Kibana Telemetry](https://github.com/orgs/elastic/teams/kibana-telemetry) | - | 5 | 0 | 0 | 0 | | | [Protections Experience Team](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 | 35 | 0 | 15 | 5 | -| | [Security solution](https://github.com/orgs/elastic/teams/security-solution) | - | 257 | 1 | 214 | 21 | +| | [Security solution](https://github.com/orgs/elastic/teams/security-solution) | - | 257 | 1 | 214 | 20 | | | [Machine Learning 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 | [Kibana Localization](https://github.com/orgs/elastic/teams/kibana-localization) | - | 0 | 0 | 0 | 0 | | | [Response Ops](https://github.com/orgs/elastic/teams/response-ops) | - | 586 | 11 | 557 | 53 | @@ -350,7 +350,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | Kibana Core | - | 4 | 0 | 4 | 0 | | | Kibana Core | - | 112 | 0 | 79 | 45 | | | Kibana Core | - | 12 | 0 | 12 | 0 | -| | Kibana Core | - | 325 | 0 | 95 | 1 | +| | Kibana Core | - | 329 | 0 | 96 | 1 | | | Kibana Core | - | 69 | 0 | 69 | 4 | | | Kibana Core | - | 14 | 0 | 14 | 0 | | | Kibana Core | - | 108 | 1 | 84 | 0 | @@ -363,7 +363,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | Kibana Core | - | 5 | 0 | 5 | 0 | | | Kibana Core | - | 54 | 1 | 48 | 0 | | | Kibana Core | - | 13 | 0 | 12 | 0 | -| | [Owner missing] | - | 4 | 0 | 4 | 0 | +| | [Owner missing] | - | 9 | 0 | 9 | 0 | | | Kibana Core | - | 6 | 0 | 4 | 0 | | | Kibana Core | - | 2 | 0 | 1 | 0 | | | Kibana Core | - | 6 | 0 | 6 | 0 | @@ -442,8 +442,9 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [Owner missing] | - | 13 | 0 | 9 | 0 | | | [Owner missing] | - | 6 | 0 | 6 | 1 | | | [Owner missing] | - | 13 | 2 | 8 | 0 | -| | [Owner missing] | - | 97 | 0 | 94 | 0 | +| | [Owner missing] | - | 99 | 0 | 96 | 0 | | | [Owner missing] | Security Solution auto complete | 56 | 1 | 41 | 1 | +| | [Owner missing] | - | 341 | 1 | 337 | 32 | | | [Owner missing] | security solution elastic search utilities to use across plugins such lists, security_solution, cases, etc... | 67 | 0 | 61 | 1 | | | [Owner missing] | - | 104 | 0 | 93 | 1 | | | [Owner missing] | Security Solution utilities for React hooks | 15 | 0 | 7 | 0 | diff --git a/api_docs/presentation_util.mdx b/api_docs/presentation_util.mdx index 26e7e1c57f347..4a667dbf1b54d 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-01-23 +date: 2023-01-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 90201aa39ea32..f437955259942 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-01-23 +date: 2023-01-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'profiling'] --- import profilingObj from './profiling.devdocs.json'; diff --git a/api_docs/remote_clusters.mdx b/api_docs/remote_clusters.mdx index a6124e49fcec0..ae3edb3cae30f 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-01-23 +date: 2023-01-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 6816029fa7124..15328235b2ffd 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-01-23 +date: 2023-01-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 4a0fe211a6884..bb4cd64052838 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-01-23 +date: 2023-01-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'rollup'] --- import rollupObj from './rollup.devdocs.json'; diff --git a/api_docs/rule_registry.devdocs.json b/api_docs/rule_registry.devdocs.json index cc9725bb52f3d..7ccd61d57cad5 100644 --- a/api_docs/rule_registry.devdocs.json +++ b/api_docs/rule_registry.devdocs.json @@ -1803,7 +1803,9 @@ }, ") => Promise<{ new: { count: number; data: {}[]; }; ongoing: { count: number; data: {}[]; }; recovered: { count: number; data: {}[]; }; }>; name: string; validate?: { params?: ", "RuleTypeParamsValidator", - " | undefined; } | undefined; id: string; cancelAlertsOnRuleTimeout?: boolean | undefined; actionGroups: ", + " | undefined; } | undefined; id: string; cancelAlertsOnRuleTimeout?: boolean | undefined; alerts?: ", + "IRuleTypeAlerts", + " | undefined; actionGroups: ", { "pluginId": "alerting", "scope": "common", @@ -1859,7 +1861,7 @@ "section": "def-common.SavedObjectReference", "text": "SavedObjectReference" }, - "[]) => TParams; } | undefined; isExportable: boolean; defaultScheduleInterval?: string | undefined; ruleTaskTimeout?: string | undefined; doesSetRecoveryContext?: boolean | undefined; }" + "[]) => TParams; } | undefined; isExportable: boolean; defaultScheduleInterval?: string | undefined; ruleTaskTimeout?: string | undefined; doesSetRecoveryContext?: boolean | undefined; autoRecoverAlerts?: boolean | undefined; }" ], "path": "x-pack/plugins/rule_registry/server/utils/create_persistence_rule_type_wrapper.ts", "deprecated": false, diff --git a/api_docs/rule_registry.mdx b/api_docs/rule_registry.mdx index cd5bb058babca..dc7f15d44c7be 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-01-23 +date: 2023-01-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 9e4c1c5da5b86..5e7496106952d 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-01-23 +date: 2023-01-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 e51aa85cd0f3e..4773de4ce7489 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-01-23 +date: 2023-01-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 c187fc74f315e..a208b590d5b5f 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-01-23 +date: 2023-01-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 f181460eda726..c2d4542264ece 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-01-23 +date: 2023-01-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 893fbb88ed64f..6d87e255e34ae 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-01-23 +date: 2023-01-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 86d1e07bdf8ca..db3a99f65f89f 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-01-23 +date: 2023-01-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 48c1a4fc3605c..199899b2a42d2 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-01-23 +date: 2023-01-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 9b1d4ee4f94d2..afb40e68ed0a4 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-01-23 +date: 2023-01-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 8646d20df3da2..7a4f77ad57fa0 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-01-23 +date: 2023-01-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 34a52cb1cce44..b2110708e7adb 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-01-23 +date: 2023-01-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 467e61b1e1703..1f4d03c54951b 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-01-23 +date: 2023-01-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'securitySolution'] --- import securitySolutionObj from './security_solution.devdocs.json'; diff --git a/api_docs/session_view.mdx b/api_docs/session_view.mdx index 6f2a5232ed000..c373e4ac895fd 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-01-23 +date: 2023-01-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 789b2d6053949..eb765b8abb7d0 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-01-23 +date: 2023-01-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 9e0d060b3751c..6a4bec58b36bb 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-01-23 +date: 2023-01-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 3a2e632b21f52..e2196c70e2a05 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-01-23 +date: 2023-01-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 65ccf5447dc68..6bb32b0389695 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-01-23 +date: 2023-01-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 1a4818419f402..c9b5c7b67b4d3 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-01-23 +date: 2023-01-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 bebc8d16ce634..6c7b69bc66399 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-01-23 +date: 2023-01-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 9819227f03716..34a58c9c6dfa6 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-01-23 +date: 2023-01-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 7cdcf1aeb4e4f..ddac6ac33dfa4 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-01-23 +date: 2023-01-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 03f3319a24a21..4d1e3231f88c9 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-01-23 +date: 2023-01-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 9177ef6b274d4..147d3edc5794e 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-01-23 +date: 2023-01-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'telemetryManagementSection'] --- import telemetryManagementSectionObj from './telemetry_management_section.devdocs.json'; diff --git a/api_docs/threat_intelligence.mdx b/api_docs/threat_intelligence.mdx index a1aa998ce8897..04ea56346a8eb 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-01-23 +date: 2023-01-24 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 2f347aa6d81a6..a0b03b6f182b4 100644 --- a/api_docs/timelines.devdocs.json +++ b/api_docs/timelines.devdocs.json @@ -2459,7 +2459,13 @@ "description": [], "signature": [ "(data: ", - "Ecs", + { + "pluginId": "@kbn/securitysolution-ecs", + "scope": "common", + "docId": "kibKbnSecuritysolutionEcsPluginApi", + "section": "def-common.EcsSecurityExtension", + "text": "EcsSecurityExtension" + }, ") => boolean" ], "path": "x-pack/plugins/timelines/common/types/timeline/rows/index.ts", @@ -2474,7 +2480,13 @@ "label": "data", "description": [], "signature": [ - "Ecs" + { + "pluginId": "@kbn/securitysolution-ecs", + "scope": "common", + "docId": "kibKbnSecuritysolutionEcsPluginApi", + "section": "def-common.EcsSecurityExtension", + "text": "EcsSecurityExtension" + } ], "path": "x-pack/plugins/timelines/common/types/timeline/rows/index.ts", "deprecated": false, @@ -2493,7 +2505,13 @@ "description": [], "signature": [ "({ contextId, data, isDraggable, scopeId, }: { contextId?: string | undefined; data: ", - "Ecs", + { + "pluginId": "@kbn/securitysolution-ecs", + "scope": "common", + "docId": "kibKbnSecuritysolutionEcsPluginApi", + "section": "def-common.EcsSecurityExtension", + "text": "EcsSecurityExtension" + }, "; isDraggable: boolean; scopeId: string; }) => React.ReactNode" ], "path": "x-pack/plugins/timelines/common/types/timeline/rows/index.ts", @@ -2533,7 +2551,13 @@ "label": "data", "description": [], "signature": [ - "Ecs" + { + "pluginId": "@kbn/securitysolution-ecs", + "scope": "common", + "docId": "kibKbnSecuritysolutionEcsPluginApi", + "section": "def-common.EcsSecurityExtension", + "text": "EcsSecurityExtension" + } ], "path": "x-pack/plugins/timelines/common/types/timeline/rows/index.ts", "deprecated": false, @@ -3351,7 +3375,13 @@ "signature": [ "Maybe", "<", - "Ecs", + { + "pluginId": "@kbn/securitysolution-ecs", + "scope": "common", + "docId": "kibKbnSecuritysolutionEcsPluginApi", + "section": "def-common.EcsSecurityExtension", + "text": "EcsSecurityExtension" + }, "> | undefined" ], "path": "x-pack/plugins/timelines/common/search_strategy/timeline/events/details/index.ts", @@ -3600,7 +3630,13 @@ "label": "ecs", "description": [], "signature": [ - "Ecs" + { + "pluginId": "@kbn/securitysolution-ecs", + "scope": "common", + "docId": "kibKbnSecuritysolutionEcsPluginApi", + "section": "def-common.EcsSecurityExtension", + "text": "EcsSecurityExtension" + } ], "path": "x-pack/plugins/timelines/common/search_strategy/timeline/events/all/index.ts", "deprecated": false, @@ -3974,7 +4010,13 @@ "text": "TimelineNonEcsData" }, "[]; ecsData?: ", - "Ecs", + { + "pluginId": "@kbn/securitysolution-ecs", + "scope": "common", + "docId": "kibKbnSecuritysolutionEcsPluginApi", + "section": "def-common.EcsSecurityExtension", + "text": "EcsSecurityExtension" + }, " | undefined; eventId: string; globalFilters?: ", { "pluginId": "@kbn/es-query", diff --git a/api_docs/timelines.mdx b/api_docs/timelines.mdx index 60e78dee3b9a2..bc205c49a267a 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-01-23 +date: 2023-01-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'timelines'] --- import timelinesObj from './timelines.devdocs.json'; @@ -21,7 +21,7 @@ Contact [Security solution](https://github.com/orgs/elastic/teams/security-solut | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 257 | 1 | 214 | 21 | +| 257 | 1 | 214 | 20 | ## Client diff --git a/api_docs/transform.mdx b/api_docs/transform.mdx index 851a2bcde33ea..c80559eab8dc0 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-01-23 +date: 2023-01-24 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 4987c06f62d11..1f9c656c50a76 100644 --- a/api_docs/triggers_actions_ui.devdocs.json +++ b/api_docs/triggers_actions_ui.devdocs.json @@ -3365,7 +3365,7 @@ "description": [], "signature": [ "BasicFields", - " & { tags?: string[] | undefined; kibana?: string[] | undefined; \"@timestamp\"?: string[] | undefined; \"event.action\"?: string[] | undefined; \"kibana.alert.rule.execution.uuid\"?: string[] | undefined; \"kibana.alert.rule.rule_type_id\"?: string[] | undefined; \"kibana.alert.rule.consumer\"?: string[] | undefined; \"kibana.alert\"?: string[] | undefined; \"kibana.alert.rule\"?: string[] | undefined; \"kibana.alert.rule.parameters\"?: string[] | undefined; \"kibana.alert.rule.producer\"?: string[] | undefined; \"kibana.space_ids\"?: string[] | undefined; \"kibana.alert.uuid\"?: string[] | undefined; \"kibana.alert.instance.id\"?: string[] | undefined; \"kibana.alert.start\"?: string[] | undefined; \"kibana.alert.time_range\"?: string[] | undefined; \"kibana.alert.end\"?: string[] | undefined; \"kibana.alert.duration.us\"?: string[] | undefined; \"kibana.alert.severity\"?: string[] | undefined; \"kibana.alert.status\"?: string[] | undefined; \"kibana.alert.flapping\"?: string[] | undefined; \"kibana.version\"?: string[] | undefined; \"ecs.version\"?: string[] | undefined; \"kibana.alert.risk_score\"?: string[] | undefined; \"kibana.alert.workflow_status\"?: string[] | undefined; \"kibana.alert.workflow_user\"?: string[] | undefined; \"kibana.alert.workflow_reason\"?: string[] | undefined; \"kibana.alert.system_status\"?: string[] | undefined; \"kibana.alert.action_group\"?: string[] | undefined; \"kibana.alert.reason\"?: string[] | undefined; \"kibana.alert.case_ids\"?: string[] | undefined; \"kibana.alert.rule.author\"?: string[] | undefined; \"kibana.alert.rule.category\"?: string[] | undefined; \"kibana.alert.rule.uuid\"?: string[] | undefined; \"kibana.alert.rule.created_at\"?: string[] | undefined; \"kibana.alert.rule.created_by\"?: string[] | undefined; \"kibana.alert.rule.description\"?: string[] | undefined; \"kibana.alert.rule.enabled\"?: string[] | undefined; \"kibana.alert.rule.from\"?: string[] | undefined; \"kibana.alert.rule.interval\"?: string[] | undefined; \"kibana.alert.rule.license\"?: string[] | undefined; \"kibana.alert.rule.name\"?: string[] | undefined; \"kibana.alert.rule.note\"?: string[] | undefined; \"kibana.alert.rule.references\"?: string[] | undefined; \"kibana.alert.rule.rule_id\"?: string[] | undefined; \"kibana.alert.rule.rule_name_override\"?: string[] | undefined; \"kibana.alert.rule.tags\"?: string[] | undefined; \"kibana.alert.rule.to\"?: string[] | undefined; \"kibana.alert.rule.type\"?: string[] | undefined; \"kibana.alert.rule.updated_at\"?: string[] | undefined; \"kibana.alert.rule.updated_by\"?: string[] | undefined; \"kibana.alert.rule.version\"?: string[] | undefined; \"kibana.alert.suppression.terms\"?: string[] | undefined; \"kibana.alert.suppression.terms.field\"?: string[] | undefined; \"kibana.alert.suppression.terms.value\"?: string[] | undefined; \"kibana.alert.suppression.start\"?: string[] | undefined; \"kibana.alert.suppression.end\"?: string[] | undefined; \"kibana.alert.suppression.docs_count\"?: string[] | undefined; \"event.kind\"?: string[] | undefined; \"event.module\"?: string[] | undefined; \"kibana.alert.evaluation.threshold\"?: string[] | undefined; \"kibana.alert.evaluation.value\"?: string[] | undefined; \"kibana.alert.building_block_type\"?: string[] | undefined; \"kibana.alert.rule.exceptions_list\"?: string[] | undefined; \"kibana.alert.rule.namespace\"?: string[] | undefined; \"kibana.alert.rule.threat.framework\"?: string[] | undefined; \"kibana.alert.rule.threat.tactic.id\"?: string[] | undefined; \"kibana.alert.rule.threat.tactic.name\"?: string[] | undefined; \"kibana.alert.rule.threat.tactic.reference\"?: string[] | undefined; \"kibana.alert.rule.threat.technique.id\"?: string[] | undefined; \"kibana.alert.rule.threat.technique.name\"?: string[] | undefined; \"kibana.alert.rule.threat.technique.reference\"?: string[] | undefined; \"kibana.alert.rule.threat.technique.subtechnique.id\"?: string[] | undefined; \"kibana.alert.rule.threat.technique.subtechnique.name\"?: string[] | undefined; \"kibana.alert.rule.threat.technique.subtechnique.reference\"?: string[] | undefined; } & { [x: string]: unknown[]; }" + " & { tags?: string[] | undefined; kibana?: string[] | undefined; \"@timestamp\"?: string[] | undefined; \"event.action\"?: string[] | undefined; \"kibana.alert.rule.rule_type_id\"?: string[] | undefined; \"kibana.alert.rule.consumer\"?: string[] | undefined; \"kibana.alert.rule.execution.uuid\"?: string[] | undefined; \"kibana.alert\"?: string[] | undefined; \"kibana.alert.rule\"?: string[] | undefined; \"kibana.alert.rule.parameters\"?: string[] | undefined; \"kibana.alert.rule.producer\"?: string[] | undefined; \"kibana.space_ids\"?: string[] | undefined; \"kibana.alert.uuid\"?: string[] | undefined; \"kibana.alert.instance.id\"?: string[] | undefined; \"kibana.alert.start\"?: string[] | undefined; \"kibana.alert.time_range\"?: string[] | undefined; \"kibana.alert.end\"?: string[] | undefined; \"kibana.alert.duration.us\"?: string[] | undefined; \"kibana.alert.severity\"?: string[] | undefined; \"kibana.alert.status\"?: string[] | undefined; \"kibana.alert.flapping\"?: string[] | undefined; \"kibana.version\"?: string[] | undefined; \"ecs.version\"?: string[] | undefined; \"kibana.alert.risk_score\"?: string[] | undefined; \"kibana.alert.workflow_status\"?: string[] | undefined; \"kibana.alert.workflow_user\"?: string[] | undefined; \"kibana.alert.workflow_reason\"?: string[] | undefined; \"kibana.alert.system_status\"?: string[] | undefined; \"kibana.alert.action_group\"?: string[] | undefined; \"kibana.alert.reason\"?: string[] | undefined; \"kibana.alert.case_ids\"?: string[] | undefined; \"kibana.alert.rule.author\"?: string[] | undefined; \"kibana.alert.rule.category\"?: string[] | undefined; \"kibana.alert.rule.uuid\"?: string[] | undefined; \"kibana.alert.rule.created_at\"?: string[] | undefined; \"kibana.alert.rule.created_by\"?: string[] | undefined; \"kibana.alert.rule.description\"?: string[] | undefined; \"kibana.alert.rule.enabled\"?: string[] | undefined; \"kibana.alert.rule.from\"?: string[] | undefined; \"kibana.alert.rule.interval\"?: string[] | undefined; \"kibana.alert.rule.license\"?: string[] | undefined; \"kibana.alert.rule.name\"?: string[] | undefined; \"kibana.alert.rule.note\"?: string[] | undefined; \"kibana.alert.rule.references\"?: string[] | undefined; \"kibana.alert.rule.rule_id\"?: string[] | undefined; \"kibana.alert.rule.rule_name_override\"?: string[] | undefined; \"kibana.alert.rule.tags\"?: string[] | undefined; \"kibana.alert.rule.to\"?: string[] | undefined; \"kibana.alert.rule.type\"?: string[] | undefined; \"kibana.alert.rule.updated_at\"?: string[] | undefined; \"kibana.alert.rule.updated_by\"?: string[] | undefined; \"kibana.alert.rule.version\"?: string[] | undefined; \"kibana.alert.suppression.terms\"?: string[] | undefined; \"kibana.alert.suppression.terms.field\"?: string[] | undefined; \"kibana.alert.suppression.terms.value\"?: string[] | undefined; \"kibana.alert.suppression.start\"?: string[] | undefined; \"kibana.alert.suppression.end\"?: string[] | undefined; \"kibana.alert.suppression.docs_count\"?: string[] | undefined; \"event.kind\"?: string[] | undefined; \"event.module\"?: string[] | undefined; \"kibana.alert.evaluation.threshold\"?: string[] | undefined; \"kibana.alert.evaluation.value\"?: string[] | undefined; \"kibana.alert.building_block_type\"?: string[] | undefined; \"kibana.alert.rule.exceptions_list\"?: string[] | undefined; \"kibana.alert.rule.namespace\"?: string[] | undefined; \"kibana.alert.rule.threat.framework\"?: string[] | undefined; \"kibana.alert.rule.threat.tactic.id\"?: string[] | undefined; \"kibana.alert.rule.threat.tactic.name\"?: string[] | undefined; \"kibana.alert.rule.threat.tactic.reference\"?: string[] | undefined; \"kibana.alert.rule.threat.technique.id\"?: string[] | undefined; \"kibana.alert.rule.threat.technique.name\"?: string[] | undefined; \"kibana.alert.rule.threat.technique.reference\"?: string[] | undefined; \"kibana.alert.rule.threat.technique.subtechnique.id\"?: string[] | undefined; \"kibana.alert.rule.threat.technique.subtechnique.name\"?: string[] | undefined; \"kibana.alert.rule.threat.technique.subtechnique.reference\"?: string[] | undefined; } & { [x: string]: unknown[]; }" ], "path": "x-pack/plugins/triggers_actions_ui/public/types.ts", "deprecated": false, diff --git a/api_docs/triggers_actions_ui.mdx b/api_docs/triggers_actions_ui.mdx index 5d981ba61183f..c3bab17c76d18 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-01-23 +date: 2023-01-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 8c47375d5532d..5768d4d47e19a 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-01-23 +date: 2023-01-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 cfedc3f66a919..9a2e2688c618b 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-01-23 +date: 2023-01-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'uiActionsEnhanced'] --- import uiActionsEnhancedObj from './ui_actions_enhanced.devdocs.json'; diff --git a/api_docs/unified_field_list.mdx b/api_docs/unified_field_list.mdx index 7ee1f3878b567..4af77b69a2a50 100644 --- a/api_docs/unified_field_list.mdx +++ b/api_docs/unified_field_list.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/unifiedFieldList title: "unifiedFieldList" image: https://source.unsplash.com/400x175/?github description: API docs for the unifiedFieldList plugin -date: 2023-01-23 +date: 2023-01-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'unifiedFieldList'] --- import unifiedFieldListObj from './unified_field_list.devdocs.json'; diff --git a/api_docs/unified_histogram.mdx b/api_docs/unified_histogram.mdx index c72e5eb087f3f..d426e0f5750fe 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-01-23 +date: 2023-01-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 fb4bd4dba1426..7b5afe12f9813 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-01-23 +date: 2023-01-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 5735e950dd9e4..548439614f538 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-01-23 +date: 2023-01-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'unifiedSearch.autocomplete'] --- import unifiedSearchAutocompleteObj from './unified_search_autocomplete.devdocs.json'; diff --git a/api_docs/url_forwarding.mdx b/api_docs/url_forwarding.mdx index 82ed77a953e28..2bbad182b7433 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-01-23 +date: 2023-01-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 7af3d592999e8..f22ed712c50bb 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-01-23 +date: 2023-01-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 cbcd05f096a12..fb4ae1f8b0638 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-01-23 +date: 2023-01-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 01b4a9f98e7b8..bd7955854a367 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-01-23 +date: 2023-01-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 7bff9670c5818..97eb2a8aa1d2f 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-01-23 +date: 2023-01-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 492901d663c00..710d90af79dae 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-01-23 +date: 2023-01-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 278d71b3f3500..52dad7f788308 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-01-23 +date: 2023-01-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 22516a52290b1..f35350542f025 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-01-23 +date: 2023-01-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 388541ac59fce..eb1a93c15b37d 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-01-23 +date: 2023-01-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 e36f7b12a10c0..0f545cb502b3a 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-01-23 +date: 2023-01-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 ed72bfafabc61..c581d4537320f 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-01-23 +date: 2023-01-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 b6a172489358f..8a598f2a8af51 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-01-23 +date: 2023-01-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 3e497b1426b59..9181fa899b681 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-01-23 +date: 2023-01-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeXy'] --- import visTypeXyObj from './vis_type_xy.devdocs.json'; diff --git a/api_docs/visualizations.devdocs.json b/api_docs/visualizations.devdocs.json index 504fa443dabb0..2d07aa3db8e21 100644 --- a/api_docs/visualizations.devdocs.json +++ b/api_docs/visualizations.devdocs.json @@ -6320,7 +6320,7 @@ "section": "def-public.VisualizeInput", "text": "VisualizeInput" }, - "; getDescription: () => string; destroy: () => void; readonly parent?: ", + "; getDescription: () => string; reload: () => Promise; destroy: () => void; readonly parent?: ", { "pluginId": "embeddable", "scope": "public", @@ -6416,7 +6416,7 @@ "section": "def-public.ExpressionRenderError", "text": "ExpressionRenderError" }, - ") => void; reload: () => Promise; supportedTriggers: () => string[]; getExpressionVariables$: () => ", + ") => void; supportedTriggers: () => string[]; getExpressionVariables$: () => ", "Observable", " | undefined>; getExpressionVariables: () => Record | undefined; inputIsRefType: (input: ", { diff --git a/api_docs/visualizations.mdx b/api_docs/visualizations.mdx index a09b11b2250f9..fbb176e39d392 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-01-23 +date: 2023-01-24 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visualizations'] --- import visualizationsObj from './visualizations.devdocs.json'; diff --git a/package.json b/package.json index b9a9b3b1e338c..72682515edd05 100644 --- a/package.json +++ b/package.json @@ -105,7 +105,7 @@ "@elastic/apm-rum-react": "^1.4.2", "@elastic/charts": "51.3.0", "@elastic/datemath": "5.0.3", - "@elastic/elasticsearch": "npm:@elastic/elasticsearch-canary@8.5.0-canary.1", + "@elastic/elasticsearch": "npm:@elastic/elasticsearch-canary@8.6.0-canary.3", "@elastic/ems-client": "8.3.3", "@elastic/eui": "73.0.0", "@elastic/filesaver": "1.1.2", diff --git a/packages/core/execution-context/core-execution-context-browser-internal/src/execution_context_service.test.ts b/packages/core/execution-context/core-execution-context-browser-internal/src/execution_context_service.test.ts index 767d3aa3e2dd8..115931632f583 100644 --- a/packages/core/execution-context/core-execution-context-browser-internal/src/execution_context_service.test.ts +++ b/packages/core/execution-context/core-execution-context-browser-internal/src/execution_context_service.test.ts @@ -87,6 +87,7 @@ describe('ExecutionContextService', () => { ` Object { "name": "app2", + "type": "application", "url": "/", } ` @@ -244,6 +245,7 @@ describe('ExecutionContextService', () => { execContext.clear(); expect(sub).toHaveBeenCalledWith({ name: 'app1', + type: 'application', url: '/', }); diff --git a/packages/core/execution-context/core-execution-context-browser-internal/src/execution_context_service.ts b/packages/core/execution-context/core-execution-context-browser-internal/src/execution_context_service.ts index c54747f43c21a..e09de53c78727 100644 --- a/packages/core/execution-context/core-execution-context-browser-internal/src/execution_context_service.ts +++ b/packages/core/execution-context/core-execution-context-browser-internal/src/execution_context_service.ts @@ -98,6 +98,7 @@ export class ExecutionContextService private getDefaultContext() { return { + type: 'application', name: this.appId, url: window.location.pathname, }; diff --git a/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/point_in_time_finder.ts b/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/point_in_time_finder.ts index 7dffbbdaa356f..834a64552a1ec 100644 --- a/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/point_in_time_finder.ts +++ b/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/point_in_time_finder.ts @@ -75,7 +75,7 @@ export class PointInTimeFinder await this.open(); let lastResultsCount: number; - let lastHitSortValue: estypes.Id[] | undefined; + let lastHitSortValue: estypes.SortResults | undefined; do { const results = await this.findNext({ findOptions: this.#findOptions, @@ -142,7 +142,7 @@ export class PointInTimeFinder }: { findOptions: SavedObjectsFindOptions; id?: string; - searchAfter?: estypes.Id[]; + searchAfter?: estypes.SortResults; }) { try { return await this.#client.find( @@ -167,7 +167,7 @@ export class PointInTimeFinder } } - private getLastHitSortValue(res: SavedObjectsFindResponse): estypes.Id[] | undefined { + private getLastHitSortValue(res: SavedObjectsFindResponse): estypes.SortResults | undefined { if (res.saved_objects.length < 1) { return undefined; } diff --git a/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/search_dsl/search_dsl.ts b/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/search_dsl/search_dsl.ts index bcc705da1282d..5af44df7172eb 100644 --- a/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/search_dsl/search_dsl.ts +++ b/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/search_dsl/search_dsl.ts @@ -25,7 +25,7 @@ interface GetSearchDslOptions { defaultSearchOperator?: SearchOperator; searchFields?: string[]; rootSearchFields?: string[]; - searchAfter?: estypes.Id[]; + searchAfter?: estypes.SortResults; sortField?: string; sortOrder?: estypes.SortOrder; namespaces?: string[]; diff --git a/packages/core/saved-objects/core-saved-objects-api-server/src/apis/find.ts b/packages/core/saved-objects/core-saved-objects-api-server/src/apis/find.ts index 8e754d26533c3..5c57043754161 100644 --- a/packages/core/saved-objects/core-saved-objects-api-server/src/apis/find.ts +++ b/packages/core/saved-objects/core-saved-objects-api-server/src/apis/find.ts @@ -9,7 +9,7 @@ import type { SortOrder, AggregationsAggregationContainer, - Id as EsId, + SortResults, } from '@elastic/elasticsearch/lib/api/typesWithBodyKey'; import type { SavedObject } from '@kbn/core-saved-objects-common'; @@ -68,7 +68,7 @@ export interface SavedObjectsFindOptions { /** * Use the sort values from the previous page to retrieve the next page of results. */ - searchAfter?: EsId[]; + searchAfter?: SortResults; /** * The fields to perform the parsed query against. Unlike the `searchFields` argument, these are expected to be root fields and will not * be modified. If used in conjunction with `searchFields`, both are concatenated together. @@ -176,7 +176,7 @@ export interface SavedObjectsFindResult extends SavedObject { * await savedObjectsClient.closePointInTime(page2.pit_id); * ``` */ - sort?: string[]; + sort?: SortResults; } /** diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/__snapshots__/migrations_state_action_machine.test.ts.snap b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/__snapshots__/migrations_state_action_machine.test.ts.snap index 4e19c9bf62690..b0c7fd0f37289 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/__snapshots__/migrations_state_action_machine.test.ts.snap +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/__snapshots__/migrations_state_action_machine.test.ts.snap @@ -46,6 +46,11 @@ Object { "type": "cases-sub-case", }, }, + Object { + "term": Object { + "type": "csp_rule", + }, + }, Object { "term": Object { "type": "file-upload-telemetry", @@ -227,6 +232,11 @@ Object { "type": "cases-sub-case", }, }, + Object { + "term": Object { + "type": "csp_rule", + }, + }, Object { "term": Object { "type": "file-upload-telemetry", @@ -412,6 +422,11 @@ Object { "type": "cases-sub-case", }, }, + Object { + "term": Object { + "type": "csp_rule", + }, + }, Object { "term": Object { "type": "file-upload-telemetry", @@ -601,6 +616,11 @@ Object { "type": "cases-sub-case", }, }, + Object { + "term": Object { + "type": "csp_rule", + }, + }, Object { "term": Object { "type": "file-upload-telemetry", @@ -832,6 +852,11 @@ Object { "type": "cases-sub-case", }, }, + Object { + "term": Object { + "type": "csp_rule", + }, + }, Object { "term": Object { "type": "file-upload-telemetry", @@ -1024,6 +1049,11 @@ Object { "type": "cases-sub-case", }, }, + Object { + "term": Object { + "type": "csp_rule", + }, + }, Object { "term": Object { "type": "file-upload-telemetry", diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/core/unused_types.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/core/unused_types.ts index 7dbcf2c270ba4..60ace4e28de0e 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/core/unused_types.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/core/unused_types.ts @@ -39,6 +39,8 @@ export const REMOVED_TYPES: string[] = [ 'ui-counter', // Deprecated, no longer used since 7.13 https://github.com/elastic/kibana/pull/94923/files 'application_usage_transactional', + // Deprecated, no longer used since 8.7 https://github.com/elastic/kibana/pull/148530 + 'csp_rule', ].sort(); // When migrating from the outdated index we use a read query which excludes diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/initial_state.test.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/initial_state.test.ts index 35d22e69f724e..ee99e599a998a 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/initial_state.test.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/initial_state.test.ts @@ -83,6 +83,11 @@ describe('createInitialState', () => { "type": "cases-sub-case", }, }, + Object { + "term": Object { + "type": "csp_rule", + }, + }, Object { "term": Object { "type": "file-upload-telemetry", diff --git a/packages/kbn-es-query/src/filters/build_filters/phrase_filter.test.ts b/packages/kbn-es-query/src/filters/build_filters/phrase_filter.test.ts index 1088ba196840c..f2fc685b2e180 100644 --- a/packages/kbn-es-query/src/filters/build_filters/phrase_filter.test.ts +++ b/packages/kbn-es-query/src/filters/build_filters/phrase_filter.test.ts @@ -134,7 +134,7 @@ describe('buildInlineScriptForPhraseFilter', () => { }; const expected = - `boolean compare(Supplier s, def v) {return s.get() == v;}` + + `boolean compare(Supplier s, def v) {if(s.get() instanceof List){List list = s.get(); for(def k : list){if(k==v){return true;}}return false;}else{return s.get() == v;}}` + `compare(() -> { return foo; }, params.value);`; expect(buildInlineScriptForPhraseFilter(field)).toBe(expected); diff --git a/packages/kbn-es-query/src/filters/build_filters/phrase_filter.ts b/packages/kbn-es-query/src/filters/build_filters/phrase_filter.ts index 3bbf94cd0722a..4adc8fdc0fdd4 100644 --- a/packages/kbn-es-query/src/filters/build_filters/phrase_filter.ts +++ b/packages/kbn-es-query/src/filters/build_filters/phrase_filter.ts @@ -148,7 +148,7 @@ export const buildInlineScriptForPhraseFilter = (scriptedField: DataViewFieldBas // We must wrap painless scripts in a lambda in case they're more than a simple expression if (scriptedField.lang === 'painless') { return ( - `boolean compare(Supplier s, def v) {return s.get() == v;}` + + `boolean compare(Supplier s, def v) {if(s.get() instanceof List){List list = s.get(); for(def k : list){if(k==v){return true;}}return false;}else{return s.get() == v;}}` + `compare(() -> { ${scriptedField.script} }, params.value);` ); } else { diff --git a/packages/kbn-rule-data-utils/index.ts b/packages/kbn-rule-data-utils/index.ts index 897e5609a8347..18c81aba6d81a 100644 --- a/packages/kbn-rule-data-utils/index.ts +++ b/packages/kbn-rule-data-utils/index.ts @@ -6,6 +6,7 @@ * Side Public License, v 1. */ +export * from './src/default_alerts_as_data'; export * from './src/technical_field_names'; export * from './src/alerts_as_data_rbac'; export * from './src/alerts_as_data_severity'; diff --git a/packages/kbn-rule-data-utils/src/default_alerts_as_data.ts b/packages/kbn-rule-data-utils/src/default_alerts_as_data.ts new file mode 100644 index 0000000000000..b428bea94cdcd --- /dev/null +++ b/packages/kbn-rule-data-utils/src/default_alerts_as_data.ts @@ -0,0 +1,141 @@ +/* + * Copyright 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 { ValuesType } from 'utility-types'; + +const KIBANA_NAMESPACE = 'kibana' as const; +const ALERT_NAMESPACE = `${KIBANA_NAMESPACE}.alert` as const; +const ALERT_RULE_NAMESPACE = `${ALERT_NAMESPACE}.rule` as const; + +// kibana.space_ids - space ID(s) of the rule that created this alert +const SPACE_IDS = `${KIBANA_NAMESPACE}.space_ids` as const; + +// kibana.version - Kibana version that this alert was created +const VERSION = `${KIBANA_NAMESPACE}.version` as const; + +// kibana.alert.action_group - framework action group ID for this alert +const ALERT_ACTION_GROUP = `${ALERT_NAMESPACE}.action_group` as const; + +// kibana.alert.duration.us - alert duration in nanoseconds - updated each execution +// that the alert is active +const ALERT_DURATION = `${ALERT_NAMESPACE}.duration.us` as const; + +// kibana.alert.end - timestamp when the alert is auto-recovered by the framework +const ALERT_END = `${ALERT_NAMESPACE}.end` as const; + +// kibana.alert.flapping - whether the alert is currently in a flapping state +const ALERT_FLAPPING = `${ALERT_NAMESPACE}.flapping` as const; + +// kibana.alert.id - alert ID, also known as alert instance ID +const ALERT_ID = `${ALERT_NAMESPACE}.id` as const; + +// kibana.alert.reason - human readable reason that this alert is active +const ALERT_REASON = `${ALERT_NAMESPACE}.reason` as const; + +// kibana.alert.start - timestamp when the alert is first active +const ALERT_START = `${ALERT_NAMESPACE}.start` as const; + +// kibana.alert.status - active/recovered status of alert +const ALERT_STATUS = `${ALERT_NAMESPACE}.status` as const; + +// kibana.alert.time_range - time range of alert from kibana.alert.start to now +const ALERT_TIME_RANGE = `${ALERT_NAMESPACE}.time_range` as const; + +// kibana.alert.uuid - unique ID for the active span of this alert +const ALERT_UUID = `${ALERT_NAMESPACE}.uuid` as const; + +// kibana.alert.workflow_status - open/closed status of alert +const ALERT_WORKFLOW_STATUS = `${ALERT_NAMESPACE}.workflow_status` as const; + +// kibana.alert.rule.category - rule type name for rule that generated this alert +const ALERT_RULE_CATEGORY = `${ALERT_RULE_NAMESPACE}.category` as const; + +// kibana.alert.rule.consumer - consumer for rule that generated this alert +const ALERT_RULE_CONSUMER = `${ALERT_RULE_NAMESPACE}.consumer` as const; + +// kibana.alert.rule.execution.uuid - unique ID for the rule execution that generated this alert +const ALERT_RULE_EXECUTION_UUID = `${ALERT_RULE_NAMESPACE}.execution.uuid` as const; + +// kibana.alert.rule.name - rule name for rule that generated this alert +const ALERT_RULE_NAME = `${ALERT_RULE_NAMESPACE}.name` as const; + +// kibana.alert.rule.parameters - rule parameters for rule that generated this alert +const ALERT_RULE_PARAMETERS = `${ALERT_RULE_NAMESPACE}.parameters` as const; + +// kibana.alert.rule.producer - rule type producer for rule that generated this alert +const ALERT_RULE_PRODUCER = `${ALERT_RULE_NAMESPACE}.producer` as const; + +// kibana.alert.rule.tags - rule tags for rule that generated this alert +const ALERT_RULE_TAGS = `${ALERT_RULE_NAMESPACE}.tags` as const; + +// kibana.alert.rule_type_id - rule type id for rule that generated this alert +const ALERT_RULE_TYPE_ID = `${ALERT_RULE_NAMESPACE}.rule_type_id` as const; + +// kibana.alert.rule.uuid - rule ID for rule that generated this alert +const ALERT_RULE_UUID = `${ALERT_RULE_NAMESPACE}.uuid` as const; + +const namespaces = { + KIBANA_NAMESPACE, + ALERT_NAMESPACE, + ALERT_RULE_NAMESPACE, +}; + +const fields = { + ALERT_ACTION_GROUP, + ALERT_DURATION, + ALERT_END, + ALERT_FLAPPING, + ALERT_ID, + ALERT_REASON, + ALERT_RULE_CATEGORY, + ALERT_RULE_CONSUMER, + ALERT_RULE_EXECUTION_UUID, + ALERT_RULE_NAME, + ALERT_RULE_PARAMETERS, + ALERT_RULE_PRODUCER, + ALERT_RULE_TAGS, + ALERT_RULE_TYPE_ID, + ALERT_RULE_UUID, + ALERT_START, + ALERT_STATUS, + ALERT_TIME_RANGE, + ALERT_UUID, + ALERT_WORKFLOW_STATUS, + SPACE_IDS, + VERSION, +}; + +export { + ALERT_ACTION_GROUP, + ALERT_DURATION, + ALERT_END, + ALERT_FLAPPING, + ALERT_ID, + ALERT_REASON, + ALERT_RULE_CATEGORY, + ALERT_RULE_CONSUMER, + ALERT_RULE_EXECUTION_UUID, + ALERT_RULE_NAME, + ALERT_RULE_PARAMETERS, + ALERT_RULE_PRODUCER, + ALERT_RULE_TAGS, + ALERT_RULE_TYPE_ID, + ALERT_RULE_UUID, + ALERT_START, + ALERT_STATUS, + ALERT_TIME_RANGE, + ALERT_UUID, + ALERT_WORKFLOW_STATUS, + SPACE_IDS, + VERSION, + ALERT_NAMESPACE, + ALERT_RULE_NAMESPACE, + KIBANA_NAMESPACE, +}; + +export type DefaultAlertFieldName = ValuesType; diff --git a/packages/kbn-rule-data-utils/src/technical_field_names.ts b/packages/kbn-rule-data-utils/src/technical_field_names.ts index b5c4516c6c2c7..89eca0f923046 100644 --- a/packages/kbn-rule-data-utils/src/technical_field_names.ts +++ b/packages/kbn-rule-data-utils/src/technical_field_names.ts @@ -7,41 +7,51 @@ */ import { ValuesType } from 'utility-types'; +import { + KIBANA_NAMESPACE, + ALERT_ACTION_GROUP, + ALERT_DURATION, + ALERT_END, + ALERT_FLAPPING, + ALERT_REASON, + ALERT_RULE_CATEGORY, + ALERT_RULE_CONSUMER, + ALERT_RULE_EXECUTION_UUID, + ALERT_RULE_NAME, + ALERT_RULE_PARAMETERS, + ALERT_RULE_PRODUCER, + ALERT_RULE_TAGS, + ALERT_RULE_TYPE_ID, + ALERT_RULE_UUID, + ALERT_START, + ALERT_STATUS, + ALERT_TIME_RANGE, + ALERT_UUID, + ALERT_WORKFLOW_STATUS, + SPACE_IDS, + VERSION, + ALERT_NAMESPACE, + ALERT_RULE_NAMESPACE, +} from './default_alerts_as_data'; -const KIBANA_NAMESPACE = 'kibana' as const; - -const ALERT_NAMESPACE = `${KIBANA_NAMESPACE}.alert` as const; -const ALERT_RULE_NAMESPACE = `${ALERT_NAMESPACE}.rule` as const; const ALERT_RULE_THREAT_NAMESPACE = `${ALERT_RULE_NAMESPACE}.threat` as const; const ECS_VERSION = 'ecs.version' as const; const EVENT_ACTION = 'event.action' as const; const EVENT_KIND = 'event.kind' as const; const EVENT_MODULE = 'event.module' as const; -const SPACE_IDS = `${KIBANA_NAMESPACE}.space_ids` as const; const TAGS = 'tags' as const; const TIMESTAMP = '@timestamp' as const; -const VERSION = `${KIBANA_NAMESPACE}.version` as const; // Fields pertaining to the alert -const ALERT_ACTION_GROUP = `${ALERT_NAMESPACE}.action_group` as const; const ALERT_BUILDING_BLOCK_TYPE = `${ALERT_NAMESPACE}.building_block_type` as const; -const ALERT_DURATION = `${ALERT_NAMESPACE}.duration.us` as const; -const ALERT_END = `${ALERT_NAMESPACE}.end` as const; const ALERT_EVALUATION_THRESHOLD = `${ALERT_NAMESPACE}.evaluation.threshold` as const; const ALERT_EVALUATION_VALUE = `${ALERT_NAMESPACE}.evaluation.value` as const; -const ALERT_FLAPPING = `${ALERT_NAMESPACE}.flapping` as const; const ALERT_INSTANCE_ID = `${ALERT_NAMESPACE}.instance.id` as const; -const ALERT_REASON = `${ALERT_NAMESPACE}.reason` as const; const ALERT_RISK_SCORE = `${ALERT_NAMESPACE}.risk_score` as const; const ALERT_SEVERITY = `${ALERT_NAMESPACE}.severity` as const; -const ALERT_START = `${ALERT_NAMESPACE}.start` as const; -const ALERT_TIME_RANGE = `${ALERT_NAMESPACE}.time_range` as const; -const ALERT_STATUS = `${ALERT_NAMESPACE}.status` as const; const ALERT_SYSTEM_STATUS = `${ALERT_NAMESPACE}.system_status` as const; -const ALERT_UUID = `${ALERT_NAMESPACE}.uuid` as const; const ALERT_WORKFLOW_REASON = `${ALERT_NAMESPACE}.workflow_reason` as const; -const ALERT_WORKFLOW_STATUS = `${ALERT_NAMESPACE}.workflow_status` as const; const ALERT_WORKFLOW_USER = `${ALERT_NAMESPACE}.workflow_user` as const; const ALERT_SUPPRESSION_META = `${ALERT_NAMESPACE}.suppression` as const; const ALERT_SUPPRESSION_TERMS = `${ALERT_SUPPRESSION_META}.terms` as const; @@ -61,22 +71,16 @@ const ALERT_RULE_CREATED_BY = `${ALERT_RULE_NAMESPACE}.created_by` as const; const ALERT_RULE_DESCRIPTION = `${ALERT_RULE_NAMESPACE}.description` as const; const ALERT_RULE_ENABLED = `${ALERT_RULE_NAMESPACE}.enabled` as const; const ALERT_RULE_EXCEPTIONS_LIST = `${ALERT_RULE_NAMESPACE}.exceptions_list` as const; -const ALERT_RULE_EXECUTION_UUID = `${ALERT_RULE_NAMESPACE}.execution.uuid` as const; const ALERT_RULE_FROM = `${ALERT_RULE_NAMESPACE}.from` as const; const ALERT_RULE_INTERVAL = `${ALERT_RULE_NAMESPACE}.interval` as const; const ALERT_RULE_LICENSE = `${ALERT_RULE_NAMESPACE}.license` as const; -const ALERT_RULE_CATEGORY = `${ALERT_RULE_NAMESPACE}.category` as const; -const ALERT_RULE_NAME = `${ALERT_RULE_NAMESPACE}.name` as const; const ALERT_RULE_NAMESPACE_FIELD = `${ALERT_RULE_NAMESPACE}.namespace` as const; const ALERT_RULE_NOTE = `${ALERT_RULE_NAMESPACE}.note` as const; -const ALERT_RULE_PARAMETERS = `${ALERT_RULE_NAMESPACE}.parameters` as const; const ALERT_RULE_REFERENCES = `${ALERT_RULE_NAMESPACE}.references` as const; const ALERT_RULE_RULE_ID = `${ALERT_RULE_NAMESPACE}.rule_id` as const; const ALERT_RULE_RULE_NAME_OVERRIDE = `${ALERT_RULE_NAMESPACE}.rule_name_override` as const; -const ALERT_RULE_TAGS = `${ALERT_RULE_NAMESPACE}.tags` as const; const ALERT_RULE_TO = `${ALERT_RULE_NAMESPACE}.to` as const; const ALERT_RULE_TYPE = `${ALERT_RULE_NAMESPACE}.type` as const; -const ALERT_RULE_TYPE_ID = `${ALERT_RULE_NAMESPACE}.rule_type_id` as const; const ALERT_RULE_UPDATED_AT = `${ALERT_RULE_NAMESPACE}.updated_at` as const; const ALERT_RULE_UPDATED_BY = `${ALERT_RULE_NAMESPACE}.updated_by` as const; const ALERT_RULE_VERSION = `${ALERT_RULE_NAMESPACE}.version` as const; @@ -97,16 +101,6 @@ const ALERT_THREAT_TECHNIQUE_SUBTECHNIQUE_NAME = const ALERT_THREAT_TECHNIQUE_SUBTECHNIQUE_REFERENCE = `${ALERT_RULE_THREAT_NAMESPACE}.technique.subtechnique.reference` as const; -// the feature instantiating a rule type. -// Rule created in stack --> alerts -// Rule created in siem --> siem -const ALERT_RULE_CONSUMER = `${ALERT_RULE_NAMESPACE}.consumer` as const; -// the plugin that registered the rule type. -// Rule type apm.error_rate --> apm -// Rule type siem.signals --> siem -const ALERT_RULE_PRODUCER = `${ALERT_RULE_NAMESPACE}.producer` as const; -const ALERT_RULE_UUID = `${ALERT_RULE_NAMESPACE}.uuid` as const; - const namespaces = { KIBANA_NAMESPACE, ALERT_NAMESPACE, @@ -189,23 +183,12 @@ const fields = { }; export { - ALERT_ACTION_GROUP, ALERT_BUILDING_BLOCK_TYPE, - ALERT_DURATION, - ALERT_END, ALERT_EVALUATION_THRESHOLD, ALERT_EVALUATION_VALUE, - ALERT_FLAPPING, ALERT_INSTANCE_ID, - ALERT_NAMESPACE, - ALERT_RULE_NAMESPACE, - ALERT_RULE_CONSUMER, - ALERT_RULE_PRODUCER, - ALERT_REASON, ALERT_RISK_SCORE, - ALERT_STATUS, ALERT_WORKFLOW_REASON, - ALERT_WORKFLOW_STATUS, ALERT_WORKFLOW_USER, ALERT_CASE_IDS, ALERT_RULE_AUTHOR, @@ -214,36 +197,25 @@ export { ALERT_RULE_DESCRIPTION, ALERT_RULE_ENABLED, ALERT_RULE_EXCEPTIONS_LIST, - ALERT_RULE_EXECUTION_UUID, ALERT_RULE_FROM, ALERT_RULE_INTERVAL, ALERT_RULE_LICENSE, - ALERT_RULE_NAME, ALERT_RULE_NAMESPACE_FIELD, ALERT_RULE_NOTE, - ALERT_RULE_PARAMETERS, ALERT_RULE_REFERENCES, ALERT_RULE_RULE_ID, ALERT_RULE_RULE_NAME_OVERRIDE, - ALERT_RULE_TAGS, ALERT_RULE_TO, ALERT_RULE_TYPE, - ALERT_RULE_TYPE_ID, ALERT_RULE_UPDATED_AT, ALERT_RULE_UPDATED_BY, ALERT_RULE_VERSION, ALERT_SEVERITY, - ALERT_START, - ALERT_TIME_RANGE, ALERT_SYSTEM_STATUS, - ALERT_UUID, ECS_VERSION, EVENT_ACTION, EVENT_KIND, EVENT_MODULE, - KIBANA_NAMESPACE, - ALERT_RULE_UUID, - ALERT_RULE_CATEGORY, ALERT_THREAT_FRAMEWORK, ALERT_THREAT_TACTIC_ID, ALERT_THREAT_TACTIC_NAME, @@ -262,8 +234,6 @@ export { ALERT_SUPPRESSION_DOCS_COUNT, TAGS, TIMESTAMP, - SPACE_IDS, - VERSION, }; export type TechnicalRuleDataFieldName = ValuesType; diff --git a/src/core/server/integration_tests/saved_objects/migrations/check_registered_types.test.ts b/src/core/server/integration_tests/saved_objects/migrations/check_registered_types.test.ts index 569e8b81afd2d..5f148325d6f5a 100644 --- a/src/core/server/integration_tests/saved_objects/migrations/check_registered_types.test.ts +++ b/src/core/server/integration_tests/saved_objects/migrations/check_registered_types.test.ts @@ -80,7 +80,6 @@ describe('checking migration metadata changes on all registered SO types', () => "connector_token": "fa5301aa5a2914795d3b1b82d0a49939444009da", "core-usage-stats": "f40a213da2c597b0de94e364a4326a5a1baa4ca9", "csp-rule-template": "d6104585d0b032355c64a7dbf2a834163351cb1c", - "csp_rule": "d2bb53ea5d2bdfba1a835ad8956dfcd2b2c32e19", "dashboard": "7e37790f802b39c852f905c010e13674e893105a", "endpoint:user-artifact": "f94c250a52b30d0a2d32635f8b4c5bdabd1e25c0", "endpoint:user-artifact-manifest": "8c14d49a385d5d1307d956aa743ec78de0b2be88", diff --git a/src/plugins/dev_tools/public/application.tsx b/src/plugins/dev_tools/public/application.tsx index 1a1d7ca9fb430..0499c4ab5ccb1 100644 --- a/src/plugins/dev_tools/public/application.tsx +++ b/src/plugins/dev_tools/public/application.tsx @@ -108,9 +108,6 @@ function DevToolsWrapper({ label={i18n.translate('devTools.badge.betaLabel', { defaultMessage: 'Beta', })} - tooltipContent={i18n.translate('devTools.badge.betaTooltipText', { - defaultMessage: 'This feature might change drastically in future releases', - })} /> )} diff --git a/src/plugins/guided_onboarding/public/components/guide_panel.styles.ts b/src/plugins/guided_onboarding/public/components/guide_panel.styles.ts index 46ad2de0906fc..4768d4112bcea 100644 --- a/src/plugins/guided_onboarding/public/components/guide_panel.styles.ts +++ b/src/plugins/guided_onboarding/public/components/guide_panel.styles.ts @@ -36,7 +36,7 @@ export const getGuidePanelStyles = (euiTheme: EuiThemeComputed) => ({ } `, flyoutBody: css` - overflow: scroll; + overflow: auto; .euiFlyoutBody__overflowContent { width: 480px; padding-top: 10px; diff --git a/src/plugins/saved_objects_management/public/management_section/objects_table/__snapshots__/saved_objects_table.test.tsx.snap b/src/plugins/saved_objects_management/public/management_section/objects_table/__snapshots__/saved_objects_table.test.tsx.snap index e0a7bada5c432..1893231609eb9 100644 --- a/src/plugins/saved_objects_management/public/management_section/objects_table/__snapshots__/saved_objects_table.test.tsx.snap +++ b/src/plugins/saved_objects_management/public/management_section/objects_table/__snapshots__/saved_objects_table.test.tsx.snap @@ -47,6 +47,7 @@ exports[`SavedObjectsTable delete should show a confirm modal 1`] = ` }, ] } + showPlainSpinner={false} /> `; diff --git a/src/plugins/saved_objects_management/public/management_section/objects_table/components/delete_confirm_modal.test.tsx b/src/plugins/saved_objects_management/public/management_section/objects_table/components/delete_confirm_modal.test.tsx index 8bcc940514d62..8f3209c5fee1b 100644 --- a/src/plugins/saved_objects_management/public/management_section/objects_table/components/delete_confirm_modal.test.tsx +++ b/src/plugins/saved_objects_management/public/management_section/objects_table/components/delete_confirm_modal.test.tsx @@ -41,7 +41,7 @@ describe('DeleteConfirmModal', () => { onCancel = jest.fn(); }); - it('displays a loader if `isDeleting` is true', () => { + it('displays a EuiLoadingElastic spinner if `isDeleting` is true', () => { const wrapper = mountWithIntl( { expect(wrapper.find('EuiModal')).toHaveLength(0); }); + it('displays a EuiLoadingSpinner if `isDeleting` is true and `showPlainSpinner` is true', () => { + const wrapper = mountWithIntl( + + ); + expect(wrapper.find('EuiLoadingElastic')).toHaveLength(0); + expect(wrapper.find('EuiLoadingSpinner')).toHaveLength(1); + }); + it('lists the objects to delete', () => { const objs = [createObject(), createObject(), createObject()]; const wrapper = mountWithIntl( diff --git a/src/plugins/saved_objects_management/public/management_section/objects_table/components/delete_confirm_modal.tsx b/src/plugins/saved_objects_management/public/management_section/objects_table/components/delete_confirm_modal.tsx index 784709451f835..65e29fb1fd194 100644 --- a/src/plugins/saved_objects_management/public/management_section/objects_table/components/delete_confirm_modal.tsx +++ b/src/plugins/saved_objects_management/public/management_section/objects_table/components/delete_confirm_modal.tsx @@ -24,6 +24,7 @@ import { EuiButton, EuiSpacer, EuiCallOut, + EuiLoadingSpinner, } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; import { FormattedMessage } from '@kbn/i18n-react'; @@ -36,6 +37,7 @@ export interface DeleteConfirmModalProps { onCancel: () => void; selectedObjects: SavedObjectWithMetadata[]; allowedTypes: SavedObjectManagementTypeInfo[]; + showPlainSpinner?: boolean; } export const DeleteConfirmModal: FC = ({ @@ -44,6 +46,7 @@ export const DeleteConfirmModal: FC = ({ onCancel, selectedObjects, allowedTypes, + showPlainSpinner, }) => { const undeletableObjects = useMemo(() => { return selectedObjects.filter((obj) => obj.meta.hiddenType); @@ -64,7 +67,7 @@ export const DeleteConfirmModal: FC = ({ if (isDeleting) { return ( - + {showPlainSpinner ? : } ); } diff --git a/src/plugins/saved_objects_management/public/management_section/objects_table/components/flyout.tsx b/src/plugins/saved_objects_management/public/management_section/objects_table/components/flyout.tsx index 8e376fe7c7e6a..8f0be4c8515f8 100644 --- a/src/plugins/saved_objects_management/public/management_section/objects_table/components/flyout.tsx +++ b/src/plugins/saved_objects_management/public/management_section/objects_table/components/flyout.tsx @@ -28,6 +28,7 @@ import { EuiCallOut, EuiSpacer, EuiLink, + EuiLoadingSpinner, } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; import { FormattedMessage } from '@kbn/i18n-react'; @@ -58,6 +59,7 @@ export interface FlyoutProps { basePath: IBasePath; search: ISearchStart; allowedTypes: SavedObjectManagementTypeInfo[]; + showPlainSpinner?: boolean; } export interface FlyoutState { @@ -413,7 +415,7 @@ export class Flyout extends Component { } renderBody() { - const { allowedTypes } = this.props; + const { allowedTypes, showPlainSpinner } = this.props; const { status, loadingMessage, @@ -427,7 +429,7 @@ export class Flyout extends Component { return ( - + {showPlainSpinner ? : }

{loadingMessage}

diff --git a/src/plugins/saved_objects_management/public/management_section/objects_table/components/relationships.test.tsx b/src/plugins/saved_objects_management/public/management_section/objects_table/components/relationships.test.tsx index adb920d3a6133..bffd933ef2e00 100644 --- a/src/plugins/saved_objects_management/public/management_section/objects_table/components/relationships.test.tsx +++ b/src/plugins/saved_objects_management/public/management_section/objects_table/components/relationships.test.tsx @@ -288,12 +288,13 @@ describe('Relationships', () => { }, allowedTypes, close: jest.fn(), + showPlainSpinner: true, }; const component = shallowWithI18nProvider(); // Make sure we are showing loading - expect(component.find('EuiLoadingElastic').length).toBe(1); + expect(component.find('EuiLoadingSpinner').length).toBe(1); // Ensure all promises resolve await new Promise((resolve) => process.nextTick(resolve)); diff --git a/src/plugins/saved_objects_management/public/management_section/objects_table/components/relationships.tsx b/src/plugins/saved_objects_management/public/management_section/objects_table/components/relationships.tsx index 75614ba83ec16..bb097f64c4438 100644 --- a/src/plugins/saved_objects_management/public/management_section/objects_table/components/relationships.tsx +++ b/src/plugins/saved_objects_management/public/management_section/objects_table/components/relationships.tsx @@ -20,6 +20,7 @@ import { EuiToolTip, EuiText, EuiSpacer, + EuiLoadingSpinner, } from '@elastic/eui'; import { SearchFilterConfig } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; @@ -43,6 +44,7 @@ export interface RelationshipsProps { goInspectObject: (obj: SavedObjectWithMetadata) => void; canGoInApp: (obj: SavedObjectWithMetadata) => boolean; allowedTypes: SavedObjectManagementTypeInfo[]; + showPlainSpinner?: boolean; } export interface RelationshipsState { @@ -215,7 +217,7 @@ export class Relationships extends Component; + return showPlainSpinner ? : ; } const columns = [ diff --git a/src/plugins/saved_objects_management/public/management_section/objects_table/saved_objects_table.test.tsx b/src/plugins/saved_objects_management/public/management_section/objects_table/saved_objects_table.test.tsx index e08d0cde6c7cd..69ced5010c560 100644 --- a/src/plugins/saved_objects_management/public/management_section/objects_table/saved_objects_table.test.tsx +++ b/src/plugins/saved_objects_management/public/management_section/objects_table/saved_objects_table.test.tsx @@ -41,6 +41,7 @@ import { } from './saved_objects_table'; import { Flyout, Relationships } from './components'; import { SavedObjectWithMetadata } from '../../types'; +import { customBrandingServiceMock } from '@kbn/core-custom-branding-browser-mocks'; const convertType = (type: string): SavedObjectManagementTypeInfo => ({ name: type, @@ -141,6 +142,7 @@ describe('SavedObjectsTable', () => { goInspectObject: () => {}, canGoInApp: () => true, search, + customBranding: customBrandingServiceMock.createStartContract(), }; findObjectsMock.mockImplementation(() => ({ diff --git a/src/plugins/saved_objects_management/public/management_section/objects_table/saved_objects_table.tsx b/src/plugins/saved_objects_management/public/management_section/objects_table/saved_objects_table.tsx index 0ecd3e0d78a06..1762ccafe698e 100644 --- a/src/plugins/saved_objects_management/public/management_section/objects_table/saved_objects_table.tsx +++ b/src/plugins/saved_objects_management/public/management_section/objects_table/saved_objects_table.tsx @@ -18,6 +18,8 @@ import { RedirectAppLinks } from '@kbn/kibana-react-plugin/public'; import { SavedObjectsTaggingApi } from '@kbn/saved-objects-tagging-oss-plugin/public'; import { DataViewsContract } from '@kbn/data-views-plugin/public'; import { DataPublicPluginStart } from '@kbn/data-plugin/public'; +import { CustomBrandingStart } from '@kbn/core-custom-branding-browser'; +import { Subscription } from 'rxjs'; import type { SavedObjectManagementTypeInfo } from '../../../common/types'; import { parseQuery, @@ -66,6 +68,7 @@ export interface SavedObjectsTableProps { goInspectObject: (obj: SavedObjectWithMetadata) => void; canGoInApp: (obj: SavedObjectWithMetadata) => boolean; initialQuery?: Query; + customBranding: CustomBrandingStart; } export interface SavedObjectsTableState { @@ -88,6 +91,7 @@ export interface SavedObjectsTableState { exportAllOptions: ExportAllOption[]; exportAllSelectedOptions: Record; isIncludeReferencesDeepChecked: boolean; + hasCustomBranding: boolean; } const unableFindSavedObjectsNotificationMessage = i18n.translate( @@ -101,6 +105,7 @@ const unableFindSavedObjectNotificationMessage = i18n.translate( export class SavedObjectsTable extends Component { private _isMounted = false; + private hasCustomBrandingSubscription?: Subscription; constructor(props: SavedObjectsTableProps) { super(props); @@ -131,6 +136,7 @@ export class SavedObjectsTable extends Component { + this.setState({ ...this.state, hasCustomBranding: next }); + } + ); } componentWillUnmount() { this._isMounted = false; this.debouncedFindObjects.cancel(); this.debouncedBulkGetObjects.cancel(); + this.hasCustomBrandingSubscription?.unsubscribe(); } fetchCounts = async () => { @@ -574,6 +586,7 @@ export class SavedObjectsTable extends Component ); } @@ -592,12 +605,14 @@ export class SavedObjectsTable extends Component ); } renderDeleteConfirmModal() { - const { isShowingDeleteConfirmModal, isDeleting, selectedSavedObjects } = this.state; + const { isShowingDeleteConfirmModal, isDeleting, selectedSavedObjects, hasCustomBranding } = + this.state; const { allowedTypes } = this.props; if (!isShowingDeleteConfirmModal) { @@ -615,6 +630,7 @@ export class SavedObjectsTable extends Component ); } diff --git a/src/plugins/saved_objects_management/public/management_section/saved_objects_table_page.tsx b/src/plugins/saved_objects_management/public/management_section/saved_objects_table_page.tsx index ec083bf2f5c00..ef5b8a30d91d9 100644 --- a/src/plugins/saved_objects_management/public/management_section/saved_objects_table_page.tsx +++ b/src/plugins/saved_objects_management/public/management_section/saved_objects_table_page.tsx @@ -102,6 +102,7 @@ const SavedObjectsTablePage = ({ if (!inAppUrl.uiCapabilitiesPath) return true; return Boolean(get(capabilities, inAppUrl.uiCapabilitiesPath)); }} + customBranding={coreStart.customBranding} /> ); diff --git a/src/plugins/saved_objects_management/tsconfig.json b/src/plugins/saved_objects_management/tsconfig.json index aa1449d4a9c2e..98dcb8c303170 100644 --- a/src/plugins/saved_objects_management/tsconfig.json +++ b/src/plugins/saved_objects_management/tsconfig.json @@ -25,6 +25,8 @@ "@kbn/core-saved-objects-common", "@kbn/monaco", "@kbn/config-schema", + "@kbn/core-custom-branding-browser-mocks", + "@kbn/core-custom-branding-browser", ], "exclude": [ "target/**/*", diff --git a/src/plugins/share/public/url_service/redirect/components/page.tsx b/src/plugins/share/public/url_service/redirect/components/page.tsx index 504e5955faca0..38aeafa5920d5 100644 --- a/src/plugins/share/public/url_service/redirect/components/page.tsx +++ b/src/plugins/share/public/url_service/redirect/components/page.tsx @@ -11,6 +11,7 @@ import useObservable from 'react-use/lib/useObservable'; import { EuiPageTemplate_Deprecated as EuiPageTemplate } from '@elastic/eui'; import { ThemeServiceSetup } from '@kbn/core/public'; import { KibanaThemeProvider } from '@kbn/kibana-react-plugin/public'; +import { CustomBrandingStart } from '@kbn/core-custom-branding-browser'; import { Error } from './error'; import { RedirectManager } from '../redirect_manager'; import { Spinner } from './spinner'; @@ -18,10 +19,12 @@ import { Spinner } from './spinner'; export interface PageProps { manager: Pick; theme: ThemeServiceSetup; + customBranding: CustomBrandingStart; } -export const Page: React.FC = ({ manager, theme }) => { +export const Page: React.FC = ({ manager, theme, customBranding }) => { const error = useObservable(manager.error$); + const hasCustomBranding = useObservable(customBranding.hasCustomBranding$); if (error) { return ( @@ -46,7 +49,7 @@ export const Page: React.FC = ({ manager, theme }) => { color: 'primary', }} > - + ); diff --git a/src/plugins/share/public/url_service/redirect/components/spinner.tsx b/src/plugins/share/public/url_service/redirect/components/spinner.tsx index a70ae5eb096af..61b09069f0951 100644 --- a/src/plugins/share/public/url_service/redirect/components/spinner.tsx +++ b/src/plugins/share/public/url_service/redirect/components/spinner.tsx @@ -7,7 +7,13 @@ */ import * as React from 'react'; -import { EuiFlexGroup, EuiFlexItem, EuiLoadingElastic, EuiText } from '@elastic/eui'; +import { + EuiFlexGroup, + EuiFlexItem, + EuiLoadingElastic, + EuiLoadingSpinner, + EuiText, +} from '@elastic/eui'; import { i18n } from '@kbn/i18n'; const text = i18n.translate('share.urlService.redirect.components.Spinner.label', { @@ -15,13 +21,13 @@ const text = i18n.translate('share.urlService.redirect.components.Spinner.label' description: 'Redirect endpoint spinner label.', }); -export const Spinner: React.FC = () => { +export const Spinner: React.FC<{ showPlainSpinner: boolean }> = ({ showPlainSpinner }) => { return ( - + {showPlainSpinner ? : } diff --git a/src/plugins/share/public/url_service/redirect/redirect_manager.ts b/src/plugins/share/public/url_service/redirect/redirect_manager.ts index 1bcf2eeea34dd..330ded65a5b82 100644 --- a/src/plugins/share/public/url_service/redirect/redirect_manager.ts +++ b/src/plugins/share/public/url_service/redirect/redirect_manager.ts @@ -34,7 +34,11 @@ export class RedirectManager { chromeless: true, mount: async (params) => { const { render } = await import('./render'); - const unmount = render(params.element, { manager: this, theme: core.theme }); + const unmount = render(params.element, { + manager: this, + theme: core.theme, + customBranding: core.customBranding, + }); this.onMount(params.history.location); return () => { unmount(); diff --git a/src/plugins/share/tsconfig.json b/src/plugins/share/tsconfig.json index f0d79515d0dcf..914c4661d0ead 100644 --- a/src/plugins/share/tsconfig.json +++ b/src/plugins/share/tsconfig.json @@ -12,6 +12,7 @@ "@kbn/i18n", "@kbn/i18n-react", "@kbn/config-schema", + "@kbn/core-custom-branding-browser", ], "exclude": [ "target/**/*", diff --git a/x-pack/packages/ml/query_utils/README.md b/x-pack/packages/ml/query_utils/README.md index 69a1d5972b7dd..2a60cf71496b2 100644 --- a/x-pack/packages/ml/query_utils/README.md +++ b/x-pack/packages/ml/query_utils/README.md @@ -1,3 +1,3 @@ # @kbn/ml-query-utils -Query utilities. +Query utilities to be used in UIs maintained by the @elastic/ml-ui team. diff --git a/x-pack/packages/ml/query_utils/index.ts b/x-pack/packages/ml/query_utils/index.ts index f016fa6475c80..3e2ac6d532aad 100644 --- a/x-pack/packages/ml/query_utils/index.ts +++ b/x-pack/packages/ml/query_utils/index.ts @@ -6,3 +6,5 @@ */ export { addExcludeFrozenToQuery } from './src/add_exclude_frozen_to_query'; +export { buildBaseFilterCriteria } from './src/build_base_filter_criteria'; +export { getSafeAggregationName } from './src/get_safe_aggregation_name'; diff --git a/x-pack/packages/ml/query_utils/src/add_exclude_frozen_to_query.test.ts b/x-pack/packages/ml/query_utils/src/add_exclude_frozen_to_query.test.ts index 4193b1486bdfe..9c2e5cf0a38c7 100644 --- a/x-pack/packages/ml/query_utils/src/add_exclude_frozen_to_query.test.ts +++ b/x-pack/packages/ml/query_utils/src/add_exclude_frozen_to_query.test.ts @@ -7,7 +7,7 @@ import { addExcludeFrozenToQuery } from './add_exclude_frozen_to_query'; -describe('Util: addExcludeFrozenToQuery()', () => { +describe('addExcludeFrozenToQuery', () => { test('Validation checks.', () => { expect( addExcludeFrozenToQuery({ diff --git a/x-pack/packages/ml/query_utils/src/build_base_filter_criteria.test.ts b/x-pack/packages/ml/query_utils/src/build_base_filter_criteria.test.ts new file mode 100644 index 0000000000000..6fd293e5dbb62 --- /dev/null +++ b/x-pack/packages/ml/query_utils/src/build_base_filter_criteria.test.ts @@ -0,0 +1,49 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor 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 { buildBaseFilterCriteria } from './build_base_filter_criteria'; + +describe('buildBaseFilterCriteria', () => { + const earliestMs = 1483228800000; // 1 Jan 2017 00:00:00 + const latestMs = 1485907199000; // 31 Jan 2017 23:59:59 + const query = { + query_string: { + query: 'region:sa-east-1', + analyze_wildcard: true, + default_field: '*', + }, + }; + + test('returns correct criteria for time range', () => { + expect(buildBaseFilterCriteria('timestamp', earliestMs, latestMs)).toEqual([ + { + range: { + timestamp: { + gte: earliestMs, + lte: latestMs, + format: 'epoch_millis', + }, + }, + }, + ]); + }); + + test('returns correct criteria for time range and query', () => { + expect(buildBaseFilterCriteria('timestamp', earliestMs, latestMs, query)).toEqual([ + { + range: { + timestamp: { + gte: earliestMs, + lte: latestMs, + format: 'epoch_millis', + }, + }, + }, + query, + ]); + }); +}); diff --git a/x-pack/plugins/data_visualizer/common/utils/query_utils.ts b/x-pack/packages/ml/query_utils/src/build_base_filter_criteria.ts similarity index 56% rename from x-pack/plugins/data_visualizer/common/utils/query_utils.ts rename to x-pack/packages/ml/query_utils/src/build_base_filter_criteria.ts index 9f0f746f8909b..28a70d0532145 100644 --- a/x-pack/plugins/data_visualizer/common/utils/query_utils.ts +++ b/x-pack/packages/ml/query_utils/src/build_base_filter_criteria.ts @@ -8,12 +8,16 @@ import type * as estypes from '@elastic/elasticsearch/lib/api/typesWithBodyKey'; import { Query } from '@kbn/es-query'; -/* - * Contains utility functions for building and processing queries. +/** + * Builds the base filter criteria used in queries, + * adding criteria for the time range and an optional query. + * + * @param timeFieldName - optional time field name of the data view + * @param earliestMs - optional earliest timestamp of the selected time range + * @param latestMs - optional latest timestamp of the selected time range + * @param query - optional query + * @returns filter criteria */ - -// Builds the base filter criteria used in queries, -// adding criteria for the time range and an optional query. export function buildBaseFilterCriteria( timeFieldName?: string, earliestMs?: number, @@ -21,6 +25,7 @@ export function buildBaseFilterCriteria( query?: Query['query'] ): estypes.QueryDslQueryContainer[] { const filterCriteria = []; + if (timeFieldName && earliestMs && latestMs) { filterCriteria.push({ range: { @@ -39,11 +44,3 @@ export function buildBaseFilterCriteria( return filterCriteria; } - -// Returns a name which is safe to use in elasticsearch aggregations for the supplied -// field name. Aggregation names must be alpha-numeric and can only contain '_' and '-' characters, -// so if the supplied field names contains disallowed characters, the provided index -// identifier is used to return a safe 'dummy' name in the format 'field_index' e.g. field_0, field_1 -export function getSafeAggregationName(fieldName: string, index: number): string { - return fieldName.match(/^[a-zA-Z0-9-_.]+$/) ? fieldName : `field_${index}`; -} diff --git a/x-pack/packages/ml/query_utils/src/get_safe_aggregation_name.test.ts b/x-pack/packages/ml/query_utils/src/get_safe_aggregation_name.test.ts new file mode 100644 index 0000000000000..822e46d19b74a --- /dev/null +++ b/x-pack/packages/ml/query_utils/src/get_safe_aggregation_name.test.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 { getSafeAggregationName } from './get_safe_aggregation_name'; + +describe('getSafeAggregationName', () => { + test('"foo" should be "foo"', () => { + expect(getSafeAggregationName('foo', 0)).toBe('foo'); + }); + test('"foo.bar" should be "foo.bar"', () => { + expect(getSafeAggregationName('foo.bar', 0)).toBe('foo.bar'); + }); + test('"foo&bar" should be "field_0"', () => { + expect(getSafeAggregationName('foo&bar', 0)).toBe('field_0'); + }); +}); diff --git a/x-pack/packages/ml/query_utils/src/get_safe_aggregation_name.ts b/x-pack/packages/ml/query_utils/src/get_safe_aggregation_name.ts new file mode 100644 index 0000000000000..df1be7628cef8 --- /dev/null +++ b/x-pack/packages/ml/query_utils/src/get_safe_aggregation_name.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. + */ + +/** + * Returns a name which is safe to use in elasticsearch aggregations for the supplied + * field name. Aggregation names must be alpha-numeric and can only contain '_' and '-' characters, + * so if the supplied field names contains disallowed characters, the provided index + * identifier is used to return a safe 'dummy' name in the format 'field_index' e.g. field_0, field_1 + * + * @param fieldName - the field name to check + * @param index - the index number to be used for the safe aggregation name + * @returns safe aggregation name + */ +export function getSafeAggregationName(fieldName: string, index: number): string { + return fieldName.match(/^[a-zA-Z0-9-_.]+$/) ? fieldName : `field_${index}`; +} diff --git a/x-pack/packages/ml/query_utils/tsconfig.json b/x-pack/packages/ml/query_utils/tsconfig.json index 1db807def57b8..acdb082c874b7 100644 --- a/x-pack/packages/ml/query_utils/tsconfig.json +++ b/x-pack/packages/ml/query_utils/tsconfig.json @@ -17,5 +17,6 @@ ], "kbn_references": [ "@kbn/ml-is-populated-object", + "@kbn/es-query", ] } diff --git a/x-pack/plugins/aiops/public/application/utils/query_utils.test.ts b/x-pack/plugins/aiops/public/application/utils/build_extended_base_filter_criteria.test.ts similarity index 91% rename from x-pack/plugins/aiops/public/application/utils/query_utils.test.ts rename to x-pack/plugins/aiops/public/application/utils/build_extended_base_filter_criteria.test.ts index 7a2650f02d3a9..c19dbbdb203c9 100644 --- a/x-pack/plugins/aiops/public/application/utils/query_utils.test.ts +++ b/x-pack/plugins/aiops/public/application/utils/build_extended_base_filter_criteria.test.ts @@ -9,7 +9,7 @@ import type { ChangePoint } from '@kbn/ml-agg-utils'; import type { GroupTableItem } from '../../components/spike_analysis_table/types'; -import { buildBaseFilterCriteria } from './query_utils'; +import { buildExtendedBaseFilterCriteria } from './build_extended_base_filter_criteria'; const selectedChangePointMock: ChangePoint = { doc_count: 53408, @@ -41,9 +41,9 @@ const selectedGroupMock: GroupTableItem = { }; describe('query_utils', () => { - describe('buildBaseFilterCriteria', () => { + describe('buildExtendedBaseFilterCriteria', () => { it('returns range filter based on minimum supplied arguments', () => { - const baseFilterCriteria = buildBaseFilterCriteria('the-time-field-name', 1234, 5678); + const baseFilterCriteria = buildExtendedBaseFilterCriteria('the-time-field-name', 1234, 5678); expect(baseFilterCriteria).toEqual([ { @@ -59,7 +59,7 @@ describe('query_utils', () => { }); it('returns filters including default query with supplied arguments provided via UI', () => { - const baseFilterCriteria = buildBaseFilterCriteria( + const baseFilterCriteria = buildExtendedBaseFilterCriteria( '@timestamp', 1640082000012, 1640103600906, @@ -81,7 +81,7 @@ describe('query_utils', () => { }); it('includes a term filter when including a selectedChangePoint', () => { - const baseFilterCriteria = buildBaseFilterCriteria( + const baseFilterCriteria = buildExtendedBaseFilterCriteria( '@timestamp', 1640082000012, 1640103600906, @@ -105,7 +105,7 @@ describe('query_utils', () => { }); it('includes a term filter with must_not when excluding a selectedChangePoint', () => { - const baseFilterCriteria = buildBaseFilterCriteria( + const baseFilterCriteria = buildExtendedBaseFilterCriteria( '@timestamp', 1640082000012, 1640103600906, @@ -130,7 +130,7 @@ describe('query_utils', () => { }); it('includes multiple term filters when including a selectedGroupMock', () => { - const baseFilterCriteria = buildBaseFilterCriteria( + const baseFilterCriteria = buildExtendedBaseFilterCriteria( '@timestamp', 1640082000012, 1640103600906, @@ -185,7 +185,7 @@ describe('query_utils', () => { }); it('includes a must_not with nested term filters when excluding a selectedGroup', () => { - const baseFilterCriteria = buildBaseFilterCriteria( + const baseFilterCriteria = buildExtendedBaseFilterCriteria( '@timestamp', 1640082000012, 1640103600906, diff --git a/x-pack/plugins/aiops/public/application/utils/query_utils.ts b/x-pack/plugins/aiops/public/application/utils/build_extended_base_filter_criteria.ts similarity index 85% rename from x-pack/plugins/aiops/public/application/utils/query_utils.ts rename to x-pack/plugins/aiops/public/application/utils/build_extended_base_filter_criteria.ts index c39aa62b377c0..b8a2ad55f468c 100644 --- a/x-pack/plugins/aiops/public/application/utils/query_utils.ts +++ b/x-pack/plugins/aiops/public/application/utils/build_extended_base_filter_criteria.ts @@ -12,6 +12,9 @@ import type * as estypes from '@elastic/elasticsearch/lib/api/typesWithBodyKey'; import type { Query } from '@kbn/es-query'; import type { ChangePoint, FieldValuePair } from '@kbn/ml-agg-utils'; + +import { buildBaseFilterCriteria } from '@kbn/ml-query-utils'; + import type { GroupTableItem } from '../../components/spike_analysis_table/types'; /* @@ -20,7 +23,7 @@ import type { GroupTableItem } from '../../components/spike_analysis_table/types // Builds the base filter criteria used in queries, // adding criteria for the time range and an optional query. -export function buildBaseFilterCriteria( +export function buildExtendedBaseFilterCriteria( timeFieldName?: string, earliestMs?: number, latestMs?: number, @@ -29,22 +32,7 @@ export function buildBaseFilterCriteria( includeSelectedChangePoint = true, selectedGroup?: GroupTableItem | null ): estypes.QueryDslQueryContainer[] { - const filterCriteria = []; - if (timeFieldName && earliestMs && latestMs) { - filterCriteria.push({ - range: { - [timeFieldName]: { - gte: earliestMs, - lte: latestMs, - format: 'epoch_millis', - }, - }, - }); - } - - if (query && typeof query === 'object') { - filterCriteria.push(query); - } + const filterCriteria = buildBaseFilterCriteria(timeFieldName, earliestMs, latestMs, query); const groupFilter = []; if (selectedGroup) { diff --git a/x-pack/plugins/aiops/public/get_document_stats.ts b/x-pack/plugins/aiops/public/get_document_stats.ts index f95e0eb2cc610..4f76cb8244e68 100644 --- a/x-pack/plugins/aiops/public/get_document_stats.ts +++ b/x-pack/plugins/aiops/public/get_document_stats.ts @@ -13,7 +13,7 @@ import { isPopulatedObject } from '@kbn/ml-is-populated-object'; import type { ChangePoint } from '@kbn/ml-agg-utils'; import type { Query } from '@kbn/es-query'; -import { buildBaseFilterCriteria } from './application/utils/query_utils'; +import { buildExtendedBaseFilterCriteria } from './application/utils/build_extended_base_filter_criteria'; import { GroupTableItem } from './components/spike_analysis_table/types'; export interface DocumentCountStats { @@ -54,7 +54,7 @@ export const getDocumentCountStatsRequest = (params: DocumentStatsSearchStrategy } = params; const size = 0; - const filterCriteria = buildBaseFilterCriteria( + const filterCriteria = buildExtendedBaseFilterCriteria( timeFieldName, earliestMs, latestMs, diff --git a/x-pack/plugins/aiops/tsconfig.json b/x-pack/plugins/aiops/tsconfig.json index 6e130d66384d6..a5f260e695cbb 100644 --- a/x-pack/plugins/aiops/tsconfig.json +++ b/x-pack/plugins/aiops/tsconfig.json @@ -46,6 +46,7 @@ "@kbn/ml-local-storage", "@kbn/ml-date-picker", "@kbn/ml-local-storage", + "@kbn/ml-query-utils", ], "exclude": [ "target/**/*", diff --git a/x-pack/plugins/alerting/common/alert_schema/field_maps/alert_field_map.ts b/x-pack/plugins/alerting/common/alert_schema/field_maps/alert_field_map.ts new file mode 100644 index 0000000000000..4613415e0fa00 --- /dev/null +++ b/x-pack/plugins/alerting/common/alert_schema/field_maps/alert_field_map.ts @@ -0,0 +1,147 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { + ALERT_ACTION_GROUP, + ALERT_DURATION, + ALERT_END, + ALERT_FLAPPING, + ALERT_ID, + ALERT_REASON, + ALERT_RULE_CATEGORY, + ALERT_RULE_CONSUMER, + ALERT_RULE_EXECUTION_UUID, + ALERT_RULE_NAME, + ALERT_RULE_PARAMETERS, + ALERT_RULE_PRODUCER, + ALERT_RULE_TAGS, + ALERT_RULE_TYPE_ID, + ALERT_RULE_UUID, + ALERT_START, + ALERT_STATUS, + ALERT_TIME_RANGE, + ALERT_UUID, + ALERT_WORKFLOW_STATUS, + SPACE_IDS, + VERSION, +} from '@kbn/rule-data-utils'; + +export const alertFieldMap = { + [ALERT_RULE_PARAMETERS]: { + type: 'object', + enabled: false, + required: false, + }, + [ALERT_RULE_TYPE_ID]: { + type: 'keyword', + array: false, + required: true, + }, + [ALERT_RULE_CONSUMER]: { + type: 'keyword', + array: false, + required: true, + }, + [ALERT_RULE_PRODUCER]: { + type: 'keyword', + array: false, + required: true, + }, + [SPACE_IDS]: { + type: 'keyword', + array: true, + required: true, + }, + [ALERT_UUID]: { + type: 'keyword', + array: false, + required: true, + }, + [ALERT_ID]: { + type: 'keyword', + array: false, + required: true, + }, + [ALERT_START]: { + type: 'date', + array: false, + required: false, + }, + [ALERT_TIME_RANGE]: { + type: 'date_range', + format: 'epoch_millis||strict_date_optional_time', + array: false, + required: false, + }, + [ALERT_END]: { + type: 'date', + array: false, + required: false, + }, + [ALERT_DURATION]: { + type: 'long', + array: false, + required: false, + }, + [ALERT_STATUS]: { + type: 'keyword', + array: false, + required: true, + }, + [VERSION]: { + type: 'version', + array: false, + required: false, + }, + [ALERT_WORKFLOW_STATUS]: { + type: 'keyword', + array: false, + required: false, + }, + [ALERT_ACTION_GROUP]: { + type: 'keyword', + array: false, + required: false, + }, + [ALERT_REASON]: { + type: 'keyword', + array: false, + required: false, + }, + [ALERT_RULE_CATEGORY]: { + type: 'keyword', + array: false, + required: true, + }, + [ALERT_RULE_UUID]: { + type: 'keyword', + array: false, + required: true, + }, + [ALERT_RULE_EXECUTION_UUID]: { + type: 'keyword', + array: false, + required: false, + }, + [ALERT_RULE_NAME]: { + type: 'keyword', + array: false, + required: true, + }, + [ALERT_RULE_TAGS]: { + type: 'keyword', + array: true, + required: false, + }, + [ALERT_FLAPPING]: { + type: 'boolean', + array: false, + required: false, + }, +}; + +export type AlertFieldMap = typeof alertFieldMap; diff --git a/x-pack/plugins/alerting/common/alert_schema/field_maps/component_template_from_field_map.ts b/x-pack/plugins/alerting/common/alert_schema/field_maps/component_template_from_field_map.ts new file mode 100644 index 0000000000000..b4cd25a4f4126 --- /dev/null +++ b/x-pack/plugins/alerting/common/alert_schema/field_maps/component_template_from_field_map.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 { ClusterPutComponentTemplateRequest } from '@elastic/elasticsearch/lib/api/types'; +import { mappingFromFieldMap } from './mapping_from_field_map'; +import { FieldMap } from './types'; + +export interface GetComponentTemplateFromFieldMapOpts { + name: string; + fieldLimit?: number; + fieldMap: FieldMap; +} +export const getComponentTemplateFromFieldMap = ({ + name, + fieldMap, + fieldLimit, +}: GetComponentTemplateFromFieldMapOpts): ClusterPutComponentTemplateRequest => { + return { + name, + _meta: { + managed: true, + }, + template: { + settings: { + number_of_shards: 1, + 'index.mapping.total_fields.limit': fieldLimit ?? 1000, + }, + mappings: mappingFromFieldMap(fieldMap, 'strict'), + }, + }; +}; diff --git a/x-pack/plugins/alerting/common/alert_schema/field_maps/mapping_from_field_map.test.ts b/x-pack/plugins/alerting/common/alert_schema/field_maps/mapping_from_field_map.test.ts new file mode 100644 index 0000000000000..2f2cac2367e8b --- /dev/null +++ b/x-pack/plugins/alerting/common/alert_schema/field_maps/mapping_from_field_map.test.ts @@ -0,0 +1,282 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor 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 { mappingFromFieldMap } from './mapping_from_field_map'; +import { FieldMap } from './types'; +import { alertFieldMap } from './alert_field_map'; + +describe('mappingFromFieldMap', () => { + const fieldMap: FieldMap = { + date_field: { + type: 'date', + array: false, + required: true, + }, + keyword_field: { + type: 'keyword', + array: false, + required: false, + ignore_above: 1024, + }, + long_field: { + type: 'long', + array: false, + required: false, + }, + multifield_field: { + type: 'keyword', + array: false, + required: false, + ignore_above: 1024, + multi_fields: [ + { + flat_name: 'multifield_field.text', + name: 'text', + type: 'match_only_text', + }, + ], + }, + geopoint_field: { + type: 'geo_point', + array: false, + required: false, + }, + ip_field: { + type: 'ip', + array: false, + required: false, + }, + array_field: { + type: 'keyword', + array: true, + required: false, + ignore_above: 1024, + }, + nested_array_field: { + type: 'nested', + array: false, + required: false, + }, + 'nested_array_field.field1': { + type: 'keyword', + array: false, + required: false, + ignore_above: 1024, + }, + 'nested_array_field.field2': { + type: 'keyword', + array: false, + required: false, + ignore_above: 1024, + }, + scaled_float_field: { + type: 'scaled_float', + array: false, + required: false, + scaling_factor: 1000, + }, + constant_keyword_field: { + type: 'constant_keyword', + array: false, + required: false, + }, + 'parent_field.child1': { + type: 'keyword', + array: false, + required: false, + ignore_above: 1024, + }, + 'parent_field.child2': { + type: 'keyword', + array: false, + required: false, + ignore_above: 1024, + }, + unmapped_object: { + type: 'object', + required: false, + enabled: false, + }, + formatted_field: { + type: 'date_range', + required: false, + format: 'epoch_millis||strict_date_optional_time', + }, + }; + const expectedMapping = { + properties: { + array_field: { + ignore_above: 1024, + type: 'keyword', + }, + constant_keyword_field: { + type: 'constant_keyword', + }, + date_field: { + type: 'date', + }, + geopoint_field: { + type: 'geo_point', + }, + ip_field: { + type: 'ip', + }, + keyword_field: { + ignore_above: 1024, + type: 'keyword', + }, + long_field: { + type: 'long', + }, + multifield_field: { + fields: { + text: { + type: 'match_only_text', + }, + }, + ignore_above: 1024, + type: 'keyword', + }, + nested_array_field: { + properties: { + field1: { + ignore_above: 1024, + type: 'keyword', + }, + field2: { + ignore_above: 1024, + type: 'keyword', + }, + }, + type: 'nested', + }, + parent_field: { + properties: { + child1: { + ignore_above: 1024, + type: 'keyword', + }, + child2: { + ignore_above: 1024, + type: 'keyword', + }, + }, + }, + scaled_float_field: { + scaling_factor: 1000, + type: 'scaled_float', + }, + unmapped_object: { + enabled: false, + type: 'object', + }, + formatted_field: { + type: 'date_range', + format: 'epoch_millis||strict_date_optional_time', + }, + }, + }; + it('correctly creates mapping from field map', () => { + expect(mappingFromFieldMap(fieldMap)).toEqual({ dynamic: 'strict', ...expectedMapping }); + expect(mappingFromFieldMap(alertFieldMap)).toEqual({ + dynamic: 'strict', + properties: { + kibana: { + properties: { + alert: { + properties: { + action_group: { + type: 'keyword', + }, + duration: { + properties: { + us: { + type: 'long', + }, + }, + }, + end: { + type: 'date', + }, + flapping: { + type: 'boolean', + }, + id: { + type: 'keyword', + }, + reason: { + type: 'keyword', + }, + rule: { + properties: { + category: { + type: 'keyword', + }, + consumer: { + type: 'keyword', + }, + execution: { + properties: { + uuid: { + type: 'keyword', + }, + }, + }, + name: { + type: 'keyword', + }, + parameters: { + type: 'object', + enabled: false, + }, + producer: { + type: 'keyword', + }, + rule_type_id: { + type: 'keyword', + }, + tags: { + type: 'keyword', + }, + uuid: { + type: 'keyword', + }, + }, + }, + start: { + type: 'date', + }, + status: { + type: 'keyword', + }, + time_range: { + type: 'date_range', + format: 'epoch_millis||strict_date_optional_time', + }, + uuid: { + type: 'keyword', + }, + workflow_status: { + type: 'keyword', + }, + }, + }, + space_ids: { + type: 'keyword', + }, + version: { + type: 'version', + }, + }, + }, + }, + }); + }); + + it('uses dynamic setting if specified', () => { + expect(mappingFromFieldMap(fieldMap, true)).toEqual({ dynamic: true, ...expectedMapping }); + }); +}); diff --git a/x-pack/plugins/alerting/common/alert_schema/field_maps/mapping_from_field_map.ts b/x-pack/plugins/alerting/common/alert_schema/field_maps/mapping_from_field_map.ts new file mode 100644 index 0000000000000..5a1de7a995b36 --- /dev/null +++ b/x-pack/plugins/alerting/common/alert_schema/field_maps/mapping_from_field_map.ts @@ -0,0 +1,52 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import type { MappingTypeMapping } from '@elastic/elasticsearch/lib/api/typesWithBodyKey'; +import { set } from '@kbn/safer-lodash-set'; +import { FieldMap, MultiField } from './types'; + +export function mappingFromFieldMap( + fieldMap: FieldMap, + dynamic: 'strict' | boolean = 'strict' +): MappingTypeMapping { + const mappings = { + dynamic, + properties: {}, + }; + + const fields = Object.keys(fieldMap).map((key: string) => { + const field = fieldMap[key]; + return { + name: key, + ...field, + }; + }); + + fields.forEach((field) => { + // eslint-disable-next-line @typescript-eslint/naming-convention + const { name, required, array, multi_fields, ...rest } = field; + + const mapped = multi_fields + ? { + ...rest, + // eslint-disable-next-line @typescript-eslint/naming-convention + fields: multi_fields.reduce((acc, multi_field: MultiField) => { + return { + ...acc, + [multi_field.name]: { + type: multi_field.type, + }, + }; + }, {}), + } + : rest; + + set(mappings.properties, field.name.split('.').join('.properties.'), mapped); + }); + + return mappings; +} diff --git a/x-pack/plugins/alerting/common/alert_schema/field_maps/types.ts b/x-pack/plugins/alerting/common/alert_schema/field_maps/types.ts new file mode 100644 index 0000000000000..b687cbfb0cf7d --- /dev/null +++ b/x-pack/plugins/alerting/common/alert_schema/field_maps/types.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. + */ + +export interface MultiField { + flat_name?: string; + name: string; + type: string; +} + +export interface FieldMap { + [key: string]: { + type: string; + required: boolean; + array?: boolean; + doc_values?: boolean; + enabled?: boolean; + format?: string; + ignore_above?: number; + index?: boolean; + multi_fields?: MultiField[]; + path?: string; + scaling_factor?: number; + dynamic?: boolean | string; + }; +} diff --git a/x-pack/plugins/alerting/common/alert_schema/index.ts b/x-pack/plugins/alerting/common/alert_schema/index.ts new file mode 100644 index 0000000000000..acca43450fe34 --- /dev/null +++ b/x-pack/plugins/alerting/common/alert_schema/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 { alertFieldMap } from './field_maps/alert_field_map'; +export { getComponentTemplateFromFieldMap } from './field_maps/component_template_from_field_map'; diff --git a/x-pack/plugins/alerting/server/alerts_service/alerts_service.mock.ts b/x-pack/plugins/alerting/server/alerts_service/alerts_service.mock.ts new file mode 100644 index 0000000000000..d11e95f909c19 --- /dev/null +++ b/x-pack/plugins/alerting/server/alerts_service/alerts_service.mock.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. + */ + +const creatAlertsServiceMock = () => { + return jest.fn().mockImplementation(() => { + return { + initialize: jest.fn(), + register: jest.fn(), + isInitialized: jest.fn(), + isContextInitialized: jest.fn(), + }; + }); +}; + +export const alertsServiceMock = { + create: creatAlertsServiceMock(), +}; 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 new file mode 100644 index 0000000000000..ba3623526591f --- /dev/null +++ b/x-pack/plugins/alerting/server/alerts_service/alerts_service.test.ts @@ -0,0 +1,944 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor 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 { elasticsearchServiceMock, loggingSystemMock } from '@kbn/core/server/mocks'; +import { errors as EsErrors } from '@elastic/elasticsearch'; +import { ReplaySubject, Subject } from 'rxjs'; +import { AlertsService } from './alerts_service'; + +let logger: ReturnType; +const clusterClient = elasticsearchServiceMock.createClusterClient().asInternalUser; + +const SimulateTemplateResponse = { + template: { + aliases: { + alias_name_1: { + is_hidden: true, + }, + alias_name_2: { + is_hidden: true, + }, + }, + mappings: { enabled: false }, + settings: {}, + }, +}; +interface HTTPError extends Error { + statusCode: number; +} + +interface EsError extends Error { + meta: { + body: { + error: { + type: string; + }; + }; + }; +} + +const GetAliasResponse = { + real_index: { + aliases: { + alias_1: { + is_hidden: true, + }, + alias_2: { + is_hidden: true, + }, + }, + }, +}; + +const IlmPutBody = { + body: { + policy: { + _meta: { + managed: true, + }, + phases: { + hot: { + actions: { + rollover: { + max_age: '30d', + max_primary_shard_size: '50gb', + }, + }, + }, + }, + }, + }, + name: 'alerts-default-ilm-policy', +}; + +const getIndexTemplatePutBody = (context?: string) => ({ + name: `.alerts-${context ? context : 'test'}-default-template`, + body: { + index_patterns: [`.alerts-${context ? context : 'test'}-default-*`], + composed_of: [ + 'alerts-common-component-template', + `alerts-${context ? context : 'test'}-component-template`, + ], + template: { + settings: { + auto_expand_replicas: '0-1', + hidden: true, + 'index.lifecycle': { + name: 'alerts-default-ilm-policy', + rollover_alias: `.alerts-${context ? context : 'test'}-default`, + }, + 'index.mapping.total_fields.limit': 2500, + }, + mappings: { + dynamic: false, + }, + }, + _meta: { + managed: true, + }, + }, +}); + +const TestRegistrationContext = { + context: 'test', + fieldMap: { field: { type: 'keyword', required: false } }, +}; + +const AnotherRegistrationContext = { + context: 'another', + fieldMap: { field: { type: 'keyword', required: false } }, +}; + +describe('Alerts Service', () => { + let pluginStop$: Subject; + + beforeEach(() => { + jest.clearAllMocks(); + logger = loggingSystemMock.createLogger(); + pluginStop$ = new ReplaySubject(1); + jest.spyOn(global.Math, 'random').mockReturnValue(0.01); + clusterClient.indices.simulateTemplate.mockImplementation(async () => SimulateTemplateResponse); + clusterClient.indices.simulateIndexTemplate.mockImplementation( + async () => SimulateTemplateResponse + ); + clusterClient.indices.getAlias.mockImplementation(async () => GetAliasResponse); + }); + + afterEach(() => { + pluginStop$.next(); + pluginStop$.complete(); + }); + describe('initialize()', () => { + test('should correctly initialize common resources', async () => { + const alertsService = new AlertsService({ + logger, + elasticsearchClientPromise: Promise.resolve(clusterClient), + pluginStop$, + }); + + alertsService.initialize(); + await new Promise((r) => setTimeout(r, 50)); + + expect(alertsService.isInitialized()).toEqual(true); + expect(clusterClient.ilm.putLifecycle).toHaveBeenCalledWith(IlmPutBody); + expect(clusterClient.cluster.putComponentTemplate).toHaveBeenCalledTimes(1); + + const componentTemplate1 = clusterClient.cluster.putComponentTemplate.mock.calls[0][0]; + expect(componentTemplate1.name).toEqual('alerts-common-component-template'); + }); + + test('should log error and set initialized to false if adding ILM policy throws error', async () => { + clusterClient.ilm.putLifecycle.mockRejectedValueOnce(new Error('fail')); + const alertsService = new AlertsService({ + logger, + elasticsearchClientPromise: Promise.resolve(clusterClient), + pluginStop$, + }); + + alertsService.initialize(); + await new Promise((r) => setTimeout(r, 50)); + + expect(alertsService.isInitialized()).toEqual(false); + + expect(logger.error).toHaveBeenCalledWith( + `Error installing ILM policy alerts-default-ilm-policy - fail` + ); + + expect(clusterClient.ilm.putLifecycle).toHaveBeenCalled(); + expect(clusterClient.cluster.putComponentTemplate).not.toHaveBeenCalled(); + }); + + test('should log error and set initialized to false if creating/updating common component template throws error', async () => { + clusterClient.cluster.putComponentTemplate.mockRejectedValueOnce(new Error('fail')); + const alertsService = new AlertsService({ + logger, + elasticsearchClientPromise: Promise.resolve(clusterClient), + pluginStop$, + }); + + alertsService.initialize(); + await new Promise((r) => setTimeout(r, 50)); + + expect(alertsService.isInitialized()).toEqual(false); + expect(logger.error).toHaveBeenCalledWith( + `Error installing component template alerts-common-component-template - fail` + ); + + expect(clusterClient.ilm.putLifecycle).toHaveBeenCalled(); + expect(clusterClient.cluster.putComponentTemplate).toHaveBeenCalledTimes(1); + }); + + test('should install resources for contexts awaiting initialization when common resources are initialized', async () => { + const alertsService = new AlertsService({ + logger, + elasticsearchClientPromise: Promise.resolve(clusterClient), + pluginStop$, + }); + + // pre-register contexts so they get installed right after initialization + alertsService.register(TestRegistrationContext); + alertsService.register(AnotherRegistrationContext); + alertsService.initialize(); + await new Promise((r) => setTimeout(r, 50)); + + expect(alertsService.isInitialized()).toEqual(true); + expect(await alertsService.isContextInitialized(TestRegistrationContext.context)).toEqual( + true + ); + expect(await alertsService.isContextInitialized(AnotherRegistrationContext.context)).toEqual( + true + ); + + expect(clusterClient.ilm.putLifecycle).toHaveBeenCalledWith(IlmPutBody); + // 1x for common component template, 2x for context specific + expect(clusterClient.cluster.putComponentTemplate).toHaveBeenCalledTimes(3); + + const componentTemplate1 = clusterClient.cluster.putComponentTemplate.mock.calls[0][0]; + expect(componentTemplate1.name).toEqual('alerts-common-component-template'); + const componentTemplate2 = clusterClient.cluster.putComponentTemplate.mock.calls[1][0]; + expect(componentTemplate2.name).toEqual('alerts-another-component-template'); + const componentTemplate3 = clusterClient.cluster.putComponentTemplate.mock.calls[2][0]; + expect(componentTemplate3.name).toEqual('alerts-test-component-template'); + + expect(clusterClient.indices.putIndexTemplate).toHaveBeenCalledTimes(2); + expect(clusterClient.indices.putIndexTemplate).toHaveBeenNthCalledWith( + 1, + getIndexTemplatePutBody('another') + ); + expect(clusterClient.indices.putIndexTemplate).toHaveBeenNthCalledWith( + 2, + getIndexTemplatePutBody() + ); + + expect(clusterClient.indices.getAlias).toHaveBeenCalledTimes(2); + expect(clusterClient.indices.getAlias).toHaveBeenNthCalledWith(1, { + index: '.alerts-another-default-*', + }); + expect(clusterClient.indices.getAlias).toHaveBeenNthCalledWith(2, { + index: '.alerts-test-default-*', + }); + expect(clusterClient.indices.putSettings).toHaveBeenCalledTimes(4); + expect(clusterClient.indices.simulateIndexTemplate).toHaveBeenCalledTimes(4); + expect(clusterClient.indices.putMapping).toHaveBeenCalledTimes(4); + expect(clusterClient.indices.create).toHaveBeenCalledTimes(2); + expect(clusterClient.indices.create).toHaveBeenNthCalledWith(1, { + index: '.alerts-another-default-000001', + body: { + aliases: { + '.alerts-another-default': { + is_write_index: true, + }, + }, + }, + }); + expect(clusterClient.indices.create).toHaveBeenNthCalledWith(2, { + index: '.alerts-test-default-000001', + body: { + aliases: { + '.alerts-test-default': { + is_write_index: true, + }, + }, + }, + }); + }); + }); + + describe('register()', () => { + let alertsService: AlertsService; + beforeEach(async () => { + alertsService = new AlertsService({ + logger, + elasticsearchClientPromise: Promise.resolve(clusterClient), + pluginStop$, + }); + + alertsService.initialize(); + await new Promise((r) => setTimeout(r, 50)); + expect(alertsService.isInitialized()).toEqual(true); + }); + + test('should correctly install resources for context when common initialization is complete', async () => { + alertsService.register(TestRegistrationContext); + await new Promise((r) => setTimeout(r, 50)); + expect(await alertsService.isContextInitialized(TestRegistrationContext.context)).toEqual( + true + ); + + expect(clusterClient.ilm.putLifecycle).toHaveBeenCalledWith(IlmPutBody); + + expect(clusterClient.cluster.putComponentTemplate).toHaveBeenCalledTimes(2); + const componentTemplate1 = clusterClient.cluster.putComponentTemplate.mock.calls[0][0]; + expect(componentTemplate1.name).toEqual('alerts-common-component-template'); + const componentTemplate2 = clusterClient.cluster.putComponentTemplate.mock.calls[1][0]; + expect(componentTemplate2.name).toEqual('alerts-test-component-template'); + + expect(clusterClient.indices.putIndexTemplate).toHaveBeenCalledWith( + getIndexTemplatePutBody() + ); + expect(clusterClient.indices.getAlias).toHaveBeenCalledWith({ + index: '.alerts-test-default-*', + }); + expect(clusterClient.indices.putSettings).toHaveBeenCalledTimes(2); + expect(clusterClient.indices.simulateIndexTemplate).toHaveBeenCalledTimes(2); + expect(clusterClient.indices.putMapping).toHaveBeenCalledTimes(2); + expect(clusterClient.indices.create).toHaveBeenCalledWith({ + index: '.alerts-test-default-000001', + body: { + aliases: { + '.alerts-test-default': { + is_write_index: true, + }, + }, + }, + }); + }); + + test('should not install component template for context fieldMap is empty', async () => { + alertsService.register({ + context: 'empty', + fieldMap: {}, + }); + await new Promise((r) => setTimeout(r, 50)); + expect(await alertsService.isContextInitialized('empty')).toEqual(true); + + expect(clusterClient.ilm.putLifecycle).toHaveBeenCalledWith(IlmPutBody); + + expect(clusterClient.cluster.putComponentTemplate).toHaveBeenCalledTimes(1); + const componentTemplate1 = clusterClient.cluster.putComponentTemplate.mock.calls[0][0]; + expect(componentTemplate1.name).toEqual('alerts-common-component-template'); + + expect(clusterClient.indices.putIndexTemplate).toHaveBeenCalledWith({ + name: `.alerts-empty-default-template`, + body: { + index_patterns: [`.alerts-empty-default-*`], + composed_of: ['alerts-common-component-template'], + template: { + settings: { + auto_expand_replicas: '0-1', + hidden: true, + 'index.lifecycle': { + name: 'alerts-default-ilm-policy', + rollover_alias: `.alerts-empty-default`, + }, + 'index.mapping.total_fields.limit': 2500, + }, + mappings: { + dynamic: false, + }, + }, + _meta: { + managed: true, + }, + }, + }); + expect(clusterClient.indices.getAlias).toHaveBeenCalledWith({ + index: '.alerts-empty-default-*', + }); + expect(clusterClient.indices.putSettings).toHaveBeenCalledTimes(2); + expect(clusterClient.indices.simulateIndexTemplate).toHaveBeenCalledTimes(2); + expect(clusterClient.indices.putMapping).toHaveBeenCalledTimes(2); + expect(clusterClient.indices.create).toHaveBeenCalledWith({ + index: '.alerts-empty-default-000001', + body: { + aliases: { + '.alerts-empty-default': { + is_write_index: true, + }, + }, + }, + }); + }); + + test('should skip initialization if context already exists', async () => { + alertsService.register(TestRegistrationContext); + alertsService.register(TestRegistrationContext); + + expect(logger.debug).toHaveBeenCalledWith( + `Resources for context "test" have already been registered.` + ); + }); + + test('should throw error if context already exists and has been registered with a different field map', async () => { + alertsService.register(TestRegistrationContext); + await new Promise((r) => setTimeout(r, 50)); + expect(() => { + alertsService.register({ + ...TestRegistrationContext, + fieldMap: { anotherField: { type: 'keyword', required: false } }, + }); + }).toThrowErrorMatchingInlineSnapshot( + `"test has already been registered with a different mapping"` + ); + }); + + test('should not update index template if simulating template throws error', async () => { + clusterClient.indices.simulateTemplate.mockRejectedValueOnce(new Error('fail')); + + alertsService.register(TestRegistrationContext); + await new Promise((r) => setTimeout(r, 50)); + expect(await alertsService.isContextInitialized(TestRegistrationContext.context)).toEqual( + true + ); + + expect(logger.error).toHaveBeenCalledWith( + `Failed to simulate index template mappings for .alerts-test-default-template; not applying mappings - fail` + ); + + expect(clusterClient.ilm.putLifecycle).toHaveBeenCalled(); + expect(clusterClient.cluster.putComponentTemplate).toHaveBeenCalledTimes(2); + expect(clusterClient.indices.simulateTemplate).toHaveBeenCalled(); + // putIndexTemplate is skipped but other operations are called as expected + expect(clusterClient.indices.putIndexTemplate).not.toHaveBeenCalled(); + expect(clusterClient.indices.getAlias).toHaveBeenCalled(); + expect(clusterClient.indices.putSettings).toHaveBeenCalled(); + expect(clusterClient.indices.simulateIndexTemplate).toHaveBeenCalled(); + expect(clusterClient.indices.putMapping).toHaveBeenCalled(); + expect(clusterClient.indices.create).toHaveBeenCalled(); + }); + + test('should log error and set initialized to false if simulating template returns empty mappings', async () => { + clusterClient.indices.simulateTemplate.mockImplementationOnce(async () => ({ + ...SimulateTemplateResponse, + template: { + ...SimulateTemplateResponse.template, + mappings: {}, + }, + })); + + alertsService.register(TestRegistrationContext); + await new Promise((r) => setTimeout(r, 50)); + expect(await alertsService.isContextInitialized(TestRegistrationContext.context)).toEqual( + false + ); + + expect(logger.error).toHaveBeenCalledWith( + new Error( + `No mappings would be generated for .alerts-test-default-template, possibly due to failed/misconfigured bootstrapping` + ) + ); + + expect(clusterClient.ilm.putLifecycle).toHaveBeenCalled(); + expect(clusterClient.cluster.putComponentTemplate).toHaveBeenCalledTimes(2); + expect(clusterClient.indices.simulateTemplate).toHaveBeenCalled(); + expect(clusterClient.indices.putIndexTemplate).not.toHaveBeenCalled(); + expect(clusterClient.indices.getAlias).not.toHaveBeenCalled(); + expect(clusterClient.indices.putSettings).not.toHaveBeenCalled(); + expect(clusterClient.indices.simulateIndexTemplate).not.toHaveBeenCalled(); + expect(clusterClient.indices.putMapping).not.toHaveBeenCalled(); + expect(clusterClient.indices.create).not.toHaveBeenCalled(); + }); + + test('should log error and set initialized to false if updating index template throws error', async () => { + clusterClient.indices.putIndexTemplate.mockRejectedValueOnce(new Error('fail')); + + alertsService.register(TestRegistrationContext); + await new Promise((r) => setTimeout(r, 50)); + expect(await alertsService.isContextInitialized(TestRegistrationContext.context)).toEqual( + false + ); + + expect(logger.error).toHaveBeenCalledWith( + `Error installing index template .alerts-test-default-template - fail` + ); + + expect(clusterClient.ilm.putLifecycle).toHaveBeenCalled(); + expect(clusterClient.cluster.putComponentTemplate).toHaveBeenCalledTimes(2); + expect(clusterClient.indices.simulateTemplate).toHaveBeenCalled(); + expect(clusterClient.indices.putIndexTemplate).toHaveBeenCalled(); + expect(clusterClient.indices.getAlias).not.toHaveBeenCalled(); + expect(clusterClient.indices.putSettings).not.toHaveBeenCalled(); + expect(clusterClient.indices.simulateIndexTemplate).not.toHaveBeenCalled(); + expect(clusterClient.indices.putMapping).not.toHaveBeenCalled(); + expect(clusterClient.indices.create).not.toHaveBeenCalled(); + }); + + test('should log error and set initialized to false if checking for concrete write index throws error', async () => { + clusterClient.indices.getAlias.mockRejectedValueOnce(new Error('fail')); + + alertsService.register(TestRegistrationContext); + await new Promise((r) => setTimeout(r, 50)); + expect(await alertsService.isContextInitialized(TestRegistrationContext.context)).toEqual( + false + ); + + expect(logger.error).toHaveBeenCalledWith( + `Error fetching concrete indices for .alerts-test-default-* pattern - fail` + ); + + expect(clusterClient.ilm.putLifecycle).toHaveBeenCalled(); + expect(clusterClient.cluster.putComponentTemplate).toHaveBeenCalledTimes(2); + expect(clusterClient.indices.simulateTemplate).toHaveBeenCalled(); + expect(clusterClient.indices.putIndexTemplate).toHaveBeenCalled(); + expect(clusterClient.indices.putSettings).not.toHaveBeenCalled(); + expect(clusterClient.indices.simulateIndexTemplate).not.toHaveBeenCalled(); + expect(clusterClient.indices.putMapping).not.toHaveBeenCalled(); + expect(clusterClient.indices.create).not.toHaveBeenCalled(); + }); + + test('should not throw error if checking for concrete write index throws 404', async () => { + const error = new Error(`index doesn't exist`) as HTTPError; + error.statusCode = 404; + clusterClient.indices.getAlias.mockRejectedValueOnce(error); + + alertsService.register(TestRegistrationContext); + await new Promise((r) => setTimeout(r, 50)); + expect(await alertsService.isContextInitialized(TestRegistrationContext.context)).toEqual( + true + ); + + expect(clusterClient.ilm.putLifecycle).toHaveBeenCalled(); + expect(clusterClient.cluster.putComponentTemplate).toHaveBeenCalledTimes(2); + expect(clusterClient.indices.simulateTemplate).toHaveBeenCalled(); + expect(clusterClient.indices.putIndexTemplate).toHaveBeenCalled(); + expect(clusterClient.indices.putSettings).not.toHaveBeenCalled(); + expect(clusterClient.indices.simulateIndexTemplate).not.toHaveBeenCalled(); + expect(clusterClient.indices.putMapping).not.toHaveBeenCalled(); + expect(clusterClient.indices.create).toHaveBeenCalled(); + }); + + test('should log error and set initialized to false if updating index settings for existing indices throws error', async () => { + clusterClient.indices.putSettings.mockRejectedValueOnce(new Error('fail')); + + alertsService.register(TestRegistrationContext); + await new Promise((r) => setTimeout(r, 50)); + expect(await alertsService.isContextInitialized(TestRegistrationContext.context)).toEqual( + false + ); + + expect(logger.error).toHaveBeenCalledWith( + `Failed to PUT index.mapping.total_fields.limit settings for alias alias_1: fail` + ); + + expect(clusterClient.ilm.putLifecycle).toHaveBeenCalled(); + expect(clusterClient.cluster.putComponentTemplate).toHaveBeenCalledTimes(2); + expect(clusterClient.indices.simulateTemplate).toHaveBeenCalled(); + expect(clusterClient.indices.putIndexTemplate).toHaveBeenCalled(); + expect(clusterClient.indices.getAlias).toHaveBeenCalled(); + expect(clusterClient.indices.putSettings).toHaveBeenCalled(); + expect(clusterClient.indices.simulateIndexTemplate).not.toHaveBeenCalled(); + expect(clusterClient.indices.putMapping).not.toHaveBeenCalled(); + expect(clusterClient.indices.create).not.toHaveBeenCalled(); + }); + + test('should skip updating index mapping for existing indices if simulate index template throws error', async () => { + clusterClient.indices.simulateIndexTemplate.mockRejectedValueOnce(new Error('fail')); + + alertsService.register(TestRegistrationContext); + await new Promise((r) => setTimeout(r, 50)); + expect(await alertsService.isContextInitialized(TestRegistrationContext.context)).toEqual( + true + ); + + expect(logger.error).toHaveBeenCalledWith( + `Ignored PUT mappings for alias alias_1; error generating simulated mappings: fail` + ); + + expect(clusterClient.ilm.putLifecycle).toHaveBeenCalled(); + expect(clusterClient.cluster.putComponentTemplate).toHaveBeenCalledTimes(2); + expect(clusterClient.indices.simulateTemplate).toHaveBeenCalled(); + expect(clusterClient.indices.putIndexTemplate).toHaveBeenCalled(); + expect(clusterClient.indices.getAlias).toHaveBeenCalled(); + expect(clusterClient.indices.putSettings).toHaveBeenCalled(); + expect(clusterClient.indices.simulateIndexTemplate).toHaveBeenCalled(); + expect(clusterClient.indices.putMapping).toHaveBeenCalled(); + expect(clusterClient.indices.create).toHaveBeenCalled(); + }); + + test('should log error and set initialized to false if updating index mappings for existing indices throws error', async () => { + clusterClient.indices.putMapping.mockRejectedValueOnce(new Error('fail')); + + alertsService.register(TestRegistrationContext); + await new Promise((r) => setTimeout(r, 50)); + expect(await alertsService.isContextInitialized(TestRegistrationContext.context)).toEqual( + false + ); + + expect(logger.error).toHaveBeenCalledWith(`Failed to PUT mapping for alias alias_1: fail`); + + expect(clusterClient.ilm.putLifecycle).toHaveBeenCalled(); + expect(clusterClient.cluster.putComponentTemplate).toHaveBeenCalledTimes(2); + expect(clusterClient.indices.simulateTemplate).toHaveBeenCalled(); + expect(clusterClient.indices.putIndexTemplate).toHaveBeenCalled(); + expect(clusterClient.indices.getAlias).toHaveBeenCalled(); + expect(clusterClient.indices.putSettings).toHaveBeenCalled(); + expect(clusterClient.indices.simulateIndexTemplate).toHaveBeenCalled(); + expect(clusterClient.indices.putMapping).toHaveBeenCalled(); + expect(clusterClient.indices.create).not.toHaveBeenCalled(); + }); + + test('does not updating settings or mappings if no existing concrete indices', async () => { + clusterClient.indices.getAlias.mockImplementationOnce(async () => ({})); + + alertsService.register(TestRegistrationContext); + await new Promise((r) => setTimeout(r, 50)); + expect(await alertsService.isContextInitialized(TestRegistrationContext.context)).toEqual( + true + ); + + expect(clusterClient.ilm.putLifecycle).toHaveBeenCalled(); + expect(clusterClient.cluster.putComponentTemplate).toHaveBeenCalledTimes(2); + expect(clusterClient.indices.simulateTemplate).toHaveBeenCalled(); + expect(clusterClient.indices.putIndexTemplate).toHaveBeenCalled(); + expect(clusterClient.indices.getAlias).toHaveBeenCalled(); + expect(clusterClient.indices.putSettings).not.toHaveBeenCalled(); + expect(clusterClient.indices.simulateIndexTemplate).not.toHaveBeenCalled(); + expect(clusterClient.indices.putMapping).not.toHaveBeenCalled(); + expect(clusterClient.indices.create).toHaveBeenCalled(); + }); + + test('should log error and set initialized to false if concrete indices exist but none are write index', async () => { + clusterClient.indices.getAlias.mockImplementationOnce(async () => ({ + '.alerts-test-default-0001': { + aliases: { + '.alerts-test-default': { + is_write_index: false, + is_hidden: true, + }, + alias_2: { + is_write_index: false, + is_hidden: true, + }, + }, + }, + })); + + alertsService.register(TestRegistrationContext); + await new Promise((r) => setTimeout(r, 50)); + expect(await alertsService.isContextInitialized(TestRegistrationContext.context)).toEqual( + false + ); + + expect(logger.error).toHaveBeenCalledWith( + new Error( + `Indices matching pattern .alerts-test-default-* exist but none are set as the write index for alias .alerts-test-default` + ) + ); + + expect(clusterClient.ilm.putLifecycle).toHaveBeenCalled(); + expect(clusterClient.cluster.putComponentTemplate).toHaveBeenCalledTimes(2); + expect(clusterClient.indices.simulateTemplate).toHaveBeenCalled(); + expect(clusterClient.indices.putIndexTemplate).toHaveBeenCalled(); + expect(clusterClient.indices.getAlias).toHaveBeenCalled(); + expect(clusterClient.indices.putSettings).toHaveBeenCalled(); + expect(clusterClient.indices.simulateIndexTemplate).toHaveBeenCalled(); + expect(clusterClient.indices.putMapping).toHaveBeenCalled(); + expect(clusterClient.indices.create).not.toHaveBeenCalled(); + }); + + test('does not create new index if concrete write index exists', async () => { + clusterClient.indices.getAlias.mockImplementationOnce(async () => ({ + '.alerts-test-default-0001': { + aliases: { + '.alerts-test-default': { + is_write_index: true, + is_hidden: true, + }, + alias_2: { + is_write_index: false, + is_hidden: true, + }, + }, + }, + })); + + alertsService.register(TestRegistrationContext); + await new Promise((r) => setTimeout(r, 50)); + expect(await alertsService.isContextInitialized(TestRegistrationContext.context)).toEqual( + true + ); + + expect(clusterClient.ilm.putLifecycle).toHaveBeenCalled(); + expect(clusterClient.cluster.putComponentTemplate).toHaveBeenCalledTimes(2); + expect(clusterClient.indices.simulateTemplate).toHaveBeenCalled(); + expect(clusterClient.indices.putIndexTemplate).toHaveBeenCalled(); + expect(clusterClient.indices.getAlias).toHaveBeenCalled(); + expect(clusterClient.indices.putSettings).toHaveBeenCalled(); + expect(clusterClient.indices.simulateIndexTemplate).toHaveBeenCalled(); + expect(clusterClient.indices.putMapping).toHaveBeenCalled(); + expect(clusterClient.indices.create).not.toHaveBeenCalled(); + }); + + test('should log error and set initialized to false if create concrete index throws error', async () => { + clusterClient.indices.create.mockRejectedValueOnce(new Error('fail')); + + alertsService.register(TestRegistrationContext); + await new Promise((r) => setTimeout(r, 50)); + expect(await alertsService.isContextInitialized(TestRegistrationContext.context)).toEqual( + false + ); + + expect(logger.error).toHaveBeenCalledWith(`Error creating concrete write index - fail`); + + expect(clusterClient.ilm.putLifecycle).toHaveBeenCalled(); + expect(clusterClient.cluster.putComponentTemplate).toHaveBeenCalledTimes(2); + expect(clusterClient.indices.simulateTemplate).toHaveBeenCalled(); + expect(clusterClient.indices.putIndexTemplate).toHaveBeenCalled(); + expect(clusterClient.indices.getAlias).toHaveBeenCalled(); + expect(clusterClient.indices.putSettings).toHaveBeenCalled(); + expect(clusterClient.indices.simulateIndexTemplate).toHaveBeenCalled(); + expect(clusterClient.indices.putMapping).toHaveBeenCalled(); + expect(clusterClient.indices.create).toHaveBeenCalled(); + }); + + test('should not throw error if create concrete index throws resource_already_exists_exception error and write index already exists', async () => { + const error = new Error(`fail`) as EsError; + error.meta = { + body: { + error: { + type: 'resource_already_exists_exception', + }, + }, + }; + clusterClient.indices.create.mockRejectedValueOnce(error); + clusterClient.indices.get.mockImplementationOnce(async () => ({ + '.alerts-test-default-000001': { + aliases: { '.alerts-test-default': { is_write_index: true } }, + }, + })); + + alertsService.register(TestRegistrationContext); + await new Promise((r) => setTimeout(r, 50)); + expect(await alertsService.isContextInitialized(TestRegistrationContext.context)).toEqual( + true + ); + + expect(logger.error).toHaveBeenCalledWith(`Error creating concrete write index - fail`); + + expect(clusterClient.ilm.putLifecycle).toHaveBeenCalled(); + expect(clusterClient.cluster.putComponentTemplate).toHaveBeenCalledTimes(2); + expect(clusterClient.indices.simulateTemplate).toHaveBeenCalled(); + expect(clusterClient.indices.putIndexTemplate).toHaveBeenCalled(); + expect(clusterClient.indices.getAlias).toHaveBeenCalled(); + expect(clusterClient.indices.putSettings).toHaveBeenCalled(); + expect(clusterClient.indices.simulateIndexTemplate).toHaveBeenCalled(); + expect(clusterClient.indices.putMapping).toHaveBeenCalled(); + expect(clusterClient.indices.get).toHaveBeenCalled(); + expect(clusterClient.indices.create).toHaveBeenCalled(); + }); + + test('should log error and set initialized to false if create concrete index throws resource_already_exists_exception error and write index does not already exists', async () => { + const error = new Error(`fail`) as EsError; + error.meta = { + body: { + error: { + type: 'resource_already_exists_exception', + }, + }, + }; + clusterClient.indices.create.mockRejectedValueOnce(error); + clusterClient.indices.get.mockImplementationOnce(async () => ({ + '.alerts-test-default-000001': { + aliases: { '.alerts-test-default': { is_write_index: false } }, + }, + })); + + alertsService.register(TestRegistrationContext); + await new Promise((r) => setTimeout(r, 50)); + expect(await alertsService.isContextInitialized(TestRegistrationContext.context)).toEqual( + false + ); + + expect(logger.error).toHaveBeenCalledWith(`Error creating concrete write index - fail`); + + expect(clusterClient.ilm.putLifecycle).toHaveBeenCalled(); + expect(clusterClient.cluster.putComponentTemplate).toHaveBeenCalledTimes(2); + expect(clusterClient.indices.simulateTemplate).toHaveBeenCalled(); + expect(clusterClient.indices.putIndexTemplate).toHaveBeenCalled(); + expect(clusterClient.indices.getAlias).toHaveBeenCalled(); + expect(clusterClient.indices.putSettings).toHaveBeenCalled(); + expect(clusterClient.indices.simulateIndexTemplate).toHaveBeenCalled(); + expect(clusterClient.indices.putMapping).toHaveBeenCalled(); + expect(clusterClient.indices.get).toHaveBeenCalled(); + expect(clusterClient.indices.create).toHaveBeenCalled(); + }); + }); + + describe('retries', () => { + test('should retry adding ILM policy for transient ES errors', async () => { + clusterClient.ilm.putLifecycle + .mockRejectedValueOnce(new EsErrors.ConnectionError('foo')) + .mockRejectedValueOnce(new EsErrors.TimeoutError('timeout')) + .mockResolvedValue({ acknowledged: true }); + const alertsService = new AlertsService({ + logger, + elasticsearchClientPromise: Promise.resolve(clusterClient), + pluginStop$, + }); + + alertsService.initialize(); + await new Promise((r) => setTimeout(r, 150)); + expect(alertsService.isInitialized()).toEqual(true); + expect(clusterClient.ilm.putLifecycle).toHaveBeenCalledTimes(3); + }); + + test('should retry adding component template for transient ES errors', async () => { + clusterClient.cluster.putComponentTemplate + .mockRejectedValueOnce(new EsErrors.ConnectionError('foo')) + .mockRejectedValueOnce(new EsErrors.TimeoutError('timeout')) + .mockResolvedValue({ acknowledged: true }); + const alertsService = new AlertsService({ + logger, + elasticsearchClientPromise: Promise.resolve(clusterClient), + pluginStop$, + }); + + alertsService.initialize(); + await new Promise((r) => setTimeout(r, 150)); + expect(alertsService.isInitialized()).toEqual(true); + expect(clusterClient.cluster.putComponentTemplate).toHaveBeenCalledTimes(3); + }); + + test('should retry updating index template for transient ES errors', async () => { + clusterClient.indices.putIndexTemplate + .mockRejectedValueOnce(new EsErrors.ConnectionError('foo')) + .mockRejectedValueOnce(new EsErrors.TimeoutError('timeout')) + .mockResolvedValue({ acknowledged: true }); + const alertsService = new AlertsService({ + logger, + elasticsearchClientPromise: Promise.resolve(clusterClient), + pluginStop$, + }); + + alertsService.initialize(); + await new Promise((r) => setTimeout(r, 150)); + expect(alertsService.isInitialized()).toEqual(true); + + alertsService.register(TestRegistrationContext); + await new Promise((r) => setTimeout(r, 150)); + expect(await alertsService.isContextInitialized(TestRegistrationContext.context)).toEqual( + true + ); + expect(clusterClient.indices.putIndexTemplate).toHaveBeenCalledTimes(3); + }); + + test('should retry updating index settings for existing indices for transient ES errors', async () => { + clusterClient.indices.putSettings + .mockRejectedValueOnce(new EsErrors.ConnectionError('foo')) + .mockRejectedValueOnce(new EsErrors.TimeoutError('timeout')) + .mockResolvedValue({ acknowledged: true }); + const alertsService = new AlertsService({ + logger, + elasticsearchClientPromise: Promise.resolve(clusterClient), + pluginStop$, + }); + + alertsService.initialize(); + await new Promise((r) => setTimeout(r, 150)); + expect(alertsService.isInitialized()).toEqual(true); + + alertsService.register(TestRegistrationContext); + await new Promise((r) => setTimeout(r, 150)); + expect(await alertsService.isContextInitialized(TestRegistrationContext.context)).toEqual( + true + ); + expect(clusterClient.indices.putSettings).toHaveBeenCalledTimes(4); + }); + + test('should retry updating index mappings for existing indices for transient ES errors', async () => { + clusterClient.indices.putMapping + .mockRejectedValueOnce(new EsErrors.ConnectionError('foo')) + .mockRejectedValueOnce(new EsErrors.TimeoutError('timeout')) + .mockResolvedValue({ acknowledged: true }); + const alertsService = new AlertsService({ + logger, + elasticsearchClientPromise: Promise.resolve(clusterClient), + pluginStop$, + }); + + alertsService.initialize(); + await new Promise((r) => setTimeout(r, 150)); + expect(alertsService.isInitialized()).toEqual(true); + + alertsService.register(TestRegistrationContext); + await new Promise((r) => setTimeout(r, 150)); + expect(await alertsService.isContextInitialized(TestRegistrationContext.context)).toEqual( + true + ); + expect(clusterClient.indices.putMapping).toHaveBeenCalledTimes(4); + }); + + test('should retry creating concrete index for transient ES errors', async () => { + clusterClient.indices.create + .mockRejectedValueOnce(new EsErrors.ConnectionError('foo')) + .mockRejectedValueOnce(new EsErrors.TimeoutError('timeout')) + .mockResolvedValue({ index: 'index', shards_acknowledged: true, acknowledged: true }); + const alertsService = new AlertsService({ + logger, + elasticsearchClientPromise: Promise.resolve(clusterClient), + pluginStop$, + }); + + alertsService.initialize(); + await new Promise((r) => setTimeout(r, 150)); + expect(alertsService.isInitialized()).toEqual(true); + + alertsService.register(TestRegistrationContext); + await new Promise((r) => setTimeout(r, 150)); + expect(await alertsService.isContextInitialized(TestRegistrationContext.context)).toEqual( + true + ); + expect(clusterClient.indices.create).toHaveBeenCalledTimes(3); + }); + }); + + describe('timeout', () => { + test('should short circuit initialization if timeout exceeded', async () => { + clusterClient.ilm.putLifecycle.mockImplementationOnce(async () => { + await new Promise((resolve) => setTimeout(resolve, 20)); + return { acknowledged: true }; + }); + const alertsService = new AlertsService({ + logger, + elasticsearchClientPromise: Promise.resolve(clusterClient), + pluginStop$, + }); + + alertsService.initialize(10); + await new Promise((r) => setTimeout(r, 150)); + expect(alertsService.isInitialized()).toEqual(false); + + expect(logger.error).toHaveBeenCalledWith(new Error(`Timeout: it took more than 10ms`)); + }); + + test('should short circuit initialization if pluginStop$ signal received but not throw error', async () => { + pluginStop$.next(); + const alertsService = new AlertsService({ + logger, + elasticsearchClientPromise: Promise.resolve(clusterClient), + pluginStop$, + }); + + alertsService.initialize(); + await new Promise((r) => setTimeout(r, 50)); + + expect(logger.error).toHaveBeenCalledWith( + new Error(`Server is stopping; must stop all async operations`) + ); + }); + }); +}); diff --git a/x-pack/plugins/alerting/server/alerts_service/alerts_service.ts b/x-pack/plugins/alerting/server/alerts_service/alerts_service.ts new file mode 100644 index 0000000000000..0742be50c4fa4 --- /dev/null +++ b/x-pack/plugins/alerting/server/alerts_service/alerts_service.ts @@ -0,0 +1,512 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor 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 { + ClusterPutComponentTemplateRequest, + IndicesSimulateIndexTemplateResponse, + MappingTypeMapping, +} from '@elastic/elasticsearch/lib/api/types'; +import { get, isEmpty, isEqual } from 'lodash'; +import { Logger, ElasticsearchClient } from '@kbn/core/server'; +import { firstValueFrom, Observable } from 'rxjs'; +import { FieldMap } from '../../common/alert_schema/field_maps/types'; +import { alertFieldMap } from '../../common/alert_schema'; +import { ILM_POLICY_NAME, DEFAULT_ILM_POLICY } from './default_lifecycle_policy'; +import { + getComponentTemplate, + getComponentTemplateName, + getIndexTemplateAndPattern, + IIndexPatternString, +} from './types'; +import { retryTransientEsErrors } from './retry_transient_es_errors'; +import { IRuleTypeAlerts } from '../types'; +import { + createResourceInstallationHelper, + ResourceInstallationHelper, +} from './create_resource_installation_helper'; + +const TOTAL_FIELDS_LIMIT = 2500; +const INSTALLATION_TIMEOUT = 20 * 60 * 1000; // 20 minutes + +interface AlertsServiceParams { + logger: Logger; + pluginStop$: Observable; + elasticsearchClientPromise: Promise; +} + +interface ConcreteIndexInfo { + index: string; + alias: string; + isWriteIndex: boolean; +} +interface IAlertsService { + /** + * Initializes the common ES resources needed for framework alerts as data + * - ILM policy - common policy shared by all AAD indices + * - Component template - common mappings for fields populated and used by the framework + * + * Once common resource initialization is complete, look for any solution-specific + * resources that have been registered and are awaiting initialization. + */ + initialize(timeoutMs?: number): void; + + /** + * Register solution specific resources. If common resource initialization is + * complete, go ahead and install those resources, otherwise add to queue to + * await initialization + * + * Solution specific resources include: + * - Component template - solution specific mappings for fields used only by solution rule types + * - Index templates - solution specific template that combines common and solution specific component templates + * - Concrete write index - solution specific write index + */ + register(opts: IRuleTypeAlerts, timeoutMs?: number): void; + + isInitialized(): boolean; +} + +export class AlertsService implements IAlertsService { + private initialized: boolean; + private resourceInitializationHelper: ResourceInstallationHelper; + private registeredContexts: Map = new Map(); + + constructor(private readonly options: AlertsServiceParams) { + this.initialized = false; + this.resourceInitializationHelper = createResourceInstallationHelper( + this.initializeContext.bind(this) + ); + } + + public isInitialized() { + return this.initialized; + } + + public async isContextInitialized(context: string) { + return (await this.resourceInitializationHelper.getInitializedContexts().get(context)) ?? false; + } + + public initialize(timeoutMs?: number) { + // Only initialize once + if (this.initialized) return; + + this.options.logger.debug(`Initializing resources for AlertsService`); + + // Use setImmediate to execute async fns as soon as possible + setImmediate(async () => { + try { + const esClient = await this.options.elasticsearchClientPromise; + + // Common initialization installs ILM policy and shared component template + const initFns = [ + () => this.createOrUpdateIlmPolicy(esClient), + () => this.createOrUpdateComponentTemplate(esClient, getComponentTemplate(alertFieldMap)), + ]; + + for (const fn of initFns) { + await this.installWithTimeout(async () => await fn(), timeoutMs); + } + + this.initialized = true; + } catch (err) { + this.options.logger.error( + `Error installing common resources for AlertsService. No additional resources will be installed and rule execution may be impacted.` + ); + this.initialized = false; + } + + if (this.initialized) { + this.resourceInitializationHelper.setReadyToInitialize(timeoutMs); + } + }); + } + + public register({ context, fieldMap }: IRuleTypeAlerts, timeoutMs?: number) { + // check whether this context has been registered before + if (this.registeredContexts.has(context)) { + const registeredFieldMap = this.registeredContexts.get(context); + if (!isEqual(fieldMap, registeredFieldMap)) { + throw new Error(`${context} has already been registered with a different mapping`); + } + this.options.logger.debug(`Resources for context "${context}" have already been registered.`); + return; + } + + this.options.logger.info(`Registering resources for context "${context}".`); + this.registeredContexts.set(context, fieldMap); + this.resourceInitializationHelper.add({ context, fieldMap }, timeoutMs); + } + + private async initializeContext({ context, fieldMap }: IRuleTypeAlerts, timeoutMs?: number) { + const esClient = await this.options.elasticsearchClientPromise; + + const indexTemplateAndPattern = getIndexTemplateAndPattern(context); + + // Context specific initialization installs component template, index template and write index + // If fieldMap is empty, don't create context specific component template + const initFns = isEmpty(fieldMap) + ? [ + async () => + await this.createOrUpdateIndexTemplate(esClient, indexTemplateAndPattern, [ + getComponentTemplateName(), + ]), + async () => await this.createConcreteWriteIndex(esClient, indexTemplateAndPattern), + ] + : [ + async () => + await this.createOrUpdateComponentTemplate( + esClient, + getComponentTemplate(fieldMap, context) + ), + async () => + await this.createOrUpdateIndexTemplate(esClient, indexTemplateAndPattern, [ + getComponentTemplateName(), + getComponentTemplateName(context), + ]), + async () => await this.createConcreteWriteIndex(esClient, indexTemplateAndPattern), + ]; + + for (const fn of initFns) { + await this.installWithTimeout(async () => await fn(), timeoutMs); + } + } + + /** + * Creates ILM policy if it doesn't already exist, updates it if it does + */ + private async createOrUpdateIlmPolicy(esClient: ElasticsearchClient) { + this.options.logger.info(`Installing ILM policy ${ILM_POLICY_NAME}`); + + try { + await retryTransientEsErrors( + () => + esClient.ilm.putLifecycle({ + name: ILM_POLICY_NAME, + body: DEFAULT_ILM_POLICY, + }), + { logger: this.options.logger } + ); + } catch (err) { + this.options.logger.error(`Error installing ILM policy ${ILM_POLICY_NAME} - ${err.message}`); + throw err; + } + } + + private async createOrUpdateComponentTemplate( + esClient: ElasticsearchClient, + template: ClusterPutComponentTemplateRequest + ) { + this.options.logger.info(`Installing component template ${template.name}`); + + try { + await retryTransientEsErrors(() => esClient.cluster.putComponentTemplate(template), { + logger: this.options.logger, + }); + } catch (err) { + this.options.logger.error( + `Error installing component template ${template.name} - ${err.message}` + ); + throw err; + } + } + + /** + * Installs index template that uses installed component template + * Prior to installation, simulates the installation to check for possible + * conflicts. Simulate should return an empty mapping if a template + * conflicts with an already installed template. + */ + private async createOrUpdateIndexTemplate( + esClient: ElasticsearchClient, + indexPatterns: IIndexPatternString, + componentTemplateNames: string[] + ) { + this.options.logger.info(`Installing index template ${indexPatterns.template}`); + + const indexTemplate = { + name: indexPatterns.template, + body: { + index_patterns: [indexPatterns.pattern], + composed_of: componentTemplateNames, + template: { + settings: { + auto_expand_replicas: '0-1', + hidden: true, + 'index.lifecycle': { + name: ILM_POLICY_NAME, + rollover_alias: indexPatterns.alias, + }, + 'index.mapping.total_fields.limit': TOTAL_FIELDS_LIMIT, + }, + mappings: { + dynamic: false, + }, + }, + _meta: { + managed: true, + }, + // do we need metadata? like kibana version? doesn't that get updated every version? or just the first version its installed + }, + }; + + let mappings: MappingTypeMapping = {}; + try { + // Simulate the index template to proactively identify any issues with the mapping + const simulateResponse = await esClient.indices.simulateTemplate(indexTemplate); + mappings = simulateResponse.template.mappings; + } catch (err) { + this.options.logger.error( + `Failed to simulate index template mappings for ${indexPatterns.template}; not applying mappings - ${err.message}` + ); + return; + } + + if (isEmpty(mappings)) { + throw new Error( + `No mappings would be generated for ${indexPatterns.template}, possibly due to failed/misconfigured bootstrapping` + ); + } + + try { + await retryTransientEsErrors(() => esClient.indices.putIndexTemplate(indexTemplate), { + logger: this.options.logger, + }); + } catch (err) { + this.options.logger.error( + `Error installing index template ${indexPatterns.template} - ${err.message}` + ); + throw err; + } + } + + /** + * Updates the underlying mapping for any existing concrete indices + */ + private async updateIndexMappings( + esClient: ElasticsearchClient, + concreteIndices: ConcreteIndexInfo[] + ) { + this.options.logger.debug( + `Updating underlying mappings for ${concreteIndices.length} indices.` + ); + + // Update total field limit setting of found indices + // Other index setting changes are not updated at this time + await Promise.all( + concreteIndices.map((index) => this.updateTotalFieldLimitSetting(esClient, index)) + ); + + // Update mappings of the found indices. + await Promise.all( + concreteIndices.map((index) => this.updateUnderlyingMapping(esClient, index)) + ); + } + + private async updateTotalFieldLimitSetting( + esClient: ElasticsearchClient, + { index, alias }: ConcreteIndexInfo + ) { + try { + await retryTransientEsErrors( + () => + esClient.indices.putSettings({ + index, + body: { + 'index.mapping.total_fields.limit': TOTAL_FIELDS_LIMIT, + }, + }), + { + logger: this.options.logger, + } + ); + return; + } catch (err) { + this.options.logger.error( + `Failed to PUT index.mapping.total_fields.limit settings for alias ${alias}: ${err.message}` + ); + throw err; + } + } + + private async updateUnderlyingMapping( + esClient: ElasticsearchClient, + { index, alias }: ConcreteIndexInfo + ) { + let simulatedIndexMapping: IndicesSimulateIndexTemplateResponse; + try { + simulatedIndexMapping = await esClient.indices.simulateIndexTemplate({ + name: index, + }); + } catch (err) { + this.options.logger.error( + `Ignored PUT mappings for alias ${alias}; error generating simulated mappings: ${err.message}` + ); + return; + } + + const simulatedMapping = get(simulatedIndexMapping, ['template', 'mappings']); + + if (simulatedMapping == null) { + this.options.logger.error( + `Ignored PUT mappings for alias ${alias}; simulated mappings were empty` + ); + return; + } + + try { + await retryTransientEsErrors( + () => + esClient.indices.putMapping({ + index, + body: simulatedMapping, + }), + { + logger: this.options.logger, + } + ); + + return; + } catch (err) { + this.options.logger.error(`Failed to PUT mapping for alias ${alias}: ${err.message}`); + throw err; + } + } + + private async createConcreteWriteIndex( + esClient: ElasticsearchClient, + indexPatterns: IIndexPatternString + ) { + this.options.logger.info(`Creating concrete write index - ${indexPatterns.name}`); + + // check if a concrete write index already exists + let concreteIndices: ConcreteIndexInfo[] = []; + try { + const response = await esClient.indices.getAlias({ + index: indexPatterns.pattern, + }); + + concreteIndices = Object.entries(response).flatMap(([index, { aliases }]) => + Object.entries(aliases).map(([aliasName, aliasProperties]) => ({ + index, + alias: aliasName, + isWriteIndex: aliasProperties.is_write_index ?? false, + })) + ); + + this.options.logger.debug( + `Found ${concreteIndices.length} concrete indices for ${ + indexPatterns.name + } - ${JSON.stringify(concreteIndices)}` + ); + } catch (error) { + // 404 is expected if no concrete write indices have been created + if (error.statusCode !== 404) { + this.options.logger.error( + `Error fetching concrete indices for ${indexPatterns.pattern} pattern - ${error.message}` + ); + throw error; + } + } + + let concreteWriteIndicesExist = false; + // if a concrete write index already exists, update the underlying mapping + if (concreteIndices.length > 0) { + await this.updateIndexMappings(esClient, concreteIndices); + + const concreteIndicesExist = concreteIndices.some( + (index) => index.alias === indexPatterns.alias + ); + concreteWriteIndicesExist = concreteIndices.some( + (index) => index.alias === indexPatterns.alias && index.isWriteIndex + ); + + // If there are some concrete indices but none of them are the write index, we'll throw an error + // because one of the existing indices should have been the write target. + if (concreteIndicesExist && !concreteWriteIndicesExist) { + throw new Error( + `Indices matching pattern ${indexPatterns.pattern} exist but none are set as the write index for alias ${indexPatterns.alias}` + ); + } + } + + // check if a concrete write index already exists + if (!concreteWriteIndicesExist) { + try { + await retryTransientEsErrors( + () => + esClient.indices.create({ + index: indexPatterns.name, + body: { + aliases: { + [indexPatterns.alias]: { + is_write_index: true, + }, + }, + }, + }), + { + logger: this.options.logger, + } + ); + } catch (error) { + this.options.logger.error(`Error creating concrete write index - ${error.message}`); + // If the index already exists and it's the write index for the alias, + // something else created it so suppress the error. If it's not the write + // index, that's bad, throw an error. + if (error?.meta?.body?.error?.type === 'resource_already_exists_exception') { + const existingIndices = await esClient.indices.get({ + index: indexPatterns.name, + }); + if ( + !existingIndices[indexPatterns.name]?.aliases?.[indexPatterns.alias]?.is_write_index + ) { + throw Error( + `Attempted to create index: ${indexPatterns.name} as the write index for alias: ${indexPatterns.alias}, but the index already exists and is not the write index for the alias` + ); + } + } else { + throw error; + } + } + } + } + + private async installWithTimeout( + installFn: () => Promise, + timeoutMs: number = INSTALLATION_TIMEOUT + ): Promise { + try { + let timeoutId: NodeJS.Timeout; + const install = async (): Promise => { + await installFn(); + if (timeoutId) { + clearTimeout(timeoutId); + } + }; + + const throwTimeoutException = (): Promise => { + return new Promise((_, reject) => { + timeoutId = setTimeout(() => { + const msg = `Timeout: it took more than ${timeoutMs}ms`; + reject(new Error(msg)); + }, timeoutMs); + + firstValueFrom(this.options.pluginStop$).then(() => { + clearTimeout(timeoutId); + reject(new Error('Server is stopping; must stop all async operations')); + }); + }); + }; + + await Promise.race([install(), throwTimeoutException()]); + } catch (e) { + this.options.logger.error(e); + + const reason = e?.message || 'Unknown reason'; + throw new Error(`Failure during installation. ${reason}`); + } + } +} diff --git a/x-pack/plugins/alerting/server/alerts_service/create_resource_installation_helper.test.ts b/x-pack/plugins/alerting/server/alerts_service/create_resource_installation_helper.test.ts new file mode 100644 index 0000000000000..f9ce460d04093 --- /dev/null +++ b/x-pack/plugins/alerting/server/alerts_service/create_resource_installation_helper.test.ts @@ -0,0 +1,137 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor 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 { loggingSystemMock } from '@kbn/core/server/mocks'; +import { IRuleTypeAlerts } from '../types'; +import { createResourceInstallationHelper } from './create_resource_installation_helper'; + +const logger: ReturnType = + loggingSystemMock.createLogger(); + +const initFn = async (context: IRuleTypeAlerts, timeoutMs?: number) => { + logger.info(context.context); +}; + +const initFnWithDelay = async (context: IRuleTypeAlerts, timeoutMs?: number) => { + logger.info(context.context); + await new Promise((r) => setTimeout(r, 50)); +}; + +const initFnWithError = async (context: IRuleTypeAlerts, timeoutMs?: number) => { + throw new Error('fail'); +}; + +describe('createResourceInstallationHelper', () => { + beforeEach(() => { + jest.clearAllMocks(); + }); + + test(`should not call init function if readyToInitialize is false`, () => { + const helper = createResourceInstallationHelper(initFn); + + // Add two contexts that need to be initialized but don't call helper.setReadyToInitialize() + helper.add({ context: 'test1', fieldMap: { field: { type: 'keyword', required: false } } }); + helper.add({ context: 'test2', fieldMap: { field: { type: 'keyword', required: false } } }); + + expect(logger.info).not.toHaveBeenCalled(); + const initializedContexts = helper.getInitializedContexts(); + expect([...initializedContexts.keys()].length).toEqual(0); + }); + + test(`should call init function if readyToInitialize is set to true`, async () => { + const helper = createResourceInstallationHelper(initFn); + + // Add two contexts that need to be initialized and then call helper.setReadyToInitialize() + helper.add({ context: 'test1', fieldMap: { field: { type: 'keyword', required: false } } }); + helper.add({ context: 'test2', fieldMap: { field: { type: 'keyword', required: false } } }); + + helper.setReadyToInitialize(); + + // for the setImmediate + await new Promise((r) => setTimeout(r, 10)); + + expect(logger.info).toHaveBeenCalledTimes(2); + const initializedContexts = helper.getInitializedContexts(); + expect([...initializedContexts.keys()].length).toEqual(2); + + expect(await initializedContexts.get('test1')).toEqual(true); + expect(await initializedContexts.get('test2')).toEqual(true); + }); + + test(`should install resources for contexts added after readyToInitialize is called`, async () => { + const helper = createResourceInstallationHelper(initFnWithDelay); + + // Add two contexts that need to be initialized + helper.add({ context: 'test1', fieldMap: { field: { type: 'keyword', required: false } } }); + helper.add({ context: 'test2', fieldMap: { field: { type: 'keyword', required: false } } }); + + // Start processing the queued contexts + helper.setReadyToInitialize(); + + // for the setImmediate + await new Promise((r) => setTimeout(r, 10)); + + // Add another context to process + helper.add({ context: 'test3', fieldMap: { field: { type: 'keyword', required: false } } }); + + // 3 contexts with delay will take 150 + await new Promise((r) => setTimeout(r, 10)); + + expect(logger.info).toHaveBeenCalledTimes(3); + const initializedContexts = helper.getInitializedContexts(); + expect([...initializedContexts.keys()].length).toEqual(3); + + expect(await initializedContexts.get('test1')).toEqual(true); + expect(await initializedContexts.get('test2')).toEqual(true); + expect(await initializedContexts.get('test3')).toEqual(true); + }); + + test(`should install resources for contexts added after initial processing loop has run`, async () => { + const helper = createResourceInstallationHelper(initFn); + + // No contexts queued so this should finish quickly + helper.setReadyToInitialize(); + + // for the setImmediate + await new Promise((r) => setTimeout(r, 10)); + + expect(logger.info).not.toHaveBeenCalled(); + let initializedContexts = helper.getInitializedContexts(); + expect([...initializedContexts.keys()].length).toEqual(0); + + // Add a context to process + helper.add({ context: 'test1', fieldMap: { field: { type: 'keyword', required: false } } }); + + // for the setImmediate + await new Promise((r) => setTimeout(r, 10)); + + expect(logger.info).toHaveBeenCalledTimes(1); + initializedContexts = helper.getInitializedContexts(); + expect([...initializedContexts.keys()].length).toEqual(1); + + expect(await initializedContexts.get('test1')).toEqual(true); + }); + + test(`should gracefully handle errors during initialization and set initialized flag to false`, async () => { + const helper = createResourceInstallationHelper(initFnWithError); + + helper.setReadyToInitialize(); + + // for the setImmediate + await new Promise((r) => setTimeout(r, 10)); + + // Add a context to process + helper.add({ context: 'test1', fieldMap: { field: { type: 'keyword', required: false } } }); + + // for the setImmediate + await new Promise((r) => setTimeout(r, 10)); + + const initializedContexts = helper.getInitializedContexts(); + expect([...initializedContexts.keys()].length).toEqual(1); + expect(await initializedContexts.get('test1')).toEqual(false); + }); +}); diff --git a/x-pack/plugins/alerting/server/alerts_service/create_resource_installation_helper.ts b/x-pack/plugins/alerting/server/alerts_service/create_resource_installation_helper.ts new file mode 100644 index 0000000000000..0e3cbe0f87a9a --- /dev/null +++ b/x-pack/plugins/alerting/server/alerts_service/create_resource_installation_helper.ts @@ -0,0 +1,81 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor 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 { IRuleTypeAlerts } from '../types'; + +export interface ResourceInstallationHelper { + add: (context: IRuleTypeAlerts, timeoutMs?: number) => void; + setReadyToInitialize: (timeoutMs?: number) => void; + getInitializedContexts: () => Map>; +} + +/** + * Helper function that queues up resources to initialize until we are + * ready to begin initialization. Once we're ready, we start taking from + * the queue and kicking off initialization. + * + * If a resource is added after we begin initialization, we push it onto + * the queue and the running loop will handle it + * + * If a resource is added to the queue when the processing loop is not + * running, kick off the processing loop + */ +export function createResourceInstallationHelper( + initFn: (context: IRuleTypeAlerts, timeoutMs?: number) => Promise +): ResourceInstallationHelper { + let readyToInitialize = false; + let isInitializing: boolean = false; + const contextsToInitialize: IRuleTypeAlerts[] = []; + const initializedContexts: Map> = new Map(); + + const waitUntilContextResourcesInstalled = async ( + context: IRuleTypeAlerts, + timeoutMs?: number + ): Promise => { + try { + await initFn(context, timeoutMs); + return true; + } catch (err) { + return false; + } + }; + + const startInitialization = (timeoutMs?: number) => { + if (!readyToInitialize) { + return; + } + + setImmediate(async () => { + isInitializing = true; + while (contextsToInitialize.length > 0) { + const context = contextsToInitialize.pop()!; + initializedContexts.set( + context.context, + + // Return a promise than can be checked when needed + waitUntilContextResourcesInstalled(context, timeoutMs) + ); + } + isInitializing = false; + }); + }; + return { + add: (context: IRuleTypeAlerts, timeoutMs?: number) => { + contextsToInitialize.push(context); + if (!isInitializing) { + startInitialization(timeoutMs); + } + }, + setReadyToInitialize: (timeoutMs?: number) => { + readyToInitialize = true; + startInitialization(timeoutMs); + }, + getInitializedContexts: () => { + return initializedContexts; + }, + }; +} diff --git a/x-pack/plugins/alerting/server/alerts_service/default_lifecycle_policy.ts b/x-pack/plugins/alerting/server/alerts_service/default_lifecycle_policy.ts new file mode 100644 index 0000000000000..f5d11c6214ee6 --- /dev/null +++ b/x-pack/plugins/alerting/server/alerts_service/default_lifecycle_policy.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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +/** + * Default alert index ILM policy + * - _meta.managed: notify users this is a managed policy and should be modified + * at their own risk + * - no delete phase as we want to keep these indices around indefinitely + * + * This should be used by all alerts-as-data indices + */ + +export const ILM_POLICY_NAME = 'alerts-default-ilm-policy'; +export const DEFAULT_ILM_POLICY = { + policy: { + _meta: { + managed: true, + }, + phases: { + hot: { + actions: { + rollover: { + max_age: '30d', + max_primary_shard_size: '50gb', + }, + }, + }, + }, + }, +}; diff --git a/x-pack/plugins/alerting/server/alerts_service/retry_transient_es_errors.test.ts b/x-pack/plugins/alerting/server/alerts_service/retry_transient_es_errors.test.ts new file mode 100644 index 0000000000000..2501c57776d80 --- /dev/null +++ b/x-pack/plugins/alerting/server/alerts_service/retry_transient_es_errors.test.ts @@ -0,0 +1,95 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ +import { loggerMock } from '@kbn/logging-mocks'; +import { errors as EsErrors } from '@elastic/elasticsearch'; + +import { retryTransientEsErrors } from './retry_transient_es_errors'; + +const logger = loggerMock.create(); +const randomDelayMultiplier = 0.01; + +describe('retryTransientErrors', () => { + beforeEach(() => { + jest.resetAllMocks(); + jest.spyOn(global.Math, 'random').mockReturnValue(randomDelayMultiplier); + }); + + it("doesn't retry if operation is successful", async () => { + const esCallMock = jest.fn().mockResolvedValue('success'); + expect(await retryTransientEsErrors(esCallMock, { logger })).toEqual('success'); + expect(esCallMock).toHaveBeenCalledTimes(1); + }); + + it('logs a warning message on retry', async () => { + const esCallMock = jest + .fn() + .mockRejectedValueOnce(new EsErrors.ConnectionError('foo')) + .mockResolvedValue('success'); + + await retryTransientEsErrors(esCallMock, { logger }); + expect(logger.warn).toHaveBeenCalledTimes(1); + expect(logger.warn.mock.calls[0][0]).toMatch( + `Retrying Elasticsearch operation after [2s] due to error: ConnectionError: foo ConnectionError: foo` + ); + }); + + it('retries with an exponential backoff', async () => { + let attempt = 0; + const esCallMock = jest.fn(async () => { + attempt++; + if (attempt < 4) { + throw new EsErrors.ConnectionError('foo'); + } else { + return 'success'; + } + }); + + expect(await retryTransientEsErrors(esCallMock, { logger })).toEqual('success'); + expect(esCallMock).toHaveBeenCalledTimes(4); + expect(logger.warn).toHaveBeenCalledTimes(3); + expect(logger.warn.mock.calls[0][0]).toMatch( + `Retrying Elasticsearch operation after [2s] due to error: ConnectionError: foo ConnectionError: foo` + ); + expect(logger.warn.mock.calls[1][0]).toMatch( + `Retrying Elasticsearch operation after [4s] due to error: ConnectionError: foo ConnectionError: foo` + ); + expect(logger.warn.mock.calls[2][0]).toMatch( + `Retrying Elasticsearch operation after [8s] due to error: ConnectionError: foo ConnectionError: foo` + ); + }); + + it('retries each supported error type', async () => { + const errors = [ + new EsErrors.NoLivingConnectionsError('no living connection', { + warnings: [], + // eslint-disable-next-line @typescript-eslint/no-explicit-any + meta: {} as any, + }), + new EsErrors.ConnectionError('no connection'), + new EsErrors.TimeoutError('timeout'), + // eslint-disable-next-line @typescript-eslint/no-explicit-any + new EsErrors.ResponseError({ statusCode: 503, meta: {} as any, warnings: [] }), + // eslint-disable-next-line @typescript-eslint/no-explicit-any + new EsErrors.ResponseError({ statusCode: 408, meta: {} as any, warnings: [] }), + // eslint-disable-next-line @typescript-eslint/no-explicit-any + new EsErrors.ResponseError({ statusCode: 410, meta: {} as any, warnings: [] }), + ]; + + for (const error of errors) { + const esCallMock = jest.fn().mockRejectedValueOnce(error).mockResolvedValue('success'); + expect(await retryTransientEsErrors(esCallMock, { logger })).toEqual('success'); + expect(esCallMock).toHaveBeenCalledTimes(2); + } + }); + + it('does not retry unsupported errors', async () => { + const error = new Error('foo!'); + const esCallMock = jest.fn().mockRejectedValueOnce(error).mockResolvedValue('success'); + await expect(retryTransientEsErrors(esCallMock, { logger })).rejects.toThrow(error); + expect(esCallMock).toHaveBeenCalledTimes(1); + }); +}); diff --git a/x-pack/plugins/alerting/server/alerts_service/retry_transient_es_errors.ts b/x-pack/plugins/alerting/server/alerts_service/retry_transient_es_errors.ts new file mode 100644 index 0000000000000..2df03e65690f1 --- /dev/null +++ b/x-pack/plugins/alerting/server/alerts_service/retry_transient_es_errors.ts @@ -0,0 +1,57 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { Logger } from '@kbn/core/server'; +import { errors as EsErrors } from '@elastic/elasticsearch'; + +const MAX_ATTEMPTS = 3; + +const retryResponseStatuses = [ + 503, // ServiceUnavailable + 408, // RequestTimeout + 410, // Gone +]; + +const isRetryableError = (e: Error) => + e instanceof EsErrors.NoLivingConnectionsError || + e instanceof EsErrors.ConnectionError || + e instanceof EsErrors.TimeoutError || + (e instanceof EsErrors.ResponseError && retryResponseStatuses.includes(e?.statusCode!)); + +const delay = (ms: number) => new Promise((resolve) => setTimeout(resolve, ms)); + +export const retryTransientEsErrors = async ( + esCall: () => Promise, + { + logger, + attempt = 0, + }: { + logger: Logger; + attempt?: number; + } +): Promise => { + try { + return await esCall(); + } catch (e) { + if (attempt < MAX_ATTEMPTS && isRetryableError(e)) { + const retryCount = attempt + 1; + const retryDelaySec: number = Math.min(Math.pow(2, retryCount), 30); // 2s, 4s, 8s, 16s, 30s, 30s, 30s... + + logger.warn( + `Retrying Elasticsearch operation after [${retryDelaySec}s] due to error: ${e.toString()} ${ + e.stack + }` + ); + + // delay with some randomness + await delay(retryDelaySec * 1000 * Math.random()); + return retryTransientEsErrors(esCall, { logger, attempt: retryCount }); + } + + throw e; + } +}; diff --git a/x-pack/plugins/alerting/server/alerts_service/types.ts b/x-pack/plugins/alerting/server/alerts_service/types.ts new file mode 100644 index 0000000000000..db47a9a8e0015 --- /dev/null +++ b/x-pack/plugins/alerting/server/alerts_service/types.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 { ClusterPutComponentTemplateRequest } from '@elastic/elasticsearch/lib/api/types'; +import { getComponentTemplateFromFieldMap } from '../../common/alert_schema'; +import { FieldMap } from '../../common/alert_schema/field_maps/types'; + +export const getComponentTemplateName = (context?: string) => + `alerts-${context ? context : 'common'}-component-template`; + +export interface IIndexPatternString { + template: string; + pattern: string; + alias: string; + name: string; +} + +export const getIndexTemplateAndPattern = ( + context: string, + namespace?: string +): IIndexPatternString => { + const pattern = `${context}-${namespace ? namespace : 'default'}`; + return { + template: `.alerts-${pattern}-template`, + pattern: `.alerts-${pattern}-*`, + alias: `.alerts-${pattern}`, + name: `.alerts-${pattern}-000001`, + }; +}; + +export const getComponentTemplate = ( + fieldMap: FieldMap, + context?: string +): ClusterPutComponentTemplateRequest => + getComponentTemplateFromFieldMap({ + name: getComponentTemplateName(context), + fieldMap, + // set field limit slightly higher than actual number of fields + fieldLimit: 100, // Math.round(Object.keys(fieldMap).length * 1.5), + }); diff --git a/x-pack/plugins/alerting/server/config.test.ts b/x-pack/plugins/alerting/server/config.test.ts index ec6f2f6565d67..26ea818719b7e 100644 --- a/x-pack/plugins/alerting/server/config.test.ts +++ b/x-pack/plugins/alerting/server/config.test.ts @@ -13,6 +13,7 @@ describe('config validation', () => { expect(configSchema.validate(config)).toMatchInlineSnapshot(` Object { "cancelAlertsOnRuleTimeout": true, + "enableFrameworkAlerts": false, "healthCheck": Object { "interval": "60m", }, diff --git a/x-pack/plugins/alerting/server/config.ts b/x-pack/plugins/alerting/server/config.ts index f6becbf192b05..f727cb98c0266 100644 --- a/x-pack/plugins/alerting/server/config.ts +++ b/x-pack/plugins/alerting/server/config.ts @@ -62,6 +62,7 @@ export const configSchema = schema.object({ maxEphemeralActionsPerAlert: schema.number({ defaultValue: DEFAULT_MAX_EPHEMERAL_ACTIONS_PER_ALERT, }), + enableFrameworkAlerts: schema.boolean({ defaultValue: false }), cancelAlertsOnRuleTimeout: schema.boolean({ defaultValue: true }), rules: rulesSchema, }); diff --git a/x-pack/plugins/alerting/server/plugin.test.ts b/x-pack/plugins/alerting/server/plugin.test.ts index 7b85bc898fee0..4e48c0db01ae6 100644 --- a/x-pack/plugins/alerting/server/plugin.test.ts +++ b/x-pack/plugins/alerting/server/plugin.test.ts @@ -26,6 +26,13 @@ import { PluginSetup as DataPluginSetup, } from '@kbn/data-plugin/server'; import { spacesMock } from '@kbn/spaces-plugin/server/mocks'; +import { AlertsService } from './alerts_service/alerts_service'; +import { alertsServiceMock } from './alerts_service/alerts_service.mock'; + +const mockAlertService = alertsServiceMock.create(); +jest.mock('./alerts_service/alerts_service', () => ({ + AlertsService: jest.fn().mockImplementation(() => mockAlertService), +})); import { SharePluginStart } from '@kbn/share-plugin/server'; import { dataViewPluginMocks } from '@kbn/data-views-plugin/public/mocks'; @@ -33,6 +40,7 @@ const generateAlertingConfig = (): AlertingConfig => ({ healthCheck: { interval: '5m', }, + enableFrameworkAlerts: false, invalidateApiKeysTask: { interval: '5m', removalDelay: '1h', @@ -116,6 +124,20 @@ describe('Alerting Plugin', () => { expect(usageCollectionSetup.registerCollector).toHaveBeenCalled(); }); + it('should initialize AlertsService if enableFrameworkAlerts config is true', async () => { + const context = coreMock.createPluginInitializerContext({ + ...generateAlertingConfig(), + enableFrameworkAlerts: true, + }); + plugin = new AlertingPlugin(context); + + // need await to test number of calls of setupMocks.status.set, because it is under async function which awaiting core.getStartServices() + await plugin.setup(setupMocks, mockPlugins); + + expect(AlertsService).toHaveBeenCalled(); + expect(mockAlertService.initialize).toHaveBeenCalled(); + }); + it(`exposes configured minimumScheduleInterval()`, async () => { const context = coreMock.createPluginInitializerContext( generateAlertingConfig() diff --git a/x-pack/plugins/alerting/server/plugin.ts b/x-pack/plugins/alerting/server/plugin.ts index b3b94584025c3..5ae4be21d9a63 100644 --- a/x-pack/plugins/alerting/server/plugin.ts +++ b/x-pack/plugins/alerting/server/plugin.ts @@ -6,7 +6,7 @@ */ import type { PublicMethodsOf } from '@kbn/utility-types'; -import { BehaviorSubject } from 'rxjs'; +import { BehaviorSubject, ReplaySubject, Subject } from 'rxjs'; import { pick } from 'lodash'; import { UsageCollectionSetup, UsageCounter } from '@kbn/usage-collection-plugin/server'; import { SecurityPluginSetup, SecurityPluginStart } from '@kbn/security-plugin/server'; @@ -86,6 +86,7 @@ import { getSecurityHealth, SecurityHealth } from './lib/get_security_health'; import { registerNodeCollector, registerClusterCollector, InMemoryMetrics } from './monitoring'; import { getRuleTaskTimeout } from './lib/get_rule_task_timeout'; import { getActionsConfigMap } from './lib/get_actions_config_map'; +import { AlertsService } from './alerts_service/alerts_service'; import { rulesSettingsFeature } from './rules_settings_feature'; export const EVENT_LOG_PROVIDER = 'alerting'; @@ -186,6 +187,8 @@ export class AlertingPlugin { private kibanaBaseUrl: string | undefined; private usageCounter: UsageCounter | undefined; private inMemoryMetrics: InMemoryMetrics; + private alertsService?: AlertsService; + private pluginStop$: Subject; constructor(initializerContext: PluginInitializerContext) { this.config = initializerContext.config.get(); @@ -197,6 +200,7 @@ export class AlertingPlugin { this.telemetryLogger = initializerContext.logger.get('usage'); this.kibanaVersion = initializerContext.env.packageInfo.version; this.inMemoryMetrics = new InMemoryMetrics(initializerContext.logger.get('in_memory_metrics')); + this.pluginStop$ = new ReplaySubject(1); } public setup( @@ -235,12 +239,24 @@ export class AlertingPlugin { this.eventLogService = plugins.eventLog; plugins.eventLog.registerProviderActions(EVENT_LOG_PROVIDER, Object.values(EVENT_LOG_ACTIONS)); + if (this.config.enableFrameworkAlerts) { + this.alertsService = new AlertsService({ + logger: this.logger, + pluginStop$: this.pluginStop$, + elasticsearchClientPromise: core + .getStartServices() + .then(([{ elasticsearch }]) => elasticsearch.client.asInternalUser), + }); + this.alertsService!.initialize(); + } + const ruleTypeRegistry = new RuleTypeRegistry({ logger: this.logger, taskManager: plugins.taskManager, taskRunnerFactory: this.taskRunnerFactory, licenseState: this.licenseState, licensing: plugins.licensing, + alertsService: this.alertsService, minimumScheduleInterval: this.config.rules.minimumScheduleInterval, inMemoryMetrics: this.inMemoryMetrics, }); @@ -526,5 +542,7 @@ export class AlertingPlugin { if (this.licenseState) { this.licenseState.clean(); } + this.pluginStop$.next(); + this.pluginStop$.complete(); } } 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 8391d94576d13..bb15ef287e408 100644 --- a/x-pack/plugins/alerting/server/rule_type_registry.test.ts +++ b/x-pack/plugins/alerting/server/rule_type_registry.test.ts @@ -14,6 +14,7 @@ import { licenseStateMock } from './lib/license_state.mock'; import { licensingMock } from '@kbn/licensing-plugin/server/mocks'; import { loggingSystemMock } from '@kbn/core/server/mocks'; import { inMemoryMetricsMock } from './monitoring/in_memory_metrics.mock'; +import { alertsServiceMock } from './alerts_service/alerts_service.mock'; const logger = loggingSystemMock.create().get(); let mockedLicenseState: jest.Mocked; @@ -21,6 +22,7 @@ let ruleTypeRegistryParams: ConstructorOptions; const taskManager = taskManagerMock.createSetup(); const inMemoryMetrics = inMemoryMetricsMock.create(); +const alertsService = alertsServiceMock.create(); beforeEach(() => { jest.resetAllMocks(); @@ -451,6 +453,55 @@ describe('Create Lifecycle', () => { }) ).toThrowErrorMatchingInlineSnapshot(`"Rule type \\"test\\" is already registered."`); }); + + test('should initialize alerts as data resources if AlertsService is defined and alert definition is registered', () => { + const registry = new RuleTypeRegistry({ ...ruleTypeRegistryParams, alertsService }); + registry.register({ + id: 'test', + name: 'Test', + actionGroups: [ + { + id: 'default', + name: 'Default', + }, + ], + defaultActionGroupId: 'default', + minimumLicenseRequired: 'basic', + isExportable: true, + executor: jest.fn(), + producer: 'alerts', + alerts: { + context: 'test', + fieldMap: { field: { type: 'keyword', required: false } }, + }, + }); + + expect(alertsService.register).toHaveBeenCalledWith({ + context: 'test', + fieldMap: { field: { type: 'keyword', required: false } }, + }); + }); + + test('should not initialize alerts as data resources if no alert definition is registered', () => { + const registry = new RuleTypeRegistry({ ...ruleTypeRegistryParams, alertsService }); + registry.register({ + id: 'test', + name: 'Test', + actionGroups: [ + { + id: 'default', + name: 'Default', + }, + ], + defaultActionGroupId: 'default', + minimumLicenseRequired: 'basic', + isExportable: true, + executor: jest.fn(), + producer: 'alerts', + }); + + expect(alertsService.register).not.toHaveBeenCalled(); + }); }); describe('get()', () => { diff --git a/x-pack/plugins/alerting/server/rule_type_registry.ts b/x-pack/plugins/alerting/server/rule_type_registry.ts index b908f7cb67b87..b4be0957f11af 100644 --- a/x-pack/plugins/alerting/server/rule_type_registry.ts +++ b/x-pack/plugins/alerting/server/rule_type_registry.ts @@ -33,6 +33,7 @@ import { ILicenseState } from './lib/license_state'; import { getRuleTypeFeatureUsageName } from './lib/get_rule_type_feature_usage_name'; import { InMemoryMetrics } from './monitoring'; import { AlertingRulesConfig } from '.'; +import { AlertsService } from './alerts_service/alerts_service'; export interface ConstructorOptions { logger: Logger; @@ -42,6 +43,7 @@ export interface ConstructorOptions { licensing: LicensingPluginSetup; minimumScheduleInterval: AlertingRulesConfig['minimumScheduleInterval']; inMemoryMetrics: InMemoryMetrics; + alertsService?: AlertsService; } export interface RegistryRuleType @@ -139,6 +141,7 @@ export class RuleTypeRegistry { private readonly minimumScheduleInterval: AlertingRulesConfig['minimumScheduleInterval']; private readonly licensing: LicensingPluginSetup; private readonly inMemoryMetrics: InMemoryMetrics; + private readonly alertsService?: AlertsService; constructor({ logger, @@ -148,6 +151,7 @@ export class RuleTypeRegistry { licensing, minimumScheduleInterval, inMemoryMetrics, + alertsService, }: ConstructorOptions) { this.logger = logger; this.taskManager = taskManager; @@ -156,6 +160,7 @@ export class RuleTypeRegistry { this.licensing = licensing; this.minimumScheduleInterval = minimumScheduleInterval; this.inMemoryMetrics = inMemoryMetrics; + this.alertsService = alertsService; } public has(id: string) { @@ -277,6 +282,11 @@ export class RuleTypeRegistry { >(normalizedRuleType, context, this.inMemoryMetrics), }, }); + + if (this.alertsService && ruleType.alerts) { + this.alertsService.register(ruleType.alerts); + } + // No need to notify usage on basic alert types if (ruleType.minimumLicenseRequired !== 'basic') { this.licensing.featureUsage.register( diff --git a/x-pack/plugins/alerting/server/types.ts b/x-pack/plugins/alerting/server/types.ts index f4b7cc57b27e4..4092b9209432a 100644 --- a/x-pack/plugins/alerting/server/types.ts +++ b/x-pack/plugins/alerting/server/types.ts @@ -50,6 +50,7 @@ import { RuleLastRun, } from '../common'; import { PublicAlertFactory } from './alert/create_alert_factory'; +import { FieldMap } from '../common/alert_schema/field_maps/types'; export type WithoutQueryAndParams = Pick>; export type SpaceIdToNamespaceFunction = (spaceId?: string) => string | undefined; export type { RuleTypeParams }; @@ -158,6 +159,11 @@ export interface SummarizedAlerts { }; } export type GetSummarizedAlertsFn = (opts: GetSummarizedAlertsFnOpts) => Promise; +export interface IRuleTypeAlerts { + context: string; + namespace?: string; + fieldMap: FieldMap; +} export interface RuleType< Params extends RuleTypeParams = never, @@ -204,6 +210,7 @@ export interface RuleType< cancelAlertsOnRuleTimeout?: boolean; doesSetRecoveryContext?: boolean; getSummarizedAlerts?: GetSummarizedAlertsFn; + alerts?: IRuleTypeAlerts; /** * Determines whether framework should * automatically make recovery determination. Defaults to true. diff --git a/x-pack/plugins/alerting/tsconfig.json b/x-pack/plugins/alerting/tsconfig.json index a1fb0d3892d2a..73c407bd325a8 100644 --- a/x-pack/plugins/alerting/tsconfig.json +++ b/x-pack/plugins/alerting/tsconfig.json @@ -8,7 +8,7 @@ // have to declare *.json explicitly due to https://github.com/microsoft/TypeScript/issues/25636 "server/**/*.json", "public/**/*", - "common/*" + "common/**/*" ], "kbn_references": [ "@kbn/core", @@ -39,6 +39,7 @@ "@kbn/apm-utils", "@kbn/data-views-plugin", "@kbn/share-plugin", + "@kbn/safer-lodash-set", ], "exclude": [ "target/**/*", diff --git a/x-pack/plugins/apm/public/components/app/mobile/charts/http_requests_chart.tsx b/x-pack/plugins/apm/public/components/app/mobile/charts/http_requests_chart.tsx index 0b530a6cc4e2c..e625c94a9d167 100644 --- a/x-pack/plugins/apm/public/components/app/mobile/charts/http_requests_chart.tsx +++ b/x-pack/plugins/apm/public/components/app/mobile/charts/http_requests_chart.tsx @@ -23,8 +23,8 @@ import { import { usePreviousPeriodLabel } from '../../../../hooks/use_previous_period_text'; const INITIAL_STATE = { - currentPeriod: [], - previousPeriod: [], + currentPeriod: { timeseries: [] }, + previousPeriod: { timeseries: [] }, }; export function HttpRequestsChart({ @@ -89,7 +89,7 @@ export function HttpRequestsChart({ const timeseries = [ { - data: data.currentPeriod, + data: data.currentPeriod.timeseries, type: 'linemark', color: currentPeriodColor, title: i18n.translate('xpack.apm.transactions.httpRequestsTitle', { @@ -99,7 +99,7 @@ export function HttpRequestsChart({ ...(comparisonEnabled ? [ { - data: data.previousPeriod, + data: data.previousPeriod.timeseries, type: 'area', color: previousPeriodColor, title: previousPeriodLabel, diff --git a/x-pack/plugins/apm/public/components/app/mobile/charts/sessions_chart.tsx b/x-pack/plugins/apm/public/components/app/mobile/charts/sessions_chart.tsx index 8c0b806cce6be..cfbc9864e4612 100644 --- a/x-pack/plugins/apm/public/components/app/mobile/charts/sessions_chart.tsx +++ b/x-pack/plugins/apm/public/components/app/mobile/charts/sessions_chart.tsx @@ -24,8 +24,8 @@ import { import { usePreviousPeriodLabel } from '../../../../hooks/use_previous_period_text'; const INITIAL_STATE = { - currentPeriod: [], - previousPeriod: [], + currentPeriod: { timeseries: [] }, + previousPeriod: { timeseries: [] }, }; type SessionsChart = @@ -95,7 +95,7 @@ export function SessionsChart({ const timeseries = [ { - data: data.currentPeriod, + data: data.currentPeriod.timeseries, type: 'linemark', color: currentPeriodColor, title: i18n.translate('xpack.apm.transactions.sessionsChartTitle', { @@ -105,7 +105,7 @@ export function SessionsChart({ ...(comparisonEnabled ? [ { - data: data.previousPeriod, + data: data.previousPeriod.timeseries, type: 'area', color: previousPeriodColor, title: previousPeriodLabel, diff --git a/x-pack/plugins/apm/public/components/app/mobile/service_overview/stats/index.tsx b/x-pack/plugins/apm/public/components/app/mobile/service_overview/stats/index.tsx index 744cfb13f3c75..d94e988ba6d71 100644 --- a/x-pack/plugins/apm/public/components/app/mobile/service_overview/stats/index.tsx +++ b/x-pack/plugins/apm/public/components/app/mobile/service_overview/stats/index.tsx @@ -74,9 +74,9 @@ export function MobileStats({ defaultMessage: 'Crash Rate', }), icon: getIcon('bug'), - value: data?.crashCount?.value ?? NaN, + value: 'N/A', valueFormatter: (value: number) => valueFormatter(value, 'cpm'), - trend: data?.maxLoadTime?.timeseries, + trend: [], trendShape: MetricTrendShape.Area, }, { @@ -85,9 +85,9 @@ export function MobileStats({ defaultMessage: 'Slowest App load time', }), icon: getIcon('visGauge'), - value: data?.maxLoadTime?.value ?? NaN, + value: 'N/A', valueFormatter: (value: number) => valueFormatter(value, 's'), - trend: data?.maxLoadTime.timeseries, + trend: [], trendShape: MetricTrendShape.Area, }, { @@ -96,9 +96,9 @@ export function MobileStats({ defaultMessage: 'Sessions', }), icon: getIcon('timeslider'), - value: data?.sessions?.value ?? NaN, + value: data?.currentPeriod?.sessions?.value ?? NaN, valueFormatter: (value: number) => valueFormatter(value), - trend: data?.sessions.timeseries, + trend: data?.currentPeriod?.sessions?.timeseries, trendShape: MetricTrendShape.Area, }, { @@ -107,9 +107,9 @@ export function MobileStats({ defaultMessage: 'HTTP requests', }), icon: getIcon('kubernetesPod'), - value: data?.requests?.value ?? NaN, + value: data?.currentPeriod?.requests?.value ?? NaN, valueFormatter: (value: number) => valueFormatter(value), - trend: data?.requests.timeseries, + trend: data?.currentPeriod?.requests?.timeseries ?? [], trendShape: MetricTrendShape.Area, }, ]; diff --git a/x-pack/plugins/apm/public/components/shared/span_icon/get_span_icon.ts b/x-pack/plugins/apm/public/components/shared/span_icon/get_span_icon.ts index 96b1cd45fbdce..5c719d51d457e 100644 --- a/x-pack/plugins/apm/public/components/shared/span_icon/get_span_icon.ts +++ b/x-pack/plugins/apm/public/components/shared/span_icon/get_span_icon.ts @@ -33,6 +33,7 @@ import fileShareStorageIcon from './icons/file_share_storage.svg'; import serviceBusIcon from './icons/service_bus.svg'; import storageQueueIcon from './icons/storage_queue.svg'; import tableStorageIcon from './icons/table_storage.svg'; +import ldapIcon from './icons/ldap.svg'; const defaultSpanTypeIcons: { [key: string]: string } = { cache: databaseIcon, @@ -64,6 +65,7 @@ export const spanTypeIcons: { graphql: graphqlIcon, grpc: grpcIcon, websocket: websocketIcon, + ldap: ldapIcon, }, messaging: { azurequeue: storageQueueIcon, diff --git a/x-pack/plugins/apm/public/components/shared/span_icon/icons/ldap.svg b/x-pack/plugins/apm/public/components/shared/span_icon/icons/ldap.svg new file mode 100644 index 0000000000000..c77b4ccd670ab --- /dev/null +++ b/x-pack/plugins/apm/public/components/shared/span_icon/icons/ldap.svg @@ -0,0 +1,9 @@ + + + unblock-user + + Layer 1 + LDAP + + + \ No newline at end of file diff --git a/x-pack/plugins/apm/server/lib/helpers/create_es_client/call_async_with_debug.ts b/x-pack/plugins/apm/server/lib/helpers/create_es_client/call_async_with_debug.ts index a401acafd01d9..c1c89d5b906b6 100644 --- a/x-pack/plugins/apm/server/lib/helpers/create_es_client/call_async_with_debug.ts +++ b/x-pack/plugins/apm/server/lib/helpers/create_es_client/call_async_with_debug.ts @@ -23,7 +23,6 @@ export async function callAsyncWithDebug({ getDebugMessage, debug, request, - requestType, requestParams, operationName, isCalledWithInternalUser, @@ -31,8 +30,7 @@ export async function callAsyncWithDebug({ cb: () => Promise; getDebugMessage: () => { body: string; title: string }; debug: boolean; - request: KibanaRequest; - requestType: string; + request?: KibanaRequest; requestParams: Record; operationName: string; isCalledWithInternalUser: boolean; // only allow inspection of queries that were retrieved with credentials of the end user @@ -70,19 +68,21 @@ export async function callAsyncWithDebug({ console.log(body); console.log(`\n`); - const inspectableEsQueries = inspectableEsQueriesMap.get(request); - if (!isCalledWithInternalUser && inspectableEsQueries) { - inspectableEsQueries.push( - getInspectResponse({ - esError, - esRequestParams: requestParams, - esRequestStatus, - esResponse: res, - kibanaRequest: request, - operationName, - startTime, - }) - ); + if (request) { + const inspectableEsQueries = inspectableEsQueriesMap.get(request); + if (!isCalledWithInternalUser && inspectableEsQueries) { + inspectableEsQueries.push( + getInspectResponse({ + esError, + esRequestParams: requestParams, + esRequestStatus, + esResponse: res, + kibanaRequest: request, + operationName, + startTime, + }) + ); + } } } diff --git a/x-pack/plugins/apm/server/lib/helpers/create_es_client/create_apm_event_client/index.ts b/x-pack/plugins/apm/server/lib/helpers/create_es_client/create_apm_event_client/index.ts index b41d416b92a7a..870a7971c2e9e 100644 --- a/x-pack/plugins/apm/server/lib/helpers/create_es_client/create_apm_event_client/index.ts +++ b/x-pack/plugins/apm/server/lib/helpers/create_es_client/create_apm_event_client/index.ts @@ -124,7 +124,6 @@ export class APMEventClient { isCalledWithInternalUser: false, debug: this.debug, request: this.request, - requestType, operationName, requestParams: params, cb: () => { diff --git a/x-pack/plugins/apm/server/lib/helpers/create_es_client/create_internal_es_client/index.ts b/x-pack/plugins/apm/server/lib/helpers/create_es_client/create_internal_es_client/index.ts index f48971588a050..d1cd9054fbac1 100644 --- a/x-pack/plugins/apm/server/lib/helpers/create_es_client/create_internal_es_client/index.ts +++ b/x-pack/plugins/apm/server/lib/helpers/create_es_client/create_internal_es_client/index.ts @@ -8,6 +8,9 @@ import type * as estypes from '@elastic/elasticsearch/lib/api/typesWithBodyKey'; import { unwrapEsResponse } from '@kbn/observability-plugin/server'; import type { ESSearchResponse, ESSearchRequest } from '@kbn/es-types'; +import { SavedObjectsClientContract } from '@kbn/core-saved-objects-api-server'; +import { ElasticsearchClient } from '@kbn/core-elasticsearch-server'; +import { APMConfig } from '../../../..'; import { APMRouteHandlerResources } from '../../../../routes/typings'; import { callAsyncWithDebug, @@ -20,48 +23,75 @@ import { getApmIndices } from '../../../../routes/settings/apm_indices/get_apm_i export type APMIndexDocumentParams = estypes.IndexRequest; export type APMInternalESClient = Awaited< - ReturnType + ReturnType >; -export async function createInternalESClient({ - context, +export async function createInternalESClientWithContext({ debug, - request, config, -}: Pick & { + request, + context, +}: { debug: boolean; + config: APMConfig; + request: APMRouteHandlerResources['request']; + context: APMRouteHandlerResources['context']; }) { const coreContext = await context.core; const { asInternalUser } = coreContext.elasticsearch.client; const savedObjectsClient = coreContext.savedObjects.client; + return createInternalESClient({ + debug, + config, + request, + savedObjectsClient, + elasticsearchClient: asInternalUser, + }); +} + +export async function createInternalESClient({ + debug, + config, + request, + savedObjectsClient, + elasticsearchClient, +}: { + debug: boolean; + config: APMConfig; + request?: APMRouteHandlerResources['request']; + savedObjectsClient: SavedObjectsClientContract; + elasticsearchClient: ElasticsearchClient; +}) { function callEs( operationName: string, { - cb, + makeRequestWithSignal, requestType, params, }: { requestType: string; - cb: (signal: AbortSignal) => Promise; + makeRequestWithSignal: (signal: AbortSignal) => Promise; params: Record; } ) { return callAsyncWithDebug({ cb: () => { const controller = new AbortController(); + const res = makeRequestWithSignal(controller.signal); return unwrapEsResponse( - cancelEsRequestOnAbort(cb(controller.signal), request, controller) + request ? cancelEsRequestOnAbort(res, request, controller) : res ); }, - getDebugMessage: () => ({ - title: getDebugTitle(request), - body: getDebugBody({ params, requestType, operationName }), - }), + getDebugMessage: () => { + return { + title: request ? getDebugTitle(request) : 'Internal request', + body: getDebugBody({ params, requestType, operationName }), + }; + }, debug, isCalledWithInternalUser: true, request, - requestType, requestParams: params, operationName, }); @@ -78,8 +108,8 @@ export async function createInternalESClient({ ): Promise> => { return callEs(operationName, { requestType: 'search', - cb: (signal) => - asInternalUser.search(params, { + makeRequestWithSignal: (signal) => + elasticsearchClient.search(params, { signal, meta: true, }) as Promise<{ body: any }>, @@ -89,7 +119,8 @@ export async function createInternalESClient({ index: (operationName: string, params: APMIndexDocumentParams) => { return callEs(operationName, { requestType: 'index', - cb: (signal) => asInternalUser.index(params, { signal, meta: true }), + makeRequestWithSignal: (signal) => + elasticsearchClient.index(params, { signal, meta: true }), params, }); }, @@ -99,7 +130,8 @@ export async function createInternalESClient({ ): Promise<{ result: string }> => { return callEs(operationName, { requestType: 'delete', - cb: (signal) => asInternalUser.delete(params, { signal, meta: true }), + makeRequestWithSignal: (signal) => + elasticsearchClient.delete(params, { signal, meta: true }), params, }); }, @@ -109,8 +141,8 @@ export async function createInternalESClient({ ) => { return callEs(operationName, { requestType: 'indices.create', - cb: (signal) => - asInternalUser.indices.create(params, { signal, meta: true }), + makeRequestWithSignal: (signal) => + elasticsearchClient.indices.create(params, { signal, meta: true }), params, }); }, diff --git a/x-pack/plugins/apm/server/routes/correlations/utils/field_stats_utils.ts b/x-pack/plugins/apm/server/routes/correlations/utils/field_stats_utils.ts deleted file mode 100644 index a60622583781b..0000000000000 --- a/x-pack/plugins/apm/server/routes/correlations/utils/field_stats_utils.ts +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -/* - * Contains utility functions for building and processing queries. - */ - -// Builds the base filter criteria used in queries, -// adding criteria for the time range and an optional query. -export function buildBaseFilterCriteria( - timeFieldName?: string, - earliestMs?: number, - latestMs?: number, - query?: object -) { - const filterCriteria = []; - if (timeFieldName && earliestMs && latestMs) { - filterCriteria.push({ - range: { - [timeFieldName]: { - gte: earliestMs, - lte: latestMs, - format: 'epoch_millis', - }, - }, - }); - } - - if (query) { - filterCriteria.push(query); - } - - return filterCriteria; -} diff --git a/x-pack/plugins/apm/server/routes/fleet/register_fleet_policy_callbacks.ts b/x-pack/plugins/apm/server/routes/fleet/register_fleet_policy_callbacks.ts index 2dfdb97f36886..9057ab065cacb 100644 --- a/x-pack/plugins/apm/server/routes/fleet/register_fleet_policy_callbacks.ts +++ b/x-pack/plugins/apm/server/routes/fleet/register_fleet_policy_callbacks.ts @@ -14,14 +14,15 @@ import { PutPackagePolicyUpdateCallback, } from '@kbn/fleet-plugin/server'; import { get } from 'lodash'; -import { APMPlugin, APMRouteHandlerResources } from '../..'; -import { createInternalESClient } from '../../lib/helpers/create_es_client/create_internal_es_client'; +import { APMConfig, APMPlugin, APMRouteHandlerResources } from '../..'; import { decoratePackagePolicyWithAgentConfigAndSourceMap } from './merge_package_policy_with_apm'; import { addApiKeysToPackagePolicyIfMissing } from './api_keys/add_api_keys_to_policies_if_missing'; import { AGENT_CONFIG_API_KEY_PATH, SOURCE_MAP_API_KEY_PATH, } from './get_package_policy_decorators'; +import { createInternalESClient } from '../../lib/helpers/create_es_client/create_internal_es_client'; +import { getInternalSavedObjectsClient } from '../../lib/helpers/get_internal_saved_objects_client'; export async function registerFleetPolicyCallbacks({ logger, @@ -43,12 +44,12 @@ export async function registerFleetPolicyCallbacks({ fleetPluginStart.registerExternalCallback( 'packagePolicyUpdate', - onPackagePolicyCreateOrUpdate({ fleetPluginStart, config }) + onPackagePolicyCreateOrUpdate({ fleetPluginStart, config, coreStart }) ); fleetPluginStart.registerExternalCallback( 'packagePolicyCreate', - onPackagePolicyCreateOrUpdate({ fleetPluginStart, config }) + onPackagePolicyCreateOrUpdate({ fleetPluginStart, config, coreStart }) ); fleetPluginStart.registerExternalCallback( @@ -144,23 +145,27 @@ function onPackagePolicyPostCreate({ function onPackagePolicyCreateOrUpdate({ fleetPluginStart, config, + coreStart, }: { fleetPluginStart: FleetStartContract; - config: NonNullable; + config: APMConfig; + coreStart: CoreStart; }): PutPackagePolicyUpdateCallback & PostPackagePolicyCreateCallback { - return async (packagePolicy, context, request) => { + return async (packagePolicy) => { if (packagePolicy.package?.name !== 'apm') { return packagePolicy; } + const { asInternalUser } = coreStart.elasticsearch.client; + const savedObjectsClient = await getInternalSavedObjectsClient(coreStart); const internalESClient = await createInternalESClient({ - context: context as any, debug: false, - request, config, + savedObjectsClient, + elasticsearchClient: asInternalUser, }); - return await decoratePackagePolicyWithAgentConfigAndSourceMap({ + return decoratePackagePolicyWithAgentConfigAndSourceMap({ internalESClient, fleetPluginStart, packagePolicy, diff --git a/x-pack/plugins/apm/server/routes/fleet/route.ts b/x-pack/plugins/apm/server/routes/fleet/route.ts index d4e5d467d61a0..dbc2485eb843e 100644 --- a/x-pack/plugins/apm/server/routes/fleet/route.ts +++ b/x-pack/plugins/apm/server/routes/fleet/route.ts @@ -26,7 +26,7 @@ import { getInternalSavedObjectsClient } from '../../lib/helpers/get_internal_sa import { createApmServerRoute } from '../apm_routes/create_apm_server_route'; import { getLatestApmPackage } from './get_latest_apm_package'; import { getJavaAgentVersionsFromRegistry } from './get_java_agent_versions'; -import { createInternalESClient } from '../../lib/helpers/create_es_client/create_internal_es_client'; +import { createInternalESClientWithContext } from '../../lib/helpers/create_es_client/create_internal_es_client'; const hasFleetDataRoute = createApmServerRoute({ endpoint: 'GET /internal/apm/fleet/has_apm_policies', @@ -249,7 +249,7 @@ const createCloudApmPackagePolicyRoute = createApmServerRoute({ throw Boom.forbidden(CLOUD_SUPERUSER_REQUIRED_MESSAGE); } - const internalESClient = await createInternalESClient({ + const internalESClient = await createInternalESClientWithContext({ context, request, debug: resources.params.query._inspect, diff --git a/x-pack/plugins/apm/server/routes/mobile/get_mobile_filters.ts b/x-pack/plugins/apm/server/routes/mobile/get_mobile_filters.ts index cc648513a896a..ff6292eddb27a 100644 --- a/x-pack/plugins/apm/server/routes/mobile/get_mobile_filters.ts +++ b/x-pack/plugins/apm/server/routes/mobile/get_mobile_filters.ts @@ -52,12 +52,7 @@ export async function getMobileFilters({ }): Promise { const response = await apmEventClient.search('get_mobile_filters', { apm: { - events: [ - ProcessorEvent.error, - ProcessorEvent.metric, - ProcessorEvent.transaction, - ProcessorEvent.span, - ], + events: [ProcessorEvent.transaction], }, body: { track_total_hits: false, diff --git a/x-pack/plugins/apm/server/routes/mobile/get_http_requests_chart.ts b/x-pack/plugins/apm/server/routes/mobile/get_mobile_http_requests.ts similarity index 78% rename from x-pack/plugins/apm/server/routes/mobile/get_http_requests_chart.ts rename to x-pack/plugins/apm/server/routes/mobile/get_mobile_http_requests.ts index e1e9ef59c94e8..d2c7abe691d7a 100644 --- a/x-pack/plugins/apm/server/routes/mobile/get_http_requests_chart.ts +++ b/x-pack/plugins/apm/server/routes/mobile/get_mobile_http_requests.ts @@ -15,6 +15,7 @@ import { SERVICE_NAME, TRANSACTION_NAME, SERVICE_TARGET_TYPE, + METRICSET_NAME, } from '../../../common/es_fields/apm'; import { environmentQuery } from '../../../common/utils/environment_query'; import { getOffsetInMs } from '../../../common/utils/get_offset_in_ms'; @@ -22,10 +23,11 @@ import { offsetPreviousPeriodCoordinates } from '../../../common/utils/offset_pr import { APMEventClient } from '../../lib/helpers/create_es_client/create_apm_event_client'; import { getBucketSize } from '../../lib/helpers/get_bucket_size'; import { Coordinate } from '../../../typings/timeseries'; +import { Maybe } from '../../../typings/common'; export interface HttpRequestsTimeseries { - currentPeriod: Coordinate[]; - previousPeriod: Coordinate[]; + currentPeriod: { timeseries: Coordinate[]; value: Maybe }; + previousPeriod: { timeseries: Coordinate[]; value: Maybe }; } interface Props { apmEventClient: APMEventClient; @@ -60,6 +62,12 @@ async function getHttpRequestsTimeseries({ minBucketSize: 60, }); + const aggs = { + requests: { + filter: { term: { [SERVICE_TARGET_TYPE]: 'http' } }, + }, + }; + const response = await apmEventClient.search('get_http_requests_chart', { apm: { events: [ProcessorEvent.metric] }, body: { @@ -69,6 +77,7 @@ async function getHttpRequestsTimeseries({ bool: { filter: [ { exists: { field: SERVICE_TARGET_TYPE } }, + ...termQuery(METRICSET_NAME, 'service_destination'), ...termQuery(SERVICE_NAME, serviceName), ...termQuery(TRANSACTION_NAME, transactionName), ...rangeQuery(startWithOffset, endWithOffset), @@ -85,27 +94,28 @@ async function getHttpRequestsTimeseries({ min_doc_count: 0, extended_bounds: { min: startWithOffset, max: endWithOffset }, }, - aggs: { - requests: { - filter: { term: { [SERVICE_TARGET_TYPE]: 'http' } }, - }, - }, + aggs, }, + ...aggs, }, }, }); - return ( + const timeseries = response?.aggregations?.timeseries.buckets.map((bucket) => { return { x: bucket.key, - y: bucket.doc_count ?? 0, + y: bucket.requests.doc_count, }; - }) ?? [] - ); + }) ?? []; + + return { + timeseries, + value: response.aggregations?.requests?.doc_count, + }; } -export async function getHttpRequestsChart({ +export async function getMobileHttpRequests({ kuery, apmEventClient, serviceName, @@ -136,7 +146,7 @@ export async function getHttpRequestsChart({ end, offset, }) - : []; + : { timeseries: [], value: null }; const [currentPeriod, previousPeriod] = await Promise.all([ currentPeriodPromise, @@ -145,9 +155,12 @@ export async function getHttpRequestsChart({ return { currentPeriod, - previousPeriod: offsetPreviousPeriodCoordinates({ - currentPeriodTimeseries: currentPeriod, - previousPeriodTimeseries: previousPeriod, - }), + previousPeriod: { + timeseries: offsetPreviousPeriodCoordinates({ + currentPeriodTimeseries: currentPeriod.timeseries, + previousPeriodTimeseries: previousPeriod.timeseries, + }), + value: previousPeriod?.value, + }, }; } diff --git a/x-pack/plugins/apm/server/routes/mobile/get_sessions_chart.ts b/x-pack/plugins/apm/server/routes/mobile/get_mobile_sessions.ts similarity index 77% rename from x-pack/plugins/apm/server/routes/mobile/get_sessions_chart.ts rename to x-pack/plugins/apm/server/routes/mobile/get_mobile_sessions.ts index 874743af63342..3414a91b00c2f 100644 --- a/x-pack/plugins/apm/server/routes/mobile/get_sessions_chart.ts +++ b/x-pack/plugins/apm/server/routes/mobile/get_mobile_sessions.ts @@ -22,10 +22,11 @@ import { getOffsetInMs } from '../../../common/utils/get_offset_in_ms'; import { APMEventClient } from '../../lib/helpers/create_es_client/create_apm_event_client'; import { getBucketSize } from '../../lib/helpers/get_bucket_size'; import { Coordinate } from '../../../typings/timeseries'; +import { Maybe } from '../../../typings/common'; export interface SessionsTimeseries { - currentPeriod: Coordinate[]; - previousPeriod: Coordinate[]; + currentPeriod: { timeseries: Coordinate[]; value: Maybe }; + previousPeriod: { timeseries: Coordinate[]; value: Maybe }; } interface Props { @@ -61,13 +62,15 @@ async function getSessionTimeseries({ minBucketSize: 60, }); - const response = await apmEventClient.search('get_sessions_chart', { + const aggs = { + sessions: { + cardinality: { field: SESSION_ID }, + }, + }; + + const response = await apmEventClient.search('get_mobile_sessions', { apm: { - events: [ - ProcessorEvent.transaction, - ProcessorEvent.error, - ProcessorEvent.span, - ], + events: [ProcessorEvent.transaction], }, body: { track_total_hits: false, @@ -92,27 +95,28 @@ async function getSessionTimeseries({ min_doc_count: 0, extended_bounds: { min: startWithOffset, max: endWithOffset }, }, - aggs: { - sessions: { - cardinality: { field: SESSION_ID }, - }, - }, + aggs, }, + ...aggs, }, }, }); - return ( + const timeseries = response?.aggregations?.timeseries.buckets.map((bucket) => { return { x: bucket.key, - y: bucket.doc_count ?? 0, + y: bucket.sessions.value, }; - }) ?? [] - ); + }) ?? []; + + return { + timeseries, + value: response.aggregations?.sessions?.value, + }; } -export async function getSessionsChart({ +export async function getMobileSessions({ kuery, apmEventClient, serviceName, @@ -143,7 +147,7 @@ export async function getSessionsChart({ end, offset, }) - : []; + : { timeseries: [], value: null }; const [currentPeriod, previousPeriod] = await Promise.all([ currentPeriodPromise, @@ -152,9 +156,12 @@ export async function getSessionsChart({ return { currentPeriod, - previousPeriod: offsetPreviousPeriodCoordinates({ - currentPeriodTimeseries: currentPeriod, - previousPeriodTimeseries: previousPeriod, - }), + previousPeriod: { + timeseries: offsetPreviousPeriodCoordinates({ + currentPeriodTimeseries: currentPeriod.timeseries, + previousPeriodTimeseries: previousPeriod.timeseries, + }), + value: previousPeriod?.value, + }, }; } diff --git a/x-pack/plugins/apm/server/routes/mobile/get_mobile_stats.ts b/x-pack/plugins/apm/server/routes/mobile/get_mobile_stats.ts index e37f4ec9616c8..70d51360ff89d 100644 --- a/x-pack/plugins/apm/server/routes/mobile/get_mobile_stats.ts +++ b/x-pack/plugins/apm/server/routes/mobile/get_mobile_stats.ts @@ -5,140 +5,117 @@ * 2.0. */ -import { - termQuery, - kqlQuery, - rangeQuery, -} from '@kbn/observability-plugin/server'; -import { ProcessorEvent } from '@kbn/observability-plugin/common'; -import { - SERVICE_NAME, - SESSION_ID, - SERVICE_TARGET_TYPE, - APP_LAUNCH_TIME, - EVENT_NAME, -} from '../../../common/es_fields/apm'; -import { environmentQuery } from '../../../common/utils/environment_query'; import { APMEventClient } from '../../lib/helpers/create_es_client/create_apm_event_client'; -import { getBucketSize } from '../../lib/helpers/get_bucket_size'; +import { getOffsetInMs } from '../../../common/utils/get_offset_in_ms'; +import { getMobileSessions } from './get_mobile_sessions'; +import { getMobileHttpRequests } from './get_mobile_http_requests'; +import { Maybe } from '../../../typings/common'; -type Timeseries = Array<{ x: number; y: number }>; -export interface MobileStats { - sessions: { value?: number; timeseries: Timeseries }; - requests: { value?: number | null; timeseries: Timeseries }; - maxLoadTime: { value?: number | null; timeseries: Timeseries }; - crashCount: { value?: number | null; timeseries: Timeseries }; +export interface Timeseries { + x: number; + y: number; +} +interface MobileStats { + sessions: { timeseries: Timeseries[]; value: Maybe }; + requests: { timeseries: Timeseries[]; value: Maybe }; } -export async function getMobileStats({ - kuery, - apmEventClient, - serviceName, - transactionType, - environment, - start, - end, -}: { +export interface MobilePeriodStats { + currentPeriod: MobileStats; + previousPeriod: MobileStats; +} + +interface Props { kuery: string; apmEventClient: APMEventClient; serviceName: string; - transactionType?: string; environment: string; start: number; end: number; -}): Promise { - const { intervalString } = getBucketSize({ + offset?: string; +} + +async function getMobileStats({ + kuery, + apmEventClient, + serviceName, + environment, + start, + end, + offset, +}: Props): Promise { + const { startWithOffset, endWithOffset } = getOffsetInMs({ start, end, - minBucketSize: 60, + offset, }); - const aggs = { + const commonProps = { + kuery, + apmEventClient, + serviceName, + environment, + start: startWithOffset, + end: endWithOffset, + offset, + }; + + const [sessions, httpRequests] = await Promise.all([ + getMobileSessions({ ...commonProps }), + getMobileHttpRequests({ ...commonProps }), + ]); + + return { sessions: { - cardinality: { field: SESSION_ID }, + value: sessions.currentPeriod.value, + timeseries: sessions.currentPeriod.timeseries as Timeseries[], }, requests: { - filter: { term: { [SERVICE_TARGET_TYPE]: 'http' } }, - }, - maxLoadTime: { - max: { field: APP_LAUNCH_TIME }, - }, - crashCount: { - filter: { term: { [EVENT_NAME]: 'crash' } }, + value: httpRequests.currentPeriod.value, + timeseries: httpRequests.currentPeriod.timeseries as Timeseries[], }, }; +} - const response = await apmEventClient.search('get_mobile_stats', { - apm: { - events: [ - ProcessorEvent.error, - ProcessorEvent.metric, - ProcessorEvent.transaction, - ProcessorEvent.span, - ], - }, - body: { - track_total_hits: false, - size: 0, - query: { - bool: { - filter: [ - ...termQuery(SERVICE_NAME, serviceName), - ...rangeQuery(start, end), - ...environmentQuery(environment), - ...kqlQuery(kuery), - ], - }, - }, - aggs: { - timeseries: { - date_histogram: { - field: '@timestamp', - fixed_interval: intervalString, - min_doc_count: 0, - }, - aggs, - }, - ...aggs, - }, - }, +export async function getMobileStatsPeriods({ + kuery, + apmEventClient, + serviceName, + environment, + start, + end, + offset, +}: Props): Promise { + const commonProps = { + kuery, + apmEventClient, + serviceName, + environment, + start, + end, + }; + + const currentPeriodPromise = getMobileStats({ + ...commonProps, }); - const durationAsMinutes = (end - start) / 1000 / 60; + const previousPeriodPromise = offset + ? getMobileStats({ + ...commonProps, + offset, + }) + : { + sessions: { timeseries: [], value: null }, + requests: { timeseries: [], value: null }, + }; + + const [currentPeriod, previousPeriod] = await Promise.all([ + currentPeriodPromise, + previousPeriodPromise, + ]); return { - sessions: { - value: response.aggregations?.sessions?.value, - timeseries: - response.aggregations?.timeseries?.buckets.map((bucket) => ({ - x: bucket.key, - y: bucket.sessions.value ?? 0, - })) ?? [], - }, - requests: { - value: response.aggregations?.requests?.doc_count, - timeseries: - response.aggregations?.timeseries?.buckets.map((bucket) => ({ - x: bucket.key, - y: bucket.requests.doc_count ?? 0, - })) ?? [], - }, - maxLoadTime: { - value: response.aggregations?.maxLoadTime?.value, - timeseries: - response.aggregations?.timeseries?.buckets.map((bucket) => ({ - x: bucket.key, - y: bucket.maxLoadTime?.value ?? 0, - })) ?? [], - }, - crashCount: { - value: - response.aggregations?.crashCount?.doc_count ?? 0 / durationAsMinutes, - timeseries: - response.aggregations?.timeseries?.buckets.map((bucket) => ({ - x: bucket.key, - y: bucket.crashCount.doc_count ?? 0, - })) ?? [], - }, + currentPeriod, + previousPeriod, }; } diff --git a/x-pack/plugins/apm/server/routes/mobile/route.ts b/x-pack/plugins/apm/server/routes/mobile/route.ts index e18e7cae75c87..e8fe0515f11c8 100644 --- a/x-pack/plugins/apm/server/routes/mobile/route.ts +++ b/x-pack/plugins/apm/server/routes/mobile/route.ts @@ -11,12 +11,12 @@ import { createApmServerRoute } from '../apm_routes/create_apm_server_route'; import { environmentRt, kueryRt, rangeRt } from '../default_api_types'; import { offsetRt } from '../../../common/comparison_rt'; import { - getHttpRequestsChart, + getMobileHttpRequests, HttpRequestsTimeseries, -} from './get_http_requests_chart'; +} from './get_mobile_http_requests'; import { getMobileFilters } from './get_mobile_filters'; -import { getSessionsChart, SessionsTimeseries } from './get_sessions_chart'; -import { getMobileStats, MobileStats } from './get_mobile_stats'; +import { getMobileSessions, SessionsTimeseries } from './get_mobile_sessions'; +import { getMobileStatsPeriods, MobilePeriodStats } from './get_mobile_stats'; const mobileFiltersRoute = createApmServerRoute({ endpoint: 'GET /internal/apm/services/{serviceName}/mobile/filters', @@ -73,13 +73,13 @@ const mobileStatsRoute = createApmServerRoute({ ]), }), options: { tags: ['access:apm'] }, - handler: async (resources): Promise => { + handler: async (resources): Promise => { const apmEventClient = await getApmEventClient(resources); const { params } = resources; const { serviceName } = params.path; const { kuery, environment, start, end } = params.query; - const stats = await getMobileStats({ + const stats = await getMobileStatsPeriods({ kuery, environment, start, @@ -118,7 +118,7 @@ const sessionsChartRoute = createApmServerRoute({ const { kuery, environment, start, end, transactionName, offset } = params.query; - const { currentPeriod, previousPeriod } = await getSessionsChart({ + const { currentPeriod, previousPeriod } = await getMobileSessions({ kuery, environment, transactionName, @@ -159,7 +159,7 @@ const httpRequestsChartRoute = createApmServerRoute({ const { kuery, environment, start, end, transactionName, offset } = params.query; - const { currentPeriod, previousPeriod } = await getHttpRequestsChart({ + const { currentPeriod, previousPeriod } = await getMobileHttpRequests({ kuery, environment, transactionName, diff --git a/x-pack/plugins/apm/server/routes/settings/agent_configuration/route.ts b/x-pack/plugins/apm/server/routes/settings/agent_configuration/route.ts index a631743db9375..4984b422ea259 100644 --- a/x-pack/plugins/apm/server/routes/settings/agent_configuration/route.ts +++ b/x-pack/plugins/apm/server/routes/settings/agent_configuration/route.ts @@ -25,7 +25,7 @@ import { import { getSearchTransactionsEvents } from '../../../lib/helpers/transactions'; import { syncAgentConfigsToApmPackagePolicies } from '../../fleet/sync_agent_configs_to_apm_package_policies'; import { getApmEventClient } from '../../../lib/helpers/get_apm_event_client'; -import { createInternalESClient } from '../../../lib/helpers/create_es_client/create_internal_es_client'; +import { createInternalESClientWithContext } from '../../../lib/helpers/create_es_client/create_internal_es_client'; // get list of configurations const agentConfigurationRoute = createApmServerRoute({ @@ -39,7 +39,7 @@ const agentConfigurationRoute = createApmServerRoute({ >; }> => { const { context, request, params, config } = resources; - const internalESClient = await createInternalESClient({ + const internalESClient = await createInternalESClientWithContext({ context, request, debug: params.query._inspect, @@ -68,7 +68,7 @@ const getSingleAgentConfigurationRoute = createApmServerRoute({ const { name, environment, _inspect } = params.query; const service = { name, environment }; - const internalESClient = await createInternalESClient({ + const internalESClient = await createInternalESClientWithContext({ context, request, debug: _inspect, @@ -114,7 +114,7 @@ const deleteAgentConfigurationRoute = createApmServerRoute({ } = resources; const { service } = params.body; - const internalESClient = await createInternalESClient({ + const internalESClient = await createInternalESClientWithContext({ context, request, debug: params.query._inspect, @@ -179,7 +179,7 @@ const createOrUpdateAgentConfigurationRoute = createApmServerRoute({ } = resources; const { body, query } = params; - const internalESClient = await createInternalESClient({ + const internalESClient = await createInternalESClientWithContext({ context, request, debug: params.query._inspect, @@ -258,7 +258,7 @@ const agentConfigurationSearchRoute = createApmServerRoute({ mark_as_applied_by_agent: markAsAppliedByAgent, } = params.body; - const internalESClient = await createInternalESClient({ + const internalESClient = await createInternalESClientWithContext({ context, request, debug: params.query._inspect, @@ -323,7 +323,7 @@ const listAgentConfigurationEnvironmentsRoute = createApmServerRoute({ }> => { const { context, request, params, config } = resources; const [internalESClient, apmEventClient] = await Promise.all([ - createInternalESClient({ + createInternalESClientWithContext({ context, request, debug: params.query._inspect, diff --git a/x-pack/plugins/apm/server/routes/settings/custom_link/route.ts b/x-pack/plugins/apm/server/routes/settings/custom_link/route.ts index 87087409e3206..110e1fc0dc484 100644 --- a/x-pack/plugins/apm/server/routes/settings/custom_link/route.ts +++ b/x-pack/plugins/apm/server/routes/settings/custom_link/route.ts @@ -19,7 +19,7 @@ import { getTransaction } from './get_transaction'; import { listCustomLinks } from './list_custom_links'; import { createApmServerRoute } from '../../apm_routes/create_apm_server_route'; import { getApmEventClient } from '../../../lib/helpers/get_apm_event_client'; -import { createInternalESClient } from '../../../lib/helpers/create_es_client/create_internal_es_client'; +import { createInternalESClientWithContext } from '../../../lib/helpers/create_es_client/create_internal_es_client'; const customLinkTransactionRoute = createApmServerRoute({ endpoint: 'GET /internal/apm/settings/custom_links/transaction', @@ -63,7 +63,7 @@ const listCustomLinksRoute = createApmServerRoute({ const { query } = params; - const internalESClient = await createInternalESClient({ + const internalESClient = await createInternalESClientWithContext({ context, request, debug: resources.params.query._inspect, @@ -94,7 +94,7 @@ const createCustomLinkRoute = createApmServerRoute({ throw Boom.forbidden(INVALID_LICENSE); } - const internalESClient = await createInternalESClient({ + const internalESClient = await createInternalESClientWithContext({ context, request, debug: resources.params.query._inspect, @@ -130,7 +130,7 @@ const updateCustomLinkRoute = createApmServerRoute({ throw Boom.forbidden(INVALID_LICENSE); } - const internalESClient = await createInternalESClient({ + const internalESClient = await createInternalESClientWithContext({ context, request, debug: resources.params.query._inspect, @@ -166,7 +166,7 @@ const deleteCustomLinkRoute = createApmServerRoute({ throw Boom.forbidden(INVALID_LICENSE); } - const internalESClient = await createInternalESClient({ + const internalESClient = await createInternalESClientWithContext({ context, request, debug: resources.params.query._inspect, diff --git a/x-pack/plugins/apm/tsconfig.json b/x-pack/plugins/apm/tsconfig.json index 51a440ac249da..2193b4c9bf5a7 100644 --- a/x-pack/plugins/apm/tsconfig.json +++ b/x-pack/plugins/apm/tsconfig.json @@ -76,6 +76,7 @@ "@kbn/babel-register", "@kbn/core-saved-objects-migration-server-internal", "@kbn/core-elasticsearch-server", + "@kbn/core-saved-objects-api-server", ], "exclude": [ "target/**/*", diff --git a/x-pack/plugins/cloud_security_posture/common/constants.ts b/x-pack/plugins/cloud_security_posture/common/constants.ts index 794ec8b912294..7cc587df5d499 100644 --- a/x-pack/plugins/cloud_security_posture/common/constants.ts +++ b/x-pack/plugins/cloud_security_posture/common/constants.ts @@ -41,7 +41,6 @@ export const INTERNAL_FEATURE_FLAGS = { showFindingsGroupBy: true, } as const; -export const CSP_RULE_SAVED_OBJECT_TYPE = 'csp_rule'; export const CSP_RULE_TEMPLATE_SAVED_OBJECT_TYPE = 'csp-rule-template'; export const CLOUDBEAT_VANILLA = 'cloudbeat/cis_k8s'; // Integration input diff --git a/x-pack/plugins/cloud_security_posture/common/schemas/csp_finding.ts b/x-pack/plugins/cloud_security_posture/common/schemas/csp_finding.ts index af99c609832d6..27690c714c0ce 100644 --- a/x-pack/plugins/cloud_security_posture/common/schemas/csp_finding.ts +++ b/x-pack/plugins/cloud_security_posture/common/schemas/csp_finding.ts @@ -7,7 +7,7 @@ // TODO: this needs to be defined in a versioned schema import type { EcsEvent } from '@kbn/ecs'; -import type { CspRuleMetadata } from './csp_rule_metadata'; +import type { CspRuleTemplateMetadata } from './csp_rule_template_metadata'; export interface CspFinding { '@timestamp': string; @@ -19,7 +19,7 @@ export interface CspFinding { }; result: CspFindingResult; resource: CspFindingResource; - rule: CspRuleMetadata; + rule: CspRuleTemplateMetadata; host: CspFindingHost; event: EcsEvent; agent: CspFindingAgent; diff --git a/x-pack/plugins/cloud_security_posture/common/schemas/csp_rule.ts b/x-pack/plugins/cloud_security_posture/common/schemas/csp_rule.ts deleted file mode 100644 index 13e237ef5637b..0000000000000 --- a/x-pack/plugins/cloud_security_posture/common/schemas/csp_rule.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 { schema as rt, TypeOf } from '@kbn/config-schema'; -import { cspRuleMetadataSchema } from './csp_rule_metadata'; - -export const cspRuleSchemaV830 = rt.object({ - audit: rt.string(), - benchmark: rt.object({ name: rt.string(), version: rt.string() }), - default_value: rt.nullable(rt.string()), - description: rt.string(), - enabled: rt.boolean(), - id: rt.string(), - impact: rt.nullable(rt.string()), - muted: rt.boolean(), - name: rt.string(), - package_policy_id: rt.string(), - policy_id: rt.string(), - profile_applicability: rt.string(), - rationale: rt.string(), - references: rt.nullable(rt.string()), - rego_rule_id: rt.string(), - remediation: rt.string(), - section: rt.string(), - tags: rt.arrayOf(rt.string()), - version: rt.string(), -}); - -export const cspRuleSchemaV840 = rt.object({ - enabled: rt.boolean(), - metadata: cspRuleMetadataSchema, - muted: rt.boolean(), - package_policy_id: rt.string(), - policy_id: rt.string(), -}); - -export type CspRuleV830 = TypeOf; -export type CspRuleV840 = TypeOf; -export type CspRule = CspRuleV840; diff --git a/x-pack/plugins/cloud_security_posture/common/schemas/csp_rule_template.ts b/x-pack/plugins/cloud_security_posture/common/schemas/csp_rule_template.ts index c1c92f7bd690d..d2ccff064eb58 100644 --- a/x-pack/plugins/cloud_security_posture/common/schemas/csp_rule_template.ts +++ b/x-pack/plugins/cloud_security_posture/common/schemas/csp_rule_template.ts @@ -5,7 +5,7 @@ * 2.0. */ import { schema as rt, TypeOf } from '@kbn/config-schema'; -import { cspRuleMetadataSchema } from './csp_rule_metadata'; +import { cspRuleTemplateMetadataSchema } from './csp_rule_template_metadata'; export const cspRuleTemplateSchemaV830 = rt.object({ audit: rt.string(), @@ -29,12 +29,12 @@ export const cspRuleTemplateSchemaV830 = rt.object({ export const cspRuleTemplateSchemaV840 = rt.object({ enabled: rt.boolean(), - metadata: cspRuleMetadataSchema, + metadata: cspRuleTemplateMetadataSchema, muted: rt.boolean(), }); export const cspRuleTemplateSchemaV870 = rt.object({ - metadata: cspRuleMetadataSchema, + metadata: cspRuleTemplateMetadataSchema, }); export type CspRuleTemplateV830 = TypeOf; diff --git a/x-pack/plugins/cloud_security_posture/common/schemas/csp_rule_metadata.ts b/x-pack/plugins/cloud_security_posture/common/schemas/csp_rule_template_metadata.ts similarity index 81% rename from x-pack/plugins/cloud_security_posture/common/schemas/csp_rule_metadata.ts rename to x-pack/plugins/cloud_security_posture/common/schemas/csp_rule_template_metadata.ts index 9bfd8eb5b8f29..aa6c8347b8215 100644 --- a/x-pack/plugins/cloud_security_posture/common/schemas/csp_rule_metadata.ts +++ b/x-pack/plugins/cloud_security_posture/common/schemas/csp_rule_template_metadata.ts @@ -6,12 +6,13 @@ */ import { schema as rt, TypeOf } from '@kbn/config-schema'; -export const cspRuleMetadataSchema = rt.object({ +export const cspRuleTemplateMetadataSchema = rt.object({ audit: rt.string(), benchmark: rt.object({ name: rt.string(), id: rt.string(), version: rt.string(), + rule_number: rt.maybe(rt.string()), }), default_value: rt.maybe(rt.string()), description: rt.string(), @@ -28,4 +29,4 @@ export const cspRuleMetadataSchema = rt.object({ version: rt.string(), }); -export type CspRuleMetadata = TypeOf; +export type CspRuleTemplateMetadata = TypeOf; diff --git a/x-pack/plugins/cloud_security_posture/common/schemas/csp_rules_configuration.ts b/x-pack/plugins/cloud_security_posture/common/schemas/csp_rules_configuration.ts deleted file mode 100644 index 13726e1f34ea6..0000000000000 --- a/x-pack/plugins/cloud_security_posture/common/schemas/csp_rules_configuration.ts +++ /dev/null @@ -1,16 +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 { schema as rt, TypeOf } from '@kbn/config-schema'; - -// cspRulesConfigSchema has to match the 'RuntimeCfg' struct in https://github.com/elastic/cloudbeat/blob/main/config/config.go#L45-L51 -export const cspRulesConfigSchema = rt.object({ - runtime_cfg: rt.object({ - activated_rules: rt.recordOf(rt.string(), rt.arrayOf(rt.string())), - }), -}); - -export type CspRulesConfiguration = TypeOf; diff --git a/x-pack/plugins/cloud_security_posture/common/schemas/index.ts b/x-pack/plugins/cloud_security_posture/common/schemas/index.ts index 5b681a5450c26..9b6034b4489f5 100644 --- a/x-pack/plugins/cloud_security_posture/common/schemas/index.ts +++ b/x-pack/plugins/cloud_security_posture/common/schemas/index.ts @@ -5,7 +5,5 @@ * 2.0. */ -export * from './csp_rule'; -export * from './csp_rule_metadata'; +export * from './csp_rule_template_metadata'; export * from './csp_rule_template'; -export * from './csp_rules_configuration'; diff --git a/x-pack/plugins/cloud_security_posture/common/types.ts b/x-pack/plugins/cloud_security_posture/common/types.ts index 797cb5ddc86c4..a922d363d9dbc 100644 --- a/x-pack/plugins/cloud_security_posture/common/types.ts +++ b/x-pack/plugins/cloud_security_posture/common/types.ts @@ -7,7 +7,7 @@ import type { PackagePolicy, AgentPolicy } from '@kbn/fleet-plugin/common'; import { SUPPORTED_CLOUDBEAT_INPUTS, SUPPORTED_POLICY_TEMPLATES } from './constants'; -import type { CspRuleMetadata } from './schemas/csp_rule_metadata'; +import type { CspRuleTemplateMetadata } from './schemas/csp_rule_template_metadata'; export type Evaluation = 'passed' | 'failed' | 'NA'; /** number between 1-100 */ @@ -100,8 +100,8 @@ export interface Benchmark { rules_count: number; } -export type BenchmarkId = CspRuleMetadata['benchmark']['id']; -export type BenchmarkName = CspRuleMetadata['benchmark']['name']; +export type BenchmarkId = CspRuleTemplateMetadata['benchmark']['id']; +export type BenchmarkName = CspRuleTemplateMetadata['benchmark']['name']; // Fleet Integration types export type PostureInput = typeof SUPPORTED_CLOUDBEAT_INPUTS[number]; diff --git a/x-pack/plugins/cloud_security_posture/common/utils/helpers.ts b/x-pack/plugins/cloud_security_posture/common/utils/helpers.ts index d128713e6fdd6..a7f07f70fd89e 100644 --- a/x-pack/plugins/cloud_security_posture/common/utils/helpers.ts +++ b/x-pack/plugins/cloud_security_posture/common/utils/helpers.ts @@ -18,7 +18,7 @@ import { CLOUDBEAT_VANILLA, CSP_RULE_TEMPLATE_SAVED_OBJECT_TYPE, } from '../constants'; -import { BenchmarkId } from '../types'; +import type { BenchmarkId, Score } from '../types'; /** * @example @@ -72,3 +72,15 @@ export function assert(condition: any, msg?: string): asserts condition { throw new Error(msg); } } + +/** + * @param value value is [0, 1] range + */ +export const roundScore = (value: number): Score => Number((value * 100).toFixed(1)); + +export const calculatePostureScore = (passed: number, failed: number): Score => { + const total = passed + failed; + if (total === 0) return total; + + return roundScore(passed / (passed + failed)); +}; diff --git a/x-pack/plugins/cloud_security_posture/public/components/compliance_score_bar.tsx b/x-pack/plugins/cloud_security_posture/public/components/compliance_score_bar.tsx new file mode 100644 index 0000000000000..cc5a6de2a6c53 --- /dev/null +++ b/x-pack/plugins/cloud_security_posture/public/components/compliance_score_bar.tsx @@ -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 { EuiFlexGroup, EuiFlexItem, EuiText, EuiToolTip, useEuiTheme } from '@elastic/eui'; +import { i18n } from '@kbn/i18n'; +import React from 'react'; +import { calculatePostureScore } from '../../common/utils/helpers'; +import { statusColors } from '../common/constants'; + +export const ComplianceScoreBar = ({ + totalPassed, + totalFailed, +}: { + totalPassed: number; + totalFailed: number; +}) => { + const { euiTheme } = useEuiTheme(); + const complianceScore = calculatePostureScore(totalPassed, totalFailed); + + return ( + + + + + {!!totalFailed && ( + + )} + {!!totalPassed && ( + + )} + + + + + {`${complianceScore.toFixed(0)}%`} + + + ); +}; diff --git a/x-pack/plugins/cloud_security_posture/public/pages/compliance_dashboard/compliance_charts/risks_table.tsx b/x-pack/plugins/cloud_security_posture/public/pages/compliance_dashboard/compliance_charts/risks_table.tsx index 34fdff3eac69c..51f7847ffe5a1 100644 --- a/x-pack/plugins/cloud_security_posture/public/pages/compliance_dashboard/compliance_charts/risks_table.tsx +++ b/x-pack/plugins/cloud_security_posture/public/pages/compliance_dashboard/compliance_charts/risks_table.tsx @@ -13,12 +13,9 @@ import { EuiFlexItem, EuiInMemoryTable, EuiLink, - EuiText, - EuiToolTip, - useEuiTheme, } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; -import { statusColors } from '../../../common/constants'; +import { ComplianceScoreBar } from '../../../components/compliance_score_bar'; import { ComplianceDashboardData, GroupedFindingsEvaluation } from '../../../../common/types'; export interface RisksTableProps { @@ -49,8 +46,6 @@ export const RisksTable = ({ viewAllButtonTitle, compact, }: RisksTableProps) => { - const { euiTheme } = useEuiTheme(); - const columns: Array> = useMemo( () => [ { @@ -76,63 +71,11 @@ export const RisksTable = ({ defaultMessage: 'Compliance', }), render: (postureScore: GroupedFindingsEvaluation['postureScore'], data) => ( - - - - - - - - - - - {`${ - postureScore?.toFixed(0) || 0 - }%`} - - + ), }, ], - [ - compact, - euiTheme.border.radius.medium, - euiTheme.font.weight.bold, - euiTheme.size.s, - euiTheme.size.xs, - onCellClick, - ] + [compact, onCellClick] ); const sortedByComplianceScore = getTopRisks(cisSectionsEvaluations, maxItems); diff --git a/x-pack/plugins/cloud_security_posture/public/pages/findings/__mocks__/findings.ts b/x-pack/plugins/cloud_security_posture/public/pages/findings/__mocks__/findings.ts index 48956856bf31c..274d5a789b981 100644 --- a/x-pack/plugins/cloud_security_posture/public/pages/findings/__mocks__/findings.ts +++ b/x-pack/plugins/cloud_security_posture/public/pages/findings/__mocks__/findings.ts @@ -89,6 +89,7 @@ export const mockFindingsHit: CspFinding = { 'Kubernetes provides a `default` service account which is used by cluster workloads where no specific service account is assigned to the pod. Where access to the Kubernetes API from a pod is required, a specific service account should be created for that pod, and rights granted to that service account. The default service account should be configured such that it does not provide a service account token and does not have any explicit rights assignments.\n', version: '1.0', benchmark: { + rule_number: '1.1.1', name: 'CIS Kubernetes V1.23', id: 'cis_k8s', version: 'v1.0.0', diff --git a/x-pack/plugins/cloud_security_posture/public/pages/findings/latest_findings/latest_findings_table.test.tsx b/x-pack/plugins/cloud_security_posture/public/pages/findings/latest_findings/latest_findings_table.test.tsx index 56b7c624287e9..f082171b22da1 100644 --- a/x-pack/plugins/cloud_security_posture/public/pages/findings/latest_findings/latest_findings_table.test.tsx +++ b/x-pack/plugins/cloud_security_posture/public/pages/findings/latest_findings/latest_findings_table.test.tsx @@ -32,6 +32,7 @@ const getFakeFindings = (name: string): CspFinding & { id: string } => ({ rule: { audit: chance.paragraph(), benchmark: { + rule_number: '1.1.1', name: 'CIS Kubernetes', version: '1.6.0', id: 'cis_k8s', @@ -140,12 +141,11 @@ describe('', () => { const row = data[0]; const columns = [ - 'resource.id', 'result.evaluation', - 'resource.sub_type', + 'resource.id', 'resource.name', + 'resource.sub_type', 'rule.name', - 'cluster_id', ]; columns.forEach((field) => { diff --git a/x-pack/plugins/cloud_security_posture/public/pages/findings/latest_findings/latest_findings_table.tsx b/x-pack/plugins/cloud_security_posture/public/pages/findings/latest_findings/latest_findings_table.tsx index 12b26f1b94bd1..34f29fa6473a2 100644 --- a/x-pack/plugins/cloud_security_posture/public/pages/findings/latest_findings/latest_findings_table.tsx +++ b/x-pack/plugins/cloud_security_posture/public/pages/findings/latest_findings/latest_findings_table.tsx @@ -64,14 +64,13 @@ const FindingsTableComponent = ({ ] = useMemo( () => [ getExpandColumn({ onClick: setSelectedFinding }), - createColumnWithFilters(baseFindingsColumns['resource.id'], { onAddFilter }), createColumnWithFilters(baseFindingsColumns['result.evaluation'], { onAddFilter }), - createColumnWithFilters(baseFindingsColumns['resource.sub_type'], { onAddFilter }), + createColumnWithFilters(baseFindingsColumns['resource.id'], { onAddFilter }), createColumnWithFilters(baseFindingsColumns['resource.name'], { onAddFilter }), + createColumnWithFilters(baseFindingsColumns['resource.sub_type'], { onAddFilter }), + baseFindingsColumns['rule.benchmark.rule_number'], createColumnWithFilters(baseFindingsColumns['rule.name'], { onAddFilter }), - createColumnWithFilters(baseFindingsColumns['rule.benchmark.name'], { onAddFilter }), baseFindingsColumns['rule.section'], - createColumnWithFilters(baseFindingsColumns.cluster_id, { onAddFilter }), baseFindingsColumns['@timestamp'], ], [onAddFilter] diff --git a/x-pack/plugins/cloud_security_posture/public/pages/findings/latest_findings_by_resource/findings_by_resource_container.tsx b/x-pack/plugins/cloud_security_posture/public/pages/findings/latest_findings_by_resource/findings_by_resource_container.tsx index 10f2ef8dcec2f..9964077f42f44 100644 --- a/x-pack/plugins/cloud_security_posture/public/pages/findings/latest_findings_by_resource/findings_by_resource_container.tsx +++ b/x-pack/plugins/cloud_security_posture/public/pages/findings/latest_findings_by_resource/findings_by_resource_container.tsx @@ -42,7 +42,7 @@ const getDefaultQuery = ({ query, filters, pageIndex: 0, - sortDirection: 'desc', + sortDirection: 'asc', }); export const FindingsByResourceContainer = ({ dataView }: FindingsBaseProps) => ( @@ -179,7 +179,7 @@ const LatestFindingsByResource = ({ dataView }: FindingsBaseProps) => { }); }} sorting={{ - sort: { field: 'failed_findings', direction: urlQuery.sortDirection }, + sort: { field: 'compliance_score', direction: urlQuery.sortDirection }, }} onAddFilter={(field, value, negate) => setUrlQuery({ diff --git a/x-pack/plugins/cloud_security_posture/public/pages/findings/latest_findings_by_resource/findings_by_resource_table.test.tsx b/x-pack/plugins/cloud_security_posture/public/pages/findings/latest_findings_by_resource/findings_by_resource_table.test.tsx index f3f05fcc9f9f0..a98cedafc6610 100644 --- a/x-pack/plugins/cloud_security_posture/public/pages/findings/latest_findings_by_resource/findings_by_resource_table.test.tsx +++ b/x-pack/plugins/cloud_security_posture/public/pages/findings/latest_findings_by_resource/findings_by_resource_table.test.tsx @@ -7,20 +7,19 @@ import React from 'react'; import { render, screen, within } from '@testing-library/react'; import * as TEST_SUBJECTS from '../test_subjects'; -import { FindingsByResourceTable, formatNumber, getResourceId } from './findings_by_resource_table'; +import { FindingsByResourceTable, getResourceId } from './findings_by_resource_table'; import type { PropsOf } from '@elastic/eui'; import Chance from 'chance'; -import numeral from '@elastic/numeral'; import { TestProvider } from '../../../test/test_provider'; import type { FindingsByResourcePage } from './use_findings_by_resource'; +import { calculatePostureScore } from '../../../../common/utils/helpers'; const chance = new Chance(); const getFakeFindingsByResource = (): FindingsByResourcePage => { - const count = chance.integer(); - const total = chance.integer() + count + 1; - const normalized = count / total; - + const failed = chance.natural(); + const passed = chance.natural(); + const total = failed + passed; const [resourceName, resourceSubtype, ruleBenchmarkName, ...cisSections] = chance.unique( chance.word, 5 @@ -33,9 +32,11 @@ const getFakeFindingsByResource = (): FindingsByResourcePage => { 'resource.sub_type': resourceSubtype, 'rule.section': cisSections, 'rule.benchmark.name': ruleBenchmarkName, - failed_findings: { - count, - normalized, + compliance_score: passed / total, + findings: { + failed_findings: failed, + passed_findings: passed, + normalized: passed / total, total_findings: total, }, }; @@ -50,7 +51,7 @@ describe('', () => { items: [], pagination: { pageIndex: 0, pageSize: 10, totalItemCount: 0 }, sorting: { - sort: { field: 'failed_findings', direction: 'desc' }, + sort: { field: 'compliance_score', direction: 'desc' }, }, setTableOptions: jest.fn(), onAddFilter: jest.fn(), @@ -75,7 +76,7 @@ describe('', () => { items: data, pagination: { pageIndex: 0, pageSize: 10, totalItemCount: 0 }, sorting: { - sort: { field: 'failed_findings', direction: 'desc' }, + sort: { field: 'compliance_score', direction: 'desc' }, }, setTableOptions: jest.fn(), onAddFilter: jest.fn(), @@ -97,10 +98,13 @@ describe('', () => { expect(within(row).getByText(item['resource.name'])).toBeInTheDocument(); if (item['resource.sub_type']) expect(within(row).getByText(item['resource.sub_type'])).toBeInTheDocument(); - expect(within(row).getByText(item['rule.section'].join(', '))).toBeInTheDocument(); - expect(within(row).getByText(formatNumber(item.failed_findings.count))).toBeInTheDocument(); expect( - within(row).getByText(new RegExp(numeral(item.failed_findings.normalized).format('0%'))) + within(row).getByText( + `${calculatePostureScore( + item.findings.passed_findings, + item.findings.failed_findings + ).toFixed(0)}%` + ) ).toBeInTheDocument(); }); }); diff --git a/x-pack/plugins/cloud_security_posture/public/pages/findings/latest_findings_by_resource/findings_by_resource_table.tsx b/x-pack/plugins/cloud_security_posture/public/pages/findings/latest_findings_by_resource/findings_by_resource_table.tsx index 18ddb34256df9..630edd6cb8dcf 100644 --- a/x-pack/plugins/cloud_security_posture/public/pages/findings/latest_findings_by_resource/findings_by_resource_table.tsx +++ b/x-pack/plugins/cloud_security_posture/public/pages/findings/latest_findings_by_resource/findings_by_resource_table.tsx @@ -8,17 +8,16 @@ import React, { useMemo } from 'react'; import { EuiEmptyPrompt, EuiBasicTable, - EuiTextColor, type EuiTableFieldDataColumnType, type CriteriaWithPagination, type Pagination, EuiToolTip, EuiBasicTableProps, } from '@elastic/eui'; -import { i18n } from '@kbn/i18n'; import { FormattedMessage } from '@kbn/i18n-react'; import numeral from '@elastic/numeral'; import { Link, generatePath } from 'react-router-dom'; +import { ComplianceScoreBar } from '../../../components/compliance_score_bar'; import * as TEST_SUBJECTS from '../test_subjects'; import type { FindingsByResourcePage } from './use_findings_by_resource'; import { findingsNavigation } from '../../../common/navigation/constants'; @@ -31,9 +30,7 @@ import { export const formatNumber = (value: number) => value < 1000 ? value : numeral(value).format('0.0a'); -type Sorting = Required< - EuiBasicTableProps> ->['sorting']; +type Sorting = Required>['sorting']; interface Props { items: FindingsByResourcePage[]; @@ -66,9 +63,8 @@ const FindingsByResourceTableComponent = ({ createColumnWithFilters(findingsByResourceColumns['resource.sub_type'], { onAddFilter }), createColumnWithFilters(findingsByResourceColumns['resource.name'], { onAddFilter }), createColumnWithFilters(findingsByResourceColumns['rule.benchmark.name'], { onAddFilter }), - findingsByResourceColumns['rule.section'], createColumnWithFilters(findingsByResourceColumns.cluster_id, { onAddFilter }), - findingsByResourceColumns.failed_findings, + findingsByResourceColumns.compliance_score, ], [onAddFilter] ); @@ -106,6 +102,7 @@ const baseColumns: Array> = { ...baseFindingsColumns['resource.id'], field: 'resource_id', + width: '15%', render: (resourceId: FindingsByResourcePage['resource_id']) => ( > = }, baseFindingsColumns.cluster_id, { - field: 'failed_findings', + field: 'compliance_score', width: '150px', truncateText: true, sortable: true, name: ( ), - render: (failedFindings: FindingsByResourcePage['failed_findings']) => ( - - <> - - {formatNumber(failedFindings.count)} - - ({numeral(failedFindings.normalized).format('0%')}) - - + render: (complianceScore: FindingsByResourcePage['compliance_score'], data) => ( + ), dataType: 'number', }, diff --git a/x-pack/plugins/cloud_security_posture/public/pages/findings/latest_findings_by_resource/resource_findings/resource_findings_table.tsx b/x-pack/plugins/cloud_security_posture/public/pages/findings/latest_findings_by_resource/resource_findings/resource_findings_table.tsx index 2de252b5515e0..41f18af723b8e 100644 --- a/x-pack/plugins/cloud_security_posture/public/pages/findings/latest_findings_by_resource/resource_findings/resource_findings_table.tsx +++ b/x-pack/plugins/cloud_security_posture/public/pages/findings/latest_findings_by_resource/resource_findings/resource_findings_table.tsx @@ -57,8 +57,8 @@ const ResourceFindingsTableComponent = ({ () => [ getExpandColumn({ onClick: setSelectedFinding }), createColumnWithFilters(baseFindingsColumns['result.evaluation'], { onAddFilter }), + baseFindingsColumns['rule.benchmark.rule_number'], createColumnWithFilters(baseFindingsColumns['rule.name'], { onAddFilter }), - createColumnWithFilters(baseFindingsColumns['rule.benchmark.name'], { onAddFilter }), baseFindingsColumns['rule.section'], baseFindingsColumns['@timestamp'], ], diff --git a/x-pack/plugins/cloud_security_posture/public/pages/findings/latest_findings_by_resource/use_findings_by_resource.ts b/x-pack/plugins/cloud_security_posture/public/pages/findings/latest_findings_by_resource/use_findings_by_resource.ts index 139013d88cec4..4a0110e0d536e 100644 --- a/x-pack/plugins/cloud_security_posture/public/pages/findings/latest_findings_by_resource/use_findings_by_resource.ts +++ b/x-pack/plugins/cloud_security_posture/public/pages/findings/latest_findings_by_resource/use_findings_by_resource.ts @@ -9,12 +9,12 @@ import { lastValueFrom } from 'rxjs'; import { IKibanaSearchRequest, IKibanaSearchResponse } from '@kbn/data-plugin/common'; import type * as estypes from '@elastic/elasticsearch/lib/api/typesWithBodyKey'; import type { Pagination } from '@elastic/eui'; +import { MAX_FINDINGS_TO_LOAD } from '../../../common/constants'; import { useKibana } from '../../../common/hooks/use_kibana'; import { showErrorToast } from '../latest_findings/use_latest_findings'; import type { FindingsBaseEsQuery, Sort } from '../types'; import { getAggregationCount, getFindingsCountAggQuery } from '../utils/utils'; import { CSP_LATEST_FINDINGS_DATA_VIEW } from '../../../../common/constants'; -import { MAX_FINDINGS_TO_LOAD } from '../../../common/constants'; interface UseFindingsByResourceOptions extends FindingsBaseEsQuery { enabled: boolean; @@ -35,11 +35,13 @@ type FindingsAggResponse = IKibanaSearchResponse< >; export interface FindingsByResourcePage { - failed_findings: { - count: number; + findings: { + failed_findings: number; + passed_findings: number; normalized: number; total_findings: number; }; + compliance_score: number; resource_id: string; cluster_id: string; 'resource.name': string; @@ -56,6 +58,8 @@ interface FindingsByResourceAggs { interface FindingsAggBucket extends estypes.AggregationsStringRareTermsBucketKeys { failed_findings: estypes.AggregationsMultiBucketBase; + compliance_score: estypes.AggregationsScriptedMetricAggregate; + passed_findings: estypes.AggregationsMultiBucketBase; name: estypes.AggregationsMultiBucketAggregateBase; subtype: estypes.AggregationsMultiBucketAggregateBase; cluster_id: estypes.AggregationsMultiBucketAggregateBase; @@ -92,15 +96,27 @@ export const getFindingsByResourceAggQuery = ({ failed_findings: { filter: { term: { 'result.evaluation': 'failed' } }, }, + passed_findings: { + filter: { term: { 'result.evaluation': 'passed' } }, + }, cluster_id: { terms: { field: 'cluster_id', size: 1 }, }, - sort_failed_findings: { + compliance_score: { + bucket_script: { + buckets_path: { + passed: 'passed_findings>_count', + failed: 'failed_findings>_count', + }, + script: 'params.passed / (params.passed + params.failed)', + }, + }, + sort_by_compliance_score: { bucket_sort: { size: MAX_FINDINGS_TO_LOAD, sort: [ { - 'failed_findings>_count': { order: sortDirection }, + compliance_score: { order: sortDirection }, _count: { order: 'desc' }, _key: { order: 'asc' }, }, @@ -177,11 +193,13 @@ const createFindingsByResource = (resource: FindingsAggBucket): FindingsByResour cluster_id: resource.cluster_id.buckets[0]?.key, ['rule.section']: resource.cis_sections.buckets.map((v) => v.key), ['rule.benchmark.name']: resource.benchmarkName.buckets[0]?.key, - failed_findings: { - count: resource.failed_findings.doc_count, + compliance_score: resource.compliance_score.value, + findings: { + failed_findings: resource.failed_findings.doc_count, normalized: resource.doc_count > 0 ? resource.failed_findings.doc_count / resource.doc_count : 0, total_findings: resource.doc_count, + passed_findings: resource.passed_findings.doc_count, }, }; }; diff --git a/x-pack/plugins/cloud_security_posture/public/pages/findings/layout/findings_layout.tsx b/x-pack/plugins/cloud_security_posture/public/pages/findings/layout/findings_layout.tsx index e279d78ac0b7c..1112d1f9d3688 100644 --- a/x-pack/plugins/cloud_security_posture/public/pages/findings/layout/findings_layout.tsx +++ b/x-pack/plugins/cloud_security_posture/public/pages/findings/layout/findings_layout.tsx @@ -123,9 +123,10 @@ const baseColumns = [ }, { field: 'rule.name', - name: i18n.translate('xpack.csp.findings.findingsTable.findingsTableColumn.ruleColumnLabel', { - defaultMessage: 'Rule', - }), + name: i18n.translate( + 'xpack.csp.findings.findingsTable.findingsTableColumn.ruleNameColumnLabel', + { defaultMessage: 'Rule Name' } + ), sortable: true, render: (name: string) => ( @@ -134,12 +135,29 @@ const baseColumns = [ ), }, { - field: 'rule.benchmark.name', + field: 'rule.benchmark.rule_number', name: i18n.translate( - 'xpack.csp.findings.findingsTable.findingsTableColumn.ruleBenchmarkColumnLabel', - { defaultMessage: 'Benchmark' } + 'xpack.csp.findings.findingsTable.findingsTableColumn.ruleNumberColumnLabel', + { + defaultMessage: 'Rule Number', + } + ), + width: '120px', + }, + { + field: 'rule.benchmark.name', + name: ( + ), - width: '10%', sortable: true, truncateText: true, }, @@ -149,7 +167,6 @@ const baseColumns = [ 'xpack.csp.findings.findingsTable.findingsTableColumn.ruleSectionColumnLabel', { defaultMessage: 'CIS Section' } ), - width: '7%', sortable: true, truncateText: true, render: (section: string) => ( @@ -164,15 +181,14 @@ const baseColumns = [ ), - width: '150px', sortable: true, truncateText: true, render: (section: string) => ( @@ -183,6 +199,7 @@ const baseColumns = [ }, { field: '@timestamp', + align: 'right', width: '10%', name: i18n.translate( 'xpack.csp.findings.findingsTable.findingsTableColumn.lastCheckedColumnLabel', diff --git a/x-pack/plugins/cloud_security_posture/public/pages/rules/rules_container.test.tsx b/x-pack/plugins/cloud_security_posture/public/pages/rules/rules_container.test.tsx index 66c6a820b99eb..3311fd8b81fb2 100644 --- a/x-pack/plugins/cloud_security_posture/public/pages/rules/rules_container.test.tsx +++ b/x-pack/plugins/cloud_security_posture/public/pages/rules/rules_container.test.tsx @@ -9,7 +9,7 @@ import React from 'react'; import { RulesContainer } from './rules_container'; import { render, screen } from '@testing-library/react'; import { QueryClient } from '@tanstack/react-query'; -import { useFindCspRules, type RuleSavedObject } from './use_csp_rules'; +import { useFindCspRuleTemplates, type RuleSavedObject } from './use_csp_rules'; import * as TEST_SUBJECTS from './test_subjects'; import { Chance } from 'chance'; import { TestProvider } from '../../test/test_provider'; @@ -19,8 +19,8 @@ import { coreMock } from '@kbn/core/public/mocks'; const chance = new Chance(); jest.mock('./use_csp_rules', () => ({ - useFindCspRules: jest.fn(), - useBulkUpdateCspRules: jest.fn(), + useFindCspRuleTemplates: jest.fn(), + useBulkUpdateCspRuleTemplates: jest.fn(), })); jest.mock('react-router-dom', () => ({ @@ -103,7 +103,7 @@ describe('', () => { const Wrapper = getWrapper(); const rule1 = getRuleMock({ enabled: true }); - (useFindCspRules as jest.Mock).mockReturnValue({ + (useFindCspRuleTemplates as jest.Mock).mockReturnValue({ status: 'success', data: { total: 1, diff --git a/x-pack/plugins/cloud_security_posture/public/pages/rules/rules_container.tsx b/x-pack/plugins/cloud_security_posture/public/pages/rules/rules_container.tsx index 1f0d4ae84be9e..6351071bc496f 100644 --- a/x-pack/plugins/cloud_security_posture/public/pages/rules/rules_container.tsx +++ b/x-pack/plugins/cloud_security_posture/public/pages/rules/rules_container.tsx @@ -11,7 +11,7 @@ import { extractErrorMessage, isNonNullable } from '../../../common/utils/helper import { RulesTable } from './rules_table'; import { RulesTableHeader } from './rules_table_header'; import { - useFindCspRules, + useFindCspRuleTemplates, type RuleSavedObject, type RulesQuery, type RulesQueryResult, @@ -74,7 +74,7 @@ export const RulesContainer = () => { perPage: pageSize || 10, }); - const { data, status, error } = useFindCspRules( + const { data, status, error } = useFindCspRuleTemplates( { filter: rulesQuery.filter, search: rulesQuery.search, diff --git a/x-pack/plugins/cloud_security_posture/public/pages/rules/rules_table.tsx b/x-pack/plugins/cloud_security_posture/public/pages/rules/rules_table.tsx index 9dca77a4d017c..968cece8b40ee 100644 --- a/x-pack/plugins/cloud_security_posture/public/pages/rules/rules_table.tsx +++ b/x-pack/plugins/cloud_security_posture/public/pages/rules/rules_table.tsx @@ -54,7 +54,7 @@ export const RulesTable = ({ }; const rowProps = (row: RuleSavedObject) => ({ - ['data-test-subj']: TEST_SUBJECTS.getCspRulesTableRowItemTestId(row.id), + ['data-test-subj']: TEST_SUBJECTS.getCspRuleTemplatesTableRowItemTestId(row.id), style: { background: row.id === selectedRuleId ? euiTheme.colors.highlight : undefined }, onClick: (e: MouseEvent) => { const tag = (e.target as HTMLDivElement).tagName; diff --git a/x-pack/plugins/cloud_security_posture/public/pages/rules/test_subjects.ts b/x-pack/plugins/cloud_security_posture/public/pages/rules/test_subjects.ts index a40ccff5b5e6e..dbbc6877e2dcf 100644 --- a/x-pack/plugins/cloud_security_posture/public/pages/rules/test_subjects.ts +++ b/x-pack/plugins/cloud_security_posture/public/pages/rules/test_subjects.ts @@ -13,5 +13,5 @@ export const CSP_RULES_TABLE = 'csp_rules_table'; export const CSP_RULES_TABLE_ROW_ITEM_NAME = 'csp_rules_table_row_item_name'; export const CSP_RULES_FLYOUT_CONTAINER = 'csp_rules_flyout_container'; -export const getCspRulesTableRowItemTestId = (id: string) => +export const getCspRuleTemplatesTableRowItemTestId = (id: string) => `${CSP_RULES_TABLE_ROW_ITEM_NAME}_${id}`; diff --git a/x-pack/plugins/cloud_security_posture/public/pages/rules/use_csp_rules.ts b/x-pack/plugins/cloud_security_posture/public/pages/rules/use_csp_rules.ts index 3e9f6594a7f4d..818dbeba76c70 100644 --- a/x-pack/plugins/cloud_security_posture/public/pages/rules/use_csp_rules.ts +++ b/x-pack/plugins/cloud_security_posture/public/pages/rules/use_csp_rules.ts @@ -24,9 +24,9 @@ export type RuleSavedObject = Omit< export type RulesQuery = Required< Pick >; -export type RulesQueryResult = ReturnType; +export type RulesQueryResult = ReturnType; -export const useFindCspRules = ( +export const useFindCspRuleTemplates = ( { search, page, perPage, filter }: RulesQuery, packagePolicyId: string ) => { diff --git a/x-pack/plugins/cloud_security_posture/server/lib/telemetry/collectors/accounts_stats_collector.ts b/x-pack/plugins/cloud_security_posture/server/lib/telemetry/collectors/accounts_stats_collector.ts index 01637f43a5dea..cf28f5b07113d 100644 --- a/x-pack/plugins/cloud_security_posture/server/lib/telemetry/collectors/accounts_stats_collector.ts +++ b/x-pack/plugins/cloud_security_posture/server/lib/telemetry/collectors/accounts_stats_collector.ts @@ -7,7 +7,7 @@ import type { ElasticsearchClient } from '@kbn/core-elasticsearch-server'; import type { Logger } from '@kbn/core/server'; import type { SearchRequest } from '@elastic/elasticsearch/lib/api/types'; -import { calculatePostureScore } from '../../../routes/compliance_dashboard/get_stats'; +import { calculatePostureScore } from '../../../../common/utils/helpers'; import type { CspmAccountsStats } from './types'; import { LATEST_FINDINGS_INDEX_DEFAULT_NS } from '../../../../common/constants'; diff --git a/x-pack/plugins/cloud_security_posture/server/routes/benchmarks/benchmarks.test.ts b/x-pack/plugins/cloud_security_posture/server/routes/benchmarks/benchmarks.test.ts index 656d34462464b..d8b432bb0391e 100644 --- a/x-pack/plugins/cloud_security_posture/server/routes/benchmarks/benchmarks.test.ts +++ b/x-pack/plugins/cloud_security_posture/server/routes/benchmarks/benchmarks.test.ts @@ -258,7 +258,7 @@ describe('benchmarks API', () => { }); }); - describe('test addPackagePolicyCspRules', () => { + describe('test addPackagePolicyCspRuleTemplates', () => { it('should retrieve the rules count by the filtered benchmark type', async () => { const benchmark = 'cis_k8s'; mockSoClient.find.mockResolvedValueOnce({ diff --git a/x-pack/plugins/cloud_security_posture/server/routes/compliance_dashboard/get_grouped_findings_evaluation.ts b/x-pack/plugins/cloud_security_posture/server/routes/compliance_dashboard/get_grouped_findings_evaluation.ts index 4f295ad7a2fdb..f20b43619e914 100644 --- a/x-pack/plugins/cloud_security_posture/server/routes/compliance_dashboard/get_grouped_findings_evaluation.ts +++ b/x-pack/plugins/cloud_security_posture/server/routes/compliance_dashboard/get_grouped_findings_evaluation.ts @@ -11,7 +11,7 @@ import type { QueryDslQueryContainer, SearchRequest, } from '@elastic/elasticsearch/lib/api/types'; -import { calculatePostureScore } from './get_stats'; +import { calculatePostureScore } from '../../../common/utils/helpers'; import type { ComplianceDashboardData } from '../../../common/types'; import { KeyDocCount } from './compliance_dashboard'; diff --git a/x-pack/plugins/cloud_security_posture/server/routes/compliance_dashboard/get_stats.test.ts b/x-pack/plugins/cloud_security_posture/server/routes/compliance_dashboard/get_stats.test.ts index aff4e39f9d49c..1a824e1671227 100644 --- a/x-pack/plugins/cloud_security_posture/server/routes/compliance_dashboard/get_stats.test.ts +++ b/x-pack/plugins/cloud_security_posture/server/routes/compliance_dashboard/get_stats.test.ts @@ -5,12 +5,8 @@ * 2.0. */ -import { - calculatePostureScore, - FindingsEvaluationsQueryResult, - getStatsFromFindingsEvaluationsAggs, - roundScore, -} from './get_stats'; +import { FindingsEvaluationsQueryResult, getStatsFromFindingsEvaluationsAggs } from './get_stats'; +import { calculatePostureScore, roundScore } from '../../../common/utils/helpers'; const standardQueryResult: FindingsEvaluationsQueryResult = { resources_evaluated: { diff --git a/x-pack/plugins/cloud_security_posture/server/routes/compliance_dashboard/get_stats.ts b/x-pack/plugins/cloud_security_posture/server/routes/compliance_dashboard/get_stats.ts index d0fcd5b796774..a59d7487488e0 100644 --- a/x-pack/plugins/cloud_security_posture/server/routes/compliance_dashboard/get_stats.ts +++ b/x-pack/plugins/cloud_security_posture/server/routes/compliance_dashboard/get_stats.ts @@ -7,15 +7,8 @@ import { ElasticsearchClient } from '@kbn/core/server'; import type { QueryDslQueryContainer, SearchRequest } from '@elastic/elasticsearch/lib/api/types'; -import type { ComplianceDashboardData, Score } from '../../../common/types'; - -/** - * @param value value is [0, 1] range - */ -export const roundScore = (value: number): Score => Number((value * 100).toFixed(1)); - -export const calculatePostureScore = (passed: number, failed: number): Score => - roundScore(passed / (passed + failed)); +import { calculatePostureScore } from '../../../common/utils/helpers'; +import type { ComplianceDashboardData } from '../../../common/types'; export interface FindingsEvaluationsQueryResult { failed_findings: { diff --git a/x-pack/plugins/cloud_security_posture/server/routes/compliance_dashboard/get_trends.ts b/x-pack/plugins/cloud_security_posture/server/routes/compliance_dashboard/get_trends.ts index a47b63e1fb921..cc8234fa6d7af 100644 --- a/x-pack/plugins/cloud_security_posture/server/routes/compliance_dashboard/get_trends.ts +++ b/x-pack/plugins/cloud_security_posture/server/routes/compliance_dashboard/get_trends.ts @@ -6,9 +6,9 @@ */ import { ElasticsearchClient } from '@kbn/core/server'; +import { calculatePostureScore } from '../../../common/utils/helpers'; import { BENCHMARK_SCORE_INDEX_DEFAULT_NS } from '../../../common/constants'; import type { PosturePolicyTemplate, Stats } from '../../../common/types'; -import { calculatePostureScore } from './get_stats'; export interface ScoreTrendDoc { '@timestamp': string; diff --git a/x-pack/plugins/cloud_security_posture/server/saved_objects/mappings.ts b/x-pack/plugins/cloud_security_posture/server/saved_objects/mappings.ts index f0b21b1cb9806..445e839d41628 100644 --- a/x-pack/plugins/cloud_security_posture/server/saved_objects/mappings.ts +++ b/x-pack/plugins/cloud_security_posture/server/saved_objects/mappings.ts @@ -7,39 +7,6 @@ import { SavedObjectsTypeMappingDefinition } from '@kbn/core/server'; -export const cspRuleSavedObjectMapping: SavedObjectsTypeMappingDefinition = { - dynamic: false, - properties: { - metadata: { - type: 'object', - properties: { - name: { - type: 'keyword', - fields: { - text: { - type: 'text', - }, - }, - }, - }, - }, - package_policy_id: { - type: 'keyword', - }, - policy_id: { - type: 'keyword', - }, - enabled: { - type: 'boolean', - fields: { - keyword: { - type: 'keyword', - }, - }, - }, - }, -}; - export const cspRuleTemplateSavedObjectMapping: SavedObjectsTypeMappingDefinition = { dynamic: false, properties: { diff --git a/x-pack/plugins/cloud_security_posture/server/saved_objects/migrations/csp_rule.ts b/x-pack/plugins/cloud_security_posture/server/saved_objects/migrations/csp_rule.ts deleted file mode 100644 index 9e4dea8a1a78b..0000000000000 --- a/x-pack/plugins/cloud_security_posture/server/saved_objects/migrations/csp_rule.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 { - SavedObjectMigrationMap, - SavedObjectUnsanitizedDoc, - SavedObjectMigrationContext, -} from '@kbn/core/server'; -import { CspRuleV830, CspRuleV840 } from '../../../common/schemas/csp_rule'; - -function migrateCspRuleMetadata( - doc: SavedObjectUnsanitizedDoc, - context: SavedObjectMigrationContext -): SavedObjectUnsanitizedDoc { - // eslint-disable-next-line @typescript-eslint/naming-convention - const { enabled, muted, package_policy_id, policy_id, benchmark, ...metadata } = doc.attributes; - - return { - ...doc, - attributes: { - enabled, - muted, - package_policy_id, - policy_id, - metadata: { - ...metadata, - benchmark: { ...benchmark, id: 'cis_k8s' }, - impact: metadata.impact || undefined, - default_value: metadata.default_value || undefined, - references: metadata.references || undefined, - }, - }, - }; -} - -export const cspRuleMigrations: SavedObjectMigrationMap = { - '8.4.0': migrateCspRuleMetadata, -}; diff --git a/x-pack/plugins/cloud_security_posture/server/saved_objects/migrations/csp_rule_template.ts b/x-pack/plugins/cloud_security_posture/server/saved_objects/migrations/csp_rule_template.ts index b25fd7feb3e75..10f693e9ea7c3 100644 --- a/x-pack/plugins/cloud_security_posture/server/saved_objects/migrations/csp_rule_template.ts +++ b/x-pack/plugins/cloud_security_posture/server/saved_objects/migrations/csp_rule_template.ts @@ -16,7 +16,7 @@ import { CspRuleTemplateV870, } from '../../../common/schemas/csp_rule_template'; -function migrateCspRuleMetadata( +function migrateCspRuleTemplatesToV840( doc: SavedObjectUnsanitizedDoc, context: SavedObjectMigrationContext ): SavedObjectUnsanitizedDoc { @@ -28,7 +28,7 @@ function migrateCspRuleMetadata( muted, metadata: { ...metadata, - benchmark: { ...benchmark, id: 'cis_k8s' }, + benchmark: { ...benchmark, id: 'cis_k8s', rule_number: '' }, impact: metadata.impact || undefined, default_value: metadata.default_value || undefined, references: metadata.references || undefined, @@ -37,7 +37,7 @@ function migrateCspRuleMetadata( }; } -function migrateCspRuleTemplateDeprecateState( +function migrateCspRuleTemplatesToV870( doc: SavedObjectUnsanitizedDoc, context: SavedObjectMigrationContext ): SavedObjectUnsanitizedDoc { @@ -50,6 +50,6 @@ function migrateCspRuleTemplateDeprecateState( } export const cspRuleTemplateMigrations: SavedObjectMigrationMap = { - '8.4.0': migrateCspRuleMetadata, - '8.7.0': migrateCspRuleTemplateDeprecateState, + '8.4.0': migrateCspRuleTemplatesToV840, + '8.7.0': migrateCspRuleTemplatesToV870, }; diff --git a/x-pack/plugins/cloud_security_posture/server/saved_objects/migrations/index.ts b/x-pack/plugins/cloud_security_posture/server/saved_objects/migrations/index.ts index 01120e57d4efb..991b7469a9129 100644 --- a/x-pack/plugins/cloud_security_posture/server/saved_objects/migrations/index.ts +++ b/x-pack/plugins/cloud_security_posture/server/saved_objects/migrations/index.ts @@ -5,5 +5,4 @@ * 2.0. */ -export * from './csp_rule'; export * from './csp_rule_template'; diff --git a/x-pack/plugins/cloud_security_posture/server/saved_objects/saved_objects.ts b/x-pack/plugins/cloud_security_posture/server/saved_objects/saved_objects.ts index 29c25e4789aec..92b709db1825c 100644 --- a/x-pack/plugins/cloud_security_posture/server/saved_objects/saved_objects.ts +++ b/x-pack/plugins/cloud_security_posture/server/saved_objects/saved_objects.ts @@ -5,47 +5,19 @@ * 2.0. */ -import { i18n } from '@kbn/i18n'; import { SavedObjectsServiceSetup } from '@kbn/core/server'; -import { cspRuleSavedObjectMapping, cspRuleTemplateSavedObjectMapping } from './mappings'; -import { cspRuleMigrations, cspRuleTemplateMigrations } from './migrations'; +import { cspRuleTemplateSavedObjectMapping } from './mappings'; +import { cspRuleTemplateMigrations } from './migrations'; import { - cspRuleSchemaV830, - cspRuleSchemaV840, cspRuleTemplateSchemaV830, cspRuleTemplateSchemaV840, - CspRuleTemplate, - CspRule, cspRuleTemplateSchemaV870, + CspRuleTemplate, } from '../../common/schemas'; -import { - CSP_RULE_SAVED_OBJECT_TYPE, - CSP_RULE_TEMPLATE_SAVED_OBJECT_TYPE, -} from '../../common/constants'; +import { CSP_RULE_TEMPLATE_SAVED_OBJECT_TYPE } from '../../common/constants'; export function setupSavedObjects(savedObjects: SavedObjectsServiceSetup) { - savedObjects.registerType({ - name: CSP_RULE_SAVED_OBJECT_TYPE, - hidden: false, - namespaceType: 'agnostic', - management: { - importableAndExportable: true, - visibleInManagement: true, - getTitle: (savedObject) => - `${i18n.translate('xpack.csp.cspSettings.rules', { - defaultMessage: `CSP Security Rules - `, - })} ${savedObject.attributes.metadata.benchmark.name} ${ - savedObject.attributes.metadata.benchmark.version - } ${savedObject.attributes.metadata.name}`, - }, - schemas: { - '8.3.0': cspRuleSchemaV830, - '8.4.0': cspRuleSchemaV840, - }, - migrations: cspRuleMigrations, - mappings: cspRuleSavedObjectMapping, - }); savedObjects.registerType({ name: CSP_RULE_TEMPLATE_SAVED_OBJECT_TYPE, hidden: false, diff --git a/x-pack/plugins/data_visualizer/public/application/index_data_visualizer/hooks/use_field_stats.ts b/x-pack/plugins/data_visualizer/public/application/index_data_visualizer/hooks/use_field_stats.ts index 2a91f9aa5366b..06e7725f25652 100644 --- a/x-pack/plugins/data_visualizer/public/application/index_data_visualizer/hooks/use_field_stats.ts +++ b/x-pack/plugins/data_visualizer/public/application/index_data_visualizer/hooks/use_field_stats.ts @@ -12,6 +12,7 @@ import { last, cloneDeep } from 'lodash'; import { mergeMap, switchMap } from 'rxjs/operators'; import { Comparators } from '@elastic/eui'; import type { ISearchOptions } from '@kbn/data-plugin/common'; +import { buildBaseFilterCriteria, getSafeAggregationName } from '@kbn/ml-query-utils'; import type { DataStatsFetchProgress, FieldStatsSearchStrategyReturnBase, @@ -22,10 +23,6 @@ import type { import { useDataVisualizerKibana } from '../../kibana_context'; import type { FieldRequestConfig } from '../../../../common/types'; import type { DataVisualizerIndexBasedAppState } from '../types/index_data_visualizer_state'; -import { - buildBaseFilterCriteria, - getSafeAggregationName, -} from '../../../../common/utils/query_utils'; import type { FieldStats, FieldStatsError } from '../../../../common/types/field_stats'; import { getInitialProgress, getReducer } from '../progress_utils'; import { MAX_EXAMPLES_DEFAULT } from '../search_strategy/requests/constants'; diff --git a/x-pack/plugins/data_visualizer/public/application/index_data_visualizer/search_strategy/requests/get_document_stats.ts b/x-pack/plugins/data_visualizer/public/application/index_data_visualizer/search_strategy/requests/get_document_stats.ts index e6fc220ea7f3c..690b8ec29740e 100644 --- a/x-pack/plugins/data_visualizer/public/application/index_data_visualizer/search_strategy/requests/get_document_stats.ts +++ b/x-pack/plugins/data_visualizer/public/application/index_data_visualizer/search_strategy/requests/get_document_stats.ts @@ -11,8 +11,8 @@ import { isPopulatedObject } from '@kbn/ml-is-populated-object'; import { DataPublicPluginStart, ISearchOptions } from '@kbn/data-plugin/public'; import seedrandom from 'seedrandom'; import { isDefined } from '@kbn/ml-is-defined'; +import { buildBaseFilterCriteria } from '@kbn/ml-query-utils'; import { RANDOM_SAMPLER_PROBABILITIES } from '../../constants/random_sampler'; -import { buildBaseFilterCriteria } from '../../../../../common/utils/query_utils'; import type { DocumentCountStats, OverallStatsSearchStrategyParams, diff --git a/x-pack/plugins/data_visualizer/public/application/index_data_visualizer/search_strategy/requests/get_field_examples.ts b/x-pack/plugins/data_visualizer/public/application/index_data_visualizer/search_strategy/requests/get_field_examples.ts index dfc68e6dac9ae..df7afb16479f0 100644 --- a/x-pack/plugins/data_visualizer/public/application/index_data_visualizer/search_strategy/requests/get_field_examples.ts +++ b/x-pack/plugins/data_visualizer/public/application/index_data_visualizer/search_strategy/requests/get_field_examples.ts @@ -16,8 +16,8 @@ import type { } from '@kbn/data-plugin/public'; import { isPopulatedObject } from '@kbn/ml-is-populated-object'; import type { SearchHit } from '@elastic/elasticsearch/lib/api/typesWithBodyKey'; +import { buildBaseFilterCriteria } from '@kbn/ml-query-utils'; import { getUniqGeoOrStrExamples } from '../../../common/util/example_utils'; -import { buildBaseFilterCriteria } from '../../../../../common/utils/query_utils'; import type { Field, FieldExamples, diff --git a/x-pack/plugins/data_visualizer/public/application/index_data_visualizer/search_strategy/requests/overall_stats.ts b/x-pack/plugins/data_visualizer/public/application/index_data_visualizer/search_strategy/requests/overall_stats.ts index 28bf46bfd7c05..c6643410b148e 100644 --- a/x-pack/plugins/data_visualizer/public/application/index_data_visualizer/search_strategy/requests/overall_stats.ts +++ b/x-pack/plugins/data_visualizer/public/application/index_data_visualizer/search_strategy/requests/overall_stats.ts @@ -11,11 +11,8 @@ import { Query } from '@kbn/es-query'; import type { IKibanaSearchResponse } from '@kbn/data-plugin/common'; import type { AggCardinality } from '@kbn/ml-agg-utils'; import { isPopulatedObject } from '@kbn/ml-is-populated-object'; +import { buildBaseFilterCriteria, getSafeAggregationName } from '@kbn/ml-query-utils'; import { buildAggregationWithSamplingOption } from './build_random_sampler_agg'; -import { - buildBaseFilterCriteria, - getSafeAggregationName, -} from '../../../../../common/utils/query_utils'; import { getDatafeedAggregations } from '../../../../../common/utils/datafeed_utils'; import { AggregatableField, NonAggregatableField } from '../../types/overall_stats'; import { Aggs, SamplingOption } from '../../../../../common/types/field_stats'; diff --git a/x-pack/plugins/data_visualizer/tsconfig.json b/x-pack/plugins/data_visualizer/tsconfig.json index 4730c35cd3658..fd61172e31587 100644 --- a/x-pack/plugins/data_visualizer/tsconfig.json +++ b/x-pack/plugins/data_visualizer/tsconfig.json @@ -55,6 +55,7 @@ "@kbn/ml-local-storage", "@kbn/ml-date-picker", "@kbn/ml-is-defined", + "@kbn/ml-query-utils", ], "exclude": [ "target/**/*", diff --git a/x-pack/plugins/fleet/server/routes/agent/handlers.ts b/x-pack/plugins/fleet/server/routes/agent/handlers.ts index 696e05e9c18bb..bb43d32b6cfaf 100644 --- a/x-pack/plugins/fleet/server/routes/agent/handlers.ts +++ b/x-pack/plugins/fleet/server/routes/agent/handlers.ts @@ -186,7 +186,7 @@ export const getAgentsHandler: RequestHandler< kuery: request.query.kuery, sortField: request.query.sortField, sortOrder: request.query.sortOrder, - getTotalInactive: true, + getTotalInactive: request.query.showInactive, }); const { total, page, perPage, totalInactive = 0 } = agentRes; diff --git a/x-pack/plugins/fleet/server/services/agents/action_runner.ts b/x-pack/plugins/fleet/server/services/agents/action_runner.ts index cba8f677c8b0f..ce338b3d637f3 100644 --- a/x-pack/plugins/fleet/server/services/agents/action_runner.ts +++ b/x-pack/plugins/fleet/server/services/agents/action_runner.ts @@ -6,7 +6,6 @@ */ import { v4 as uuidv4 } from 'uuid'; -import type { SortResults } from '@elastic/elasticsearch/lib/api/types'; import type { ElasticsearchClient, SavedObjectsClientContract } from '@kbn/core/server'; import { withSpan } from '@kbn/apm-utils'; @@ -21,8 +20,8 @@ import { SO_SEARCH_LIMIT } from '../../../common/constants'; import { getAgentActions } from './actions'; import { closePointInTime, getAgentsByKuery } from './crud'; import type { BulkActionsResolver } from './bulk_actions_resolver'; - -export const MAX_RETRY_COUNT = 5; +import type { RetryParams } from './retry_helper'; +import { getRetryParams, MAX_RETRY_COUNT } from './retry_helper'; export interface ActionParams { kuery: string; @@ -34,13 +33,6 @@ export interface ActionParams { [key: string]: any; } -export interface RetryParams { - pitId: string; - searchAfter?: SortResults; - retryCount?: number; - taskId?: string; -} - export abstract class ActionRunner { protected esClient: ElasticsearchClient; protected soClient: SavedObjectsClientContract; @@ -79,7 +71,9 @@ export abstract class ActionRunner { appContextService .getLogger() .info( - `Running action asynchronously, actionId: ${this.actionParams.actionId}, total agents: ${this.actionParams.total}` + `Running action asynchronously, actionId: ${this.actionParams.actionId}${ + this.actionParams.total ? ', total agents:' + this.actionParams.total : '' + }` ); if (!this.bulkActionsResolver) { @@ -153,10 +147,12 @@ export abstract class ActionRunner { this.actionParams.actionId!, this.getTaskType() + ':check' ); + const retryParams: RetryParams = getRetryParams(this.getTaskType(), this.retryParams); + return await this.bulkActionsResolver!.run( this.actionParams, { - ...this.retryParams, + ...retryParams, retryCount: 1, }, this.getTaskType(), @@ -233,7 +229,9 @@ export abstract class ActionRunner { } } - await closePointInTime(this.esClient, pitId!); + if (pitId) { + await closePointInTime(this.esClient, pitId!); + } appContextService .getLogger() diff --git a/x-pack/plugins/fleet/server/services/agents/bulk_action_types.ts b/x-pack/plugins/fleet/server/services/agents/bulk_action_types.ts new file mode 100644 index 0000000000000..44ab84e0bc72d --- /dev/null +++ b/x-pack/plugins/fleet/server/services/agents/bulk_action_types.ts @@ -0,0 +1,14 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +export enum BulkActionTaskType { + REASSIGN_RETRY = 'fleet:reassign_action:retry', + UNENROLL_RETRY = 'fleet:unenroll_action:retry', + UPGRADE_RETRY = 'fleet:upgrade_action:retry', + UPDATE_AGENT_TAGS_RETRY = 'fleet:update_agent_tags:retry', + REQUEST_DIAGNOSTICS_RETRY = 'fleet:request_diagnostics:retry', +} diff --git a/x-pack/plugins/fleet/server/services/agents/bulk_actions_resolver.ts b/x-pack/plugins/fleet/server/services/agents/bulk_actions_resolver.ts index b6ec1d082b39a..b68bae611252a 100644 --- a/x-pack/plugins/fleet/server/services/agents/bulk_actions_resolver.ts +++ b/x-pack/plugins/fleet/server/services/agents/bulk_actions_resolver.ts @@ -19,16 +19,11 @@ import { ReassignActionRunner } from './reassign_action_runner'; import { UpgradeActionRunner } from './upgrade_action_runner'; import { UpdateAgentTagsActionRunner } from './update_agent_tags_action_runner'; import { UnenrollActionRunner } from './unenroll_action_runner'; -import type { ActionParams, RetryParams } from './action_runner'; +import type { ActionParams } from './action_runner'; import { RequestDiagnosticsActionRunner } from './request_diagnostics_action_runner'; - -export enum BulkActionTaskType { - REASSIGN_RETRY = 'fleet:reassign_action:retry', - UNENROLL_RETRY = 'fleet:unenroll_action:retry', - UPGRADE_RETRY = 'fleet:upgrade_action:retry', - UPDATE_AGENT_TAGS_RETRY = 'fleet:update_agent_tags:retry', - REQUEST_DIAGNOSTICS_RETRY = 'fleet:request_diagnostics:retry', -} +import type { RetryParams } from './retry_helper'; +import { getRetryParams } from './retry_helper'; +import { BulkActionTaskType } from './bulk_action_types'; /** * Create and run retry tasks of agent bulk actions @@ -114,11 +109,7 @@ export class BulkActionsResolver { scope: ['fleet'], state: {}, params: { actionParams, retryParams }, - runAt: - runAt ?? - moment(new Date()) - .add(Math.pow(3, retryParams.retryCount ?? 1), 's') - .toDate(), + runAt: runAt ?? moment(new Date()).add(3, 's').toDate(), }); appContextService.getLogger().info('Scheduling task ' + taskId); return taskId; @@ -146,7 +137,10 @@ export function createRetryTask( const { esClient, soClient } = await getDeps(); - const retryParams = taskInstance.params.retryParams; + const retryParams: RetryParams = getRetryParams( + taskInstance.taskType, + taskInstance.params.retryParams + ); appContextService .getLogger() diff --git a/x-pack/plugins/fleet/server/services/agents/reassign_action_runner.ts b/x-pack/plugins/fleet/server/services/agents/reassign_action_runner.ts index cf6e3988e7bef..b03146ab6b387 100644 --- a/x-pack/plugins/fleet/server/services/agents/reassign_action_runner.ts +++ b/x-pack/plugins/fleet/server/services/agents/reassign_action_runner.ts @@ -18,7 +18,7 @@ import { ActionRunner } from './action_runner'; import { bulkUpdateAgents } from './crud'; import { createErrorActionResults, createAgentAction } from './actions'; import { getHostedPolicies, isHostedAgent } from './hosted_agent'; -import { BulkActionTaskType } from './bulk_actions_resolver'; +import { BulkActionTaskType } from './bulk_action_types'; export class ReassignActionRunner extends ActionRunner { protected async processAgents(agents: Agent[]): Promise<{ actionId: string }> { diff --git a/x-pack/plugins/fleet/server/services/agents/request_diagnostics_action_runner.ts b/x-pack/plugins/fleet/server/services/agents/request_diagnostics_action_runner.ts index 9728afedbb028..d9552f3a1a41e 100644 --- a/x-pack/plugins/fleet/server/services/agents/request_diagnostics_action_runner.ts +++ b/x-pack/plugins/fleet/server/services/agents/request_diagnostics_action_runner.ts @@ -12,7 +12,7 @@ import type { Agent } from '../../types'; import { ActionRunner } from './action_runner'; import { createAgentAction } from './actions'; -import { BulkActionTaskType } from './bulk_actions_resolver'; +import { BulkActionTaskType } from './bulk_action_types'; export class RequestDiagnosticsActionRunner extends ActionRunner { protected async processAgents(agents: Agent[]): Promise<{ actionId: string }> { diff --git a/x-pack/plugins/fleet/server/services/agents/retry_helper.ts b/x-pack/plugins/fleet/server/services/agents/retry_helper.ts new file mode 100644 index 0000000000000..b15d5faa87c44 --- /dev/null +++ b/x-pack/plugins/fleet/server/services/agents/retry_helper.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 type { SortResults } from '@elastic/elasticsearch/lib/api/types'; + +import { BulkActionTaskType } from './bulk_action_types'; + +export const MAX_RETRY_COUNT = 20; + +export interface RetryParams { + pitId?: string; + searchAfter?: SortResults; + retryCount?: number; + taskId?: string; +} + +export function getRetryParams(taskType: string, retryParams: RetryParams): RetryParams { + // update tags will retry with tags filter + return taskType === BulkActionTaskType.UPDATE_AGENT_TAGS_RETRY + ? { + ...retryParams, + pitId: undefined, + searchAfter: undefined, + } + : retryParams; +} diff --git a/x-pack/plugins/fleet/server/services/agents/unenroll_action_runner.ts b/x-pack/plugins/fleet/server/services/agents/unenroll_action_runner.ts index 359b016bd1b8c..8f9a7f3763cc0 100644 --- a/x-pack/plugins/fleet/server/services/agents/unenroll_action_runner.ts +++ b/x-pack/plugins/fleet/server/services/agents/unenroll_action_runner.ts @@ -29,7 +29,7 @@ import { getUnenrollAgentActions, } from './actions'; import { getHostedPolicies, isHostedAgent } from './hosted_agent'; -import { BulkActionTaskType } from './bulk_actions_resolver'; +import { BulkActionTaskType } from './bulk_action_types'; export class UnenrollActionRunner extends ActionRunner { protected async processAgents(agents: Agent[]): Promise<{ actionId: string }> { diff --git a/x-pack/plugins/fleet/server/services/agents/update_agent_tags.test.ts b/x-pack/plugins/fleet/server/services/agents/update_agent_tags.test.ts index d59aee0c700b1..30c56b53640af 100644 --- a/x-pack/plugins/fleet/server/services/agents/update_agent_tags.test.ts +++ b/x-pack/plugins/fleet/server/services/agents/update_agent_tags.test.ts @@ -8,9 +8,12 @@ import type { SavedObjectsClientContract } from '@kbn/core/server'; import type { ElasticsearchClientMock } from '@kbn/core/server/mocks'; import { elasticsearchServiceMock, savedObjectsClientMock } from '@kbn/core/server/mocks'; +import type { Agent } from '../../types'; + import { createClientMock } from './action.mock'; +import { MAX_RETRY_COUNT } from './retry_helper'; import { updateAgentTags } from './update_agent_tags'; -import { updateTagsBatch } from './update_agent_tags_action_runner'; +import { UpdateAgentTagsActionRunner, updateTagsBatch } from './update_agent_tags_action_runner'; jest.mock('../app_context', () => { return { @@ -74,6 +77,7 @@ describe('update_agent_tags', () => { esClient.updateByQuery.mockResolvedValue({ failures: [], updated: 1 } as any); mockRunAsync.mockClear(); + (UpdateAgentTagsActionRunner as jest.Mock).mockClear(); }); it('should remove duplicate tags', async () => { @@ -83,7 +87,9 @@ describe('update_agent_tags', () => { expect.objectContaining({ conflicts: 'proceed', index: '.fleet-agents', - query: { terms: { _id: ['agent1'] } }, + query: { + terms: { _id: ['agent1'] }, + }, script: expect.objectContaining({ lang: 'painless', params: expect.objectContaining({ @@ -121,37 +127,16 @@ describe('update_agent_tags', () => { expect(actionResults.body[1].error).not.toBeDefined(); }); - it('should update action results on success - kuery', async () => { - await updateTagsBatch( - soClient, - esClient, - [], - {}, - { - tagsToAdd: ['new'], - tagsToRemove: [], - kuery: '', - } - ); - - const actionResults = esClient.bulk.mock.calls[0][0] as any; - const agentIds = actionResults?.body - ?.filter((i: any) => i.agent_id) - .map((i: any) => i.agent_id); - expect(agentIds[0]).toHaveLength(36); // uuid - expect(actionResults.body[1].error).not.toBeDefined(); - }); - it('should skip hosted agent from total when agentIds are passed', async () => { - const { esClient: esClientMock, agentInHostedDoc } = createClientMock(); + const { esClient: esClientMock, agentInHostedDoc, agentInRegularDoc } = createClientMock(); esClientMock.updateByQuery.mockReset(); - esClientMock.updateByQuery.mockResolvedValue({ failures: [], updated: 0, total: 0 } as any); + esClientMock.updateByQuery.mockResolvedValue({ failures: [], updated: 1, total: 1 } as any); await updateAgentTags( soClient, esClientMock, - { agentIds: [agentInHostedDoc._id] }, + { agentIds: [agentInHostedDoc._id, agentInRegularDoc._id] }, ['newName'], [] ); @@ -160,9 +145,9 @@ describe('update_agent_tags', () => { expect(agentAction?.body).toEqual( expect.objectContaining({ action_id: expect.anything(), - agents: [], + agents: [agentInRegularDoc._id], type: 'UPDATE_TAGS', - total: 0, + total: 1, }) ); }); @@ -205,14 +190,14 @@ describe('update_agent_tags', () => { updateTagsBatch( soClient, esClient, - [], + [{ id: 'agent1' } as Agent], {}, { tagsToAdd: ['new'], tagsToRemove: [], kuery: '', total: 100, - retryCount: 5, + retryCount: MAX_RETRY_COUNT, } ) ).rejects.toThrowError('version conflict of 100 agents'); @@ -247,13 +232,24 @@ describe('update_agent_tags', () => { await updateAgentTags(soClient, esClient, { kuery: '', batchSize: 2 }, ['newName'], []); expect(mockRunAsync).toHaveBeenCalled(); + expect(UpdateAgentTagsActionRunner).toHaveBeenCalledWith( + expect.anything(), + expect.anything(), + expect.objectContaining({ + batchSize: 2, + kuery: '(NOT (tags:newName))', + tagsToAdd: ['newName'], + tagsToRemove: [], + }), + expect.anything() + ); }); it('should add tags filter if only one tag to add', async () => { await updateTagsBatch( soClient, esClient, - [], + [{ id: 'agent1' } as Agent, { id: 'agent2' } as Agent], {}, { tagsToAdd: ['new'], @@ -263,94 +259,57 @@ describe('update_agent_tags', () => { ); const updateByQuery = esClient.updateByQuery.mock.calls[0][0] as any; - expect(updateByQuery.query).toMatchInlineSnapshot(` - Object { - "bool": Object { - "filter": Array [ - Object { - "bool": Object { - "must_not": Object { - "bool": Object { - "minimum_should_match": 1, - "should": Array [ - Object { - "bool": Object { - "minimum_should_match": 1, - "should": Array [ - Object { - "match": Object { - "status": "inactive", - }, - }, - ], - }, - }, - Object { - "bool": Object { - "minimum_should_match": 1, - "should": Array [ - Object { - "match": Object { - "status": "unenrolled", - }, - }, - ], - }, - }, - ], - }, - }, - }, - }, - Object { - "bool": Object { - "must_not": Object { - "bool": Object { - "minimum_should_match": 1, - "should": Array [ - Object { - "match": Object { - "tags": "new", - }, - }, - ], - }, - }, - }, - }, - ], - }, - } - `); + expect(updateByQuery.query).toEqual({ + terms: { _id: ['agent1', 'agent2'] }, + }); }); it('should add tags filter if only one tag to remove', async () => { - await updateTagsBatch( + await updateAgentTags(soClient, esClient, { kuery: '' }, [], ['remove']); + + expect(UpdateAgentTagsActionRunner).toHaveBeenCalledWith( + expect.anything(), + expect.anything(), + expect.objectContaining({ + batchSize: 10000, + kuery: '(tags:remove)', + tagsToAdd: [], + tagsToRemove: ['remove'], + }), + expect.anything() + ); + }); + + it('should add tags filter to existing kuery if only one tag to remove', async () => { + await updateAgentTags( soClient, esClient, + { kuery: 'status:healthy OR status:offline' }, [], - {}, - { - tagsToAdd: [], - tagsToRemove: ['remove'], - kuery: '', - } + ['remove'] ); - const updateByQuery = esClient.updateByQuery.mock.calls[0][0] as any; - expect(JSON.stringify(updateByQuery.query)).toContain( - '{"bool":{"should":[{"match":{"tags":"remove"}}],"minimum_should_match":1}}' + expect(UpdateAgentTagsActionRunner).toHaveBeenCalledWith( + expect.anything(), + expect.anything(), + expect.objectContaining({ + batchSize: 10000, + kuery: '(status:healthy OR status:offline) AND (tags:remove)', + tagsToAdd: [], + tagsToRemove: ['remove'], + }), + expect.anything() ); }); - it('should write total from updateByQuery result if query returns less results', async () => { + it('should write total from total param if updateByQuery returns less results', async () => { esClient.updateByQuery.mockReset(); esClient.updateByQuery.mockResolvedValue({ failures: [], updated: 0, total: 50 } as any); await updateTagsBatch( soClient, esClient, - [], + [{ id: 'agent1' } as Agent], {}, { tagsToAdd: ['new'], @@ -364,9 +323,9 @@ describe('update_agent_tags', () => { expect(agentAction?.body).toEqual( expect.objectContaining({ action_id: expect.anything(), - agents: [], + agents: ['agent1'], type: 'UPDATE_TAGS', - total: 50, + total: 100, }) ); }); diff --git a/x-pack/plugins/fleet/server/services/agents/update_agent_tags.ts b/x-pack/plugins/fleet/server/services/agents/update_agent_tags.ts index a53a5f4536420..5e335bfd41996 100644 --- a/x-pack/plugins/fleet/server/services/agents/update_agent_tags.ts +++ b/x-pack/plugins/fleet/server/services/agents/update_agent_tags.ts @@ -10,7 +10,9 @@ import type { ElasticsearchClient, SavedObjectsClientContract } from '@kbn/core/ import type { Agent } from '../../types'; import { AgentReassignmentError } from '../../errors'; -import { getAgentsById } from './crud'; +import { SO_SEARCH_LIMIT } from '../../constants'; + +import { getAgentsById, getAgentsByKuery, openPointInTime } from './crud'; import type { GetAgentsOptions } from '.'; import { UpdateAgentTagsActionRunner, updateTagsBatch } from './update_agent_tags_action_runner'; @@ -36,16 +38,41 @@ export async function updateAgentTags( } } } else if ('kuery' in options) { + const batchSize = options.batchSize ?? SO_SEARCH_LIMIT; + + const filters = []; + if (options.kuery !== '') { + filters.push(options.kuery); + } + if (tagsToAdd.length === 1 && tagsToRemove.length === 0) { + filters.push(`NOT (tags:${tagsToAdd[0]})`); + } else if (tagsToRemove.length === 1 && tagsToAdd.length === 0) { + filters.push(`tags:${tagsToRemove[0]}`); + } + + const kuery = filters.map((filter) => `(${filter})`).join(' AND '); + const pitId = await openPointInTime(esClient); + + // calculate total count + const res = await getAgentsByKuery(esClient, soClient, { + kuery, + showInactive: options.showInactive ?? false, + perPage: 0, + pitId, + }); + return await new UpdateAgentTagsActionRunner( esClient, soClient, { ...options, - kuery: options.kuery, + kuery, tagsToAdd, tagsToRemove, + batchSize, + total: res.total, }, - { pitId: '' } + { pitId } ).runActionAsyncWithRetry(); } diff --git a/x-pack/plugins/fleet/server/services/agents/update_agent_tags_action_runner.ts b/x-pack/plugins/fleet/server/services/agents/update_agent_tags_action_runner.ts index 9c87259452493..1f12968b67c36 100644 --- a/x-pack/plugins/fleet/server/services/agents/update_agent_tags_action_runner.ts +++ b/x-pack/plugins/fleet/server/services/agents/update_agent_tags_action_runner.ts @@ -8,24 +8,19 @@ import type { SavedObjectsClientContract, ElasticsearchClient } from '@kbn/core/server'; import { v4 as uuidv4 } from 'uuid'; import { uniq } from 'lodash'; -import type * as estypes from '@elastic/elasticsearch/lib/api/typesWithBodyKey'; import type { Agent } from '../../types'; -import { AGENTS_INDEX, AGENT_POLICY_SAVED_OBJECT_TYPE } from '../../constants'; +import { AGENTS_INDEX } from '../../constants'; import { appContextService } from '../app_context'; -import { agentPolicyService } from '../agent_policy'; +import { ActionRunner } from './action_runner'; -import { SO_SEARCH_LIMIT } from '../../../common/constants'; - -import { ActionRunner, MAX_RETRY_COUNT } from './action_runner'; - -import { BulkActionTaskType } from './bulk_actions_resolver'; +import { BulkActionTaskType } from './bulk_action_types'; import { filterHostedPolicies } from './filter_hosted_agents'; import { bulkCreateAgentActionResults, createAgentAction } from './actions'; -import { getElasticsearchQuery } from './crud'; +import { MAX_RETRY_COUNT } from './retry_helper'; export class UpdateAgentTagsActionRunner extends ActionRunner { protected async processAgents(agents: Agent[]): Promise<{ actionId: string }> { @@ -50,26 +45,6 @@ export class UpdateAgentTagsActionRunner extends ActionRunner { protected getActionType() { return 'UPDATE_TAGS'; } - - async processAgentsInBatches(): Promise<{ actionId: string }> { - const { updated, took } = await updateTagsBatch( - this.soClient, - this.esClient, - [], - {}, - { - tagsToAdd: this.actionParams?.tagsToAdd, - tagsToRemove: this.actionParams?.tagsToRemove, - actionId: this.actionParams.actionId, - total: this.actionParams.total, - kuery: this.actionParams.kuery, - retryCount: this.retryParams.retryCount, - } - ); - - appContextService.getLogger().info(`processed ${updated} agents, took ${took}ms`); - return { actionId: this.actionParams.actionId! }; - } } export async function updateTagsBatch( @@ -97,38 +72,26 @@ export async function updateTagsBatch( ); const agentIds = filteredAgents.map((agent) => agent.id); - let query: estypes.QueryDslQueryContainer | undefined; - if (options.kuery !== undefined) { - const hostedPolicies = await agentPolicyService.list(soClient, { - kuery: `${AGENT_POLICY_SAVED_OBJECT_TYPE}.is_managed:true`, - perPage: SO_SEARCH_LIMIT, - }); - const hostedIds = hostedPolicies.items.map((item) => item.id); - - const extraFilters = []; - if (options.tagsToAdd.length === 1 && options.tagsToRemove.length === 0) { - extraFilters.push(`NOT (tags:${options.tagsToAdd[0]})`); - } else if (options.tagsToRemove.length === 1 && options.tagsToAdd.length === 0) { - extraFilters.push(`tags:${options.tagsToRemove[0]}`); - } - const DEFAULT_STATUS_FILTER = - 'status:online or (status:error or status:degraded) or (status:updating or status:unenrolling or status:enrolling) or status:offline'; - // removing default staus filters, as it is a runtime field and doesn't work with updateByQuery - // this is a quick fix for bulk update tags with default filters - const kuery = options.kuery === DEFAULT_STATUS_FILTER ? '' : options.kuery; - query = getElasticsearchQuery(kuery, false, false, hostedIds, extraFilters); - } else { - query = { - terms: { - _id: agentIds, - }, - }; + const actionId = options.actionId ?? uuidv4(); + if (agentIds.length === 0) { + appContextService.getLogger().debug('No agents to update tags, returning'); + return { actionId, updated: 0, took: 0 }; } + appContextService + .getLogger() + .debug( + `Agents to update tags in batch: ${agentIds.length}, tagsToAdd: ${options.tagsToAdd}, tagsToRemove: ${options.tagsToRemove}` + ); + let res; try { res = await esClient.updateByQuery({ - query, + query: { + terms: { + _id: agentIds, + }, + }, index: AGENTS_INDEX, refresh: true, wait_for_completion: true, @@ -166,16 +129,14 @@ export async function updateTagsBatch( appContextService.getLogger().debug(JSON.stringify(res).slice(0, 1000)); - const actionId = options.actionId ?? uuidv4(); - if (options.retryCount === undefined) { // creating an action doc so that update tags shows up in activity await createAgentAction(esClient, { id: actionId, - agents: options.kuery === undefined ? agentIds : [], + agents: agentIds, created_at: new Date().toISOString(), type: 'UPDATE_TAGS', - total: res.total, + total: options.total ?? res.total, }); } @@ -186,7 +147,7 @@ export async function updateTagsBatch( if (res.updated ?? 0 > 0) { await bulkCreateAgentActionResults( esClient, - (options.kuery === undefined ? agentIds : getUuidArray(res.updated!)).map((id) => ({ + agentIds.map((id) => ({ agentId: id, actionId, })) diff --git a/x-pack/plugins/fleet/server/services/agents/upgrade_action_runner.ts b/x-pack/plugins/fleet/server/services/agents/upgrade_action_runner.ts index 501afe0d54043..ff677db23cacc 100644 --- a/x-pack/plugins/fleet/server/services/agents/upgrade_action_runner.ts +++ b/x-pack/plugins/fleet/server/services/agents/upgrade_action_runner.ts @@ -24,7 +24,7 @@ import type { GetAgentsOptions } from './crud'; import { bulkUpdateAgents } from './crud'; import { createErrorActionResults, createAgentAction } from './actions'; import { getHostedPolicies, isHostedAgent } from './hosted_agent'; -import { BulkActionTaskType } from './bulk_actions_resolver'; +import { BulkActionTaskType } from './bulk_action_types'; export class UpgradeActionRunner extends ActionRunner { protected async processAgents(agents: Agent[]): Promise<{ actionId: string }> { 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 a16b0c28cff81..cf00ec4e3aed1 100644 --- a/x-pack/plugins/fleet/server/services/epm/packages/install.ts +++ b/x-pack/plugins/fleet/server/services/epm/packages/install.ts @@ -15,11 +15,14 @@ import type { SavedObjectsClientContract, Logger, } from '@kbn/core/server'; +import { SavedObjectsErrorHelpers } from '@kbn/core/server'; import { DEFAULT_SPACE_ID } from '@kbn/spaces-plugin/common/constants'; import pRetry from 'p-retry'; +import { uniqBy } from 'lodash'; + import { isPackagePrerelease, getNormalizedDataStreams } from '../../../../common/services'; import { FLEET_INSTALL_FORMAT_VERSION } from '../../../constants/fleet_es_assets'; @@ -797,15 +800,10 @@ export const updateEsAssetReferences = async ( return true; }); - const deduplicatedAssets = - [...withAssetsRemoved, ...assetsToAdd].reduce((acc, currentAsset) => { - const foundAsset = acc.find((asset: EsAssetReference) => asset.id === currentAsset.id); - if (!foundAsset) { - return acc.concat([currentAsset]); - } else { - return acc; - } - }, [] as EsAssetReference[]) || []; + const deduplicatedAssets = uniqBy( + [...withAssetsRemoved, ...assetsToAdd], + ({ type, id }) => `${type}-${id}` + ); const { attributes: { installed_es: updatedAssets }, @@ -832,6 +830,49 @@ export const updateEsAssetReferences = async ( return updatedAssets ?? []; }; +/** + * Utility function for adding assets the installed_es field of a package + * uses optimistic concurrency control to prevent missed updates + */ +export const optimisticallyAddEsAssetReferences = async ( + savedObjectsClient: SavedObjectsClientContract, + pkgName: string, + assetsToAdd: EsAssetReference[] +): Promise => { + const addEsAssets = async () => { + const so = await savedObjectsClient.get(PACKAGES_SAVED_OBJECT_TYPE, pkgName); + + const installedEs = so.attributes.installed_es ?? []; + + const deduplicatedAssets = uniqBy( + [...installedEs, ...assetsToAdd], + ({ type, id }) => `${type}-${id}` + ); + + const { + attributes: { installed_es: updatedAssets }, + } = await savedObjectsClient.update( + PACKAGES_SAVED_OBJECT_TYPE, + pkgName, + { + installed_es: deduplicatedAssets, + }, + { + version: so.version, + } + ); + + return updatedAssets ?? []; + }; + + const onlyRetryConflictErrors = (err: Error) => { + if (!SavedObjectsErrorHelpers.isConflictError(err)) { + throw err; + } + }; + + return pRetry(addEsAssets, { retries: 10, onFailedAttempt: onlyRetryConflictErrors }); +}; export async function ensurePackagesCompletedInstall( savedObjectsClient: SavedObjectsClientContract, @@ -910,15 +951,31 @@ export async function installIndexTemplatesAndPipelines({ // conditions on updating the installed_es field at the same time // These must be saved before we actually attempt to install the templates or pipelines so that we know what to // cleanup in the case that a single asset fails to install. - const newEsReferences = await updateEsAssetReferences( - savedObjectsClient, - packageInfo.name, - esReferences, - { - assetsToRemove: onlyForDataStreams ? [] : preparedIndexTemplates.assetsToRemove, - assetsToAdd: [...preparedIngestPipelines.assetsToAdd, ...preparedIndexTemplates.assetsToAdd], - } - ); + let newEsReferences: EsAssetReference[] = []; + + if (onlyForDataStreams) { + // if onlyForDataStreams is present that means we are in create package policy flow + // not install flow, meaning we do not have a lock on the installation SO + // so we need to use optimistic concurrency control + newEsReferences = await optimisticallyAddEsAssetReferences( + savedObjectsClient, + packageInfo.name, + [...preparedIngestPipelines.assetsToAdd, ...preparedIndexTemplates.assetsToAdd] + ); + } else { + newEsReferences = await updateEsAssetReferences( + savedObjectsClient, + packageInfo.name, + esReferences, + { + assetsToRemove: preparedIndexTemplates.assetsToRemove, + assetsToAdd: [ + ...preparedIngestPipelines.assetsToAdd, + ...preparedIndexTemplates.assetsToAdd, + ], + } + ); + } // Install index templates and ingest pipelines in parallel since they typically take the longest const [installedTemplates] = await Promise.all([ diff --git a/x-pack/plugins/infra/common/http_api/log_analysis/validation/log_entry_rate_indices.ts b/x-pack/plugins/infra/common/http_api/log_analysis/validation/log_entry_rate_indices.ts index a6a7a9996d260..73b88e052398a 100644 --- a/x-pack/plugins/infra/common/http_api/log_analysis/validation/log_entry_rate_indices.ts +++ b/x-pack/plugins/infra/common/http_api/log_analysis/validation/log_entry_rate_indices.ts @@ -6,6 +6,7 @@ */ import * as rt from 'io-ts'; +import { mappingRuntimeFieldRT } from '../../shared/es_request'; export const LOG_ANALYSIS_VALIDATE_INDICES_PATH = '/api/infra/log_analysis/validation/log_entry_rate_indices'; @@ -26,7 +27,7 @@ export const validationIndicesRequestPayloadRT = rt.type({ data: rt.type({ fields: rt.array(validationIndicesFieldSpecificationRT), indices: rt.array(rt.string), - runtimeMappings: rt.UnknownRecord, + runtimeMappings: rt.record(rt.string, mappingRuntimeFieldRT), }), }); diff --git a/x-pack/plugins/infra/common/http_api/shared/es_request.ts b/x-pack/plugins/infra/common/http_api/shared/es_request.ts new file mode 100644 index 0000000000000..f0583876569be --- /dev/null +++ b/x-pack/plugins/infra/common/http_api/shared/es_request.ts @@ -0,0 +1,52 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import * as rt from 'io-ts'; + +const scriptBaseRT = rt.partial({ + params: rt.record(rt.string, rt.any), +}); + +const inlineScriptRT = rt.intersection([ + scriptBaseRT, + rt.partial({ + lang: rt.string, + options: rt.record(rt.string, rt.string), + }), + rt.type({ + source: rt.string, + }), +]); + +const storedScriptIdRT = rt.intersection([ + scriptBaseRT, + rt.type({ + id: rt.string, + }), +]); + +const scriptRT = rt.union([inlineScriptRT, rt.string, storedScriptIdRT]); + +export const mappingRuntimeFieldTypeRT = rt.keyof({ + boolean: null, + date: null, + double: null, + geo_point: null, + ip: null, + keyword: null, + long: null, +}); + +export const mappingRuntimeFieldRT = rt.intersection([ + rt.partial({ + format: rt.string, + script: scriptRT, + }), + rt.type({ + type: mappingRuntimeFieldTypeRT, + }), +]); diff --git a/x-pack/plugins/infra/common/http_api/shared/index.ts b/x-pack/plugins/infra/common/http_api/shared/index.ts index da113cb16abd2..a869e96144a75 100644 --- a/x-pack/plugins/infra/common/http_api/shared/index.ts +++ b/x-pack/plugins/infra/common/http_api/shared/index.ts @@ -6,6 +6,7 @@ */ export * from './errors'; +export * from './es_request'; export * from './metric_statistics'; export * from './time_range'; export * from './timing'; diff --git a/x-pack/plugins/infra/server/lib/adapters/framework/adapter_types.ts b/x-pack/plugins/infra/server/lib/adapters/framework/adapter_types.ts index 55b847d33f87d..29d9656bc040f 100644 --- a/x-pack/plugins/infra/server/lib/adapters/framework/adapter_types.ts +++ b/x-pack/plugins/infra/server/lib/adapters/framework/adapter_types.ts @@ -50,7 +50,7 @@ export interface CallWithRequestParams extends estypes.RequestBase { allow_no_indices?: boolean; size?: number; terminate_after?: number; - fields?: string | string[]; + fields?: estypes.Fields; path?: string; query?: string | object; track_total_hits?: boolean | number; @@ -92,11 +92,6 @@ export interface InfraDatabaseMultiResponse extends InfraDatab responses: Array>; } -export interface InfraDatabaseFieldCapsResponse extends InfraDatabaseResponse { - indices: string[]; - fields: InfraFieldsResponse; -} - export interface InfraDatabaseGetIndicesAliasResponse { [indexName: string]: { aliases: { diff --git a/x-pack/plugins/infra/server/lib/adapters/framework/kibana_framework_adapter.ts b/x-pack/plugins/infra/server/lib/adapters/framework/kibana_framework_adapter.ts index 7c0f59d2c8073..5c6cde7480c7f 100644 --- a/x-pack/plugins/infra/server/lib/adapters/framework/kibana_framework_adapter.ts +++ b/x-pack/plugins/infra/server/lib/adapters/framework/kibana_framework_adapter.ts @@ -16,7 +16,6 @@ import { InfraConfig } from '../../../plugin'; import type { InfraPluginRequestHandlerContext } from '../../../types'; import { CallWithRequestParams, - InfraDatabaseFieldCapsResponse, InfraDatabaseGetIndicesAliasResponse, InfraDatabaseGetIndicesResponse, InfraDatabaseMultiResponse, @@ -88,11 +87,6 @@ export class KibanaFramework { endpoint: 'msearch', options?: CallWithRequestParams ): Promise>; - callWithRequest( - requestContext: InfraPluginRequestHandlerContext, - endpoint: 'fieldCaps', - options?: CallWithRequestParams - ): Promise; callWithRequest( requestContext: InfraPluginRequestHandlerContext, endpoint: 'indices.existsAlias', @@ -118,7 +112,6 @@ export class KibanaFramework { endpoint: string, options?: CallWithRequestParams ): Promise; - public async callWithRequest( requestContext: InfraPluginRequestHandlerContext, endpoint: string, @@ -162,11 +155,6 @@ export class KibanaFramework { ...frozenIndicesParams, } as estypes.MsearchRequest); break; - case 'fieldCaps': - apiResult = elasticsearch.client.asCurrentUser.fieldCaps({ - ...params, - }); - break; case 'indices.existsAlias': apiResult = elasticsearch.client.asCurrentUser.indices.existsAlias({ ...params, diff --git a/x-pack/plugins/infra/server/routes/log_analysis/validation/indices.ts b/x-pack/plugins/infra/server/routes/log_analysis/validation/indices.ts index 4fd7096db06eb..6b7293e4c8559 100644 --- a/x-pack/plugins/infra/server/routes/log_analysis/validation/indices.ts +++ b/x-pack/plugins/infra/server/routes/log_analysis/validation/indices.ts @@ -42,7 +42,9 @@ export const initValidateLogAnalysisIndicesRoute = ({ framework }: InfraBackendL // Query each pattern individually, to map correctly the errors await Promise.all( indices.map(async (index) => { - const fieldCaps = await framework.callWithRequest(requestContext, 'fieldCaps', { + const fieldCaps = await ( + await requestContext.core + ).elasticsearch.client.asCurrentUser.fieldCaps({ allow_no_indices: true, fields: fields.map((field) => field.name), ignore_unavailable: true, diff --git a/x-pack/plugins/lens/public/datasources/form_based/dimension_panel/time_shift.tsx b/x-pack/plugins/lens/public/datasources/form_based/dimension_panel/time_shift.tsx index 1d3cfefa66a4d..8bf26114416de 100644 --- a/x-pack/plugins/lens/public/datasources/form_based/dimension_panel/time_shift.tsx +++ b/x-pack/plugins/lens/public/datasources/form_based/dimension_panel/time_shift.tsx @@ -151,10 +151,7 @@ export function TimeShift({ options={timeShiftOptions.filter(({ value }) => { const parsedValue = parseTimeShift(value); return ( - parsedValue && - !isValueTooSmall(parsedValue) && - !isValueNotMultiple(parsedValue) && - !(parsedValue === 'previous' && dateHistogramInterval.interval) + parsedValue && !isValueTooSmall(parsedValue) && !isValueNotMultiple(parsedValue) // && ); })} selectedOptions={getSelectedOption()} diff --git a/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/calculations/counter_rate.tsx b/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/calculations/counter_rate.tsx index 3b89de8e94c51..e516ce206eb87 100644 --- a/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/calculations/counter_rate.tsx +++ b/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/calculations/counter_rate.tsx @@ -18,8 +18,7 @@ import { } from './utils'; import { DEFAULT_TIME_SCALE } from '../../time_scale_utils'; import { OperationDefinition } from '..'; -import { getFormatFromPreviousColumn, getFilter, combineErrorMessages } from '../helpers'; -import { getDisallowedPreviousShiftMessage } from '../../../time_shift_utils'; +import { getFormatFromPreviousColumn, getFilter } from '../helpers'; const ofName = buildLabelFunction((name?: string) => { return i18n.translate('xpack.lens.indexPattern.CounterRateOf', { @@ -107,16 +106,13 @@ export const counterRateOperation: OperationDefinition< return hasDateField(newIndexPattern); }, getErrorMessage: (layer: FormBasedLayer, columnId: string) => { - return combineErrorMessages([ - getErrorsForDateReference( - layer, - columnId, - i18n.translate('xpack.lens.indexPattern.counterRate', { - defaultMessage: 'Counter rate', - }) - ), - getDisallowedPreviousShiftMessage(layer, columnId), - ]); + return getErrorsForDateReference( + layer, + columnId, + i18n.translate('xpack.lens.indexPattern.counterRate', { + defaultMessage: 'Counter rate', + }) + ); }, getDisabledStatus(indexPattern, layer, layerType) { const opName = i18n.translate('xpack.lens.indexPattern.counterRate', { diff --git a/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/calculations/cumulative_sum.tsx b/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/calculations/cumulative_sum.tsx index 339f5e4bc4003..773f366990799 100644 --- a/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/calculations/cumulative_sum.tsx +++ b/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/calculations/cumulative_sum.tsx @@ -17,8 +17,7 @@ import { checkForDataLayerType, } from './utils'; import { OperationDefinition } from '..'; -import { getFormatFromPreviousColumn, getFilter, combineErrorMessages } from '../helpers'; -import { getDisallowedPreviousShiftMessage } from '../../../time_shift_utils'; +import { getFormatFromPreviousColumn, getFilter } from '../helpers'; import { DOCUMENT_FIELD_NAME } from '../../../../../../common'; const ofName = buildLabelFunction((name?: string) => { @@ -107,16 +106,13 @@ export const cumulativeSumOperation: OperationDefinition< return true; }, getErrorMessage: (layer: FormBasedLayer, columnId: string) => { - return combineErrorMessages([ - getErrorsForDateReference( - layer, - columnId, - i18n.translate('xpack.lens.indexPattern.cumulativeSum', { - defaultMessage: 'Cumulative sum', - }) - ), - getDisallowedPreviousShiftMessage(layer, columnId), - ]); + return getErrorsForDateReference( + layer, + columnId, + i18n.translate('xpack.lens.indexPattern.cumulativeSum', { + defaultMessage: 'Cumulative sum', + }) + ); }, getDisabledStatus(indexPattern, layer, layerType) { const opName = i18n.translate('xpack.lens.indexPattern.cumulativeSum', { diff --git a/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/calculations/differences.tsx b/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/calculations/differences.tsx index f2c379b5af5c1..f6ce789859b8c 100644 --- a/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/calculations/differences.tsx +++ b/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/calculations/differences.tsx @@ -17,8 +17,7 @@ import { checkForDataLayerType, } from './utils'; import { OperationDefinition } from '..'; -import { getFormatFromPreviousColumn, getFilter, combineErrorMessages } from '../helpers'; -import { getDisallowedPreviousShiftMessage } from '../../../time_shift_utils'; +import { getFormatFromPreviousColumn, getFilter } from '../helpers'; const OPERATION_NAME = 'differences'; @@ -93,16 +92,13 @@ export const derivativeOperation: OperationDefinition< return hasDateField(newIndexPattern); }, getErrorMessage: (layer: FormBasedLayer, columnId: string) => { - return combineErrorMessages([ - getErrorsForDateReference( - layer, - columnId, - i18n.translate('xpack.lens.indexPattern.derivative', { - defaultMessage: 'Differences', - }) - ), - getDisallowedPreviousShiftMessage(layer, columnId), - ]); + return getErrorsForDateReference( + layer, + columnId, + i18n.translate('xpack.lens.indexPattern.derivative', { + defaultMessage: 'Differences', + }) + ); }, getDisabledStatus(indexPattern, layer, layerType) { const opName = i18n.translate('xpack.lens.indexPattern.derivative', { diff --git a/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/calculations/moving_average.tsx b/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/calculations/moving_average.tsx index d7b46d09c0f1e..1d20f20521698 100644 --- a/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/calculations/moving_average.tsx +++ b/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/calculations/moving_average.tsx @@ -21,14 +21,8 @@ import { checkForDataLayerType, } from './utils'; import { updateColumnParam } from '../../layer_helpers'; -import { - getFormatFromPreviousColumn, - isValidNumber, - getFilter, - combineErrorMessages, -} from '../helpers'; +import { getFormatFromPreviousColumn, isValidNumber, getFilter } from '../helpers'; import type { OperationDefinition, ParamEditorProps } from '..'; -import { getDisallowedPreviousShiftMessage } from '../../../time_shift_utils'; const ofName = buildLabelFunction((name?: string) => { return i18n.translate('xpack.lens.indexPattern.movingAverageOf', { @@ -115,16 +109,13 @@ export const movingAverageOperation: OperationDefinition< return hasDateField(newIndexPattern); }, getErrorMessage: (layer: FormBasedLayer, columnId: string) => { - return combineErrorMessages([ - getErrorsForDateReference( - layer, - columnId, - i18n.translate('xpack.lens.indexPattern.movingAverage', { - defaultMessage: 'Moving average', - }) - ), - getDisallowedPreviousShiftMessage(layer, columnId), - ]); + return getErrorsForDateReference( + layer, + columnId, + i18n.translate('xpack.lens.indexPattern.movingAverage', { + defaultMessage: 'Moving average', + }) + ); }, helpComponent: () => , helpComponentTitle: i18n.translate('xpack.lens.indexPattern.movingAverage.titleHelp', { diff --git a/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/calculations/time_scale.tsx b/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/calculations/time_scale.tsx index 59eb7fea46233..ecf91b9bd3609 100644 --- a/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/calculations/time_scale.tsx +++ b/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/calculations/time_scale.tsx @@ -14,7 +14,6 @@ import { getErrorsForDateReference } from './utils'; import type { OperationDefinition } from '..'; import { combineErrorMessages, getFormatFromPreviousColumn } from '../helpers'; import { FormBasedLayer } from '../../../types'; -import { getDisallowedPreviousShiftMessage } from '../../../time_shift_utils'; type OverallMetricIndexPatternColumn = FormattedIndexPatternColumn & ReferenceBasedIndexPatternColumn & { @@ -110,7 +109,6 @@ export const timeScaleOperation: OperationDefinition combineErrorMessages([ getInvalidFieldMessage(layer.columns[columnId] as FieldBasedIndexPatternColumn, indexPattern), - getDisallowedPreviousShiftMessage(layer, columnId), getColumnReducedTimeRangeError(layer, columnId, indexPattern), ]), isTransferable: (column, newIndexPattern) => { diff --git a/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/count.tsx b/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/count.tsx index 60c1a0cdf0f5d..b5bd36d94225e 100644 --- a/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/count.tsx +++ b/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/count.tsx @@ -23,7 +23,6 @@ import { isColumnOfType, } from './helpers'; import { adjustTimeScaleLabelSuffix } from '../time_scale_utils'; -import { getDisallowedPreviousShiftMessage } from '../../time_shift_utils'; import { updateColumnParam } from '../layer_helpers'; import { getColumnReducedTimeRangeError } from '../../reduced_time_range_utils'; import { getGroupByKey } from './get_group_by_key'; @@ -92,7 +91,6 @@ export const countOperation: OperationDefinition combineErrorMessages([ getInvalidFieldMessage(layer.columns[columnId] as FieldBasedIndexPatternColumn, indexPattern), - getDisallowedPreviousShiftMessage(layer, columnId), getColumnReducedTimeRangeError(layer, columnId, indexPattern), ]), allowAsReference: true, diff --git a/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/formula/editor/math_completion.ts b/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/formula/editor/math_completion.ts index a0a968a136886..11d6797a1c997 100644 --- a/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/formula/editor/math_completion.ts +++ b/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/formula/editor/math_completion.ts @@ -395,9 +395,9 @@ export async function getNamedArgumentSuggestions({ if (dateHistogramInterval == null) return true; const parsedValue = parseTimeShift(value); return ( - parsedValue !== 'previous' && - (parsedValue === 'invalid' || - Number.isInteger(parsedValue.asMilliseconds() / dateHistogramInterval)) + parsedValue === 'previous' || + parsedValue === 'invalid' || + Number.isInteger(parsedValue.asMilliseconds() / dateHistogramInterval) ); }) .map(({ value }) => value); diff --git a/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/last_value.tsx b/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/last_value.tsx index db9c7c0d6ab0c..cde3f10b64c0b 100644 --- a/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/last_value.tsx +++ b/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/last_value.tsx @@ -29,7 +29,6 @@ import { getFilter, } from './helpers'; import { adjustTimeScaleLabelSuffix } from '../time_scale_utils'; -import { getDisallowedPreviousShiftMessage } from '../../time_shift_utils'; import { isRuntimeField, isScriptedField } from './terms/helpers'; import { FormRow } from './shared_components/form_row'; import { getColumnReducedTimeRangeError } from '../../reduced_time_range_utils'; @@ -214,7 +213,6 @@ export const lastValueOperation: OperationDefinition< if (invalidSortFieldMessage) { errorMessages = [invalidSortFieldMessage]; } - errorMessages.push(...(getDisallowedPreviousShiftMessage(layer, columnId) || [])); errorMessages.push(...(getColumnReducedTimeRangeError(layer, columnId, indexPattern) || [])); return errorMessages.length ? errorMessages : undefined; }, diff --git a/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/metrics.tsx b/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/metrics.tsx index bb15831a31854..4c11393af08e0 100644 --- a/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/metrics.tsx +++ b/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/metrics.tsx @@ -25,7 +25,6 @@ import { ValueFormatConfig, } from './column_types'; import { adjustTimeScaleLabelSuffix } from '../time_scale_utils'; -import { getDisallowedPreviousShiftMessage } from '../../time_shift_utils'; import { updateColumnParam } from '../layer_helpers'; import { getColumnReducedTimeRangeError } from '../../reduced_time_range_utils'; import { getGroupByKey } from './get_group_by_key'; @@ -215,7 +214,6 @@ function buildMetricOperation>({ layer.columns[columnId] as FieldBasedIndexPatternColumn, indexPattern ), - getDisallowedPreviousShiftMessage(layer, columnId), getColumnReducedTimeRangeError(layer, columnId, indexPattern), ]), filterable: true, diff --git a/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/percentile.tsx b/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/percentile.tsx index b55b1325a245e..34f9f854d3745 100644 --- a/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/percentile.tsx +++ b/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/percentile.tsx @@ -28,7 +28,6 @@ import { import { FieldBasedIndexPatternColumn } from './column_types'; import { adjustTimeScaleLabelSuffix } from '../time_scale_utils'; import { useDebouncedValue } from '../../../../shared_components'; -import { getDisallowedPreviousShiftMessage } from '../../time_shift_utils'; import { FormRow } from './shared_components'; import { getColumnReducedTimeRangeError } from '../../reduced_time_range_utils'; import { getGroupByKey, groupByKey } from './get_group_by_key'; @@ -290,7 +289,6 @@ export const percentileOperation: OperationDefinition< getErrorMessage: (layer, columnId, indexPattern) => combineErrorMessages([ getInvalidFieldMessage(layer.columns[columnId] as FieldBasedIndexPatternColumn, indexPattern), - getDisallowedPreviousShiftMessage(layer, columnId), getColumnReducedTimeRangeError(layer, columnId, indexPattern), ]), paramEditor: function PercentileParamEditor({ diff --git a/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/percentile_ranks.tsx b/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/percentile_ranks.tsx index 3d7b12802858c..3aadcb293114e 100644 --- a/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/percentile_ranks.tsx +++ b/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/percentile_ranks.tsx @@ -23,7 +23,6 @@ import { import { FieldBasedIndexPatternColumn } from './column_types'; import { adjustTimeScaleLabelSuffix } from '../time_scale_utils'; import { useDebouncedValue } from '../../../../shared_components'; -import { getDisallowedPreviousShiftMessage } from '../../time_shift_utils'; import { FormRow } from './shared_components'; import { getColumnReducedTimeRangeError } from '../../reduced_time_range_utils'; @@ -168,7 +167,6 @@ export const percentileRanksOperation: OperationDefinition< getErrorMessage: (layer, columnId, indexPattern) => combineErrorMessages([ getInvalidFieldMessage(layer.columns[columnId] as FieldBasedIndexPatternColumn, indexPattern), - getDisallowedPreviousShiftMessage(layer, columnId), getColumnReducedTimeRangeError(layer, columnId, indexPattern), ]), paramEditor: function PercentileParamEditor({ diff --git a/x-pack/plugins/lens/public/datasources/form_based/time_shift_utils.test.tsx b/x-pack/plugins/lens/public/datasources/form_based/time_shift_utils.test.tsx index 3405752d3ec4f..a2495fbbbc1f6 100644 --- a/x-pack/plugins/lens/public/datasources/form_based/time_shift_utils.test.tsx +++ b/x-pack/plugins/lens/public/datasources/form_based/time_shift_utils.test.tsx @@ -6,80 +6,9 @@ */ import moment from 'moment'; -import { getDisallowedPreviousShiftMessage, resolveTimeShift } from './time_shift_utils'; -import { FormBasedLayer } from './types'; +import { resolveTimeShift } from './time_shift_utils'; describe('time_shift_utils', () => { - describe('getDisallowedPreviousShiftMessage', () => { - const layer: FormBasedLayer = { - indexPatternId: '', - columnOrder: [], - columns: { - a: { - operationType: 'date_histogram', - dataType: 'date', - isBucketed: true, - label: '', - references: [], - sourceField: 'timestamp', - }, - b: { - operationType: 'count', - dataType: 'number', - isBucketed: false, - label: 'non shifted', - references: [], - sourceField: 'records', - }, - c: { - operationType: 'count', - dataType: 'number', - isBucketed: false, - label: 'shifted', - timeShift: '1d', - references: [], - sourceField: 'records', - }, - }, - }; - - it('shoud not produce an error for no shift', () => { - expect(getDisallowedPreviousShiftMessage(layer, 'b')).toBeUndefined(); - }); - - it('shoud not produce an error for non-previous shift', () => { - expect(getDisallowedPreviousShiftMessage(layer, 'c')).toBeUndefined(); - }); - - it('shoud produce an error for previous shift with date histogram', () => { - expect( - getDisallowedPreviousShiftMessage( - { - ...layer, - columns: { ...layer.columns, c: { ...layer.columns.c, timeShift: 'previous' } }, - }, - 'c' - ) - ).toHaveLength(1); - }); - - it('shoud not produce an error for previous shift without date histogram', () => { - expect( - getDisallowedPreviousShiftMessage( - { - ...layer, - columns: { - ...layer.columns, - a: { ...layer.columns.a, operationType: 'terms' }, - c: { ...layer.columns.c, timeShift: 'previous' }, - }, - }, - 'c' - ) - ).toBeUndefined(); - }); - }); - describe('resolveTimeShift', () => { const dateString = '2022-11-02T00:00:00.000Z'; // shift by 2 days + 2500 s (to get a shift which is not a multiple of the given interval) @@ -113,6 +42,10 @@ describe('time_shift_utils', () => { .toBe('261000s'); }); + it('should convert previous relative time shift to seconds (rounded) when a date histogram is present', () => { + expect(resolveTimeShift(`previous`, getDateRange(), 100, true)).toBe('171000s'); + }); + it('should always include the passed date in the computed interval', () => { const dateRange = getDateRange(); for (const anchor of ['startAt', 'endAt']) { diff --git a/x-pack/plugins/lens/public/datasources/form_based/time_shift_utils.tsx b/x-pack/plugins/lens/public/datasources/form_based/time_shift_utils.tsx index b673f00a34392..c287a93675f64 100644 --- a/x-pack/plugins/lens/public/datasources/form_based/time_shift_utils.tsx +++ b/x-pack/plugins/lens/public/datasources/form_based/time_shift_utils.tsx @@ -23,10 +23,13 @@ import type { FormBasedLayer, FormBasedPrivateState } from './types'; import type { FramePublicAPI, IndexPattern } from '../../types'; export function parseTimeShiftWrapper(timeShiftString: string, dateRange: DateRange) { - return isAbsoluteTimeShift(timeShiftString.trim()) - ? parseAbsoluteTimeShift(timeShiftString, { from: dateRange.fromDate, to: dateRange.toDate }) - .value - : parseTimeShift(timeShiftString); + if (isAbsoluteTimeShift(timeShiftString.trim())) { + return parseAbsoluteTimeShift(timeShiftString, { + from: dateRange.fromDate, + to: dateRange.toDate, + }).value; + } + return parseTimeShift(timeShiftString); } export const timeShiftOptions = [ @@ -142,7 +145,6 @@ export function getDateHistogramInterval( export function getLayerTimeShiftChecks({ interval: dateHistogramInterval, - hasDateHistogram, canShift, }: ReturnType) { return { @@ -164,42 +166,11 @@ export function getLayerTimeShiftChecks({ ); }, isInvalid: (parsedValue: ReturnType) => { - return Boolean( - parsedValue === 'invalid' || (hasDateHistogram && parsedValue && parsedValue === 'previous') - ); + return Boolean(parsedValue === 'invalid'); }, }; } -export function getDisallowedPreviousShiftMessage( - layer: FormBasedLayer, - columnId: string -): string[] | undefined { - const currentColumn = layer.columns[columnId]; - const hasPreviousShift = - currentColumn.timeShift && - !isAbsoluteTimeShift(currentColumn.timeShift) && - parseTimeShift(currentColumn.timeShift) === 'previous'; - if (!hasPreviousShift) { - return; - } - const hasDateHistogram = Object.values(layer.columns).some( - (column) => column.operationType === 'date_histogram' - ); - if (!hasDateHistogram) { - return; - } - return [ - i18n.translate('xpack.lens.indexPattern.dateHistogramTimeShift', { - defaultMessage: - 'In a single layer, you are unable to combine previous time range shift with date histograms. Either use an explicit time shift duration in "{column}" or replace the date histogram.', - values: { - column: currentColumn.label, - }, - }), - ]; -} - export function getStateTimeShiftWarningMessages( datatableUtilities: DatatableUtilitiesService, state: FormBasedPrivateState, @@ -346,10 +317,15 @@ function roundAbsoluteInterval(timeShift: string, dateRange: DateRange, targetBa export function resolveTimeShift( timeShift: string | undefined, dateRange: DateRange, - targetBars: number + targetBars: number, + hasDateHistogram: boolean = false ) { if (timeShift && isAbsoluteTimeShift(timeShift)) { return roundAbsoluteInterval(timeShift, dateRange, targetBars); } + // Translate a relative "previous" shift into an absolute endAt() + if (timeShift && hasDateHistogram && timeShift === 'previous') { + return roundAbsoluteInterval(`endAt(${dateRange.fromDate})`, dateRange, targetBars); + } return timeShift; } diff --git a/x-pack/plugins/lens/public/datasources/form_based/to_expression.ts b/x-pack/plugins/lens/public/datasources/form_based/to_expression.ts index 61e17c72ca829..9ec654c47868f 100644 --- a/x-pack/plugins/lens/public/datasources/form_based/to_expression.ts +++ b/x-pack/plugins/lens/public/datasources/form_based/to_expression.ts @@ -158,7 +158,12 @@ function getExpressionForLayer( let aggAst = def.toEsAggsFn( { ...col, - timeShift: resolveTimeShift(col.timeShift, dateRange, histogramBarsTarget), + timeShift: resolveTimeShift( + col.timeShift, + dateRange, + histogramBarsTarget, + hasDateHistogram + ), }, wrapInFilter || wrapInTimeFilter ? `${aggId}-metric` : aggId, indexPattern, @@ -181,11 +186,21 @@ function getExpressionForLayer( schema: 'bucket', filter: col.filter && queryToAst(col.filter), timeWindow: wrapInTimeFilter ? col.reducedTimeRange : undefined, - timeShift: resolveTimeShift(col.timeShift, dateRange, histogramBarsTarget), + timeShift: resolveTimeShift( + col.timeShift, + dateRange, + histogramBarsTarget, + hasDateHistogram + ), }), ]), customMetric: buildExpression({ type: 'expression', chain: [aggAst] }), - timeShift: resolveTimeShift(col.timeShift, dateRange, histogramBarsTarget), + timeShift: resolveTimeShift( + col.timeShift, + dateRange, + histogramBarsTarget, + hasDateHistogram + ), } ).toAst(); } diff --git a/x-pack/plugins/license_management/server/lib/license.ts b/x-pack/plugins/license_management/server/lib/license.ts index 557d9122e967c..2d4d1b70e6446 100644 --- a/x-pack/plugins/license_management/server/lib/license.ts +++ b/x-pack/plugins/license_management/server/lib/license.ts @@ -5,6 +5,7 @@ * 2.0. */ +import { LicenseLicense } from '@elastic/elasticsearch/lib/api/types'; import { IScopedClusterClient } from '@kbn/core/server'; import { LicensingPluginStart } from '@kbn/licensing-plugin/server'; @@ -12,13 +13,13 @@ interface PutLicenseArg { acknowledge: boolean; client: IScopedClusterClient; licensing: LicensingPluginStart; - license: { [key: string]: any }; + licenses: LicenseLicense[]; } -export async function putLicense({ acknowledge, client, licensing, license }: PutLicenseArg) { +export async function putLicense({ acknowledge, client, licensing, licenses }: PutLicenseArg) { try { const response = await client.asCurrentUser.license.post({ - body: license, + licenses, acknowledge, }); const { acknowledged, license_status: licenseStatus } = response; diff --git a/x-pack/plugins/license_management/server/routes/api/license/register_license_route.ts b/x-pack/plugins/license_management/server/routes/api/license/register_license_route.ts index 0a9bbacaff4d5..a9a7ef596b3a7 100644 --- a/x-pack/plugins/license_management/server/routes/api/license/register_license_route.ts +++ b/x-pack/plugins/license_management/server/routes/api/license/register_license_route.ts @@ -33,7 +33,7 @@ export function registerLicenseRoute({ acknowledge: Boolean(req.query.acknowledge), client, licensing, - license: req.body, + licenses: [req.body.license as any], }), }); } catch (error) { diff --git a/x-pack/plugins/lists/server/services/items/write_list_items_to_stream.ts b/x-pack/plugins/lists/server/services/items/write_list_items_to_stream.ts index e59ac23b9d445..8c375a3c178e2 100644 --- a/x-pack/plugins/lists/server/services/items/write_list_items_to_stream.ts +++ b/x-pack/plugins/lists/server/services/items/write_list_items_to_stream.ts @@ -65,7 +65,7 @@ export interface WriteNextResponseOptions { esClient: ElasticsearchClient; listItemIndex: string; stream: PassThrough; - searchAfter: string[] | undefined; + searchAfter: estypes.SortResults | undefined; stringToAppend: string | null | undefined; } @@ -76,7 +76,7 @@ export const writeNextResponse = async ({ listItemIndex, searchAfter, stringToAppend, -}: WriteNextResponseOptions): Promise => { +}: WriteNextResponseOptions): Promise => { const response = await getResponse({ esClient, listId, @@ -96,7 +96,7 @@ export const getSearchAfterFromResponse = ({ response, }: { response: estypes.SearchResponse; -}): string[] | undefined => +}): estypes.SortResults | undefined => response.hits.hits.length > 0 ? response.hits.hits[response.hits.hits.length - 1].sort : undefined; @@ -104,7 +104,7 @@ export const getSearchAfterFromResponse = ({ export interface GetResponseOptions { esClient: ElasticsearchClient; listId: string; - searchAfter: undefined | string[]; + searchAfter: estypes.SortResults | undefined; listItemIndex: string; size?: number; } diff --git a/x-pack/plugins/ml/common/util/job_utils.test.ts b/x-pack/plugins/ml/common/util/job_utils.test.ts index 3318001a6f3d2..d003710bb57e4 100644 --- a/x-pack/plugins/ml/common/util/job_utils.test.ts +++ b/x-pack/plugins/ml/common/util/job_utils.test.ts @@ -17,7 +17,6 @@ import { mlFunctionToESAggregation, isJobIdValid, prefixDatafeedId, - getSafeAggregationName, getLatestDataOrBucketTimestamp, getEarliestDatafeedStartTime, resolveMaxTimeInterval, @@ -566,18 +565,6 @@ describe('ML - job utils', () => { }); }); - describe('getSafeAggregationName', () => { - test('"foo" should be "foo"', () => { - expect(getSafeAggregationName('foo', 0)).toBe('foo'); - }); - test('"foo.bar" should be "foo.bar"', () => { - expect(getSafeAggregationName('foo.bar', 0)).toBe('foo.bar'); - }); - test('"foo&bar" should be "field_0"', () => { - expect(getSafeAggregationName('foo&bar', 0)).toBe('field_0'); - }); - }); - describe('getLatestDataOrBucketTimestamp', () => { test('returns expected value when no gap in data at end of bucket processing', () => { expect(getLatestDataOrBucketTimestamp(1549929594000, 1549928700000)).toBe(1549929594000); diff --git a/x-pack/plugins/ml/common/util/job_utils.ts b/x-pack/plugins/ml/common/util/job_utils.ts index a0cbb5d5762de..dd68ef6d59d83 100644 --- a/x-pack/plugins/ml/common/util/job_utils.ts +++ b/x-pack/plugins/ml/common/util/job_utils.ts @@ -424,14 +424,6 @@ export function createDatafeedId(jobId: string) { return `datafeed-${jobId}`; } -// Returns a name which is safe to use in elasticsearch aggregations for the supplied -// field name. Aggregation names must be alpha-numeric and can only contain '_' and '-' characters, -// so if the supplied field names contains disallowed characters, the provided index -// identifier is used to return a safe 'dummy' name in the format 'field_index' e.g. field_0, field_1 -export function getSafeAggregationName(fieldName: string, index: number): string { - return fieldName.match(/^[a-zA-Z0-9-_.]+$/) ? fieldName : `field_${index}`; -} - export function uniqWithIsEqual(arr: T): T { return arr.reduce((dedupedArray, value) => { if (dedupedArray.filter((compareValue: any) => isEqual(compareValue, value)).length === 0) { diff --git a/x-pack/plugins/ml/public/application/jobs/jobs_list/components/datafeed_chart_flyout/fill_missing_chart_data.test.ts b/x-pack/plugins/ml/public/application/jobs/jobs_list/components/datafeed_chart_flyout/fill_missing_chart_data.test.ts index 5ef38a4a0e51e..891d9432afe34 100644 --- a/x-pack/plugins/ml/public/application/jobs/jobs_list/components/datafeed_chart_flyout/fill_missing_chart_data.test.ts +++ b/x-pack/plugins/ml/public/application/jobs/jobs_list/components/datafeed_chart_flyout/fill_missing_chart_data.test.ts @@ -16,7 +16,7 @@ const completeData: ChartDataWithNullValues = [ [1666846800000, 6], ]; -describe('buildBaseFilterCriteria', () => { +describe('fillMissingChartData', () => { it('returns chart data with missing timestamps in middle of dataset filled in to null', () => { const dataWithMissingValues: ChartDataWithNullValues = [ [1666828800000, 7], diff --git a/x-pack/plugins/ml/public/application/routing/use_active_route.tsx b/x-pack/plugins/ml/public/application/routing/use_active_route.tsx index cf5f43843dbe2..d3dd543f3ecdb 100644 --- a/x-pack/plugins/ml/public/application/routing/use_active_route.tsx +++ b/x-pack/plugins/ml/public/application/routing/use_active_route.tsx @@ -96,6 +96,7 @@ export const useActiveRoute = (routesList: MlRoute[]): MlRoute => { name: PLUGIN_ID, type: 'application', page: activeRoute?.path ?? '/overview', + id: activeRoute?.path, }); return activeRoute ?? routesMap['/overview']; diff --git a/x-pack/plugins/ml/server/lib/query_utils.test.ts b/x-pack/plugins/ml/server/lib/query_utils.test.ts deleted file mode 100644 index c505a8a9b1fa8..0000000000000 --- a/x-pack/plugins/ml/server/lib/query_utils.test.ts +++ /dev/null @@ -1,51 +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 { buildBaseFilterCriteria } from './query_utils'; - -describe('ML - query utils', () => { - describe('buildBaseFilterCriteria', () => { - const earliestMs = 1483228800000; // 1 Jan 2017 00:00:00 - const latestMs = 1485907199000; // 31 Jan 2017 23:59:59 - const query = { - query_string: { - query: 'region:sa-east-1', - analyze_wildcard: true, - default_field: '*', - }, - }; - - test('returns correct criteria for time range', () => { - expect(buildBaseFilterCriteria('timestamp', earliestMs, latestMs)).toEqual([ - { - range: { - timestamp: { - gte: earliestMs, - lte: latestMs, - format: 'epoch_millis', - }, - }, - }, - ]); - }); - - test('returns correct criteria for time range and query', () => { - expect(buildBaseFilterCriteria('timestamp', earliestMs, latestMs, query)).toEqual([ - { - range: { - timestamp: { - gte: earliestMs, - lte: latestMs, - format: 'epoch_millis', - }, - }, - }, - query, - ]); - }); - }); -}); diff --git a/x-pack/plugins/ml/server/lib/query_utils.ts b/x-pack/plugins/ml/server/lib/query_utils.ts deleted file mode 100644 index a60622583781b..0000000000000 --- a/x-pack/plugins/ml/server/lib/query_utils.ts +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -/* - * Contains utility functions for building and processing queries. - */ - -// Builds the base filter criteria used in queries, -// adding criteria for the time range and an optional query. -export function buildBaseFilterCriteria( - timeFieldName?: string, - earliestMs?: number, - latestMs?: number, - query?: object -) { - const filterCriteria = []; - if (timeFieldName && earliestMs && latestMs) { - filterCriteria.push({ - range: { - [timeFieldName]: { - gte: earliestMs, - lte: latestMs, - format: 'epoch_millis', - }, - }, - }); - } - - if (query) { - filterCriteria.push(query); - } - - return filterCriteria; -} diff --git a/x-pack/plugins/ml/server/lib/route_guard.ts b/x-pack/plugins/ml/server/lib/route_guard.ts index fa3fb88a109bb..734ea877ba185 100644 --- a/x-pack/plugins/ml/server/lib/route_guard.ts +++ b/x-pack/plugins/ml/server/lib/route_guard.ts @@ -12,6 +12,8 @@ import type { IScopedClusterClient, RequestHandler, SavedObjectsClientContract, + CoreSetup, + CoreStart, } from '@kbn/core/server'; import type { SpacesPluginSetup } from '@kbn/spaces-plugin/server'; import type { SecurityPluginSetup } from '@kbn/security-plugin/server'; @@ -19,6 +21,7 @@ import type { SecurityPluginSetup } from '@kbn/security-plugin/server'; import type { AlertingApiRequestHandlerContext } from '@kbn/alerting-plugin/server'; import type { PluginStart as DataViewsPluginStart } from '@kbn/data-views-plugin/server'; import type { DataViewsService } from '@kbn/data-views-plugin/common'; +import { PLUGIN_ID } from '../../common/constants/app'; import { mlSavedObjectServiceFactory, MLSavedObjectService } from '../saved_objects'; import type { MlLicense } from '../../common/license'; @@ -51,6 +54,7 @@ export class RouteGuard { private _authorization: SecurityPluginSetup['authz'] | undefined; private _isMlReady: () => Promise; private _getDataViews: GetDataViews; + private _getStartServices: CoreSetup['getStartServices']; constructor( mlLicense: MlLicense, @@ -59,7 +63,8 @@ export class RouteGuard { spacesPlugin: SpacesPluginSetup | undefined, authorization: SecurityPluginSetup['authz'] | undefined, isMlReady: () => Promise, - getDataViews: GetDataViews + getDataViews: GetDataViews, + getStartServices: CoreSetup['getStartServices'] ) { this._mlLicense = mlLicense; this._getMlSavedObjectClient = getSavedObject; @@ -68,6 +73,7 @@ export class RouteGuard { this._authorization = authorization; this._isMlReady = isMlReady; this._getDataViews = getDataViews; + this._getStartServices = getStartServices; } public fullLicenseAPIGuard(handler: Handler) { @@ -88,8 +94,11 @@ export class RouteGuard { return response.forbidden(); } - const { elasticsearch, savedObjects } = await context.core; - const client = elasticsearch.client; + const { + elasticsearch: { client }, + savedObjects: { client: savedObjectClient }, + } = await context.core; + const mlSavedObjectClient = this._getMlSavedObjectClient(request); const internalSavedObjectsClient = this._getInternalSavedObjectClient(); if (mlSavedObjectClient === null || internalSavedObjectsClient === null) { @@ -107,20 +116,36 @@ export class RouteGuard { this._isMlReady ); - return handler({ - client, - request, - response, - context, - mlSavedObjectService, - mlClient: getMlClient(client, mlSavedObjectService), - getDataViewsService: getDataViewsServiceFactory( - this._getDataViews, - savedObjects.client, + const [coreStart] = await this._getStartServices(); + const executionContext = await createExecutionContext(coreStart, request.route.path); + + return await coreStart.executionContext.withContext(executionContext, () => + handler({ client, - request - ), - }); + request, + response, + context, + mlSavedObjectService, + mlClient: getMlClient(client, mlSavedObjectService), + getDataViewsService: getDataViewsServiceFactory( + this._getDataViews, + savedObjectClient, + client, + request + ), + }) + ); }; } } + +async function createExecutionContext(coreStart: CoreStart, id?: string) { + const labels = coreStart.executionContext.getAsLabels(); + const page = labels.page as string; + return { + type: 'application', + name: PLUGIN_ID, + id: id ?? page, + page, + }; +} diff --git a/x-pack/plugins/ml/server/models/data_recognizer/modules/apm_transaction/ml/apm_tx_metrics.json b/x-pack/plugins/ml/server/models/data_recognizer/modules/apm_transaction/ml/apm_tx_metrics.json index 9f67527ba677d..c6815fca7602d 100644 --- a/x-pack/plugins/ml/server/models/data_recognizer/modules/apm_transaction/ml/apm_tx_metrics.json +++ b/x-pack/plugins/ml/server/models/data_recognizer/modules/apm_transaction/ml/apm_tx_metrics.json @@ -1,5 +1,4 @@ { - "job_type": "anomaly_detector", "groups": [ "apm" ], diff --git a/x-pack/plugins/ml/server/models/data_recognizer/modules/auditbeat_process_docker_ecs/ml/docker_high_count_process_events_ecs.json b/x-pack/plugins/ml/server/models/data_recognizer/modules/auditbeat_process_docker_ecs/ml/docker_high_count_process_events_ecs.json index 046736b6f5559..ae9d5d9140b5b 100644 --- a/x-pack/plugins/ml/server/models/data_recognizer/modules/auditbeat_process_docker_ecs/ml/docker_high_count_process_events_ecs.json +++ b/x-pack/plugins/ml/server/models/data_recognizer/modules/auditbeat_process_docker_ecs/ml/docker_high_count_process_events_ecs.json @@ -1,5 +1,4 @@ { - "job_type": "anomaly_detector", "description": "Auditbeat: Detect unusual increases in process execution rates in docker containers (ECS)", "groups": ["auditd"], "analysis_config": { diff --git a/x-pack/plugins/ml/server/models/data_recognizer/modules/auditbeat_process_docker_ecs/ml/docker_rare_process_activity_ecs.json b/x-pack/plugins/ml/server/models/data_recognizer/modules/auditbeat_process_docker_ecs/ml/docker_rare_process_activity_ecs.json index ab405d47484d9..4eca07b037846 100644 --- a/x-pack/plugins/ml/server/models/data_recognizer/modules/auditbeat_process_docker_ecs/ml/docker_rare_process_activity_ecs.json +++ b/x-pack/plugins/ml/server/models/data_recognizer/modules/auditbeat_process_docker_ecs/ml/docker_rare_process_activity_ecs.json @@ -1,5 +1,4 @@ { - "job_type": "anomaly_detector", "description": "Auditbeat: Detect rare process executions in docker containers (ECS)", "groups": ["auditd"], "analysis_config": { diff --git a/x-pack/plugins/ml/server/models/data_recognizer/modules/logs_ui_analysis/ml/log_entry_rate.json b/x-pack/plugins/ml/server/models/data_recognizer/modules/logs_ui_analysis/ml/log_entry_rate.json index 0cd99ae71765d..eaa12cb74efd1 100644 --- a/x-pack/plugins/ml/server/models/data_recognizer/modules/logs_ui_analysis/ml/log_entry_rate.json +++ b/x-pack/plugins/ml/server/models/data_recognizer/modules/logs_ui_analysis/ml/log_entry_rate.json @@ -1,5 +1,4 @@ { - "job_type": "anomaly_detector", "description": "Logs UI: Detects anomalies in the log entry ingestion rate", "groups": ["logs-ui"], "analysis_config": { diff --git a/x-pack/plugins/ml/server/models/data_recognizer/modules/logs_ui_categories/ml/log_entry_categories_count.json b/x-pack/plugins/ml/server/models/data_recognizer/modules/logs_ui_categories/ml/log_entry_categories_count.json index 74f434f36e4ed..5b20815cfb2a6 100644 --- a/x-pack/plugins/ml/server/models/data_recognizer/modules/logs_ui_categories/ml/log_entry_categories_count.json +++ b/x-pack/plugins/ml/server/models/data_recognizer/modules/logs_ui_categories/ml/log_entry_categories_count.json @@ -1,5 +1,4 @@ { - "job_type": "anomaly_detector", "description": "Logs UI: Detects anomalies in count of log entries by category", "groups": [ "logs-ui" diff --git a/x-pack/plugins/ml/server/models/data_recognizer/modules/metricbeat_system_ecs/ml/high_mean_cpu_iowait_ecs.json b/x-pack/plugins/ml/server/models/data_recognizer/modules/metricbeat_system_ecs/ml/high_mean_cpu_iowait_ecs.json index d6218acfae84f..ff318f91e00f0 100644 --- a/x-pack/plugins/ml/server/models/data_recognizer/modules/metricbeat_system_ecs/ml/high_mean_cpu_iowait_ecs.json +++ b/x-pack/plugins/ml/server/models/data_recognizer/modules/metricbeat_system_ecs/ml/high_mean_cpu_iowait_ecs.json @@ -1,5 +1,4 @@ { - "job_type": "anomaly_detector", "description": "Metricbeat CPU: Detect unusual increases in cpu time spent in iowait (ECS)", "groups": [ "metricbeat" diff --git a/x-pack/plugins/ml/server/models/data_recognizer/modules/metricbeat_system_ecs/ml/max_disk_utilization_ecs.json b/x-pack/plugins/ml/server/models/data_recognizer/modules/metricbeat_system_ecs/ml/max_disk_utilization_ecs.json index dd502c1d6ae37..ed60473b1f31a 100644 --- a/x-pack/plugins/ml/server/models/data_recognizer/modules/metricbeat_system_ecs/ml/max_disk_utilization_ecs.json +++ b/x-pack/plugins/ml/server/models/data_recognizer/modules/metricbeat_system_ecs/ml/max_disk_utilization_ecs.json @@ -1,5 +1,4 @@ { - "job_type": "anomaly_detector", "description": "Metricbeat filesystem: Detect unusual increases in disk utilization (ECS)", "groups": [ "metricbeat" diff --git a/x-pack/plugins/ml/server/models/data_recognizer/modules/metricbeat_system_ecs/ml/metricbeat_outages_ecs.json b/x-pack/plugins/ml/server/models/data_recognizer/modules/metricbeat_system_ecs/ml/metricbeat_outages_ecs.json index fb2838ac57856..312b2d964347d 100644 --- a/x-pack/plugins/ml/server/models/data_recognizer/modules/metricbeat_system_ecs/ml/metricbeat_outages_ecs.json +++ b/x-pack/plugins/ml/server/models/data_recognizer/modules/metricbeat_system_ecs/ml/metricbeat_outages_ecs.json @@ -1,5 +1,4 @@ { - "job_type": "anomaly_detector", "description": "Metricbeat outages: Detect unusual decreases in metricbeat documents (ECS)", "groups": [ "metricbeat" diff --git a/x-pack/plugins/ml/server/models/data_recognizer/modules/metrics_ui_hosts/ml/hosts_memory_usage.json b/x-pack/plugins/ml/server/models/data_recognizer/modules/metrics_ui_hosts/ml/hosts_memory_usage.json index 6448d32b65f15..7bf5aa5ea61c2 100644 --- a/x-pack/plugins/ml/server/models/data_recognizer/modules/metrics_ui_hosts/ml/hosts_memory_usage.json +++ b/x-pack/plugins/ml/server/models/data_recognizer/modules/metrics_ui_hosts/ml/hosts_memory_usage.json @@ -1,5 +1,4 @@ { - "job_type": "anomaly_detector", "groups": [ "hosts", "metrics" diff --git a/x-pack/plugins/ml/server/models/data_recognizer/modules/metrics_ui_hosts/ml/hosts_network_in.json b/x-pack/plugins/ml/server/models/data_recognizer/modules/metrics_ui_hosts/ml/hosts_network_in.json index 3c78907bf73a9..e21581e68119e 100644 --- a/x-pack/plugins/ml/server/models/data_recognizer/modules/metrics_ui_hosts/ml/hosts_network_in.json +++ b/x-pack/plugins/ml/server/models/data_recognizer/modules/metrics_ui_hosts/ml/hosts_network_in.json @@ -1,5 +1,4 @@ { - "job_type": "anomaly_detector", "description": "Metrics: Hosts - Identify unusual spikes in inbound traffic across hosts.", "groups": [ "hosts", diff --git a/x-pack/plugins/ml/server/models/data_recognizer/modules/metrics_ui_hosts/ml/hosts_network_out.json b/x-pack/plugins/ml/server/models/data_recognizer/modules/metrics_ui_hosts/ml/hosts_network_out.json index 9d7c39cf0aabc..cd87289c0354c 100644 --- a/x-pack/plugins/ml/server/models/data_recognizer/modules/metrics_ui_hosts/ml/hosts_network_out.json +++ b/x-pack/plugins/ml/server/models/data_recognizer/modules/metrics_ui_hosts/ml/hosts_network_out.json @@ -1,5 +1,4 @@ { - "job_type": "anomaly_detector", "description": "Metrics: Hosts - Identify unusual spikes in outbound traffic across hosts.", "groups": [ "hosts", diff --git a/x-pack/plugins/ml/server/models/data_recognizer/modules/metrics_ui_k8s/ml/k8s_memory_usage.json b/x-pack/plugins/ml/server/models/data_recognizer/modules/metrics_ui_k8s/ml/k8s_memory_usage.json index 5c60137655cab..2a633f2b6ff1e 100644 --- a/x-pack/plugins/ml/server/models/data_recognizer/modules/metrics_ui_k8s/ml/k8s_memory_usage.json +++ b/x-pack/plugins/ml/server/models/data_recognizer/modules/metrics_ui_k8s/ml/k8s_memory_usage.json @@ -1,5 +1,4 @@ { - "job_type": "anomaly_detector", "groups": [ "k8s", "metrics" diff --git a/x-pack/plugins/ml/server/models/data_recognizer/modules/metrics_ui_k8s/ml/k8s_network_in.json b/x-pack/plugins/ml/server/models/data_recognizer/modules/metrics_ui_k8s/ml/k8s_network_in.json index 35cbe5c28205a..4e2d7cbf48b58 100644 --- a/x-pack/plugins/ml/server/models/data_recognizer/modules/metrics_ui_k8s/ml/k8s_network_in.json +++ b/x-pack/plugins/ml/server/models/data_recognizer/modules/metrics_ui_k8s/ml/k8s_network_in.json @@ -1,5 +1,4 @@ { - "job_type": "anomaly_detector", "description": "Metrics: Kubernetes - Identify unusual spikes in inbound traffic across Kubernetes pods.", "groups": [ "k8s", diff --git a/x-pack/plugins/ml/server/models/data_recognizer/modules/metrics_ui_k8s/ml/k8s_network_out.json b/x-pack/plugins/ml/server/models/data_recognizer/modules/metrics_ui_k8s/ml/k8s_network_out.json index a9e8a1fa8b224..dff1bfacddfcf 100644 --- a/x-pack/plugins/ml/server/models/data_recognizer/modules/metrics_ui_k8s/ml/k8s_network_out.json +++ b/x-pack/plugins/ml/server/models/data_recognizer/modules/metrics_ui_k8s/ml/k8s_network_out.json @@ -1,5 +1,4 @@ { - "job_type": "anomaly_detector", "description": "Metrics: Kubernetes - Identify unusual spikes in outbound traffic across Kubernetes pods.", "groups": [ "k8s", diff --git a/x-pack/plugins/ml/server/models/data_recognizer/modules/security_auth/ml/auth_high_count_logon_events.json b/x-pack/plugins/ml/server/models/data_recognizer/modules/security_auth/ml/auth_high_count_logon_events.json index 65f3bf5966bbd..7ca7a5ebd71e4 100644 --- a/x-pack/plugins/ml/server/models/data_recognizer/modules/security_auth/ml/auth_high_count_logon_events.json +++ b/x-pack/plugins/ml/server/models/data_recognizer/modules/security_auth/ml/auth_high_count_logon_events.json @@ -1,5 +1,4 @@ { - "job_type": "anomaly_detector", "description": "Security: Authentication - Looks for an unusually large spike in successful authentication events. This can be due to password spraying, user enumeration, or brute force activity.", "groups": [ "security", diff --git a/x-pack/plugins/ml/server/models/data_recognizer/modules/security_auth/ml/auth_high_count_logon_events_for_a_source_ip.json b/x-pack/plugins/ml/server/models/data_recognizer/modules/security_auth/ml/auth_high_count_logon_events_for_a_source_ip.json index 22594cbacc48b..47096f4c6413f 100644 --- a/x-pack/plugins/ml/server/models/data_recognizer/modules/security_auth/ml/auth_high_count_logon_events_for_a_source_ip.json +++ b/x-pack/plugins/ml/server/models/data_recognizer/modules/security_auth/ml/auth_high_count_logon_events_for_a_source_ip.json @@ -1,5 +1,4 @@ { - "job_type": "anomaly_detector", "description": "Security: Authentication - Looks for an unusually large spike in successful authentication events from a particular source IP address. This can be due to password spraying, user enumeration, or brute force activity.", "groups": [ "security", diff --git a/x-pack/plugins/ml/server/models/data_recognizer/modules/security_auth/ml/auth_high_count_logon_fails.json b/x-pack/plugins/ml/server/models/data_recognizer/modules/security_auth/ml/auth_high_count_logon_fails.json index d335f7b0128fa..48586ef642ca6 100644 --- a/x-pack/plugins/ml/server/models/data_recognizer/modules/security_auth/ml/auth_high_count_logon_fails.json +++ b/x-pack/plugins/ml/server/models/data_recognizer/modules/security_auth/ml/auth_high_count_logon_fails.json @@ -1,5 +1,4 @@ { - "job_type": "anomaly_detector", "description": "Security: Authentication - Looks for an unusually large spike in authentication failure events. This can be due to password spraying, user enumeration, or brute force activity and may be a precursor to account takeover or credentialed access.", "groups": [ "security", diff --git a/x-pack/plugins/ml/server/models/data_recognizer/modules/security_auth/ml/auth_rare_hour_for_a_user.json b/x-pack/plugins/ml/server/models/data_recognizer/modules/security_auth/ml/auth_rare_hour_for_a_user.json index afe905a02283f..1f421ed298b9f 100644 --- a/x-pack/plugins/ml/server/models/data_recognizer/modules/security_auth/ml/auth_rare_hour_for_a_user.json +++ b/x-pack/plugins/ml/server/models/data_recognizer/modules/security_auth/ml/auth_rare_hour_for_a_user.json @@ -1,5 +1,4 @@ { - "job_type": "anomaly_detector", "description": "Security: Authentication - looks for a user logging in at a time of day that is unusual for the user. This can be due to credentialed access via a compromised account when the user and the threat actor are in different time zones. In addition, unauthorized user activity often takes place during non-business hours.", "groups": [ "security", diff --git a/x-pack/plugins/ml/server/models/data_recognizer/modules/security_auth/ml/auth_rare_source_ip_for_a_user.json b/x-pack/plugins/ml/server/models/data_recognizer/modules/security_auth/ml/auth_rare_source_ip_for_a_user.json index 7d4e9e022915d..98a249074a67a 100644 --- a/x-pack/plugins/ml/server/models/data_recognizer/modules/security_auth/ml/auth_rare_source_ip_for_a_user.json +++ b/x-pack/plugins/ml/server/models/data_recognizer/modules/security_auth/ml/auth_rare_source_ip_for_a_user.json @@ -1,5 +1,4 @@ { - "job_type": "anomaly_detector", "description": "Security: Authentication - looks for a user logging in from an IP address that is unusual for the user. This can be due to credentialed access via a compromised account when the user and the threat actor are in different locations. An unusual source IP address for a username could also be due to lateral movement when a compromised account is used to pivot between hosts.", "groups": [ "security", diff --git a/x-pack/plugins/ml/server/models/data_recognizer/modules/security_auth/ml/auth_rare_user.json b/x-pack/plugins/ml/server/models/data_recognizer/modules/security_auth/ml/auth_rare_user.json index 5f31cc6aaa435..e2488480e61d1 100644 --- a/x-pack/plugins/ml/server/models/data_recognizer/modules/security_auth/ml/auth_rare_user.json +++ b/x-pack/plugins/ml/server/models/data_recognizer/modules/security_auth/ml/auth_rare_user.json @@ -1,5 +1,4 @@ { - "job_type": "anomaly_detector", "description": "Security: Authentication - looks for an unusual user name in the authentication logs. An unusual user name is one way of detecting credentialed access by means of a new or dormant user account. A user account that is normally inactive, because the user has left the organization, which becomes active, may be due to credentialed access using a compromised account password. Threat actors will sometimes also create new users as a means of persisting in a compromised web application.", "groups": [ "security", diff --git a/x-pack/plugins/ml/server/models/data_recognizer/modules/security_auth/ml/suspicious_login_activity.json b/x-pack/plugins/ml/server/models/data_recognizer/modules/security_auth/ml/suspicious_login_activity.json index f96537b85e988..00e810b5348e7 100644 --- a/x-pack/plugins/ml/server/models/data_recognizer/modules/security_auth/ml/suspicious_login_activity.json +++ b/x-pack/plugins/ml/server/models/data_recognizer/modules/security_auth/ml/suspicious_login_activity.json @@ -1,5 +1,4 @@ { - "job_type": "anomaly_detector", "description": "Security: Auditbeat - Detect unusually high number of authentication attempts.", "groups": [ "security", diff --git a/x-pack/plugins/ml/server/models/data_recognizer/modules/security_cloudtrail/ml/high_distinct_count_error_message.json b/x-pack/plugins/ml/server/models/data_recognizer/modules/security_cloudtrail/ml/high_distinct_count_error_message.json index 59dc155b96d33..11b5f4625a484 100644 --- a/x-pack/plugins/ml/server/models/data_recognizer/modules/security_cloudtrail/ml/high_distinct_count_error_message.json +++ b/x-pack/plugins/ml/server/models/data_recognizer/modules/security_cloudtrail/ml/high_distinct_count_error_message.json @@ -1,5 +1,4 @@ { - "job_type": "anomaly_detector", "description": "Security: Cloudtrail - Looks for a spike in the rate of an error message which may simply indicate an impending service failure but these can also be byproducts of attempted or successful persistence, privilege escalation, defense evasion, discovery, lateral movement, or collection activity by a threat actor.", "groups": [ "security", diff --git a/x-pack/plugins/ml/server/models/data_recognizer/modules/security_cloudtrail/ml/rare_error_code.json b/x-pack/plugins/ml/server/models/data_recognizer/modules/security_cloudtrail/ml/rare_error_code.json index 7c62eb4d8905e..c54c8e8378f2c 100644 --- a/x-pack/plugins/ml/server/models/data_recognizer/modules/security_cloudtrail/ml/rare_error_code.json +++ b/x-pack/plugins/ml/server/models/data_recognizer/modules/security_cloudtrail/ml/rare_error_code.json @@ -1,5 +1,4 @@ { - "job_type": "anomaly_detector", "description": "Security: Cloudtrail - Looks for unusual errors. Rare and unusual errors may simply indicate an impending service failure but they can also be byproducts of attempted or successful persistence, privilege escalation, defense evasion, discovery, lateral movement, or collection activity by a threat actor.", "groups": [ "security", diff --git a/x-pack/plugins/ml/server/models/data_recognizer/modules/security_cloudtrail/ml/rare_method_for_a_city.json b/x-pack/plugins/ml/server/models/data_recognizer/modules/security_cloudtrail/ml/rare_method_for_a_city.json index 1d220f4c87b5e..2ed28884be94f 100644 --- a/x-pack/plugins/ml/server/models/data_recognizer/modules/security_cloudtrail/ml/rare_method_for_a_city.json +++ b/x-pack/plugins/ml/server/models/data_recognizer/modules/security_cloudtrail/ml/rare_method_for_a_city.json @@ -1,5 +1,4 @@ { - "job_type": "anomaly_detector", "description": "Security: Cloudtrail - Looks for AWS API calls that, while not inherently suspicious or abnormal, are sourcing from a geolocation (city) that is unusual. This can be the result of compromised credentials or keys.", "groups": [ "security", diff --git a/x-pack/plugins/ml/server/models/data_recognizer/modules/security_cloudtrail/ml/rare_method_for_a_country.json b/x-pack/plugins/ml/server/models/data_recognizer/modules/security_cloudtrail/ml/rare_method_for_a_country.json index cd772b49ae2e7..1f14357e73444 100644 --- a/x-pack/plugins/ml/server/models/data_recognizer/modules/security_cloudtrail/ml/rare_method_for_a_country.json +++ b/x-pack/plugins/ml/server/models/data_recognizer/modules/security_cloudtrail/ml/rare_method_for_a_country.json @@ -1,5 +1,4 @@ { - "job_type": "anomaly_detector", "description": "Security: Cloudtrail - Looks for AWS API calls that, while not inherently suspicious or abnormal, are sourcing from a geolocation (country) that is unusual. This can be the result of compromised credentials or keys.", "groups": [ "security", diff --git a/x-pack/plugins/ml/server/models/data_recognizer/modules/security_cloudtrail/ml/rare_method_for_a_username.json b/x-pack/plugins/ml/server/models/data_recognizer/modules/security_cloudtrail/ml/rare_method_for_a_username.json index 36ff1d0cfb83d..76cce7fb829ca 100644 --- a/x-pack/plugins/ml/server/models/data_recognizer/modules/security_cloudtrail/ml/rare_method_for_a_username.json +++ b/x-pack/plugins/ml/server/models/data_recognizer/modules/security_cloudtrail/ml/rare_method_for_a_username.json @@ -1,5 +1,4 @@ { - "job_type": "anomaly_detector", "description": "Security: Cloudtrail - Looks for AWS API calls that, while not inherently suspicious or abnormal, are sourcing from a user context that does not normally call the method. This can be the result of compromised credentials or keys as someone uses a valid account to persist, move laterally, or exfil data.", "groups": [ "security", diff --git a/x-pack/plugins/ml/server/models/data_recognizer/modules/security_linux/ml/v3_linux_anomalous_network_activity.json b/x-pack/plugins/ml/server/models/data_recognizer/modules/security_linux/ml/v3_linux_anomalous_network_activity.json index 9c3dfc3f59e94..29f6bf1d98412 100644 --- a/x-pack/plugins/ml/server/models/data_recognizer/modules/security_linux/ml/v3_linux_anomalous_network_activity.json +++ b/x-pack/plugins/ml/server/models/data_recognizer/modules/security_linux/ml/v3_linux_anomalous_network_activity.json @@ -1,5 +1,4 @@ { - "job_type": "anomaly_detector", "description": "Security: Linux - Looks for unusual processes using the network which could indicate command-and-control, lateral movement, persistence, or data exfiltration activity.", "groups": [ "auditbeat", diff --git a/x-pack/plugins/ml/server/models/data_recognizer/modules/security_linux/ml/v3_linux_anomalous_network_port_activity.json b/x-pack/plugins/ml/server/models/data_recognizer/modules/security_linux/ml/v3_linux_anomalous_network_port_activity.json index 945b99b1bb651..34b97358260ac 100644 --- a/x-pack/plugins/ml/server/models/data_recognizer/modules/security_linux/ml/v3_linux_anomalous_network_port_activity.json +++ b/x-pack/plugins/ml/server/models/data_recognizer/modules/security_linux/ml/v3_linux_anomalous_network_port_activity.json @@ -1,5 +1,4 @@ { - "job_type": "anomaly_detector", "description": "Security: Linux - Looks for unusual destination port activity that could indicate command-and-control, persistence mechanism, or data exfiltration activity.", "groups": [ "security", diff --git a/x-pack/plugins/ml/server/models/data_recognizer/modules/security_linux/ml/v3_linux_anomalous_process_all_hosts.json b/x-pack/plugins/ml/server/models/data_recognizer/modules/security_linux/ml/v3_linux_anomalous_process_all_hosts.json index ececcb0b9d0ad..a20a508391fb9 100644 --- a/x-pack/plugins/ml/server/models/data_recognizer/modules/security_linux/ml/v3_linux_anomalous_process_all_hosts.json +++ b/x-pack/plugins/ml/server/models/data_recognizer/modules/security_linux/ml/v3_linux_anomalous_process_all_hosts.json @@ -1,5 +1,4 @@ { - "job_type": "anomaly_detector", "description": "Security: Linux - Looks for processes that are unusual to all Linux hosts. Such unusual processes may indicate unauthorized software, malware, or persistence mechanisms.", "groups": [ "auditbeat", diff --git a/x-pack/plugins/ml/server/models/data_recognizer/modules/security_linux/ml/v3_linux_anomalous_user_name.json b/x-pack/plugins/ml/server/models/data_recognizer/modules/security_linux/ml/v3_linux_anomalous_user_name.json index 7bbacf6d0999b..72be89bd79aad 100644 --- a/x-pack/plugins/ml/server/models/data_recognizer/modules/security_linux/ml/v3_linux_anomalous_user_name.json +++ b/x-pack/plugins/ml/server/models/data_recognizer/modules/security_linux/ml/v3_linux_anomalous_user_name.json @@ -1,5 +1,4 @@ { - "job_type": "anomaly_detector", "description": "Security: Linux - Rare and unusual users that are not normally active may indicate unauthorized changes or activity by an unauthorized user which may be credentialed access or lateral movement.", "groups": [ "auditbeat", diff --git a/x-pack/plugins/ml/server/models/data_recognizer/modules/security_linux/ml/v3_linux_network_configuration_discovery.json b/x-pack/plugins/ml/server/models/data_recognizer/modules/security_linux/ml/v3_linux_network_configuration_discovery.json index e04140a850b5b..1481b7a03a559 100644 --- a/x-pack/plugins/ml/server/models/data_recognizer/modules/security_linux/ml/v3_linux_network_configuration_discovery.json +++ b/x-pack/plugins/ml/server/models/data_recognizer/modules/security_linux/ml/v3_linux_network_configuration_discovery.json @@ -1,5 +1,4 @@ { - "job_type": "anomaly_detector", "description": "Security: Linux - Looks for commands related to system network configuration discovery from an unusual user context. This can be due to uncommon troubleshooting activity or due to a compromised account. A compromised account may be used by a threat actor to engage in system network configuration discovery to increase their understanding of connected networks and hosts. This information may be used to shape follow-up behaviors such as lateral movement or additional discovery.", "groups": [ "security", diff --git a/x-pack/plugins/ml/server/models/data_recognizer/modules/security_linux/ml/v3_linux_network_connection_discovery.json b/x-pack/plugins/ml/server/models/data_recognizer/modules/security_linux/ml/v3_linux_network_connection_discovery.json index 0975d1139828b..2b1cf43ac94d3 100644 --- a/x-pack/plugins/ml/server/models/data_recognizer/modules/security_linux/ml/v3_linux_network_connection_discovery.json +++ b/x-pack/plugins/ml/server/models/data_recognizer/modules/security_linux/ml/v3_linux_network_connection_discovery.json @@ -1,5 +1,4 @@ { - "job_type": "anomaly_detector", "description": "Security: Linux - Looks for commands related to system network connection discovery from an unusual user context. This can be due to uncommon troubleshooting activity or due to a compromised account. A compromised account may be used by a threat actor to engage in system network connection discovery to increase their understanding of connected services and systems. This information may be used to shape follow-up behaviors such as lateral movement or additional discovery.", "groups": [ "security", diff --git a/x-pack/plugins/ml/server/models/data_recognizer/modules/security_linux/ml/v3_linux_rare_metadata_process.json b/x-pack/plugins/ml/server/models/data_recognizer/modules/security_linux/ml/v3_linux_rare_metadata_process.json index 00a2bde273f9f..fcec32acd69b5 100644 --- a/x-pack/plugins/ml/server/models/data_recognizer/modules/security_linux/ml/v3_linux_rare_metadata_process.json +++ b/x-pack/plugins/ml/server/models/data_recognizer/modules/security_linux/ml/v3_linux_rare_metadata_process.json @@ -1,5 +1,4 @@ { - "job_type": "anomaly_detector", "description": "Security: Linux - Looks for anomalous access to the metadata service by an unusual process. The metadata service may be targeted in order to harvest credentials or user data scripts containing secrets.", "groups": [ "auditbeat", diff --git a/x-pack/plugins/ml/server/models/data_recognizer/modules/security_linux/ml/v3_linux_rare_metadata_user.json b/x-pack/plugins/ml/server/models/data_recognizer/modules/security_linux/ml/v3_linux_rare_metadata_user.json index 0320ec9412311..d8414c8bf22bd 100644 --- a/x-pack/plugins/ml/server/models/data_recognizer/modules/security_linux/ml/v3_linux_rare_metadata_user.json +++ b/x-pack/plugins/ml/server/models/data_recognizer/modules/security_linux/ml/v3_linux_rare_metadata_user.json @@ -1,5 +1,4 @@ { - "job_type": "anomaly_detector", "description": "Security: Linux - Looks for anomalous access to the metadata service by an unusual user. The metadata service may be targeted in order to harvest credentials or user data scripts containing secrets.", "groups": [ "auditbeat", diff --git a/x-pack/plugins/ml/server/models/data_recognizer/modules/security_linux/ml/v3_linux_rare_sudo_user.json b/x-pack/plugins/ml/server/models/data_recognizer/modules/security_linux/ml/v3_linux_rare_sudo_user.json index 6f403653ab726..a99e5f95572f7 100644 --- a/x-pack/plugins/ml/server/models/data_recognizer/modules/security_linux/ml/v3_linux_rare_sudo_user.json +++ b/x-pack/plugins/ml/server/models/data_recognizer/modules/security_linux/ml/v3_linux_rare_sudo_user.json @@ -1,5 +1,4 @@ { - "job_type": "anomaly_detector", "description": "Security: Linux - Looks for sudo activity from an unusual user context. Unusual user context changes can be due to privilege escalation.", "groups": [ "security", diff --git a/x-pack/plugins/ml/server/models/data_recognizer/modules/security_linux/ml/v3_linux_rare_user_compiler.json b/x-pack/plugins/ml/server/models/data_recognizer/modules/security_linux/ml/v3_linux_rare_user_compiler.json index 4f5e47bd26d28..9c8ca5316ace3 100644 --- a/x-pack/plugins/ml/server/models/data_recognizer/modules/security_linux/ml/v3_linux_rare_user_compiler.json +++ b/x-pack/plugins/ml/server/models/data_recognizer/modules/security_linux/ml/v3_linux_rare_user_compiler.json @@ -1,5 +1,4 @@ { - "job_type": "anomaly_detector", "description": "Security: Linux - Looks for compiler activity by a user context which does not normally run compilers. This can be ad-hoc software changes or unauthorized software deployment. This can also be due to local privilege elevation via locally run exploits or malware activity.", "groups": [ "security", diff --git a/x-pack/plugins/ml/server/models/data_recognizer/modules/security_linux/ml/v3_linux_system_information_discovery.json b/x-pack/plugins/ml/server/models/data_recognizer/modules/security_linux/ml/v3_linux_system_information_discovery.json index 32ee1c4342d64..0202854934285 100644 --- a/x-pack/plugins/ml/server/models/data_recognizer/modules/security_linux/ml/v3_linux_system_information_discovery.json +++ b/x-pack/plugins/ml/server/models/data_recognizer/modules/security_linux/ml/v3_linux_system_information_discovery.json @@ -1,5 +1,4 @@ { - "job_type": "anomaly_detector", "description": "Security: Linux - Looks for commands related to system information discovery from an unusual user context. This can be due to uncommon troubleshooting activity or due to a compromised account. A compromised account may be used to engage in system information discovery to gather detailed information about system configuration and software versions. This may be a precursor to the selection of a persistence mechanism or a method of privilege elevation.", "groups": [ "security", diff --git a/x-pack/plugins/ml/server/models/data_recognizer/modules/security_linux/ml/v3_linux_system_process_discovery.json b/x-pack/plugins/ml/server/models/data_recognizer/modules/security_linux/ml/v3_linux_system_process_discovery.json index 1451416dc0cbd..23e6e607ccf08 100644 --- a/x-pack/plugins/ml/server/models/data_recognizer/modules/security_linux/ml/v3_linux_system_process_discovery.json +++ b/x-pack/plugins/ml/server/models/data_recognizer/modules/security_linux/ml/v3_linux_system_process_discovery.json @@ -1,5 +1,4 @@ { - "job_type": "anomaly_detector", "description": "Security: Linux - Looks for commands related to system process discovery from an unusual user context. This can be due to uncommon troubleshooting activity or due to a compromised account. A compromised account may be used to engage in system process discovery to increase their understanding of software applications running on a target host or network. This may be a precursor to the selection of a persistence mechanism or a method of privilege elevation.", "groups": [ "security", diff --git a/x-pack/plugins/ml/server/models/data_recognizer/modules/security_linux/ml/v3_linux_system_user_discovery.json b/x-pack/plugins/ml/server/models/data_recognizer/modules/security_linux/ml/v3_linux_system_user_discovery.json index 22485ed6071ca..8659e7a8f1f91 100644 --- a/x-pack/plugins/ml/server/models/data_recognizer/modules/security_linux/ml/v3_linux_system_user_discovery.json +++ b/x-pack/plugins/ml/server/models/data_recognizer/modules/security_linux/ml/v3_linux_system_user_discovery.json @@ -1,5 +1,4 @@ { - "job_type": "anomaly_detector", "description": "Security: Linux - Looks for commands related to system user or owner discovery from an unusual user context. This can be due to uncommon troubleshooting activity or due to a compromised account. A compromised account may be used to engage in system owner or user discovery to identify currently active or primary users of a system. This may be a precursor to additional discovery, credential dumping, or privilege elevation activity.", "groups": [ "security", diff --git a/x-pack/plugins/ml/server/models/data_recognizer/modules/security_linux/ml/v3_rare_process_by_host_linux.json b/x-pack/plugins/ml/server/models/data_recognizer/modules/security_linux/ml/v3_rare_process_by_host_linux.json index b36913d68e626..a072007a0f13c 100644 --- a/x-pack/plugins/ml/server/models/data_recognizer/modules/security_linux/ml/v3_rare_process_by_host_linux.json +++ b/x-pack/plugins/ml/server/models/data_recognizer/modules/security_linux/ml/v3_rare_process_by_host_linux.json @@ -1,5 +1,4 @@ { - "job_type": "anomaly_detector", "description": "Security: Linux - Looks for processes that are unusual to a particular Linux host. Such unusual processes may indicate unauthorized software, malware, or persistence mechanisms.", "groups": [ "auditbeat", diff --git a/x-pack/plugins/ml/server/models/data_recognizer/modules/security_network/ml/high_count_by_destination_country.json b/x-pack/plugins/ml/server/models/data_recognizer/modules/security_network/ml/high_count_by_destination_country.json index 653001a453452..4479fe8f8c662 100755 --- a/x-pack/plugins/ml/server/models/data_recognizer/modules/security_network/ml/high_count_by_destination_country.json +++ b/x-pack/plugins/ml/server/models/data_recognizer/modules/security_network/ml/high_count_by_destination_country.json @@ -1,5 +1,4 @@ { - "job_type": "anomaly_detector", "description": "Security: Network - Looks for an unusually large spike in network activity to one destination country in the network logs. This could be due to unusually large amounts of reconnaissance or enumeration traffic. Data exfiltration activity may also produce such a surge in traffic to a destination country which does not normally appear in network traffic or business work-flows. Malware instances and persistence mechanisms may communicate with command-and-control (C2) infrastructure in their country of origin, which may be an unusual destination country for the source network.", "groups": [ "security", diff --git a/x-pack/plugins/ml/server/models/data_recognizer/modules/security_network/ml/high_count_network_denies.json b/x-pack/plugins/ml/server/models/data_recognizer/modules/security_network/ml/high_count_network_denies.json index 5b1600d124546..984bfea22fa2d 100755 --- a/x-pack/plugins/ml/server/models/data_recognizer/modules/security_network/ml/high_count_network_denies.json +++ b/x-pack/plugins/ml/server/models/data_recognizer/modules/security_network/ml/high_count_network_denies.json @@ -1,5 +1,4 @@ { - "job_type": "anomaly_detector", "description": "Security: Network - Looks for an unusually large spike in network traffic that was denied by network ACLs or firewall rules. Such a burst of denied traffic is usually either 1) a misconfigured application or firewall or 2) suspicious or malicious activity. Unsuccessful attempts at network transit, in order to connect to command-and-control (C2), or engage in data exfiltration, may produce a burst of failed connections. This could also be due to unusually large amounts of reconnaissance or enumeration traffic. Denial-of-service attacks or traffic floods may also produce such a surge in traffic.", "groups": [ "security", diff --git a/x-pack/plugins/ml/server/models/data_recognizer/modules/security_network/ml/high_count_network_events.json b/x-pack/plugins/ml/server/models/data_recognizer/modules/security_network/ml/high_count_network_events.json index 7c0a5d9537cb1..ba740d581a27e 100755 --- a/x-pack/plugins/ml/server/models/data_recognizer/modules/security_network/ml/high_count_network_events.json +++ b/x-pack/plugins/ml/server/models/data_recognizer/modules/security_network/ml/high_count_network_events.json @@ -1,5 +1,4 @@ { - "job_type": "anomaly_detector", "description": "Security: Network - Looks for an unusually large spike in network traffic. Such a burst of traffic, if not caused by a surge in business activity, can be due to suspicious or malicious activity. Large-scale data exfiltration may produce a burst of network traffic; this could also be due to unusually large amounts of reconnaissance or enumeration traffic. Denial-of-service attacks or traffic floods may also produce such a surge in traffic.", "groups": [ "security", diff --git a/x-pack/plugins/ml/server/models/data_recognizer/modules/security_network/ml/rare_destination_country.json b/x-pack/plugins/ml/server/models/data_recognizer/modules/security_network/ml/rare_destination_country.json index 7becc6599e31b..123b802c475fb 100755 --- a/x-pack/plugins/ml/server/models/data_recognizer/modules/security_network/ml/rare_destination_country.json +++ b/x-pack/plugins/ml/server/models/data_recognizer/modules/security_network/ml/rare_destination_country.json @@ -1,5 +1,4 @@ { - "job_type": "anomaly_detector", "description": "Security: Network - looks for an unusual destination country name in the network logs. This can be due to initial access, persistence, command-and-control, or exfiltration activity. For example, when a user clicks on a link in a phishing email or opens a malicious document, a request may be sent to download and run a payload from a server in a country which does not normally appear in network traffic or business work-flows. Malware instances and persistence mechanisms may communicate with command-and-control (C2) infrastructure in their country of origin, which may be an unusual destination country for the source network.", "groups": [ "security", diff --git a/x-pack/plugins/ml/server/models/data_recognizer/modules/security_packetbeat/ml/packetbeat_dns_tunneling.json b/x-pack/plugins/ml/server/models/data_recognizer/modules/security_packetbeat/ml/packetbeat_dns_tunneling.json index 61fa894ab1dc1..313bd8e1bea39 100644 --- a/x-pack/plugins/ml/server/models/data_recognizer/modules/security_packetbeat/ml/packetbeat_dns_tunneling.json +++ b/x-pack/plugins/ml/server/models/data_recognizer/modules/security_packetbeat/ml/packetbeat_dns_tunneling.json @@ -1,5 +1,4 @@ { - "job_type": "anomaly_detector", "description": "Security: Packetbeat - Looks for unusual DNS activity that could indicate command-and-control or data exfiltration activity.", "groups": [ "security", diff --git a/x-pack/plugins/ml/server/models/data_recognizer/modules/security_packetbeat/ml/packetbeat_rare_dns_question.json b/x-pack/plugins/ml/server/models/data_recognizer/modules/security_packetbeat/ml/packetbeat_rare_dns_question.json index a9663f3cd0856..36c8b3acd722e 100644 --- a/x-pack/plugins/ml/server/models/data_recognizer/modules/security_packetbeat/ml/packetbeat_rare_dns_question.json +++ b/x-pack/plugins/ml/server/models/data_recognizer/modules/security_packetbeat/ml/packetbeat_rare_dns_question.json @@ -1,5 +1,4 @@ { - "job_type": "anomaly_detector", "description": "Security: Packetbeat - Looks for unusual DNS activity that could indicate command-and-control activity.", "groups": [ "security", diff --git a/x-pack/plugins/ml/server/models/data_recognizer/modules/security_packetbeat/ml/packetbeat_rare_server_domain.json b/x-pack/plugins/ml/server/models/data_recognizer/modules/security_packetbeat/ml/packetbeat_rare_server_domain.json index fd29b66160110..3f3c137e8fd34 100644 --- a/x-pack/plugins/ml/server/models/data_recognizer/modules/security_packetbeat/ml/packetbeat_rare_server_domain.json +++ b/x-pack/plugins/ml/server/models/data_recognizer/modules/security_packetbeat/ml/packetbeat_rare_server_domain.json @@ -1,5 +1,4 @@ { - "job_type": "anomaly_detector", "description": "Security: Packetbeat - Looks for unusual HTTP or TLS destination domain activity that could indicate execution, persistence, command-and-control or data exfiltration activity.", "groups": [ "security", diff --git a/x-pack/plugins/ml/server/models/data_recognizer/modules/security_packetbeat/ml/packetbeat_rare_urls.json b/x-pack/plugins/ml/server/models/data_recognizer/modules/security_packetbeat/ml/packetbeat_rare_urls.json index c10dd74ac6ec1..afa430bd835f2 100644 --- a/x-pack/plugins/ml/server/models/data_recognizer/modules/security_packetbeat/ml/packetbeat_rare_urls.json +++ b/x-pack/plugins/ml/server/models/data_recognizer/modules/security_packetbeat/ml/packetbeat_rare_urls.json @@ -1,5 +1,4 @@ { - "job_type": "anomaly_detector", "description": "Security: Packetbeat - Looks for unusual web browsing URL activity that could indicate execution, persistence, command-and-control or data exfiltration activity.", "groups": [ "security", diff --git a/x-pack/plugins/ml/server/models/data_recognizer/modules/security_packetbeat/ml/packetbeat_rare_user_agent.json b/x-pack/plugins/ml/server/models/data_recognizer/modules/security_packetbeat/ml/packetbeat_rare_user_agent.json index 8c54ea747cd11..bb2d524b41c1f 100644 --- a/x-pack/plugins/ml/server/models/data_recognizer/modules/security_packetbeat/ml/packetbeat_rare_user_agent.json +++ b/x-pack/plugins/ml/server/models/data_recognizer/modules/security_packetbeat/ml/packetbeat_rare_user_agent.json @@ -1,5 +1,4 @@ { - "job_type": "anomaly_detector", "description": "Security: Packetbeat - Looks for unusual HTTP user agent activity that could indicate execution, persistence, command-and-control or data exfiltration activity.", "groups": [ "security", diff --git a/x-pack/plugins/ml/server/models/data_recognizer/modules/security_windows/ml/v3_rare_process_by_host_windows.json b/x-pack/plugins/ml/server/models/data_recognizer/modules/security_windows/ml/v3_rare_process_by_host_windows.json index fdc6d38bb103e..6b7e5dcf56f1f 100644 --- a/x-pack/plugins/ml/server/models/data_recognizer/modules/security_windows/ml/v3_rare_process_by_host_windows.json +++ b/x-pack/plugins/ml/server/models/data_recognizer/modules/security_windows/ml/v3_rare_process_by_host_windows.json @@ -1,5 +1,4 @@ { - "job_type": "anomaly_detector", "description": "Security: Windows - Looks for processes that are unusual to a particular Windows host. Such unusual processes may indicate unauthorized software, malware, or persistence mechanisms.", "groups": [ "endpoint", diff --git a/x-pack/plugins/ml/server/models/data_recognizer/modules/security_windows/ml/v3_windows_anomalous_network_activity.json b/x-pack/plugins/ml/server/models/data_recognizer/modules/security_windows/ml/v3_windows_anomalous_network_activity.json index 08e2df605c387..04ee9912c15e3 100644 --- a/x-pack/plugins/ml/server/models/data_recognizer/modules/security_windows/ml/v3_windows_anomalous_network_activity.json +++ b/x-pack/plugins/ml/server/models/data_recognizer/modules/security_windows/ml/v3_windows_anomalous_network_activity.json @@ -1,5 +1,4 @@ { - "job_type": "anomaly_detector", "description": "Security: Windows - Looks for unusual processes using the network which could indicate command-and-control, lateral movement, persistence, or data exfiltration activity.", "groups": [ "endpoint", diff --git a/x-pack/plugins/ml/server/models/data_recognizer/modules/security_windows/ml/v3_windows_anomalous_path_activity.json b/x-pack/plugins/ml/server/models/data_recognizer/modules/security_windows/ml/v3_windows_anomalous_path_activity.json index f370980d5a6a8..d5c931b3c46e8 100644 --- a/x-pack/plugins/ml/server/models/data_recognizer/modules/security_windows/ml/v3_windows_anomalous_path_activity.json +++ b/x-pack/plugins/ml/server/models/data_recognizer/modules/security_windows/ml/v3_windows_anomalous_path_activity.json @@ -1,5 +1,4 @@ { - "job_type": "anomaly_detector", "description": "Security: Windows - Looks for activity in unusual paths that may indicate execution of malware or persistence mechanisms. Windows payloads often execute from user profile paths.", "groups": [ "endpoint", diff --git a/x-pack/plugins/ml/server/models/data_recognizer/modules/security_windows/ml/v3_windows_anomalous_process_all_hosts.json b/x-pack/plugins/ml/server/models/data_recognizer/modules/security_windows/ml/v3_windows_anomalous_process_all_hosts.json index f099c277e46aa..1474763cec7b9 100644 --- a/x-pack/plugins/ml/server/models/data_recognizer/modules/security_windows/ml/v3_windows_anomalous_process_all_hosts.json +++ b/x-pack/plugins/ml/server/models/data_recognizer/modules/security_windows/ml/v3_windows_anomalous_process_all_hosts.json @@ -1,5 +1,4 @@ { - "job_type": "anomaly_detector", "description": "Security: Windows - Looks for processes that are unusual to all Windows hosts. Such unusual processes may indicate execution of unauthorized software, malware, or persistence mechanisms.", "groups": [ "endpoint", diff --git a/x-pack/plugins/ml/server/models/data_recognizer/modules/security_windows/ml/v3_windows_anomalous_process_creation.json b/x-pack/plugins/ml/server/models/data_recognizer/modules/security_windows/ml/v3_windows_anomalous_process_creation.json index f299ef5e3051f..2966630fad878 100644 --- a/x-pack/plugins/ml/server/models/data_recognizer/modules/security_windows/ml/v3_windows_anomalous_process_creation.json +++ b/x-pack/plugins/ml/server/models/data_recognizer/modules/security_windows/ml/v3_windows_anomalous_process_creation.json @@ -1,5 +1,4 @@ { - "job_type": "anomaly_detector", "description": "Security: Windows - Looks for unusual process relationships which may indicate execution of malware or persistence mechanisms.", "groups": [ "endpoint", diff --git a/x-pack/plugins/ml/server/models/data_recognizer/modules/security_windows/ml/v3_windows_anomalous_script.json b/x-pack/plugins/ml/server/models/data_recognizer/modules/security_windows/ml/v3_windows_anomalous_script.json index d9b8b69cfa273..b01641b2ef3ad 100644 --- a/x-pack/plugins/ml/server/models/data_recognizer/modules/security_windows/ml/v3_windows_anomalous_script.json +++ b/x-pack/plugins/ml/server/models/data_recognizer/modules/security_windows/ml/v3_windows_anomalous_script.json @@ -1,5 +1,4 @@ { - "job_type": "anomaly_detector", "description": "Security: Windows - Looks for unusual powershell scripts that may indicate execution of malware, or persistence mechanisms.", "groups": [ "endpoint", diff --git a/x-pack/plugins/ml/server/models/data_recognizer/modules/security_windows/ml/v3_windows_anomalous_service.json b/x-pack/plugins/ml/server/models/data_recognizer/modules/security_windows/ml/v3_windows_anomalous_service.json index 77e88567fc8ac..9716c8365e317 100644 --- a/x-pack/plugins/ml/server/models/data_recognizer/modules/security_windows/ml/v3_windows_anomalous_service.json +++ b/x-pack/plugins/ml/server/models/data_recognizer/modules/security_windows/ml/v3_windows_anomalous_service.json @@ -1,5 +1,4 @@ { - "job_type": "anomaly_detector", "groups": [ "endpoint", "event-log", diff --git a/x-pack/plugins/ml/server/models/data_recognizer/modules/security_windows/ml/v3_windows_anomalous_user_name.json b/x-pack/plugins/ml/server/models/data_recognizer/modules/security_windows/ml/v3_windows_anomalous_user_name.json index 6709ea75a1869..eda4b768b5308 100644 --- a/x-pack/plugins/ml/server/models/data_recognizer/modules/security_windows/ml/v3_windows_anomalous_user_name.json +++ b/x-pack/plugins/ml/server/models/data_recognizer/modules/security_windows/ml/v3_windows_anomalous_user_name.json @@ -1,5 +1,4 @@ { - "job_type": "anomaly_detector", "description": "Security: Windows - Rare and unusual users that are not normally active may indicate unauthorized changes or activity by an unauthorized user which may be credentialed access or lateral movement.", "groups": [ "endpoint", diff --git a/x-pack/plugins/ml/server/models/data_recognizer/modules/security_windows/ml/v3_windows_rare_metadata_process.json b/x-pack/plugins/ml/server/models/data_recognizer/modules/security_windows/ml/v3_windows_rare_metadata_process.json index 93e1b716ff300..ab4fd311d6646 100644 --- a/x-pack/plugins/ml/server/models/data_recognizer/modules/security_windows/ml/v3_windows_rare_metadata_process.json +++ b/x-pack/plugins/ml/server/models/data_recognizer/modules/security_windows/ml/v3_windows_rare_metadata_process.json @@ -1,5 +1,4 @@ { - "job_type": "anomaly_detector", "description": "Security: Windows - Looks for anomalous access to the metadata service by an unusual process. The metadata service may be targeted in order to harvest credentials or user data scripts containing secrets.", "groups": [ "security", diff --git a/x-pack/plugins/ml/server/models/data_recognizer/modules/security_windows/ml/v3_windows_rare_metadata_user.json b/x-pack/plugins/ml/server/models/data_recognizer/modules/security_windows/ml/v3_windows_rare_metadata_user.json index 048b7927e72c1..fe8a634d49921 100644 --- a/x-pack/plugins/ml/server/models/data_recognizer/modules/security_windows/ml/v3_windows_rare_metadata_user.json +++ b/x-pack/plugins/ml/server/models/data_recognizer/modules/security_windows/ml/v3_windows_rare_metadata_user.json @@ -1,5 +1,4 @@ { - "job_type": "anomaly_detector", "description": "Security: Windows - Looks for anomalous access to the metadata service by an unusual user. The metadata service may be targeted in order to harvest credentials or user data scripts containing secrets.", "groups": [ "endpoint", diff --git a/x-pack/plugins/ml/server/models/data_recognizer/modules/security_windows/ml/v3_windows_rare_user_runas_event.json b/x-pack/plugins/ml/server/models/data_recognizer/modules/security_windows/ml/v3_windows_rare_user_runas_event.json index 9db2159e18bc1..b95aa1144f440 100644 --- a/x-pack/plugins/ml/server/models/data_recognizer/modules/security_windows/ml/v3_windows_rare_user_runas_event.json +++ b/x-pack/plugins/ml/server/models/data_recognizer/modules/security_windows/ml/v3_windows_rare_user_runas_event.json @@ -1,5 +1,4 @@ { - "job_type": "anomaly_detector", "description": "Security: Windows - Unusual user context switches can be due to privilege escalation.", "groups": [ "endpoint", diff --git a/x-pack/plugins/ml/server/models/data_recognizer/modules/security_windows/ml/v3_windows_rare_user_type10_remote_login.json b/x-pack/plugins/ml/server/models/data_recognizer/modules/security_windows/ml/v3_windows_rare_user_type10_remote_login.json index 053a61ab04fd2..a6ec19401190f 100644 --- a/x-pack/plugins/ml/server/models/data_recognizer/modules/security_windows/ml/v3_windows_rare_user_type10_remote_login.json +++ b/x-pack/plugins/ml/server/models/data_recognizer/modules/security_windows/ml/v3_windows_rare_user_type10_remote_login.json @@ -1,5 +1,4 @@ { - "job_type": "anomaly_detector", "description": "Security: Windows - Unusual RDP (remote desktop protocol) user logins can indicate account takeover or credentialed access.", "groups": [ "endpoint", diff --git a/x-pack/plugins/ml/server/models/data_recognizer/modules/uptime_heartbeat/ml/high_latency_by_geo.json b/x-pack/plugins/ml/server/models/data_recognizer/modules/uptime_heartbeat/ml/high_latency_by_geo.json index c4f06daf97d08..98529de688e32 100644 --- a/x-pack/plugins/ml/server/models/data_recognizer/modules/uptime_heartbeat/ml/high_latency_by_geo.json +++ b/x-pack/plugins/ml/server/models/data_recognizer/modules/uptime_heartbeat/ml/high_latency_by_geo.json @@ -1,5 +1,4 @@ { - "job_type": "anomaly_detector", "groups": ["uptime"], "description": "Uptime Heartbeat: Identify periods of increased latency across geographical regions.", "analysis_config": { diff --git a/x-pack/plugins/ml/server/models/data_visualizer/data_visualizer.ts b/x-pack/plugins/ml/server/models/data_visualizer/data_visualizer.ts index e34afb42cde9d..824ded33f8ef7 100644 --- a/x-pack/plugins/ml/server/models/data_visualizer/data_visualizer.ts +++ b/x-pack/plugins/ml/server/models/data_visualizer/data_visualizer.ts @@ -15,9 +15,8 @@ import { } from '@kbn/ml-agg-utils'; import type { AggCardinality, FieldsForHistograms } from '@kbn/ml-agg-utils'; import { isPopulatedObject } from '@kbn/ml-is-populated-object'; +import { buildBaseFilterCriteria, getSafeAggregationName } from '@kbn/ml-query-utils'; import { ML_JOB_FIELD_TYPES } from '../../../common/constants/field_types'; -import { getSafeAggregationName } from '../../../common/util/job_utils'; -import { buildBaseFilterCriteria } from '../../lib/query_utils'; import { RuntimeMappings } from '../../../common/types/fields'; import { getDatafeedAggregations } from '../../../common/util/datafeed_utils'; import { Datafeed } from '../../../common/types/anomaly_detection_jobs'; diff --git a/x-pack/plugins/ml/server/plugin.ts b/x-pack/plugins/ml/server/plugin.ts index 34a578d909f64..fc12a261031ef 100644 --- a/x-pack/plugins/ml/server/plugin.ts +++ b/x-pack/plugins/ml/server/plugin.ts @@ -198,7 +198,8 @@ export class MlServerPlugin plugins.spaces, plugins.security?.authz, () => this.isMlReady, - () => this.dataViews + () => this.dataViews, + coreSetup.getStartServices ), mlLicense: this.mlLicense, }; diff --git a/x-pack/plugins/observability/public/pages/alerts/containers/alerts_table/get_row_actions.tsx b/x-pack/plugins/observability/public/pages/alerts/containers/alerts_table/get_row_actions.tsx index 74a5e7ac7ec11..419743228a8a4 100644 --- a/x-pack/plugins/observability/public/pages/alerts/containers/alerts_table/get_row_actions.tsx +++ b/x-pack/plugins/observability/public/pages/alerts/containers/alerts_table/get_row_actions.tsx @@ -6,6 +6,7 @@ */ import React from 'react'; import { EcsFieldsResponse } from '@kbn/rule-registry-plugin/common/search_strategy'; +import { RenderCustomActionsRowArgs } from '@kbn/triggers-actions-ui-plugin/public/types'; import { ObservabilityRuleTypeRegistry } from '../../../../rules/create_observability_rule_type_registry'; import { ObservabilityActions } from '../../components/observability_actions'; import type { ObservabilityActionsProps } from '../../components/observability_actions'; @@ -22,11 +23,7 @@ export const getRowActions = ( config: ConfigSchema ) => { return () => ({ - renderCustomActionsRow: ( - alert: EcsFieldsResponse, - setFlyoutAlert: (data: unknown, id?: string) => void, - id?: string - ) => { + renderCustomActionsRow: ({ alert, setFlyoutAlert, id }: RenderCustomActionsRowArgs) => { return ( ; +export type PingState = t.TypeOf; export const PingStatusType = t.intersection([ t.type({ diff --git a/x-pack/plugins/synthetics/e2e/journeys/synthetics/index.ts b/x-pack/plugins/synthetics/e2e/journeys/synthetics/index.ts index c7232fefb6efd..15dd3c2b87247 100644 --- a/x-pack/plugins/synthetics/e2e/journeys/synthetics/index.ts +++ b/x-pack/plugins/synthetics/e2e/journeys/synthetics/index.ts @@ -22,3 +22,4 @@ export * from './test_now_mode.journey'; export * from './data_retention.journey'; export * from './monitor_details_page/monitor_summary.journey'; export * from './test_run_details.journey'; +export * from './step_details.journey'; diff --git a/x-pack/plugins/synthetics/e2e/journeys/synthetics/step_details.journey.ts b/x-pack/plugins/synthetics/e2e/journeys/synthetics/step_details.journey.ts new file mode 100644 index 0000000000000..94172d2c2bde6 --- /dev/null +++ b/x-pack/plugins/synthetics/e2e/journeys/synthetics/step_details.journey.ts @@ -0,0 +1,55 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { journey, step, before, after } from '@elastic/synthetics'; +import { recordVideo } from '@kbn/observability-plugin/e2e/record_video'; +import { syntheticsAppPageProvider } from '../../page_objects/synthetics/synthetics_app'; +import { SyntheticsServices } from './services/synthetics_services'; + +journey(`StepDetailsPage`, async ({ page, params }) => { + recordVideo(page); + + page.setDefaultTimeout(60 * 1000); + const syntheticsApp = syntheticsAppPageProvider({ page, kibanaUrl: params.kibanaUrl }); + + const services = new SyntheticsServices(params); + + before(async () => { + await services.cleaUp(); + await services.enableMonitorManagedViaApi(); + await services.addTestMonitor( + 'https://www.google.com', + { + type: 'browser', + urls: 'https://www.google.com', + custom_heartbeat_id: 'a47bfc4e-361a-4eb0-83f3-b5bb68781b5b', + locations: [ + { id: 'us_central', label: 'North America - US Central', isServiceManaged: true }, + ], + }, + 'a47bfc4e-361a-4eb0-83f3-b5bb68781b5b' + ); + }); + + after(async () => { + await services.cleaUp(); + }); + + step('Go to step details page', async () => { + await syntheticsApp.navigateToStepDetails({ + stepIndex: 1, + checkGroup: 'ab240846-8d22-11ed-8fac-52bb19a2321e', + configId: 'a47bfc4e-361a-4eb0-83f3-b5bb68781b5b', + }); + }); + + step('it shows metrics', async () => { + await page.waitForSelector('text=558 KB'); + await page.waitForSelector('text=402 ms'); + await page.waitForSelector('text=521 ms'); + }); +}); diff --git a/x-pack/plugins/synthetics/e2e/page_objects/synthetics/synthetics_app.tsx b/x-pack/plugins/synthetics/e2e/page_objects/synthetics/synthetics_app.tsx index 1732c3f0e91b8..f9e57b952961c 100644 --- a/x-pack/plugins/synthetics/e2e/page_objects/synthetics/synthetics_app.tsx +++ b/x-pack/plugins/synthetics/e2e/page_objects/synthetics/synthetics_app.tsx @@ -50,6 +50,24 @@ export function syntheticsAppPageProvider({ page, kibanaUrl }: { page: Page; kib } }, + async navigateToStepDetails({ + configId, + stepIndex, + checkGroup, + doLogin = true, + }: { + checkGroup: string; + configId: string; + stepIndex: number; + doLogin?: boolean; + }) { + const stepDetails = `/monitor/${configId}/test-run/${checkGroup}/step/${stepIndex}?locationId=us_central`; + await page.goto(overview + stepDetails, { waitUntil: 'networkidle' }); + if (doLogin) { + await this.loginToKibana(); + } + }, + async waitForMonitorManagementLoadingToFinish() { while (true) { if ((await page.$(this.byTestId('uptimeLoader'))) === null) break; diff --git a/x-pack/plugins/synthetics/public/apps/synthetics/components/common/monitor_test_result/result_details.tsx b/x-pack/plugins/synthetics/public/apps/synthetics/components/common/monitor_test_result/result_details.tsx index 54f0fe8412551..dc5a2b2f3f62c 100644 --- a/x-pack/plugins/synthetics/public/apps/synthetics/components/common/monitor_test_result/result_details.tsx +++ b/x-pack/plugins/synthetics/public/apps/synthetics/components/common/monitor_test_result/result_details.tsx @@ -54,10 +54,10 @@ export const TimingDetails = ({ step }: { step: JourneyStep }) => { ) : ( ), }; diff --git a/x-pack/plugins/synthetics/public/apps/synthetics/components/monitor_details/hooks/use_monitor_errors.tsx b/x-pack/plugins/synthetics/public/apps/synthetics/components/monitor_details/hooks/use_monitor_errors.tsx index dd8f9b9ff7c7b..dcecbb5f9df8a 100644 --- a/x-pack/plugins/synthetics/public/apps/synthetics/components/monitor_details/hooks/use_monitor_errors.tsx +++ b/x-pack/plugins/synthetics/public/apps/synthetics/components/monitor_details/hooks/use_monitor_errors.tsx @@ -5,10 +5,10 @@ * 2.0. */ -import { useEsSearch } from '@kbn/observability-plugin/public'; +import { useEsSearch, useTimeZone } from '@kbn/observability-plugin/public'; import { useParams } from 'react-router-dom'; import { useMemo } from 'react'; -import { Ping } from '../../../../../../common/runtime_types'; +import { PingState } from '../../../../../../common/runtime_types'; import { EXCLUDE_RUN_ONCE_FILTER, SUMMARY_FILTER, @@ -24,6 +24,8 @@ export function useMonitorErrors(monitorIdArg?: string) { const { dateRangeStart, dateRangeEnd } = useGetUrlParams(); + const timeZone = useTimeZone(); + const { data, loading } = useEsSearch( { index: SYNTHETICS_INDEX_PATTERN, @@ -39,6 +41,7 @@ export function useMonitorErrors(monitorIdArg?: string) { '@timestamp': { gte: dateRangeStart, lte: dateRangeEnd, + time_zone: timeZone, }, }, }, @@ -55,18 +58,18 @@ export function useMonitorErrors(monitorIdArg?: string) { ], }, }, - sort: [{ '@timestamp': 'desc' }], + sort: [{ 'state.started_at': 'desc' }], aggs: { errorStates: { terms: { field: 'state.id', - size: 1000, + size: 10000, }, aggs: { summary: { top_hits: { size: 1, - _source: ['error', 'state', 'monitor'], + _source: ['error', 'state', 'monitor', '@timestamp'], sort: [{ '@timestamp': 'desc' }], }, }, @@ -81,12 +84,13 @@ export function useMonitorErrors(monitorIdArg?: string) { return useMemo(() => { const errorStates = (data?.aggregations?.errorStates.buckets ?? []).map((loc) => { - return loc.summary.hits.hits?.[0]._source as Ping; + return loc.summary.hits.hits?.[0]._source as PingState; }); return { errorStates, loading, + data, }; }, [data, loading]); } diff --git a/x-pack/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_details_last_run.tsx b/x-pack/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_details_last_run.tsx index 311f1b49b8e79..4fe7c9a2ecefd 100644 --- a/x-pack/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_details_last_run.tsx +++ b/x-pack/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_details_last_run.tsx @@ -6,7 +6,7 @@ */ import React, { ReactElement } from 'react'; import moment from 'moment'; -import { EuiDescriptionList, EuiLoadingContent } from '@elastic/eui'; +import { EuiDescriptionList, EuiLoadingContent, EuiToolTip } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; import { useMonitorLatestPing } from './hooks/use_monitor_latest_ping'; @@ -21,7 +21,20 @@ export const MonitorDetailsLastRun: React.FC = () => { description = ; } - return ; + return ( + + <>{description} + + ), + }, + ]} + /> + ); }; const LAST_RUN_LABEL = i18n.translate('xpack.synthetics.monitorLastRun.lastRunLabel', { diff --git a/x-pack/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_errors/errors_list.tsx b/x-pack/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_errors/errors_list.tsx index b7b801b5a1b9a..7533b7307d616 100644 --- a/x-pack/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_errors/errors_list.tsx +++ b/x-pack/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_errors/errors_list.tsx @@ -6,34 +6,39 @@ */ import { i18n } from '@kbn/i18n'; -import React, { MouseEvent, useMemo, useState } from 'react'; -import { EuiBasicTable, EuiSpacer, EuiText } from '@elastic/eui'; +import React, { MouseEvent, useMemo } from 'react'; +import { + EuiSpacer, + EuiText, + EuiInMemoryTable, + EuiFlexGroup, + EuiFlexItem, + EuiBadge, +} from '@elastic/eui'; import { useHistory, useParams } from 'react-router-dom'; +import moment from 'moment'; import { ErrorDetailsLink } from '../../common/links/error_details_link'; import { useSelectedLocation } from '../hooks/use_selected_location'; import { useKibanaDateFormat } from '../../../../../hooks/use_kibana_date_format'; -import { Ping } from '../../../../../../common/runtime_types'; +import { Ping, PingState } from '../../../../../../common/runtime_types'; import { useErrorFailedStep } from '../hooks/use_error_failed_step'; import { formatTestDuration, formatTestRunAt, } from '../../../utils/monitor_test_result/test_time_formats'; -export const ErrorsList = ({ errorStates, loading }: { errorStates: Ping[]; loading: boolean }) => { - const [pageIndex, setPageIndex] = useState(0); - const [pageSize, setPageSize] = useState(10); - const [sortField, setSortField] = useState('@timestamp'); - const [sortDirection, setSortDirection] = useState<'asc' | 'desc'>('desc'); - +export const ErrorsList = ({ + errorStates, + loading, +}: { + errorStates: PingState[]; + loading: boolean; +}) => { const { monitorId } = useParams<{ monitorId: string }>(); - const items = errorStates.slice(pageIndex * pageSize, pageIndex * pageSize + pageSize); - const checkGroups = useMemo(() => { - const currentPage = errorStates.slice(pageIndex * pageSize, pageIndex * pageSize + pageSize); - - return currentPage.map((error) => error.monitor.check_group!); - }, [errorStates, pageIndex, pageSize]); + return errorStates.map((error) => error.monitor.check_group!); + }, [errorStates]); const { failedSteps } = useErrorFailedStep(checkGroups); @@ -47,26 +52,52 @@ export const ErrorsList = ({ errorStates, loading }: { errorStates: Ping[]; load const columns = [ { - field: '@timestamp', + field: 'item.state.started_at', name: TIMESTAMP_LABEL, - sortable: true, - render: (value: string, item: Ping) => { - return ( + sortable: (a: PingState) => { + return moment(a.state.started_at).valueOf(); + }, + render: (value: string, item: PingState) => { + const link = ( ); + const isActive = isActiveState(item); + if (!isActive) { + return link; + } + + return ( + + {link} + + + Active + + + + ); }, }, { field: 'monitor.check_group', name: !isBrowserType ? ERROR_MESSAGE_LABEL : FAILED_STEP_LABEL, truncateText: true, - render: (value: string, item: Ping) => { + sortable: (a: PingState) => { + const failedStep = failedSteps.find( + (step) => step.monitor.check_group === a.monitor.check_group + ); + if (!failedStep) { + return a.monitor.check_group; + } + return failedStep.synthetics?.step?.name; + }, + render: (value: string, item: PingState) => { if (!isBrowserType) { - return {item.error?.message ?? '--'}; + return {item.error.message ?? '--'}; } const failedStep = failedSteps.find((step) => step.monitor.check_group === value); if (!failedStep) { @@ -83,22 +114,32 @@ export const ErrorsList = ({ errorStates, loading }: { errorStates: Ping[]; load field: 'state.duration_ms', name: ERROR_DURATION_LABEL, align: 'right' as const, - render: (value: number) => {formatTestDuration(value, true)}, + sortable: true, + render: (value: number, item: PingState) => { + const isActive = isActiveState(item); + let activeDuration = 0; + if (item.monitor.timespan) { + const diff = moment(item.monitor.timespan.lt).diff( + moment(item.monitor.timespan.gte), + 'millisecond' + ); + if (isActive) { + const currentDiff = moment().diff(item['@timestamp']); + + activeDuration = currentDiff < diff ? currentDiff : diff; + } else { + activeDuration = diff; + } + } + return {formatTestDuration(value + activeDuration, true)}; + }, }, ]; - const pagination = { - pageIndex, - pageSize, - totalItemCount: errorStates.length, - pageSizeOptions: [3, 5, 8], - }; - const getRowProps = (item: Ping) => { const { state } = item; if (state?.id) { return { - height: '85px', 'data-test-subj': `row-${state.id}`, onClick: (evt: MouseEvent) => { history.push( @@ -112,29 +153,19 @@ export const ErrorsList = ({ errorStates, loading }: { errorStates: Ping[]; load return (
- { - const { index: pIndex, size: pSize } = page; - - const { field: sField, direction: sDirection } = sort; - - setPageIndex(pIndex!); - setPageSize(pSize!); - setSortField(sField!); - setSortDirection(sDirection!); - }} - rowProps={getRowProps} />
); @@ -154,6 +185,15 @@ export const getErrorDetailsUrl = ({ return `${basePath}/app/synthetics/monitor/${configId}/errors/${stateId}?locationId=${locationId}`; }; +const isActiveState = (item: PingState) => { + const timestamp = item['@timestamp']; + const interval = moment(item.monitor.timespan?.lt).diff( + moment(item.monitor.timespan?.gte), + 'milliseconds' + ); + return moment().diff(moment(timestamp), 'milliseconds') < interval; +}; + const ERRORS_LIST_LABEL = i18n.translate('xpack.synthetics.errorsList.label', { defaultMessage: 'Errors list', }); diff --git a/x-pack/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_errors/errors_tab_content.tsx b/x-pack/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_errors/errors_tab_content.tsx index 8317614ef889b..d7b1c3357f606 100644 --- a/x-pack/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_errors/errors_tab_content.tsx +++ b/x-pack/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_errors/errors_tab_content.tsx @@ -8,7 +8,7 @@ import React from 'react'; import { EuiFlexGroup, EuiFlexItem, EuiSpacer } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; -import { Ping } from '../../../../../../common/runtime_types'; +import { PingState } from '../../../../../../common/runtime_types'; import { PanelWithTitle } from '../../common/components/panel_with_title'; import { MonitorErrorsCount } from '../monitor_summary/monitor_errors_count'; import { FailedTestsCount } from './failed_tests_count'; @@ -21,7 +21,7 @@ export const ErrorsTabContent = ({ errorStates, loading, }: { - errorStates: Ping[]; + errorStates: PingState[]; loading: boolean; }) => { const { dateRangeStart, dateRangeEnd } = useGetUrlParams(); diff --git a/x-pack/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_errors/monitor_errors.tsx b/x-pack/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_errors/monitor_errors.tsx index b92c8c8fdd7d6..527033f16c7ce 100644 --- a/x-pack/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_errors/monitor_errors.tsx +++ b/x-pack/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_errors/monitor_errors.tsx @@ -20,9 +20,9 @@ import { SyntheticsDatePicker } from '../../common/date_picker/synthetics_date_p import { ErrorsTabContent } from './errors_tab_content'; export const MonitorErrors = () => { - const { errorStates, loading } = useMonitorErrors(); + const { errorStates, loading, data } = useMonitorErrors(); - const initialLoading = loading && errorStates.length === 0; + const initialLoading = loading && !data; const emptyState = !loading && errorStates.length === 0; diff --git a/x-pack/plugins/synthetics/public/apps/synthetics/components/step_details_page/common/network_data/data_formatting.ts b/x-pack/plugins/synthetics/public/apps/synthetics/components/step_details_page/common/network_data/data_formatting.ts index fb12506065cde..aa1a64d9eb447 100644 --- a/x-pack/plugins/synthetics/public/apps/synthetics/components/step_details_page/common/network_data/data_formatting.ts +++ b/x-pack/plugins/synthetics/public/apps/synthetics/components/step_details_page/common/network_data/data_formatting.ts @@ -491,8 +491,11 @@ export const colourPalette: ColourPalette = { ...TIMING_PALETTE, ...MIME_TYPE_PA export const formatTooltipHeading = (index: number, fullText: string): string => isNaN(index) ? fullText : `${index}. ${fullText}`; -export const formatMillisecond = (ms: number, digits?: number) => { - if (ms < 1000) { +export const formatMillisecond = ( + ms: number, + { maxMillis = 1000, digits }: { digits?: number; maxMillis?: number } +) => { + if (ms < maxMillis) { return `${ms.toFixed(digits ?? 0)} ms`; } return `${(ms / 1000).toFixed(digits ?? 1)} s`; diff --git a/x-pack/plugins/synthetics/public/apps/synthetics/components/step_details_page/hooks/use_object_metrics.ts b/x-pack/plugins/synthetics/public/apps/synthetics/components/step_details_page/hooks/use_object_metrics.ts index fd19ec7675ec6..6cc622c8e19b5 100644 --- a/x-pack/plugins/synthetics/public/apps/synthetics/components/step_details_page/hooks/use_object_metrics.ts +++ b/x-pack/plugins/synthetics/public/apps/synthetics/components/step_details_page/hooks/use_object_metrics.ts @@ -7,31 +7,59 @@ import { useSelector } from 'react-redux'; import { useParams } from 'react-router-dom'; +import { usePreviousObjectMetrics } from './use_prev_object_metrics'; import { MIME_FILTERS, MimeType, MimeTypesMap } from '../common/network_data/types'; import { networkEventsSelector } from '../../../state/network_events/selectors'; export const useObjectMetrics = () => { const { checkGroupId, stepIndex } = useParams<{ checkGroupId: string; stepIndex: string }>(); + const { mimeData: prevMimeData } = usePreviousObjectMetrics(); + const _networkEvents = useSelector(networkEventsSelector); const networkEvents = _networkEvents[checkGroupId ?? '']?.[Number(stepIndex)]; - const objectTypeCounts: Record = {}; - const objectTypeWeights: Record = {}; + const objectTypeCounts: Record = {}; + const objectTypeWeights: Record = {}; networkEvents?.events.forEach((event) => { if (event.mimeType) { - objectTypeCounts[MimeTypesMap[event.mimeType] ?? MimeType.Other] = - (objectTypeCounts[MimeTypesMap[event.mimeType] ?? MimeType.Other] ?? 0) + 1; - objectTypeWeights[MimeTypesMap[event.mimeType] ?? MimeType.Other] = - (objectTypeWeights[MimeTypesMap[event.mimeType] ?? MimeType.Other] ?? 0) + - (event.transferSize || 0); + const mimeType = MimeTypesMap[event.mimeType] ?? MimeType.Other; + + if (objectTypeCounts[mimeType]) { + objectTypeCounts[mimeType].value++; + } else { + objectTypeCounts[mimeType] = { value: 1, prevValue: 0 }; + } + + if (objectTypeWeights[mimeType]) { + objectTypeWeights[mimeType].value += event.transferSize || 0; + } else { + objectTypeWeights[mimeType] = { + value: event.transferSize || 0, + prevValue: 0, + }; + } } }); - const totalObjects = Object.values(objectTypeCounts).reduce((acc, val) => acc + val, 0); + const totalObjects = Object.values(objectTypeCounts).reduce((acc, val) => acc + val.value, 0); - const totalObjectsWeight = Object.values(objectTypeWeights).reduce((acc, val) => acc + val, 0); + const totalObjectsWeight = Object.values(objectTypeWeights).reduce( + (acc, val) => acc + val.value, + 0 + ); + + Object.keys(prevMimeData).forEach((mimeType) => { + const mimeTypeKey = MimeTypesMap[mimeType] ?? MimeType.Other; + if (objectTypeCounts[mimeTypeKey]) { + objectTypeCounts[mimeTypeKey].prevValue += prevMimeData[mimeType].count; + } + + if (objectTypeWeights[mimeTypeKey]) { + objectTypeWeights[mimeTypeKey].prevValue += prevMimeData[mimeType].weight; + } + }); return { loading: networkEvents?.loading ?? true, @@ -39,16 +67,41 @@ export const useObjectMetrics = () => { totalObjectsWeight: formatBytes(totalObjectsWeight), items: MIME_FILTERS.map(({ label, mimeType }) => ({ label, - count: objectTypeCounts[mimeType] ?? 0, - total: totalObjects, mimeType, - percent: ((objectTypeCounts[mimeType] ?? 0) / totalObjects) * 100, - weight: formatBytes(objectTypeWeights[mimeType] ?? 0), - weightPercent: ((objectTypeWeights[mimeType] ?? 0) / totalObjectsWeight) * 100, + total: totalObjects, + count: objectTypeCounts?.[mimeType]?.value ?? 0, + percent: ((objectTypeCounts?.[mimeType]?.value ?? 0) / totalObjects) * 100, + weight: formatBytes(objectTypeWeights[mimeType]?.value ?? 0), + weightPercent: ((objectTypeWeights[mimeType]?.value ?? 0) / totalObjectsWeight) * 100, + + countDelta: getDeltaPercent( + objectTypeCounts?.[mimeType]?.value ?? 0, + objectTypeCounts?.[mimeType]?.prevValue ?? 0 + ), + weightDelta: getWeightDeltaPercent( + objectTypeWeights?.[mimeType]?.value, + objectTypeWeights?.[mimeType]?.prevValue + ), })), }; }; +export const getWeightDeltaPercent = (current: number, previous: number) => { + if (previous === 0 || !previous) { + return 0; + } + + return (((current - previous) / previous) * 100).toFixed(0); +}; + +export const getDeltaPercent = (current: number, previous: number) => { + if (previous === 0) { + return 0; + } + + return (((current - previous) / previous) * 100).toFixed(0); +}; + export const formatBytes = (bytes: number, decimals = 0) => { if (bytes === 0) return '0 Bytes'; diff --git a/x-pack/plugins/synthetics/public/apps/synthetics/components/step_details_page/hooks/use_prev_object_metrics.ts b/x-pack/plugins/synthetics/public/apps/synthetics/components/step_details_page/hooks/use_prev_object_metrics.ts new file mode 100644 index 0000000000000..1a5d31415decb --- /dev/null +++ b/x-pack/plugins/synthetics/public/apps/synthetics/components/step_details_page/hooks/use_prev_object_metrics.ts @@ -0,0 +1,141 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor 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 { useParams } from 'react-router-dom'; +import moment from 'moment'; +import { useJourneySteps } from '../../monitor_details/hooks/use_journey_steps'; +import { useReduxEsSearch } from '../../../hooks/use_redux_es_search'; +import { SYNTHETICS_INDEX_PATTERN } from '../../../../../../common/constants'; + +export const MONITOR_DURATION_US = 'monitor.duration.us'; +export const SYNTHETICS_CLS = 'browser.experience.cls'; +export const SYNTHETICS_LCP = 'browser.experience.lcp.us'; +export const SYNTHETICS_FCP = 'browser.experience.fcp.us'; +export const SYNTHETICS_ONLOAD_EVENT = 'browser.experience.load.us'; +export const SYNTHETICS_DCL = 'browser.experience.dcl.us'; +export const SYNTHETICS_STEP_NAME = 'synthetics.step.name.keyword'; +export const SYNTHETICS_STEP_DURATION = 'synthetics.step.duration.us'; + +export type PreviousObjectMetrics = ReturnType; + +export const usePreviousObjectMetrics = () => { + const { monitorId, stepIndex, checkGroupId } = useParams<{ + monitorId: string; + stepIndex: string; + checkGroupId: string; + }>(); + + const { data } = useJourneySteps(); + + const timestamp = data?.details?.timestamp; + + const { data: prevObjectMetrics } = useReduxEsSearch( + { + index: SYNTHETICS_INDEX_PATTERN, + body: { + track_total_hits: false, + sort: [ + { + '@timestamp': { + order: 'desc', + }, + }, + ], + size: 0, + runtime_mappings: { + 'synthetics.payload.transfer_size': { + type: 'long', + }, + }, + query: { + bool: { + filter: [ + { + range: { + '@timestamp': { + lte: timestamp ?? 'now', + gte: moment(timestamp).subtract(1, 'day').toISOString(), + }, + }, + }, + { + term: { + config_id: monitorId, + }, + }, + { + term: { + 'synthetics.type': 'journey/network_info', + }, + }, + { + term: { + 'synthetics.step.index': stepIndex, + }, + }, + { + range: { + '@timestamp': { + gte: 'now-24h/h', + lte: 'now', + }, + }, + }, + ], + must_not: [ + { + term: { + 'monitor.check_group': { + value: checkGroupId, + }, + }, + }, + ], + }, + }, + aggs: { + testRuns: { + cardinality: { + field: 'monitor.check_group', + }, + }, + objectCounts: { + terms: { + field: 'http.response.mime_type', + size: 500, + }, + aggs: { + weight: { + sum: { + field: 'synthetics.payload.transfer_size', + }, + }, + }, + }, + }, + }, + }, + [stepIndex, monitorId, checkGroupId], + { + name: `previousObjectMetrics/${monitorId}/${checkGroupId}/${stepIndex}/`, + isRequestReady: !!timestamp, + } + ); + + const mimeData: Record = {}; + + const testRuns = prevObjectMetrics?.aggregations?.testRuns?.value ?? 0; + + prevObjectMetrics?.aggregations?.objectCounts?.buckets?.forEach((bucket) => { + mimeData[bucket.key] = { + weight: bucket.weight.value ? bucket.weight.value / testRuns : 0, + count: bucket.doc_count / testRuns, + }; + }); + + return { mimeData }; +}; diff --git a/x-pack/plugins/synthetics/public/apps/synthetics/components/step_details_page/network_timings_breakdown.tsx b/x-pack/plugins/synthetics/public/apps/synthetics/components/step_details_page/network_timings_breakdown.tsx index 27ec3e6deffbb..cd9a89c7e5391 100644 --- a/x-pack/plugins/synthetics/public/apps/synthetics/components/step_details_page/network_timings_breakdown.tsx +++ b/x-pack/plugins/synthetics/public/apps/synthetics/components/step_details_page/network_timings_breakdown.tsx @@ -11,6 +11,8 @@ import { ReportTypes } from '@kbn/observability-plugin/public'; import { EuiSpacer, EuiTitle } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; import { ClientPluginsStart } from '../../../../plugin'; +import { useSelectedLocation } from '../monitor_details/hooks/use_selected_location'; +import { LoadingState } from '../monitors_page/overview/overview/monitor_detail_flyout'; export const NetworkTimingsBreakdown = ({ monitorId }: { monitorId: string }) => { const { observability } = useKibana().services; @@ -19,6 +21,11 @@ export const NetworkTimingsBreakdown = ({ monitorId }: { monitorId: string }) => const { stepIndex } = useParams<{ checkGroupId: string; stepIndex: string }>(); + const selectedLocation = useSelectedLocation(); + if (!selectedLocation) { + return ; + } + return ( <> @@ -47,6 +54,10 @@ export const NetworkTimingsBreakdown = ({ monitorId }: { monitorId: string }) => field: 'synthetics.step.index', values: [stepIndex], }, + { + field: 'observer.geo.name', + values: [selectedLocation.label], + }, ], }, ]} diff --git a/x-pack/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_detail_page.tsx b/x-pack/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_detail_page.tsx index dfb72e3315cbd..e190a45bd38ba 100644 --- a/x-pack/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_detail_page.tsx +++ b/x-pack/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_detail_page.tsx @@ -89,7 +89,7 @@ export const StepDetailPage = () => {
- + diff --git a/x-pack/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_metrics/step_metrics.tsx b/x-pack/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_metrics/step_metrics.tsx index 3845fdf2def59..1539c98111c5f 100644 --- a/x-pack/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_metrics/step_metrics.tsx +++ b/x-pack/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_metrics/step_metrics.tsx @@ -134,7 +134,7 @@ const StatThreshold = ({ {title} {isSame ? ( - + ) : ( )} diff --git a/x-pack/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_objects/color_palette.tsx b/x-pack/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_objects/color_palette.tsx index 7d43f7d1dd26f..78fbc568a0983 100644 --- a/x-pack/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_objects/color_palette.tsx +++ b/x-pack/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_objects/color_palette.tsx @@ -6,9 +6,17 @@ */ import React, { useState, useEffect } from 'react'; -import { EuiFlexGroup, EuiFlexItem, EuiText, EuiLoadingContent } from '@elastic/eui'; +import { + EuiFlexGroup, + EuiFlexItem, + EuiText, + EuiLoadingContent, + EuiIcon, + EuiToolTip, +} from '@elastic/eui'; import { useTheme } from '@kbn/observability-plugin/public'; import styled from 'styled-components'; +import { i18n } from '@kbn/i18n'; import { colourPalette } from '../common/network_data/data_formatting'; export const ColorPalette = ({ @@ -17,17 +25,52 @@ export const ColorPalette = ({ percent, value, loading, + delta, + hasAnyThresholdBreach, labelWidth = 40, - valueWidth = 60, + valueWidth = 65, }: { label: string; mimeType: string; percent: number; + delta: number; value: string; loading: boolean; + hasAnyThresholdBreach: boolean; labelWidth?: number; valueWidth?: number; }) => { + const getToolTipContent = () => { + return i18n.translate('xpack.synthetics.stepDetails.palette.tooltip.label', { + defaultMessage: 'Value is {deltaLabel} compared to steps in previous 24 hours.', + values: { + deltaLabel: + Math.abs(delta) === 0 + ? i18n.translate('xpack.synthetics.stepDetails.palette.tooltip.noChange', { + defaultMessage: 'same', + }) + : delta > 0 + ? i18n.translate('xpack.synthetics.stepDetails.palette.increased', { + defaultMessage: '{delta}% higher', + values: { delta }, + }) + : i18n.translate('xpack.synthetics.stepDetails.palette.decreased', { + defaultMessage: '{delta}% lower', + values: { delta }, + }), + }, + }); + }; + + const getColor = () => { + if (Math.abs(delta) < 5) { + return 'default'; + } + return delta > 5 ? 'danger' : 'success'; + }; + + const hasDelta = Math.abs(delta) > 0; + return ( @@ -45,10 +88,22 @@ export const ColorPalette = ({ size="s" style={{ fontWeight: 'bold', whiteSpace: 'nowrap' }} className="eui-textRight" + color={getColor()} > {value}
+ {hasAnyThresholdBreach && ( + + + {hasDelta ? ( + 0 ? 'sortUp' : 'sortDown'} size="m" color={getColor()} /> + ) : ( + + )} + + + )}
); }; diff --git a/x-pack/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_objects/object_count_list.tsx b/x-pack/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_objects/object_count_list.tsx index bbfec1d56fc2f..ec4555da24dc0 100644 --- a/x-pack/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_objects/object_count_list.tsx +++ b/x-pack/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_objects/object_count_list.tsx @@ -14,6 +14,10 @@ import { useObjectMetrics } from '../hooks/use_object_metrics'; export const ObjectCountList = () => { const objectMetrics = useObjectMetrics(); + const hasAnyThresholdBreach = objectMetrics.items.some( + ({ countDelta }) => Math.abs(Number(countDelta)) > 5 + ); + return ( <> @@ -28,17 +32,19 @@ export const ObjectCountList = () => { - +
- {objectMetrics.items.map(({ label, mimeType, percent, count }) => ( + {objectMetrics.items.map(({ label, mimeType, percent, count, countDelta }) => ( diff --git a/x-pack/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_objects/object_weight_list.tsx b/x-pack/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_objects/object_weight_list.tsx index c787fcc0711ba..186f92b9782df 100644 --- a/x-pack/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_objects/object_weight_list.tsx +++ b/x-pack/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_objects/object_weight_list.tsx @@ -13,7 +13,9 @@ import { useObjectMetrics } from '../hooks/use_object_metrics'; export const ObjectWeightList = () => { const objectMetrics = useObjectMetrics(); - + const hasAnyThresholdBreach = objectMetrics.items.some( + ({ weightDelta }) => Math.abs(Number(weightDelta)) > 5 + ); return ( <> @@ -29,16 +31,18 @@ export const ObjectWeightList = () => { - +
- {objectMetrics.items.map(({ label, mimeType, weightPercent, weight }) => ( + {objectMetrics.items.map(({ label, mimeType, weightPercent, weight, weightDelta }) => ( {' '} diff --git a/x-pack/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_timing_breakdown/breakdown_legend.tsx b/x-pack/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_timing_breakdown/breakdown_legend.tsx index 46c81f98198bc..6e2e0a144755c 100644 --- a/x-pack/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_timing_breakdown/breakdown_legend.tsx +++ b/x-pack/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_timing_breakdown/breakdown_legend.tsx @@ -32,7 +32,7 @@ export const BreakdownLegend = () => { - {formatMillisecond(value)} + {formatMillisecond(value, {})} diff --git a/x-pack/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_timing_breakdown/network_timings_donut.tsx b/x-pack/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_timing_breakdown/network_timings_donut.tsx index 439cc300afe4f..075ae8a4ce84d 100644 --- a/x-pack/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_timing_breakdown/network_timings_donut.tsx +++ b/x-pack/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_timing_breakdown/network_timings_donut.tsx @@ -51,14 +51,14 @@ export const NetworkTimingsDonut = () => {

{TIMINGS_BREAKDOWN}

- + d?.value} - valueFormatter={(d: number) => formatMillisecond(d)} + valueFormatter={(d: number) => formatMillisecond(d, {})} layers={[ { groupByRollup: (d: Datum) => d.label, diff --git a/x-pack/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_marker/waterfall_markers.tsx b/x-pack/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_marker/waterfall_markers.tsx index e2337746cbcd0..c1a8db93c3e6a 100644 --- a/x-pack/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_marker/waterfall_markers.tsx +++ b/x-pack/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_marker/waterfall_markers.tsx @@ -13,6 +13,7 @@ import { euiStyled } from '@kbn/kibana-react-plugin/common'; import { MarkerItems, useWaterfallContext } from '../context/waterfall_context'; import { WaterfallMarkerIcon } from './waterfall_marker_icon'; +import { formatMillisecond } from '../../../common/network_data/data_formatting'; export const FIELD_SYNTHETICS_LCP = 'browser.experience.lcp.us'; export const FIELD_SYNTHETICS_FCP = 'browser.experience.fcp.us'; @@ -98,10 +99,7 @@ export function WaterfallChartMarkers() { { dataValue: offset, details: label, - header: i18n.translate('xpack.synthetics.synthetics.waterfall.offsetUnit', { - defaultMessage: '{offset} ms', - values: { offset }, - }), + header: formatMillisecond(offset, { maxMillis: 4000 }), }, ]} marker={} diff --git a/x-pack/plugins/synthetics/public/apps/synthetics/hooks/use_redux_es_search.ts b/x-pack/plugins/synthetics/public/apps/synthetics/hooks/use_redux_es_search.ts index 5afb38431878d..01130c61faad2 100644 --- a/x-pack/plugins/synthetics/public/apps/synthetics/hooks/use_redux_es_search.ts +++ b/x-pack/plugins/synthetics/public/apps/synthetics/hooks/use_redux_es_search.ts @@ -23,9 +23,10 @@ export const useReduxEsSearch = < >( params: TParams, fnDeps: any[], - options: { inspector?: IInspectorInfo; name: string } + options: { inspector?: IInspectorInfo; name: string; isRequestReady?: boolean } ) => { - const { name } = options ?? {}; + const { name, isRequestReady = true } = options ?? {}; + const dispatch = useDispatch(); const loadings = useSelector(selectEsQueryLoading); @@ -33,11 +34,11 @@ export const useReduxEsSearch = < const errors = useSelector(selectEsQueryError); useEffect(() => { - if (params.index) { + if (params.index && isRequestReady) { dispatch(executeEsQueryAction.get({ params, name })); } // eslint-disable-next-line react-hooks/exhaustive-deps - }, [dispatch, name, JSON.stringify(params)]); + }, [dispatch, name, JSON.stringify(params), isRequestReady]); return useMemo(() => { return { diff --git a/x-pack/plugins/synthetics/server/queries/get_journey_details.ts b/x-pack/plugins/synthetics/server/queries/get_journey_details.ts index bacc3cf64ae48..f5b67f8e0e6a4 100644 --- a/x-pack/plugins/synthetics/server/queries/get_journey_details.ts +++ b/x-pack/plugins/synthetics/server/queries/get_journey_details.ts @@ -65,6 +65,11 @@ export const getJourneyDetails: UMElasticsearchQueryFn< 'monitor.id': thisJourneySource.monitor.id, }, }, + { + term: { + 'observer.geo.name': thisJourneySource.observer?.geo?.name, + }, + }, { term: { 'synthetics.type': 'journey/start', diff --git a/x-pack/plugins/translations/translations/fr-FR.json b/x-pack/plugins/translations/translations/fr-FR.json index 2aae3ce7817d0..fd10f3281b25b 100644 --- a/x-pack/plugins/translations/translations/fr-FR.json +++ b/x-pack/plugins/translations/translations/fr-FR.json @@ -10135,12 +10135,10 @@ "xpack.csp.benchmarks.benchmarkEmptyState.integrationsNotFoundForNameTitle": " pour \"{name}\"", "xpack.csp.benchmarks.totalIntegrationsCountMessage": "Affichage de {pageCount} sur {totalCount, plural, one {# intégration} other {# intégrations}}", "xpack.csp.cloudPosturePage.errorRenderer.errorDescription": "{error} {statusCode} : {body}", - "xpack.csp.complianceDashboard.complianceByCisSection.complianceColumnTooltip": "{passed}/{total}", "xpack.csp.dashboard.benchmarkSection.clusterTitle": "{title} - {shortId}", "xpack.csp.dashboard.benchmarkSection.clusterTitleTooltip.clusterTitle": "{title} - {shortId}", "xpack.csp.dashboard.benchmarkSection.lastEvaluatedTitle": "Dernière évaluation {dateFromNow}", "xpack.csp.findings.distributionBar.showingPageOfTotalLabel": "Affichage de {pageStart}-{pageEnd} sur {total} {type}", - "xpack.csp.findings.findingsByResourceTable.failedFindingsToolTip": "{failed} sur {total}", "xpack.csp.findings.findingsTableCell.addFilterButton": "Ajouter un filtre {field}", "xpack.csp.findings.findingsTableCell.addNegateFilterButton": "Ajouter un filtre {field} négatif", "xpack.csp.findings.resourceFindings.resourceFindingsPageTitle": "{resourceName} - Résultats", @@ -10174,7 +10172,6 @@ "xpack.csp.createPackagePolicy.customAssetsTab.rulesViewLabel": "Afficher les règles CSP ", "xpack.csp.cspEvaluationBadge.failLabel": "Échec", "xpack.csp.cspEvaluationBadge.passLabel": "Réussite", - "xpack.csp.cspSettings.rules": "Règles de sécurité du CSP - ", "xpack.csp.dashboard.benchmarkSection.clusterTitleTooltip.clusterPrefixTitle": "Afficher tous les résultats pour ", "xpack.csp.dashboard.benchmarkSection.defaultClusterTitle": "ID cluster", "xpack.csp.dashboard.benchmarkSection.manageRulesButton": "Gérer les règles", @@ -10198,7 +10195,6 @@ "xpack.csp.findings.findingsByResource.noFindingsTitle": "Il n'y a aucun résultat", "xpack.csp.findings.findingsByResource.tableRowTypeLabel": "Ressources", "xpack.csp.findings.findingsByResourceTable.cisSectionsColumnLabel": "Sections CIS", - "xpack.csp.findings.findingsByResourceTable.failedFindingsColumnLabel": "Échec des résultats", "xpack.csp.findings.findingsErrorToast.searchFailedTitle": "Échec de la recherche", "xpack.csp.findings.findingsFlyout.jsonTabTitle": "JSON", "xpack.csp.findings.findingsFlyout.overviewTab.actualTitle": "Réel", @@ -10240,7 +10236,6 @@ "xpack.csp.findings.findingsTable.findingsTableColumn.resourceTypeColumnLabel": "Type de ressource", "xpack.csp.findings.findingsTable.findingsTableColumn.resultColumnLabel": "Résultat", "xpack.csp.findings.findingsTable.findingsTableColumn.ruleBenchmarkColumnLabel": "Benchmark", - "xpack.csp.findings.findingsTable.findingsTableColumn.ruleColumnLabel": "Règle", "xpack.csp.findings.findingsTable.findingsTableColumn.ruleSectionColumnLabel": "Section CIS", "xpack.csp.findings.groupBySelector.groupByLabel": "Regrouper par", "xpack.csp.findings.groupBySelector.groupByNoneLabel": "Aucun", @@ -18116,7 +18111,6 @@ "xpack.lens.indexPattern.cumulativeSumOf": "Somme cumulée de {name}", "xpack.lens.indexPattern.dateHistogram.autoLongerExplanation": "Pour choisir l'intervalle, Lens divise la plage temporelle spécifiée par le paramètre avancé {targetBarSetting} et calcule le meilleur intervalle pour vos données. Par exemple, lorsque la plage temporelle est de 4 jours, les données sont divisées en compartiments horaires. Pour configurer le nombre de barres maximal, utilisez le paramètre avancé {maxBarSetting}.", "xpack.lens.indexPattern.dateHistogram.restrictedInterval": "Intervalle fixé à {intervalValue} en raison de restrictions d'agrégation.", - "xpack.lens.indexPattern.dateHistogramTimeShift": "Dans un calque unique, vous ne pouvez pas combiner un décalage de plage temporelle précédent avec des histogrammes de dates. Utilisez une durée de décalage temporel explicite dans \"{column}\" ou remplacez l’histogramme de dates.", "xpack.lens.indexPattern.derivativeOf": "Différences de {name}", "xpack.lens.indexPattern.fieldNoOperation": "Le champ {field} ne peut pas être utilisé sans opération", "xpack.lens.indexPattern.fieldsNotFound": "{count, plural, one {Champ} other {Champs}} {missingFields} {count, plural, one {introuvable} other {introuvables}}", @@ -36206,7 +36200,6 @@ "cases.components.status.inProgress": "En cours", "cases.components.status.open": "Ouvrir", "devTools.badge.betaLabel": "Bêta", - "devTools.badge.betaTooltipText": "Cette fonctionnalité pourra considérablement changer dans les futures versions", "devTools.badge.readOnly.text": "Lecture seule", "devTools.badge.readOnly.tooltip": "Enregistrement impossible", "devTools.breadcrumb.homeLabel": "Outils de développement", diff --git a/x-pack/plugins/translations/translations/ja-JP.json b/x-pack/plugins/translations/translations/ja-JP.json index 22956f832c5bc..f7fe9e893d3d6 100644 --- a/x-pack/plugins/translations/translations/ja-JP.json +++ b/x-pack/plugins/translations/translations/ja-JP.json @@ -10124,12 +10124,10 @@ "xpack.csp.benchmarks.benchmarkEmptyState.integrationsNotFoundForNameTitle": " \"{name}\"", "xpack.csp.benchmarks.totalIntegrationsCountMessage": "{pageCount}/{totalCount, plural, other {#個の統合}}を表示しています", "xpack.csp.cloudPosturePage.errorRenderer.errorDescription": "{error} {statusCode}: {body}", - "xpack.csp.complianceDashboard.complianceByCisSection.complianceColumnTooltip": "{passed}/{total}", "xpack.csp.dashboard.benchmarkSection.clusterTitle": "{title} - {shortId}", "xpack.csp.dashboard.benchmarkSection.clusterTitleTooltip.clusterTitle": "{title} - {shortId}", "xpack.csp.dashboard.benchmarkSection.lastEvaluatedTitle": "前回の評価{dateFromNow}", "xpack.csp.findings.distributionBar.showingPageOfTotalLabel": "{total}件中{pageStart}-{pageEnd}件の{type}を表示しています", - "xpack.csp.findings.findingsByResourceTable.failedFindingsToolTip": "{total}件中{failed}件", "xpack.csp.findings.findingsTableCell.addFilterButton": "{field}フィルターを追加", "xpack.csp.findings.findingsTableCell.addNegateFilterButton": "{field}否定フィルターを追加", "xpack.csp.findings.resourceFindings.resourceFindingsPageTitle": "{resourceName} - 調査結果", @@ -10163,7 +10161,6 @@ "xpack.csp.createPackagePolicy.customAssetsTab.rulesViewLabel": "CSPルールを表示 ", "xpack.csp.cspEvaluationBadge.failLabel": "失敗", "xpack.csp.cspEvaluationBadge.passLabel": "合格", - "xpack.csp.cspSettings.rules": "CSPセキュリティルール - ", "xpack.csp.dashboard.benchmarkSection.clusterTitleTooltip.clusterPrefixTitle": "すべての調査結果を表示 ", "xpack.csp.dashboard.benchmarkSection.defaultClusterTitle": "クラスターID", "xpack.csp.dashboard.benchmarkSection.manageRulesButton": "ルールの管理", @@ -10187,7 +10184,6 @@ "xpack.csp.findings.findingsByResource.noFindingsTitle": "調査結果はありません", "xpack.csp.findings.findingsByResource.tableRowTypeLabel": "リソース", "xpack.csp.findings.findingsByResourceTable.cisSectionsColumnLabel": "CISセクション", - "xpack.csp.findings.findingsByResourceTable.failedFindingsColumnLabel": "失敗した調査結果", "xpack.csp.findings.findingsErrorToast.searchFailedTitle": "検索失敗", "xpack.csp.findings.findingsFlyout.jsonTabTitle": "JSON", "xpack.csp.findings.findingsFlyout.overviewTab.actualTitle": "実際", @@ -10229,7 +10225,6 @@ "xpack.csp.findings.findingsTable.findingsTableColumn.resourceTypeColumnLabel": "リソースタイプ", "xpack.csp.findings.findingsTable.findingsTableColumn.resultColumnLabel": "結果", "xpack.csp.findings.findingsTable.findingsTableColumn.ruleBenchmarkColumnLabel": "ベンチマーク", - "xpack.csp.findings.findingsTable.findingsTableColumn.ruleColumnLabel": "ルール", "xpack.csp.findings.findingsTable.findingsTableColumn.ruleSectionColumnLabel": "CISセクション", "xpack.csp.findings.groupBySelector.groupByLabel": "グループ分けの条件", "xpack.csp.findings.groupBySelector.groupByNoneLabel": "なし", @@ -18098,7 +18093,6 @@ "xpack.lens.indexPattern.cumulativeSumOf": "{name}の累積和", "xpack.lens.indexPattern.dateHistogram.autoLongerExplanation": "間隔を選択するために、Lensでは、指定された時間範囲が{targetBarSetting}詳細設定で分割され、データに最適な間隔が計算されます。たとえば、時間範囲が4日の場合、データは1時間のバケットに分割されます。バーの最大数を設定するには、{maxBarSetting}詳細設定を使用します。", "xpack.lens.indexPattern.dateHistogram.restrictedInterval": "集約の制限により間隔は {intervalValue} に固定されています。", - "xpack.lens.indexPattern.dateHistogramTimeShift": "単一のレイヤーでは、前の時間範囲シフトと日付ヒストグラムを結合できません。\"{column}\"で明示的な時間シフト期間を使用するか、日付ヒストグラムを置換してください。", "xpack.lens.indexPattern.derivativeOf": "{name} の差異", "xpack.lens.indexPattern.fieldNoOperation": "フィールド{field}は演算なしで使用できません", "xpack.lens.indexPattern.fieldsNotFound": "{count, plural, other {個のフィールド}} {missingFields} {count, plural, other {が}}見つかりません", @@ -36175,7 +36169,6 @@ "cases.components.status.inProgress": "進行中", "cases.components.status.open": "開く", "devTools.badge.betaLabel": "ベータ", - "devTools.badge.betaTooltipText": "この機能は将来のリリースで大幅に変更される可能性があります", "devTools.badge.readOnly.text": "読み取り専用", "devTools.badge.readOnly.tooltip": "を保存できませんでした", "devTools.breadcrumb.homeLabel": "開発ツール", diff --git a/x-pack/plugins/translations/translations/zh-CN.json b/x-pack/plugins/translations/translations/zh-CN.json index 565b78843a818..64b94583cc67f 100644 --- a/x-pack/plugins/translations/translations/zh-CN.json +++ b/x-pack/plugins/translations/translations/zh-CN.json @@ -10139,12 +10139,10 @@ "xpack.csp.benchmarks.benchmarkEmptyState.integrationsNotFoundForNameTitle": " 对于“{name}”", "xpack.csp.benchmarks.totalIntegrationsCountMessage": "正在显示 {pageCount}/{totalCount, plural, other {# 个集成}}", "xpack.csp.cloudPosturePage.errorRenderer.errorDescription": "{error} {statusCode}:{body}", - "xpack.csp.complianceDashboard.complianceByCisSection.complianceColumnTooltip": "{passed}/{total}", "xpack.csp.dashboard.benchmarkSection.clusterTitle": "{title} - {shortId}", "xpack.csp.dashboard.benchmarkSection.clusterTitleTooltip.clusterTitle": "{title} - {shortId}", "xpack.csp.dashboard.benchmarkSection.lastEvaluatedTitle": "上次评估于 {dateFromNow}", "xpack.csp.findings.distributionBar.showingPageOfTotalLabel": "正在显示第 {pageStart}-{pageEnd} 个(共 {total} 个){type}", - "xpack.csp.findings.findingsByResourceTable.failedFindingsToolTip": "{failed} 个(共 {total} 个)", "xpack.csp.findings.findingsTableCell.addFilterButton": "添加 {field} 筛选", "xpack.csp.findings.findingsTableCell.addNegateFilterButton": "添加 {field} 作废筛选", "xpack.csp.findings.resourceFindings.resourceFindingsPageTitle": "{resourceName} - 结果", @@ -10178,7 +10176,6 @@ "xpack.csp.createPackagePolicy.customAssetsTab.rulesViewLabel": "查看 CSP 规则 ", "xpack.csp.cspEvaluationBadge.failLabel": "失败", "xpack.csp.cspEvaluationBadge.passLabel": "通过", - "xpack.csp.cspSettings.rules": "CSP 安全规则 - ", "xpack.csp.dashboard.benchmarkSection.clusterTitleTooltip.clusterPrefixTitle": "显示以下所有结果 ", "xpack.csp.dashboard.benchmarkSection.defaultClusterTitle": "集群 ID", "xpack.csp.dashboard.benchmarkSection.manageRulesButton": "管理规则", @@ -10202,7 +10199,6 @@ "xpack.csp.findings.findingsByResource.noFindingsTitle": "无结果", "xpack.csp.findings.findingsByResource.tableRowTypeLabel": "资源", "xpack.csp.findings.findingsByResourceTable.cisSectionsColumnLabel": "CIS 部分", - "xpack.csp.findings.findingsByResourceTable.failedFindingsColumnLabel": "失败的结果", "xpack.csp.findings.findingsErrorToast.searchFailedTitle": "搜索失败", "xpack.csp.findings.findingsFlyout.jsonTabTitle": "JSON", "xpack.csp.findings.findingsFlyout.overviewTab.actualTitle": "实际", @@ -10244,7 +10240,6 @@ "xpack.csp.findings.findingsTable.findingsTableColumn.resourceTypeColumnLabel": "资源类型", "xpack.csp.findings.findingsTable.findingsTableColumn.resultColumnLabel": "结果", "xpack.csp.findings.findingsTable.findingsTableColumn.ruleBenchmarkColumnLabel": "基准", - "xpack.csp.findings.findingsTable.findingsTableColumn.ruleColumnLabel": "规则", "xpack.csp.findings.findingsTable.findingsTableColumn.ruleSectionColumnLabel": "CIS 部分", "xpack.csp.findings.groupBySelector.groupByLabel": "分组依据", "xpack.csp.findings.groupBySelector.groupByNoneLabel": "无", @@ -18121,7 +18116,6 @@ "xpack.lens.indexPattern.cumulativeSumOf": "{name} 的累计和", "xpack.lens.indexPattern.dateHistogram.autoLongerExplanation": "要选择时间间隔,Lens 会按 {targetBarSetting} 高级设置分割指定的时间范围,并为您的数据计算最佳时间间隔。例如,当时间间隔为 4 天时,数据将分割为每小时存储桶。要配置最大条形数,请使用 {maxBarSetting} 高级设置。", "xpack.lens.indexPattern.dateHistogram.restrictedInterval": "由于聚合限制,时间间隔固定为 {intervalValue}。", - "xpack.lens.indexPattern.dateHistogramTimeShift": "在单个图层中,您无法组合上一时间范围偏移与 Date Histogram。在“{column}”中使用显式时间偏移持续时间,或替换 Date Histogram。", "xpack.lens.indexPattern.derivativeOf": "{name} 的差异", "xpack.lens.indexPattern.fieldNoOperation": "没有运算,无法使用字段 {field}", "xpack.lens.indexPattern.fieldsNotFound": "找不到{count, plural, other {字段}} {missingFields} {count, plural, other {}}", @@ -36211,7 +36205,6 @@ "cases.components.status.inProgress": "进行中", "cases.components.status.open": "打开", "devTools.badge.betaLabel": "公测版", - "devTools.badge.betaTooltipText": "此功能在未来的版本中可能会变化很大", "devTools.badge.readOnly.text": "只读", "devTools.badge.readOnly.tooltip": "无法保存", "devTools.breadcrumb.homeLabel": "开发工具", diff --git a/x-pack/plugins/triggers_actions_ui/public/application/sections/alerts_table/alerts_table.test.tsx b/x-pack/plugins/triggers_actions_ui/public/application/sections/alerts_table/alerts_table.test.tsx index d283526c9b55b..6b0d289050f51 100644 --- a/x-pack/plugins/triggers_actions_ui/public/application/sections/alerts_table/alerts_table.test.tsx +++ b/x-pack/plugins/triggers_actions_ui/public/application/sections/alerts_table/alerts_table.test.tsx @@ -322,7 +322,7 @@ describe('AlertsTable', () => { fireEvent.click((await screen.findAllByTestId('testActionColumn'))[0]); // the callback given to our clients to run when they want to update the loading state - mockedFn.mock.calls[0][3](true); + mockedFn.mock.calls[0][0].setIsActionLoading(true); expect(await screen.findAllByTestId('row-loader')).toHaveLength(1); const selectedOptions = await screen.findAllByTestId('dataGridRowCell'); @@ -351,7 +351,7 @@ describe('AlertsTable', () => { fireEvent.click((await screen.findAllByTestId('testActionColumn'))[0]); // the callback given to our clients to run when they want to update the loading state - mockedFn.mock.calls[0][3](false); + mockedFn.mock.calls[0][0].setIsActionLoading(false); expect(screen.queryByTestId('row-loader')).not.toBeInTheDocument(); }); diff --git a/x-pack/plugins/triggers_actions_ui/public/application/sections/alerts_table/alerts_table.tsx b/x-pack/plugins/triggers_actions_ui/public/application/sections/alerts_table/alerts_table.tsx index 288ca1f625954..22b3d4f87008e 100644 --- a/x-pack/plugins/triggers_actions_ui/public/application/sections/alerts_table/alerts_table.tsx +++ b/x-pack/plugins/triggers_actions_ui/public/application/sections/alerts_table/alerts_table.tsx @@ -173,12 +173,12 @@ const AlertsTable: React.FunctionComponent = (props: AlertsTab )} {renderCustomActionsRow && alerts[visibleRowIndex] && - renderCustomActionsRow( - alerts[visibleRowIndex], - handleFlyoutAlert, - props.id, - getSetIsActionLoadingCallback(visibleRowIndex) - )} + renderCustomActionsRow({ + alert: alerts[visibleRowIndex], + setFlyoutAlert: handleFlyoutAlert, + id: props.id, + setIsActionLoading: getSetIsActionLoadingCallback(visibleRowIndex), + })} ); }, diff --git a/x-pack/plugins/triggers_actions_ui/public/types.ts b/x-pack/plugins/triggers_actions_ui/public/types.ts index d35db04f58b88..a9ccf210abe38 100644 --- a/x-pack/plugins/triggers_actions_ui/public/types.ts +++ b/x-pack/plugins/triggers_actions_ui/public/types.ts @@ -518,13 +518,15 @@ export interface BulkActionsConfig { ) => void; } +export interface RenderCustomActionsRowArgs { + alert: EcsFieldsResponse; + setFlyoutAlert: (data: unknown) => void; + id?: string; + setIsActionLoading?: (isLoading: boolean) => void; +} + export type UseActionsColumnRegistry = () => { - renderCustomActionsRow: ( - alert: EcsFieldsResponse, - setFlyoutAlert: (data: unknown) => void, - id?: string, - setIsActionLoading?: (isLoading: boolean) => void - ) => JSX.Element; + renderCustomActionsRow: (args: RenderCustomActionsRowArgs) => JSX.Element; width?: number; }; diff --git a/x-pack/test/alerting_api_integration/common/config.ts b/x-pack/test/alerting_api_integration/common/config.ts index 2f70ad5902483..6ee90026d9821 100644 --- a/x-pack/test/alerting_api_integration/common/config.ts +++ b/x-pack/test/alerting_api_integration/common/config.ts @@ -185,6 +185,7 @@ export function createTestConfig(name: string, options: CreateTestConfigOptions) `--xpack.alerting.rules.run.actions.connectorTypeOverrides=${JSON.stringify([ { id: 'test.capped', max: '1' }, ])}`, + `--xpack.alerting.enableFrameworkAlerts=true`, `--xpack.actions.enabledActionTypes=${JSON.stringify(enabledActionTypes)}`, `--xpack.actions.rejectUnauthorized=${rejectUnauthorized}`, `--xpack.actions.microsoftGraphApiUrl=${servers.kibana.protocol}://${servers.kibana.hostname}:${servers.kibana.port}/api/_actions-FTS-external-service-simulators/exchange/users/test@/sendMail`, diff --git a/x-pack/test/alerting_api_integration/common/plugins/alerts/server/alert_types.ts b/x-pack/test/alerting_api_integration/common/plugins/alerts/server/alert_types.ts index 0c8390ca938dc..3c2880d69f776 100644 --- a/x-pack/test/alerting_api_integration/common/plugins/alerts/server/alert_types.ts +++ b/x-pack/test/alerting_api_integration/common/plugins/alerts/server/alert_types.ts @@ -92,6 +92,27 @@ function getAlwaysFiringAlertType() { context: [{ name: 'instanceContextValue', description: 'the instance context value' }], }, executor: curry(alwaysFiringExecutor)(), + alerts: { + context: 'test.always-firing', + fieldMap: { + instance_state_value: { + required: false, + type: 'boolean', + }, + instance_params_value: { + required: false, + type: 'boolean', + }, + instance_context_value: { + required: false, + type: 'boolean', + }, + group_in_series_index: { + required: false, + type: 'long', + }, + }, + }, }; return result; } diff --git a/x-pack/test/alerting_api_integration/spaces_only/tests/alerting/alerts_as_data.ts b/x-pack/test/alerting_api_integration/spaces_only/tests/alerting/alerts_as_data.ts new file mode 100644 index 0000000000000..13cb9bcd337f9 --- /dev/null +++ b/x-pack/test/alerting_api_integration/spaces_only/tests/alerting/alerts_as_data.ts @@ -0,0 +1,176 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor 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 { alertFieldMap } from '@kbn/alerting-plugin/common/alert_schema'; +import { mappingFromFieldMap } from '@kbn/alerting-plugin/common/alert_schema/field_maps/mapping_from_field_map'; +import expect from '@kbn/expect'; +import { FtrProviderContext } from '../../../common/ftr_provider_context'; + +// eslint-disable-next-line import/no-default-export +export default function createAlertsAsDataTest({ getService }: FtrProviderContext) { + const es = getService('es'); + const commonFrameworkMappings = mappingFromFieldMap(alertFieldMap, 'strict'); + + describe('alerts as data', () => { + it('should install common alerts as data resources on startup', async () => { + const ilmPolicyName = 'alerts-default-ilm-policy'; + const componentTemplateName = 'alerts-common-component-template'; + + const commonIlmPolicy = await es.ilm.getLifecycle({ + name: ilmPolicyName, + }); + + expect(commonIlmPolicy[ilmPolicyName].policy).to.eql({ + _meta: { + managed: true, + }, + phases: { + hot: { + min_age: '0ms', + actions: { + rollover: { + max_age: '30d', + max_primary_shard_size: '50gb', + }, + }, + }, + }, + }); + + const { component_templates: componentTemplates } = await es.cluster.getComponentTemplate({ + name: componentTemplateName, + }); + + expect(componentTemplates.length).to.eql(1); + const commonComponentTemplate = componentTemplates[0]; + + expect(commonComponentTemplate.name).to.eql(componentTemplateName); + expect(commonComponentTemplate.component_template.template.mappings).to.eql( + commonFrameworkMappings + ); + expect(commonComponentTemplate.component_template.template.settings).to.eql({ + index: { + number_of_shards: 1, + mapping: { + total_fields: { + limit: 100, + }, + }, + }, + }); + }); + + it('should install context specific alerts as data resources on startup', async () => { + const componentTemplateName = 'alerts-test.always-firing-component-template'; + const indexTemplateName = '.alerts-test.always-firing-default-template'; + const indexName = '.alerts-test.always-firing-default-000001'; + const contextSpecificMappings = { + instance_params_value: { + type: 'boolean', + }, + instance_state_value: { + type: 'boolean', + }, + instance_context_value: { + type: 'boolean', + }, + group_in_series_index: { + type: 'long', + }, + }; + + const { component_templates: componentTemplates } = await es.cluster.getComponentTemplate({ + name: componentTemplateName, + }); + expect(componentTemplates.length).to.eql(1); + const contextComponentTemplate = componentTemplates[0]; + expect(contextComponentTemplate.name).to.eql(componentTemplateName); + expect(contextComponentTemplate.component_template.template.mappings).to.eql({ + dynamic: 'strict', + properties: contextSpecificMappings, + }); + expect(contextComponentTemplate.component_template.template.settings).to.eql({ + index: { + number_of_shards: 1, + mapping: { + total_fields: { + limit: 100, + }, + }, + }, + }); + + const { index_templates: indexTemplates } = await es.indices.getIndexTemplate({ + name: indexTemplateName, + }); + expect(indexTemplates.length).to.eql(1); + const contextIndexTemplate = indexTemplates[0]; + expect(contextIndexTemplate.name).to.eql(indexTemplateName); + expect(contextIndexTemplate.index_template.index_patterns).to.eql([ + '.alerts-test.always-firing-default-*', + ]); + expect(contextIndexTemplate.index_template.composed_of).to.eql([ + 'alerts-common-component-template', + 'alerts-test.always-firing-component-template', + ]); + expect(contextIndexTemplate.index_template.template!.mappings).to.eql({ + dynamic: false, + }); + expect(contextIndexTemplate.index_template.template!.settings).to.eql({ + index: { + lifecycle: { + name: 'alerts-default-ilm-policy', + rollover_alias: '.alerts-test.always-firing-default', + }, + mapping: { + total_fields: { + limit: '2500', + }, + }, + hidden: 'true', + auto_expand_replicas: '0-1', + }, + }); + + const contextIndex = await es.indices.get({ + index: indexName, + }); + + expect(contextIndex[indexName].aliases).to.eql({ + '.alerts-test.always-firing-default': { + is_write_index: true, + }, + }); + + expect(contextIndex[indexName].mappings).to.eql({ + dynamic: 'false', + properties: { + ...contextSpecificMappings, + ...commonFrameworkMappings.properties, + }, + }); + + expect(contextIndex[indexName].settings?.index?.lifecycle).to.eql({ + name: 'alerts-default-ilm-policy', + rollover_alias: '.alerts-test.always-firing-default', + }); + + expect(contextIndex[indexName].settings?.index?.mapping).to.eql({ + total_fields: { + limit: '2500', + }, + }); + + expect(contextIndex[indexName].settings?.index?.hidden).to.eql('true'); + expect(contextIndex[indexName].settings?.index?.number_of_shards).to.eql(1); + expect(contextIndex[indexName].settings?.index?.auto_expand_replicas).to.eql('0-1'); + expect(contextIndex[indexName].settings?.index?.provided_name).to.eql( + '.alerts-test.always-firing-default-000001' + ); + }); + }); +} diff --git a/x-pack/test/alerting_api_integration/spaces_only/tests/alerting/index.ts b/x-pack/test/alerting_api_integration/spaces_only/tests/alerting/index.ts index 9f3faf1d3a5fa..d7da90cf56df4 100644 --- a/x-pack/test/alerting_api_integration/spaces_only/tests/alerting/index.ts +++ b/x-pack/test/alerting_api_integration/spaces_only/tests/alerting/index.ts @@ -53,6 +53,7 @@ export default function alertingTests({ loadTestFile, getService }: FtrProviderC loadTestFile(require.resolve('./run_soon')); loadTestFile(require.resolve('./flapping_history')); loadTestFile(require.resolve('./check_registered_rule_types')); + loadTestFile(require.resolve('./alerts_as_data')); // Do not place test files here, due to https://github.com/elastic/kibana/issues/123059 // note that this test will destroy existing spaces diff --git a/x-pack/test/apm_api_integration/tests/mobile/mobile_http_requests_chart.spec.ts b/x-pack/test/apm_api_integration/tests/mobile/mobile_http_requests_timeseries.spec.ts similarity index 78% rename from x-pack/test/apm_api_integration/tests/mobile/mobile_http_requests_chart.spec.ts rename to x-pack/test/apm_api_integration/tests/mobile/mobile_http_requests_timeseries.spec.ts index 33467b486704f..451a3d803d8c6 100644 --- a/x-pack/test/apm_api_integration/tests/mobile/mobile_http_requests_chart.spec.ts +++ b/x-pack/test/apm_api_integration/tests/mobile/mobile_http_requests_timeseries.spec.ts @@ -51,8 +51,8 @@ export default function ApiTest({ getService }: FtrProviderContext) { describe('when no data', () => { it('handles empty state', async () => { const response = await getHttpRequestsChart({ serviceName: 'foo' }); - expect(response.body.currentPeriod).to.eql([]); - expect(response.body.previousPeriod).to.eql([]); + expect(response.body.currentPeriod.timeseries).to.eql([]); + expect(response.body.previousPeriod.timeseries).to.eql([]); expect(response.status).to.be(200); }); }); @@ -75,11 +75,9 @@ export default function ApiTest({ getService }: FtrProviderContext) { expect(response.status).to.be(200); expect( - response.body.currentPeriod.some( - (item: { x: number; y?: number | null }) => item.y === 0 && item.x - ) + response.body.currentPeriod.timeseries.some((item) => item.y === 0 && item.x) ).to.eql(true); - expect(response.body.previousPeriod[0].y).to.eql(0); + expect(response.body.previousPeriod.timeseries[0].y).to.eql(0); }); it('returns only current period timeseries when offset is not available', async () => { @@ -87,13 +85,11 @@ export default function ApiTest({ getService }: FtrProviderContext) { expect(response.status).to.be(200); expect( - response.body.currentPeriod.some( - (item: { x: number; y?: number | null }) => item.y === 0 && item.x - ) + response.body.currentPeriod.timeseries.some((item) => item.y === 0 && item.x) ).to.eql(true); - expect(response.body.currentPeriod[0].y).to.eql(0); - expect(response.body.previousPeriod).to.eql([]); + expect(response.body.currentPeriod.timeseries[0].y).to.eql(0); + expect(response.body.previousPeriod.timeseries).to.eql([]); }); }); @@ -106,16 +102,8 @@ export default function ApiTest({ getService }: FtrProviderContext) { }); expect(response.status).to.be(200); - expect( - response.body.currentPeriod.every( - (item: { x: number; y?: number | null }) => item.y === 0 - ) - ).to.eql(true); - expect( - response.body.previousPeriod.every( - (item: { x: number; y?: number | null }) => item.y === 0 - ) - ).to.eql(true); + expect(response.body.currentPeriod.timeseries.every((item) => item.y === 0)).to.eql(true); + expect(response.body.previousPeriod.timeseries.every((item) => item.y === 0)).to.eql(true); }); it('returns the correct values when filter is applied', async () => { @@ -133,8 +121,8 @@ export default function ApiTest({ getService }: FtrProviderContext) { expect(response.status).to.be(200); expect(ntcCell.status).to.be(200); - expect(response.body.currentPeriod[0].y).to.eql(0); - expect(ntcCell.body.currentPeriod[0].y).to.eql(0); + expect(response.body.currentPeriod.timeseries[0].y).to.eql(0); + expect(ntcCell.body.currentPeriod.timeseries[0].y).to.eql(0); }); }); }); diff --git a/x-pack/test/apm_api_integration/tests/mobile/mobile_sessions_chart.spec.ts b/x-pack/test/apm_api_integration/tests/mobile/mobile_sessions_timeseries.spec.ts similarity index 71% rename from x-pack/test/apm_api_integration/tests/mobile/mobile_sessions_chart.spec.ts rename to x-pack/test/apm_api_integration/tests/mobile/mobile_sessions_timeseries.spec.ts index fe3c9863af8d5..aeb6122cd7d16 100644 --- a/x-pack/test/apm_api_integration/tests/mobile/mobile_sessions_chart.spec.ts +++ b/x-pack/test/apm_api_integration/tests/mobile/mobile_sessions_timeseries.spec.ts @@ -51,8 +51,8 @@ export default function ApiTest({ getService }: FtrProviderContext) { describe('when no data', () => { it('handles empty state', async () => { const response = await getSessionsChart({ serviceName: 'foo' }); - expect(response.body.currentPeriod).to.eql([]); - expect(response.body.previousPeriod).to.eql([]); + expect(response.body.currentPeriod.timeseries).to.eql([]); + expect(response.body.previousPeriod.timeseries).to.eql([]); expect(response.status).to.be(200); }); }); @@ -74,28 +74,24 @@ export default function ApiTest({ getService }: FtrProviderContext) { const response = await getSessionsChart({ serviceName: 'synth-android', offset: '1d' }); expect(response.status).to.be(200); - expect( - response.body.currentPeriod.some( - (item: { x: number; y?: number | null }) => item.x && item.y - ) - ).to.eql(true); - - expect(response.body.currentPeriod[0].y).to.eql(8); - expect(response.body.previousPeriod[0].y).to.eql(0); + expect(response.body.currentPeriod.timeseries.some((item) => item.x && item.y)).to.eql( + true + ); + + expect(response.body.currentPeriod.timeseries[0].y).to.eql(2); + expect(response.body.previousPeriod.timeseries[0].y).to.eql(0); }); it('returns only current period timeseries when offset is not available', async () => { const response = await getSessionsChart({ serviceName: 'synth-android' }); expect(response.status).to.be(200); - expect( - response.body.currentPeriod.some( - (item: { x: number; y?: number | null }) => item.x && item.y - ) - ).to.eql(true); - - expect(response.body.currentPeriod[0].y).to.eql(8); - expect(response.body.previousPeriod).to.eql([]); + expect(response.body.currentPeriod.timeseries.some((item) => item.x && item.y)).to.eql( + true + ); + + expect(response.body.currentPeriod.timeseries[0].y).to.eql(2); + expect(response.body.previousPeriod.timeseries).to.eql([]); }); }); @@ -107,16 +103,8 @@ export default function ApiTest({ getService }: FtrProviderContext) { kuery: `app.version:"none"`, }); - expect( - response.body.currentPeriod.every( - (item: { x: number; y?: number | null }) => item.y === 0 - ) - ).to.eql(true); - expect( - response.body.previousPeriod.every( - (item: { x: number; y?: number | null }) => item.y === 0 - ) - ).to.eql(true); + expect(response.body.currentPeriod.timeseries.every((item) => item.y === 0)).to.eql(true); + expect(response.body.previousPeriod.timeseries.every((item) => item.y === 0)).to.eql(true); }); it('returns the correct values filter is applied', async () => { @@ -127,14 +115,12 @@ export default function ApiTest({ getService }: FtrProviderContext) { }); expect(response.status).to.be(200); - expect( - response.body.currentPeriod.some( - (item: { x: number; y?: number | null }) => item.x && item.y - ) - ).to.eql(true); - - expect(response.body.currentPeriod[0].y).to.eql(2); - expect(response.body.previousPeriod).to.eql([]); + expect(response.body.currentPeriod.timeseries.some((item) => item.x && item.y)).to.eql( + true + ); + + expect(response.body.currentPeriod.timeseries[0].y).to.eql(2); + expect(response.body.previousPeriod.timeseries).to.eql([]); }); }); }); diff --git a/x-pack/test/apm_api_integration/tests/mobile/mobile_stats.spec.ts b/x-pack/test/apm_api_integration/tests/mobile/mobile_stats.spec.ts index 32ff956a70007..77508a34d7ddd 100644 --- a/x-pack/test/apm_api_integration/tests/mobile/mobile_stats.spec.ts +++ b/x-pack/test/apm_api_integration/tests/mobile/mobile_stats.spec.ts @@ -54,21 +54,12 @@ export default function ApiTest({ getService }: FtrProviderContext) { describe('when no data', () => { it('handles empty state', async () => { const response = await getMobileStats({ serviceName: 'foo' }); - expect(response).to.eql({ - sessions: { - timeseries: [], - }, - requests: { - timeseries: [], - }, - maxLoadTime: { - timeseries: [], - }, - crashCount: { - value: 0, - timeseries: [], - }, - }); + expect(response.currentPeriod.sessions.timeseries.every((item) => item.y === 0)).to.eql( + true + ); + expect(response.currentPeriod.requests.timeseries.every((item) => item.y === 0)).to.eql( + true + ); }); }); }); @@ -95,19 +86,13 @@ export default function ApiTest({ getService }: FtrProviderContext) { }); it('returns same sessions', () => { - const { value, timeseries } = response.sessions; - const timeseriesTotal = sumBy(timeseries, 'y'); - expect(value).to.be(timeseriesTotal); - }); - - it('returns same crashCount', () => { - const { value, timeseries } = response.crashCount; + const { value, timeseries } = response.currentPeriod.sessions; const timeseriesTotal = sumBy(timeseries, 'y'); expect(value).to.be(timeseriesTotal); }); it('returns same requests', () => { - const { value, timeseries } = response.requests; + const { value, timeseries } = response.currentPeriod.requests; const timeseriesTotal = sumBy(timeseries, 'y'); expect(value).to.be(timeseriesTotal); }); @@ -121,49 +106,36 @@ export default function ApiTest({ getService }: FtrProviderContext) { kuery: `app.version:"none"`, }); - expect(response).to.eql({ - sessions: { - value: 0, - timeseries: [], - }, - requests: { - value: 0, - timeseries: [], - }, - maxLoadTime: { - value: null, - timeseries: [], - }, - crashCount: { - value: 0, - timeseries: [], - }, - }); + expect(response.currentPeriod.sessions.value).to.eql(0); + expect(response.currentPeriod.requests.value).to.eql(0); + + expect(response.currentPeriod.sessions.timeseries.every((item) => item.y === 0)).to.eql( + true + ); + expect(response.currentPeriod.requests.timeseries.every((item) => item.y === 0)).to.eql( + true + ); }); it('returns the correct values when single filter is applied', async () => { const response = await getMobileStats({ serviceName: 'synth-android', environment: 'production', - kuery: `network.connection.type:"wifi"`, + kuery: `service.version:"1.0"`, }); - expect(response.sessions.value).to.eql(3); - expect(response.requests.value).to.eql(0); - expect(response.crashCount.value).to.eql(0); - expect(response.maxLoadTime.value).to.eql(null); + expect(response.currentPeriod.sessions.value).to.eql(6); + expect(response.currentPeriod.requests.value).to.eql(0); }); it('returns the correct values when multiple filters are applied', async () => { const response = await getMobileStats({ serviceName: 'synth-android', - kuery: `app.version:"1.0" and environment: "production"`, + kuery: `service.version:"1.0" and service.environment: "production"`, }); - expect(response.sessions.value).to.eql(0); - expect(response.requests.value).to.eql(0); - expect(response.crashCount.value).to.eql(0); - expect(response.maxLoadTime.value).to.eql(null); + expect(response.currentPeriod.sessions.value).to.eql(6); + expect(response.currentPeriod.requests.value).to.eql(0); }); }); }); diff --git a/x-pack/test/cloud_security_posture_functional/pages/findings.ts b/x-pack/test/cloud_security_posture_functional/pages/findings.ts index 3cfbc0234388a..afba99a5542ed 100644 --- a/x-pack/test/cloud_security_posture_functional/pages/findings.ts +++ b/x-pack/test/cloud_security_posture_functional/pages/findings.ts @@ -88,7 +88,7 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) { await filterBar.addFilter({ field: 'rule.name', operation: 'is', value: ruleName1 }); expect(await filterBar.hasFilter('rule.name', ruleName1)).to.be(true); - expect(await table.hasColumnValue('Rule', ruleName1)).to.be(true); + expect(await table.hasColumnValue('Rule Name', ruleName1)).to.be(true); }); it('remove filter', async () => { @@ -102,8 +102,8 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) { await queryBar.setQuery(ruleName1); await queryBar.submitQuery(); - expect(await table.hasColumnValue('Rule', ruleName1)).to.be(true); - expect(await table.hasColumnValue('Rule', ruleName2)).to.be(false); + expect(await table.hasColumnValue('Rule Name', ruleName1)).to.be(true); + expect(await table.hasColumnValue('Rule Name', ruleName2)).to.be(false); await queryBar.setQuery(''); await queryBar.submitQuery(); @@ -114,18 +114,18 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) { describe('Table Filters', () => { it('add cell value filter', async () => { - await table.addCellFilter('Rule', ruleName1, false); + await table.addCellFilter('Rule Name', ruleName1, false); expect(await filterBar.hasFilter('rule.name', ruleName1)).to.be(true); - expect(await table.hasColumnValue('Rule', ruleName1)).to.be(true); + expect(await table.hasColumnValue('Rule Name', ruleName1)).to.be(true); }); it('add negated cell value filter', async () => { - await table.addCellFilter('Rule', ruleName1, true); + await table.addCellFilter('Rule Name', ruleName1, true); expect(await filterBar.hasFilter('rule.name', ruleName1, true, false, true)).to.be(true); - expect(await table.hasColumnValue('Rule', ruleName1)).to.be(false); - expect(await table.hasColumnValue('Rule', ruleName2)).to.be(true); + expect(await table.hasColumnValue('Rule Name', ruleName1)).to.be(false); + expect(await table.hasColumnValue('Rule Name', ruleName2)).to.be(true); await filterBar.removeFilter('rule.name'); }); @@ -147,8 +147,8 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) { const testCases: TestCase[] = [ ['CIS Section', 'asc', sortByAlphabeticalOrder], ['CIS Section', 'desc', sortByAlphabeticalOrder], - ['Cluster ID', 'asc', compareStringByLexicographicOrder], - ['Cluster ID', 'desc', compareStringByLexicographicOrder], + ['Resource ID', 'asc', compareStringByLexicographicOrder], + ['Resource ID', 'desc', compareStringByLexicographicOrder], ['Resource Name', 'asc', sortByAlphabeticalOrder], ['Resource Name', 'desc', sortByAlphabeticalOrder], ['Resource Type', 'asc', sortByAlphabeticalOrder], diff --git a/x-pack/test/functional_execution_context/test_utils.ts b/x-pack/test/functional_execution_context/test_utils.ts index 6cf1af27b0bb2..65d0d7ece02c4 100644 --- a/x-pack/test/functional_execution_context/test_utils.ts +++ b/x-pack/test/functional_execution_context/test_utils.ts @@ -9,17 +9,26 @@ import Path from 'path'; import { isEqualWith } from 'lodash'; import type { Ecs, KibanaExecutionContext } from '@kbn/core/server'; import type { RetryService } from '@kbn/ftr-common-functional-services'; +import { concatMap, defer, filter, firstValueFrom, ReplaySubject, scan, timeout } from 'rxjs'; export const logFilePath = Path.resolve(__dirname, './kibana.log'); export const ANY = Symbol('any'); +let logstream$: ReplaySubject | undefined; + +export function getExecutionContextFromLogRecord(record: Ecs | undefined): KibanaExecutionContext { + if (record?.log?.logger !== 'execution_context' || !record?.message) { + throw new Error(`The record is not an entry of execution context`); + } + return JSON.parse(record.message); +} + export function isExecutionContextLog( - record: string | undefined, + record: Ecs | undefined, executionContext: KibanaExecutionContext ) { - if (!record) return false; try { - const object = JSON.parse(record); + const object = getExecutionContextFromLogRecord(record); return isEqualWith(object, executionContext, function customizer(obj1: any, obj2: any) { if (obj2 === ANY) return true; }); @@ -41,12 +50,89 @@ export async function assertLogContains({ }): Promise { // logs are written to disk asynchronously. I sacrificed performance to reduce flakiness. await retry.waitFor(description, async () => { - const logsStr = await Fs.readFile(logFilePath, 'utf-8'); - const normalizedRecords = logsStr - .split(endOfLine) - .filter(Boolean) - .map((s) => JSON.parse(s)); - - return normalizedRecords.some(predicate); + if (!logstream$) { + logstream$ = getLogstream$(); + } + try { + await firstValueFrom(logstream$.pipe(filter(predicate), timeout(5_000))); + return true; + } catch (err) { + return false; + } }); } + +/** + * Creates an observable that continuously tails the log file. + */ +function getLogstream$(): ReplaySubject { + const stream$ = new ReplaySubject(); + + defer(async function* () { + const fd = await Fs.open(logFilePath, 'rs'); + while (!stream$.isStopped) { + const { bytesRead, buffer } = await fd.read(); + if (bytesRead) { + yield buffer.toString('utf8', 0, bytesRead); + } + } + await fd.close(); + }) + .pipe( + scan( + ({ buffer }, chunk) => { + const logString = buffer.concat(chunk); + const lines = logString.split(endOfLine); + const lastLine = lines.pop(); + const records = lines.map((s) => JSON.parse(s)); + + let leftover = ''; + if (lastLine) { + try { + const validRecord = JSON.parse(lastLine); + records.push(validRecord); + } catch (err) { + leftover = lastLine; + } + } + + return { buffer: leftover, records }; + }, + { + records: [], // The ECS entries in the logs + buffer: '', // Accumulated leftovers from the previous operation + } + ), + concatMap(({ records }) => records) + ) + .subscribe(stream$); + + // let the content start flowing + stream$.subscribe(); + + return stream$; +} + +export function closeLogstream() { + logstream$?.complete(); + logstream$ = undefined; +} + +/** + * Truncates the log file to avoid tests looking at the logs from previous executions. + */ +export async function clearLogFile() { + closeLogstream(); + await Fs.writeFile(logFilePath, '', 'utf8'); + await forceSyncLogFile(); + logstream$ = getLogstream$(); +} + +/** + * Force the completion of all the pending I/O operations in the OS related to the log file. + */ +export async function forceSyncLogFile() { + const fileDescriptor = await Fs.open(logFilePath); + await fileDescriptor.datasync(); + await fileDescriptor.close(); +} diff --git a/x-pack/test/functional_execution_context/tests/browser.ts b/x-pack/test/functional_execution_context/tests/browser.ts index aa990dccda86c..085fae8ed0d6a 100644 --- a/x-pack/test/functional_execution_context/tests/browser.ts +++ b/x-pack/test/functional_execution_context/tests/browser.ts @@ -5,15 +5,15 @@ * 2.0. */ +import type { Ecs, KibanaExecutionContext } from '@kbn/core/server'; import type { FtrProviderContext } from '../ftr_provider_context'; -import { assertLogContains, isExecutionContextLog } from '../test_utils'; +import { assertLogContains, forceSyncLogFile, isExecutionContextLog } from '../test_utils'; export default function ({ getService, getPageObjects }: FtrProviderContext) { - const PageObjects = getPageObjects(['common', 'dashboard', 'header', 'home']); + const PageObjects = getPageObjects(['common', 'dashboard', 'header', 'home', 'timePicker']); const retry = getService('retry'); - // FLAKY: https://github.com/elastic/kibana/issues/125743 - describe.skip('Browser apps', () => { + describe('Browser apps', () => { before(async () => { await PageObjects.common.navigateToUrl('home', '/tutorial_directory/sampleData', { useActualUrl: true, @@ -33,42 +33,78 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { describe('discover app', () => { before(async () => { await PageObjects.common.navigateToApp('discover'); + await PageObjects.timePicker.setCommonlyUsedTime('Last_7 days'); await PageObjects.header.waitUntilLoadingHasFinished(); + await forceSyncLogFile(); }); - it('propagates context for Discover', async () => { - await assertLogContains({ - description: 'execution context propagates to Elasticsearch via "x-opaque-id" header', - predicate: (record) => - Boolean(record.http?.request?.id?.includes('kibana:application:discover')), - retry, + function checkExecutionContextEntry(expectedExecutionContext: KibanaExecutionContext) { + return (record: Ecs) => + isExecutionContextLog(record, expectedExecutionContext) || + isExecutionContextLog(record, { + ...expectedExecutionContext, + // There is a race condition that makes these 2 fields to show up some times + page: 'app', + id: 'new', + }); + } + + describe('propagates context for Discover', () => { + it('propagates to Elasticsearch via "x-opaque-id" header', async () => { + await assertLogContains({ + description: 'execution context propagates to Elasticsearch via "x-opaque-id" header', + predicate: (record) => + Boolean(record.http?.request?.id?.includes('kibana:application:discover')), + retry, + }); }); - await assertLogContains({ - description: 'execution context propagates to Kibana logs', - predicate: (record) => - isExecutionContextLog(record?.message, { - description: 'fetch documents', - id: '', - name: 'discover', + it('propagates to Kibana logs (fetch documents)', async () => { + await assertLogContains({ + description: 'execution context propagates to Kibana logs (fetch documents)', + predicate: checkExecutionContextEntry({ type: 'application', - // discovery doesn't have an URL since one of from the example dataset is not saved separately + name: 'discover', url: '/app/discover', + child: { + name: 'discover', + url: '/app/discover', + type: 'application', + page: 'app', + id: 'new', + description: 'fetch documents', + }, }), - retry, + retry, + }); }); - await assertLogContains({ - description: 'execution context propagates to Kibana logs', - predicate: (record) => - isExecutionContextLog(record?.message, { - description: 'fetch chart data and total hits', - id: '', - name: 'discover', + it('propagates to Kibana logs (fetch chart data and total hits)', async () => { + await assertLogContains({ + description: + 'execution context propagates to Kibana logs (fetch chart data and total hits)', + predicate: checkExecutionContextEntry({ type: 'application', + name: 'discover', url: '/app/discover', + child: { + name: 'discover', + url: '/app/discover', + type: 'application', + page: 'app', + id: 'new', + description: 'fetch chart data and total hits', + child: { + type: 'lens', + name: 'lnsXY', + id: 'unifiedHistogramLensComponent', + description: 'Edit visualization', + url: '/app/lens#/edit_by_value', + }, + }, }), - retry, + retry, + }); }); }); }); @@ -77,305 +113,398 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { before(async () => { await PageObjects.common.navigateToApp('dashboard'); await PageObjects.dashboard.loadSavedDashboard('[Flights] Global Flight Dashboard'); + await PageObjects.timePicker.setCommonlyUsedTime('Last_7 days'); await PageObjects.dashboard.waitForRenderComplete(); await PageObjects.header.waitUntilLoadingHasFinished(); + await forceSyncLogFile(); }); + function checkHttpRequestId(suffix: string) { + return (record: Ecs): boolean => + Boolean( + [ + 'kibana:application:dashboards:7adfa750-4c81-11e8-b3d7-01146121b73d;', + // Race conditions may miss the dashboard ID at the top level + 'kibana:application:dashboards:;', + // Race conditions may assign the dashboard type to the top level + 'kibana:dashboard:dashboards:7adfa750-4c81-11e8-b3d7-01146121b73d;', + ].some((prefix) => record.http?.request?.id?.includes(`${prefix}${suffix}`)) + ); + } + + function checkExecutionContextEntry(expectedExecutionContext: KibanaExecutionContext) { + return (record: Ecs) => + isExecutionContextLog(record, expectedExecutionContext) || + isExecutionContextLog(record, { ...expectedExecutionContext, page: 'list' }) || + isExecutionContextLog(record, { ...expectedExecutionContext, page: 'app' }) || + isExecutionContextLog(record, { + ...expectedExecutionContext, + // There is a race condition that makes this field to be missed sometimes + page: 'app', + id: '7adfa750-4c81-11e8-b3d7-01146121b73d', + }) || + isExecutionContextLog(record, { + ...expectedExecutionContext, + // There is a race condition that makes the top context to match the child one + page: 'app', + type: 'dashboard', + id: '7adfa750-4c81-11e8-b3d7-01146121b73d', + }) || + isExecutionContextLog(record, { + ...expectedExecutionContext, + // There is a race condition that makes the top context to match the child one + page: 'app', + type: 'dashboard', + id: '7adfa750-4c81-11e8-b3d7-01146121b73d', + description: '[Flights] Global Flight Dashboard', + }) || + // Some race conditions misses one nested step + (!!expectedExecutionContext.child && + isExecutionContextLog(record, expectedExecutionContext.child)); + } + describe('propagates context for Lens visualizations', () => { - it('lnsXY', async () => { - await assertLogContains({ - description: 'execution context propagates to Elasticsearch via "x-opaque-id" header', - predicate: (record) => - Boolean( - record.http?.request?.id?.includes( - 'kibana:application:dashboard:7adfa750-4c81-11e8-b3d7-01146121b73d;lens:lnsXY:086ac2e9-dd16-4b45-92b8-1e43ff7e3f65' - ) + describe('lnsXY', () => { + it('propagates to Elasticsearch via "x-opaque-id" header', async () => { + await assertLogContains({ + description: 'execution context propagates to Elasticsearch via "x-opaque-id" header', + predicate: checkHttpRequestId( + 'dashboard:dashboards:7adfa750-4c81-11e8-b3d7-01146121b73d;lens:lnsXY:086ac2e9-dd16-4b45-92b8-1e43ff7e3f65' ), - retry, + retry, + }); }); - await assertLogContains({ - description: 'execution context propagates to Kibana logs', - predicate: (record) => - isExecutionContextLog(record?.message, { + it('propagates to Kibana logs', async () => { + await assertLogContains({ + description: 'execution context propagates to Kibana logs', + predicate: checkExecutionContextEntry({ type: 'application', - name: 'dashboard', - id: '7adfa750-4c81-11e8-b3d7-01146121b73d', - description: '[Flights] Global Flight Dashboard', - url: '/view/7adfa750-4c81-11e8-b3d7-01146121b73d', + name: 'dashboards', + url: '/app/dashboards', child: { - type: 'lens', - name: 'lnsXY', - id: '086ac2e9-dd16-4b45-92b8-1e43ff7e3f65', - description: '[Flights] Flight count', - url: '/app/lens#/edit_by_value', + name: 'dashboards', + url: '/app/dashboards', + type: 'dashboard', + page: 'app', + id: '7adfa750-4c81-11e8-b3d7-01146121b73d', + description: '[Flights] Global Flight Dashboard', + child: { + type: 'lens', + name: 'lnsXY', + id: '086ac2e9-dd16-4b45-92b8-1e43ff7e3f65', + description: '[Flights] Flight count', + url: '/app/lens#/edit_by_value', + }, }, }), - retry, + retry, + }); }); }); - it('lnsMetric', async () => { - await assertLogContains({ - description: 'execution context propagates to Elasticsearch via "x-opaque-id" header', - predicate: (record) => - Boolean( - record.http?.request?.id?.includes( - 'kibana:application:dashboard:7adfa750-4c81-11e8-b3d7-01146121b73d;lens:lnsMetric:b766e3b8-4544-46ed-99e6-9ecc4847e2a2' - ) + describe('lnsMetric', () => { + it('propagates to Elasticsearch via "x-opaque-id" header', async () => { + await assertLogContains({ + description: 'execution context propagates to Elasticsearch via "x-opaque-id" header', + predicate: checkHttpRequestId( + 'dashboard:dashboards:7adfa750-4c81-11e8-b3d7-01146121b73d;lens:lnsLegacyMetric:b766e3b8-4544-46ed-99e6-9ecc4847e2a2' ), - retry, + retry, + }); }); - await assertLogContains({ - description: 'execution context propagates to Kibana logs', - predicate: (record) => - isExecutionContextLog(record?.message, { + it('propagates to Kibana logs', async () => { + await assertLogContains({ + description: 'execution context propagates to Kibana logs', + predicate: checkExecutionContextEntry({ + name: 'dashboards', + url: '/app/dashboards', type: 'application', - name: 'dashboard', - id: '7adfa750-4c81-11e8-b3d7-01146121b73d', - description: '[Flights] Global Flight Dashboard', - url: '/view/7adfa750-4c81-11e8-b3d7-01146121b73d', child: { - type: 'lens', - name: 'lnsMetric', - id: '2e33ade5-96e5-40b4-b460-493e5d4fa834', - description: '', - url: '/app/lens#/edit_by_value', + name: 'dashboards', + url: '/app/dashboards', + type: 'dashboard', + page: 'app', + id: '7adfa750-4c81-11e8-b3d7-01146121b73d', + description: '[Flights] Global Flight Dashboard', + child: { + type: 'lens', + name: 'lnsLegacyMetric', + id: 'b766e3b8-4544-46ed-99e6-9ecc4847e2a2', + description: '', + url: '/app/lens#/edit_by_value', + }, }, }), - retry, + retry, + }); }); }); - it('lnsDatatable', async () => { - await assertLogContains({ - description: 'execution context propagates to Elasticsearch via "x-opaque-id" header', - predicate: (record) => - Boolean( - record.http?.request?.id?.includes( - 'kibana:application:dashboard:7adfa750-4c81-11e8-b3d7-01146121b73d;lens:lnsDatatable:fb86b32f-fb7a-45cf-9511-f366fef51bbd' - ) + describe('lnsDatatable', () => { + it('propagates to Elasticsearch via "x-opaque-id" header', async () => { + await assertLogContains({ + description: 'execution context propagates to Elasticsearch via "x-opaque-id" header', + predicate: checkHttpRequestId( + 'dashboard:dashboards:7adfa750-4c81-11e8-b3d7-01146121b73d;lens:lnsDatatable:fb86b32f-fb7a-45cf-9511-f366fef51bbd' ), - retry, + retry, + }); }); - await assertLogContains({ - description: 'execution context propagates to Kibana logs', - predicate: (record) => - isExecutionContextLog(record?.message, { + it('propagates to Kibana logs', async () => { + await assertLogContains({ + description: 'execution context propagates to Kibana logs', + predicate: checkExecutionContextEntry({ + name: 'dashboards', + url: '/app/dashboards', type: 'application', - name: 'dashboard', - id: '7adfa750-4c81-11e8-b3d7-01146121b73d', - description: '[Flights] Global Flight Dashboard', - url: '/view/7adfa750-4c81-11e8-b3d7-01146121b73d', child: { - type: 'lens', - name: 'lnsDatatable', - id: 'fb86b32f-fb7a-45cf-9511-f366fef51bbd', - description: 'Cities by delay, cancellation', - url: '/app/lens#/edit_by_value', + name: 'dashboards', + url: '/app/dashboards', + type: 'dashboard', + page: 'app', + id: '7adfa750-4c81-11e8-b3d7-01146121b73d', + description: '[Flights] Global Flight Dashboard', + child: { + type: 'lens', + name: 'lnsDatatable', + id: 'fb86b32f-fb7a-45cf-9511-f366fef51bbd', + description: 'Cities by delay, cancellation', + url: '/app/lens#/edit_by_value', + }, }, }), - retry, + retry, + }); }); }); - it('lnsPie', async () => { - await assertLogContains({ - description: 'execution context propagates to Elasticsearch via "x-opaque-id" header', - predicate: (record) => - Boolean( - record.http?.request?.id?.includes( - 'kibana:application:dashboard:7adfa750-4c81-11e8-b3d7-01146121b73d;lens:lnsPie:5d53db36-2d5a-4adc-af7b-cec4c1a294e0' - ) + describe('lnsPie', () => { + it('propagates to Elasticsearch via "x-opaque-id" header', async () => { + await assertLogContains({ + description: 'execution context propagates to Elasticsearch via "x-opaque-id" header', + predicate: checkHttpRequestId( + 'dashboard:dashboards:7adfa750-4c81-11e8-b3d7-01146121b73d;lens:lnsPie:5d53db36-2d5a-4adc-af7b-cec4c1a294e0' ), - retry, + retry, + }); }); - await assertLogContains({ - description: 'execution context propagates to Kibana logs', - predicate: (record) => - isExecutionContextLog(record?.message, { + + it('propagates to Kibana logs', async () => { + await assertLogContains({ + description: 'execution context propagates to Kibana logs', + predicate: checkExecutionContextEntry({ + name: 'dashboards', + url: '/app/dashboards', type: 'application', - name: 'dashboard', - id: '7adfa750-4c81-11e8-b3d7-01146121b73d', - description: '[Flights] Global Flight Dashboard', - url: '/view/7adfa750-4c81-11e8-b3d7-01146121b73d', child: { - type: 'lens', - name: 'lnsPie', - id: '5d53db36-2d5a-4adc-af7b-cec4c1a294e0', - description: '[Flights] Delay Type', - url: '/app/lens#/edit_by_value', + name: 'dashboards', + url: '/app/dashboards', + type: 'dashboard', + page: 'app', + id: '7adfa750-4c81-11e8-b3d7-01146121b73d', + description: '[Flights] Global Flight Dashboard', + child: { + type: 'lens', + name: 'lnsPie', + id: '5d53db36-2d5a-4adc-af7b-cec4c1a294e0', + description: '[Flights] Delay Type', + url: '/app/lens#/edit_by_value', + }, }, }), - retry, + retry, + }); }); }); }); - it('propagates context for built-in Discover', async () => { - await assertLogContains({ - description: 'execution context propagates to Elasticsearch via "x-opaque-id" header', - predicate: (record) => - Boolean( - record.http?.request?.id?.includes( - 'application:dashboard:7adfa750-4c81-11e8-b3d7-01146121b73d;search:discover:571aaf70-4c88-11e8-b3d7-01146121b73d' - ) + describe('propagates context for built-in Discover', () => { + it('propagates to Elasticsearch via "x-opaque-id" header', async () => { + await assertLogContains({ + description: 'execution context propagates to Elasticsearch via "x-opaque-id" header', + predicate: checkHttpRequestId( + 'dashboard:dashboards:7adfa750-4c81-11e8-b3d7-01146121b73d;search:discover:571aaf70-4c88-11e8-b3d7-01146121b73d' ), - retry, + retry, + }); }); - await assertLogContains({ - description: 'execution context propagates to Kibana logs', - predicate: (record) => - isExecutionContextLog(record?.message, { + + it('propagates to Kibana logs', async () => { + await assertLogContains({ + description: 'execution context propagates to Kibana logs', + predicate: checkExecutionContextEntry({ type: 'application', - name: 'dashboard', - id: '7adfa750-4c81-11e8-b3d7-01146121b73d', - description: '[Flights] Global Flight Dashboard', - url: '/view/7adfa750-4c81-11e8-b3d7-01146121b73d', + name: 'dashboards', + url: '/app/dashboards', child: { - type: 'search', - name: 'discover', - id: '571aaf70-4c88-11e8-b3d7-01146121b73d', - description: '[Flights] Flight Log', - url: '/app/discover#/view/571aaf70-4c88-11e8-b3d7-01146121b73d', + type: 'dashboard', + name: 'dashboards', + url: '/app/dashboards', + page: 'app', + id: '7adfa750-4c81-11e8-b3d7-01146121b73d', + description: '[Flights] Global Flight Dashboard', + child: { + type: 'search', + name: 'discover', + id: '571aaf70-4c88-11e8-b3d7-01146121b73d', + description: '[Flights] Flight Log', + url: '/app/discover#/view/571aaf70-4c88-11e8-b3d7-01146121b73d', + }, }, }), - retry, + retry, + }); }); }); - it('propagates context for TSVB visualizations', async () => { - await assertLogContains({ - description: 'execution context propagates to Elasticsearch via "x-opaque-id" header', - predicate: (record) => - Boolean( - record.http?.request?.id?.includes( - 'kibana:application:dashboard:7adfa750-4c81-11e8-b3d7-01146121b73d;visualization:metrics:bcb63b50-4c89-11e8-b3d7-01146121b73d' - ) - ), - retry, + describe('propagates context for TSVB visualizations', () => { + it('propagates to Elasticsearch via "x-opaque-id" header', async () => { + await assertLogContains({ + description: 'execution context propagates to Elasticsearch via "x-opaque-id" header', + predicate: checkHttpRequestId('agg_based:metrics:bcb63b50-4c89-11e8-b3d7-01146121b73d'), + retry, + }); }); - await assertLogContains({ - description: 'execution context propagates to Kibana logs', - predicate: (record) => - isExecutionContextLog(record?.message, { + it('propagates to Kibana logs', async () => { + await assertLogContains({ + description: 'execution context propagates to Kibana logs', + predicate: checkExecutionContextEntry({ + name: 'dashboards', + url: '/app/dashboards', type: 'application', - name: 'dashboard', - id: '7adfa750-4c81-11e8-b3d7-01146121b73d', + page: 'app', description: '[Flights] Global Flight Dashboard', - url: '/view/7adfa750-4c81-11e8-b3d7-01146121b73d', child: { - type: 'visualization', + type: 'agg_based', name: 'metrics', id: 'bcb63b50-4c89-11e8-b3d7-01146121b73d', description: '[Flights] Delays & Cancellations', url: '/app/visualize#/edit/bcb63b50-4c89-11e8-b3d7-01146121b73d', }, }), - retry, + retry, + }); }); }); - // application:dashboard:7adfa750-4c81-11e8-b3d7-01146121b73d;visualization:vega:ed78a660-53a0-11e8-acbd-0be0ad9d822b - it('propagates context for Vega visualizations', async () => { - await assertLogContains({ - description: 'execution context propagates to Elasticsearch via "x-opaque-id" header', - predicate: (record) => - Boolean( - record.http?.request?.id?.includes( - 'kibana:application:dashboard:7adfa750-4c81-11e8-b3d7-01146121b73d;visualization:vega:ed78a660-53a0-11e8-acbd-0be0ad9d822b' - ) + describe('propagates context for Vega visualizations', () => { + it('propagates to Elasticsearch via "x-opaque-id" header', async () => { + await assertLogContains({ + description: 'execution context propagates to Elasticsearch via "x-opaque-id" header', + predicate: checkHttpRequestId( + 'dashboard:dashboards:7adfa750-4c81-11e8-b3d7-01146121b73d;agg_based:vega:ed78a660-53a0-11e8-acbd-0be0ad9d822b' ), - retry, + retry, + }); }); - await assertLogContains({ - description: 'execution context propagates to Kibana logs', - predicate: (record) => - isExecutionContextLog(record?.message, { + it('propagates to Kibana logs', async () => { + await assertLogContains({ + description: 'execution context propagates to Kibana logs', + predicate: checkExecutionContextEntry({ + name: 'dashboards', + url: '/app/dashboards', type: 'application', - name: 'dashboard', - id: '7adfa750-4c81-11e8-b3d7-01146121b73d', - description: '[Flights] Global Flight Dashboard', - url: '/view/7adfa750-4c81-11e8-b3d7-01146121b73d', child: { - type: 'visualization', - name: 'vega', - id: 'ed78a660-53a0-11e8-acbd-0be0ad9d822b', - description: '[Flights] Airport Connections (Hover Over Airport)', - url: '/app/visualize#/edit/ed78a660-53a0-11e8-acbd-0be0ad9d822b', + name: 'dashboards', + url: '/app/dashboards', + type: 'dashboard', + page: 'app', + id: '7adfa750-4c81-11e8-b3d7-01146121b73d', + description: '[Flights] Global Flight Dashboard', + child: { + type: 'agg_based', + name: 'vega', + id: 'ed78a660-53a0-11e8-acbd-0be0ad9d822b', + description: '[Flights] Airport Connections (Hover Over Airport)', + url: '/app/visualize#/edit/ed78a660-53a0-11e8-acbd-0be0ad9d822b', + }, }, }), - retry, + retry, + }); }); }); - it('propagates context for Tag Cloud visualization', async () => { - await assertLogContains({ - description: 'execution context propagates to Elasticsearch via "x-opaque-id" header', - predicate: (record) => - Boolean( - record.http?.request?.id?.includes( - 'kibana:application:dashboard:7adfa750-4c81-11e8-b3d7-01146121b73d;visualization:tagcloud:293b5a30-4c8f-11e8-b3d7-01146121b73d' - ) + describe('propagates context for Tag Cloud visualization', () => { + it('propagates to Elasticsearch via "x-opaque-id" header', async () => { + await assertLogContains({ + description: 'execution context propagates to Elasticsearch via "x-opaque-id" header', + predicate: checkHttpRequestId( + 'dashboard:dashboards:7adfa750-4c81-11e8-b3d7-01146121b73d;agg_based:tagcloud:293b5a30-4c8f-11e8-b3d7-01146121b73d' ), - retry, + retry, + }); }); - await assertLogContains({ - description: 'execution context propagates to Kibana logs', - predicate: (record) => - isExecutionContextLog(record?.message, { + it('propagates to Kibana logs', async () => { + await assertLogContains({ + description: 'execution context propagates to Kibana logs', + predicate: checkExecutionContextEntry({ + name: 'dashboards', + url: '/app/dashboards', type: 'application', - name: 'dashboard', - id: '7adfa750-4c81-11e8-b3d7-01146121b73d', - description: '[Flights] Global Flight Dashboard', - url: '/view/7adfa750-4c81-11e8-b3d7-01146121b73d', child: { - type: 'visualization', - name: 'tagcloud', - id: '293b5a30-4c8f-11e8-b3d7-01146121b73d', - description: '[Flights] Destination Weather', - url: '/app/visualize#/edit/293b5a30-4c8f-11e8-b3d7-01146121b73d', + name: 'dashboards', + url: '/app/dashboards', + type: 'dashboard', + page: 'app', + id: '7adfa750-4c81-11e8-b3d7-01146121b73d', + description: '[Flights] Global Flight Dashboard', + child: { + type: 'agg_based', + name: 'tagcloud', + id: '293b5a30-4c8f-11e8-b3d7-01146121b73d', + description: '[Flights] Destination Weather', + url: '/app/visualize#/edit/293b5a30-4c8f-11e8-b3d7-01146121b73d', + }, }, }), - retry, + retry, + }); }); }); - it('propagates context for Vertical bar visualization', async () => { - await assertLogContains({ - description: 'execution context propagates to Elasticsearch via "x-opaque-id" header', - predicate: (record) => - Boolean( - record.http?.request?.id?.includes( - 'kibana:application:dashboard:7adfa750-4c81-11e8-b3d7-01146121b73d;visualization:histogram:9886b410-4c8b-11e8-b3d7-01146121b73d' - ) + describe('propagates context for Vertical bar visualization', () => { + it('propagates to Elasticsearch via "x-opaque-id" header', async () => { + await assertLogContains({ + description: 'execution context propagates to Elasticsearch via "x-opaque-id" header', + predicate: checkHttpRequestId( + 'dashboard:dashboards:7adfa750-4c81-11e8-b3d7-01146121b73d;agg_based:histogram:9886b410-4c8b-11e8-b3d7-01146121b73d' ), - retry, + retry, + }); }); - await assertLogContains({ - description: 'execution context propagates to Kibana logs', - predicate: (record) => - isExecutionContextLog(record?.message, { + it('propagates to Kibana logs', async () => { + await assertLogContains({ + description: 'execution context propagates to Kibana logs', + predicate: checkExecutionContextEntry({ type: 'application', - name: 'dashboard', - id: '7adfa750-4c81-11e8-b3d7-01146121b73d', - description: '[Flights] Global Flight Dashboard', - url: '/view/7adfa750-4c81-11e8-b3d7-01146121b73d', + name: 'dashboards', + url: '/app/dashboards', child: { - type: 'visualization', - name: 'histogram', - id: '9886b410-4c8b-11e8-b3d7-01146121b73d', - description: '[Flights] Delay Buckets', - url: '/app/visualize#/edit/9886b410-4c8b-11e8-b3d7-01146121b73d', + type: 'dashboard', + name: 'dashboards', + url: '/app/dashboards', + page: 'app', + id: '7adfa750-4c81-11e8-b3d7-01146121b73d', + description: '[Flights] Global Flight Dashboard', + child: { + type: 'agg_based', + name: 'histogram', + id: '9886b410-4c8b-11e8-b3d7-01146121b73d', + description: '[Flights] Delay Buckets', + url: '/app/visualize#/edit/9886b410-4c8b-11e8-b3d7-01146121b73d', + }, }, }), - retry, + retry, + }); }); }); }); diff --git a/x-pack/test/functional_execution_context/tests/index.ts b/x-pack/test/functional_execution_context/tests/index.ts index 2c34783a9bae3..ac83d4246bb8c 100644 --- a/x-pack/test/functional_execution_context/tests/index.ts +++ b/x-pack/test/functional_execution_context/tests/index.ts @@ -6,9 +6,19 @@ */ import { FtrProviderContext } from '../ftr_provider_context'; +import { clearLogFile, closeLogstream } from '../test_utils'; export default function ({ loadTestFile }: FtrProviderContext) { describe('Execution context', function () { + before(async () => { + // Cleaning the log file used for the tests to avoid false positives caused by previous runs. + // If any of the tests rely on logs generating during bootstrap, we might need to change this. + await clearLogFile(); + }); + after(() => { + closeLogstream(); + }); + loadTestFile(require.resolve('./browser')); loadTestFile(require.resolve('./server')); loadTestFile(require.resolve('./log_correlation')); diff --git a/x-pack/test/functional_execution_context/tests/log_correlation.ts b/x-pack/test/functional_execution_context/tests/log_correlation.ts index fddaf282b7a7f..35585f092bbcf 100644 --- a/x-pack/test/functional_execution_context/tests/log_correlation.ts +++ b/x-pack/test/functional_execution_context/tests/log_correlation.ts @@ -6,7 +6,7 @@ */ import expect from '@kbn/expect'; import type { FtrProviderContext } from '../ftr_provider_context'; -import { assertLogContains } from '../test_utils'; +import { assertLogContains, forceSyncLogFile } from '../test_utils'; export default function ({ getService }: FtrProviderContext) { const retry = getService('retry'); @@ -24,12 +24,14 @@ export default function ({ getService }: FtrProviderContext) { expect(response2.body.traceId).not.to.be(response1.body.traceId); + await forceSyncLogFile(); + let responseTraceId: string | undefined; await assertLogContains({ description: 'traceId included in the http logs', predicate: (record) => { // we don't check trace.id value since trace.id in the test plugin and Kibana are different on CI. - // because different 'elastic-apm-node' instaces are imported + // because different 'elastic-apm-node' instances are imported if ( record.log?.logger === 'http.server.response' && record.url?.path === '/emit_log_with_trace_id' diff --git a/x-pack/test/functional_execution_context/tests/server.ts b/x-pack/test/functional_execution_context/tests/server.ts index 0973c32e9e0fb..097dc330c37ca 100644 --- a/x-pack/test/functional_execution_context/tests/server.ts +++ b/x-pack/test/functional_execution_context/tests/server.ts @@ -92,7 +92,7 @@ export default function ({ getService }: FtrProviderContext) { await assertLogContains({ description: 'execution context propagates to Kibana logs', predicate: (record) => - isExecutionContextLog(record?.message, { + isExecutionContextLog(record, { type: 'task manager', name: 'run alerting:test.executionContext', // @ts-expect-error. it accepts strings only @@ -132,7 +132,7 @@ export default function ({ getService }: FtrProviderContext) { await assertLogContains({ description: 'execution context propagates to Kibana logs', predicate: (record) => - isExecutionContextLog(record?.message, { + isExecutionContextLog(record, { type: 'usage_collection', name: 'collector.fetch', id: 'application_usage', diff --git a/x-pack/test/security_api_integration/tests/anonymous/login.ts b/x-pack/test/security_api_integration/tests/anonymous/login.ts index fe211fae7f7ff..7a8a4110c8fc8 100644 --- a/x-pack/test/security_api_integration/tests/anonymous/login.ts +++ b/x-pack/test/security_api_integration/tests/anonymous/login.ts @@ -168,9 +168,8 @@ export default function ({ getService }: FtrProviderContext) { expect(apiResponse.body.statusCode).to.be(401); expect(apiResponse.body.error).to.be('Unauthorized'); expect(apiResponse.body.message).to.include.string( - '[security_exception] Reason: unable to authenticate user [dummy_hacker] for REST request [/_security/_authenticate]' + 'unable to authenticate user [dummy_hacker] for REST request [/_security/_authenticate]' ); - expect(apiResponse.headers['set-cookie']).to.be(undefined); }); }); diff --git a/yarn.lock b/yarn.lock index eb2f9402c68e3..3bcf0a089a78d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1503,12 +1503,12 @@ dependencies: "@elastic/ecs-helpers" "^1.1.0" -"@elastic/elasticsearch@npm:@elastic/elasticsearch-canary@8.5.0-canary.1": - version "8.5.0-canary.1" - resolved "https://registry.yarnpkg.com/@elastic/elasticsearch-canary/-/elasticsearch-canary-8.5.0-canary.1.tgz#3e2f40bc2e58d4f1c1cc391b2d594db59c5e0cd8" - integrity sha512-WmiK5A04tUwpAdbPeLo9ONV/T6foYYa1EjGQFxTPmEPLyY9s0B14o1JAJ7OnzQe9qmDahSJksSA1xLr0LdutmA== +"@elastic/elasticsearch@npm:@elastic/elasticsearch-canary@8.6.0-canary.3": + version "8.6.0-canary.3" + resolved "https://registry.yarnpkg.com/@elastic/elasticsearch-canary/-/elasticsearch-canary-8.6.0-canary.3.tgz#dc518f5ae4bb502b08ff70e4d86fa7b859b3cbe3" + integrity sha512-NvTZrRT/d5mJZ46pDlbgdKVIhA7ac504IGVaf7OV/7wHDmXjm8d/cG2UeQd8v37zMplGq2/853uFWGlXXjD0lQ== dependencies: - "@elastic/transport" "^8.2.0" + "@elastic/transport" "^8.3.1" tslib "^2.4.0" "@elastic/ems-client@8.3.3": @@ -1680,17 +1680,17 @@ undici "^5.11.0" yaml "^2.1.3" -"@elastic/transport@^8.2.0": - version "8.2.0" - resolved "https://registry.yarnpkg.com/@elastic/transport/-/transport-8.2.0.tgz#f292cb79c918a36268dd853431e41f13544814ad" - integrity sha512-H/HmefMNQfLiBSVTmNExu2lYs5EzwipUnQB53WLr17RCTDaQX0oOLHcWpDsbKQSRhDAMPPzp5YZsZMJxuxPh7A== +"@elastic/transport@^8.3.1": + version "8.3.1" + resolved "https://registry.yarnpkg.com/@elastic/transport/-/transport-8.3.1.tgz#e7569d7df35b03108ea7aa886113800245faa17f" + integrity sha512-jv/Yp2VLvv5tSMEOF8iGrtL2YsYHbpf4s+nDsItxUTLFTzuJGpnsB/xBlfsoT2kAYEnWHiSJuqrbRcpXEI/SEQ== dependencies: debug "^4.3.4" hpagent "^1.0.0" ms "^2.1.3" secure-json-parse "^2.4.0" tslib "^2.4.0" - undici "^5.1.1" + undici "^5.5.1" "@emotion/babel-plugin-jsx-pragmatic@^0.2.0": version "0.2.0" @@ -15982,9 +15982,9 @@ hpack.js@^2.1.6: wbuf "^1.1.0" hpagent@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/hpagent/-/hpagent-1.0.0.tgz#c68f68b3df845687dbdc4896546713ce09cc6bee" - integrity sha512-SCleE2Uc1bM752ymxg8QXYGW0TWtAV4ZW3TqH1aOnyi6T6YW2xadCcclm5qeVjvMvfQ2RKNtZxO7uVb9CTPt1A== + version "1.2.0" + resolved "https://registry.yarnpkg.com/hpagent/-/hpagent-1.2.0.tgz#0ae417895430eb3770c03443456b8d90ca464903" + integrity sha512-A91dYTeIB6NoXG+PxTQpCCDDnfHsW9kc06Lvpu1TEe9gnd6ZFeiBoRO9JvzEv6xK7EX97/dUE8g/vBMTqTS3CA== html-element-map@^1.2.0: version "1.2.0" @@ -24535,9 +24535,9 @@ scss-tokenizer@^0.4.3: source-map "^0.7.3" secure-json-parse@^2.4.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/secure-json-parse/-/secure-json-parse-2.4.0.tgz#5aaeaaef85c7a417f76271a4f5b0cc3315ddca85" - integrity sha512-Q5Z/97nbON5t/L/sH6mY2EacfjVGwrCcSi5D3btRO2GZ8pf1K1UN7Z9H5J57hjVU2Qzxr1xO+FmBhOvEkzCMmg== + version "2.6.0" + resolved "https://registry.yarnpkg.com/secure-json-parse/-/secure-json-parse-2.6.0.tgz#95d89f84adf32d76ff7800e68a673b129fe918b0" + integrity sha512-B9osKohb6L+EZ6Kve3wHKfsAClzOC/iISA2vSuCe5Jx5NAKiwitfxx8ZKYapHXr0sYRj7UZInT7pLb3rp2Yx6A== seedrandom@^3.0.5: version "3.0.5" @@ -26627,11 +26627,16 @@ tslib@^1.10.0, tslib@^1.8.1, tslib@^1.9.0, tslib@^1.9.3: resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.13.0.tgz#c881e13cc7015894ed914862d276436fa9a47043" integrity sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q== -tslib@^2.0.0, tslib@^2.0.1, tslib@^2.0.3, tslib@^2.1.0, tslib@^2.2.0, tslib@^2.3.1, tslib@^2.4.0, tslib@~2.4.0: +tslib@^2.0.0, tslib@^2.0.1, tslib@^2.0.3, tslib@^2.1.0, tslib@^2.2.0, tslib@^2.3.1, tslib@~2.4.0: version "2.4.0" resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.0.tgz#7cecaa7f073ce680a05847aa77be941098f36dc3" integrity sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ== +tslib@^2.4.0: + version "2.4.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.1.tgz#0d0bfbaac2880b91e22df0768e55be9753a5b17e" + integrity sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA== + tslib@~2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.1.0.tgz#da60860f1c2ecaa5703ab7d39bc05b6bf988b97a" @@ -26802,13 +26807,20 @@ unc-path-regex@^0.1.2: resolved "https://registry.yarnpkg.com/unc-path-regex/-/unc-path-regex-0.1.2.tgz#e73dd3d7b0d7c5ed86fbac6b0ae7d8c6a69d50fa" integrity sha1-5z3T17DXxe2G+6xrCufYxqadUPo= -undici@^5.1.1, undici@^5.11.0: +undici@^5.11.0: version "5.11.0" resolved "https://registry.yarnpkg.com/undici/-/undici-5.11.0.tgz#1db25f285821828fc09d3804b9e2e934ae86fc13" integrity sha512-oWjWJHzFet0Ow4YZBkyiJwiK5vWqEYoH7BINzJAJOLedZ++JpAlCbUktW2GQ2DS2FpKmxD/JMtWUUWl1BtghGw== dependencies: busboy "^1.6.0" +undici@^5.5.1: + version "5.14.0" + resolved "https://registry.yarnpkg.com/undici/-/undici-5.14.0.tgz#1169d0cdee06a4ffdd30810f6228d57998884d00" + integrity sha512-yJlHYw6yXPPsuOH0x2Ib1Km61vu4hLiRRQoafs+WUgX1vO64vgnxiCEN9dpIrhZyHFsai3F0AEj4P9zy19enEQ== + dependencies: + busboy "^1.6.0" + unfetch@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/unfetch/-/unfetch-4.2.0.tgz#7e21b0ef7d363d8d9af0fb929a5555f6ef97a3be"