From c15d7692c6160bb670ea698809236f3f1ddfab7a Mon Sep 17 00:00:00 2001 From: Tomasz Ciecierski Date: Thu, 7 Sep 2023 14:51:37 +0200 Subject: [PATCH 01/57] [EDR Workflows] Add Endpoint OpenAPI specs (#165473) --- .../common/api/packs/packs.schema.yaml | 47 +++-- .../common/api/packs/update_packs.schema.yaml | 6 - .../api/saved_query/saved_query.schema.yaml | 7 +- .../update_saved_query.schema.yaml | 6 - .../api/endpoint/actions/actions.schema.yaml | 113 +++++++++++ .../actions/actions_status.schema.yaml | 27 +++ .../api/endpoint/actions/audit_log.gen.ts | 28 +++ .../endpoint/actions/audit_log.schema.yaml | 48 +++++ .../api/endpoint/actions/details.gen.ts | 18 ++ .../api/endpoint/actions/details.schema.yaml | 31 +++ .../api/endpoint/actions/execute.gen.ts | 25 +++ .../api/endpoint/actions/execute.schema.yaml | 42 ++++ .../api/endpoint/actions/file_download.gen.ts | 19 ++ .../actions/file_download.schema.yaml | 36 ++++ .../api/endpoint/actions/file_info.gen.ts | 19 ++ .../endpoint/actions/file_info.schema.yaml | 37 ++++ .../api/endpoint/actions/file_upload.gen.ts | 25 +++ .../endpoint/actions/file_upload.schema.yaml | 44 +++++ .../api/endpoint/actions/get_file.gen.ts | 24 +++ .../api/endpoint/actions/get_file.schema.yaml | 42 ++++ .../common/api/endpoint/actions/list.gen.ts | 40 ++++ .../api/endpoint/actions/list.schema.yaml | 50 +++++ .../endpoint/metadata/list_metadata.gen.ts | 41 ++++ .../metadata/list_metadata.schema.yaml | 54 +++++ .../endpoint/metadata/metadata.schema.yaml | 58 ++++++ .../api/endpoint/model/schema/common.gen.ts | 156 +++++++++++++++ .../endpoint/model/schema/common.schema.yaml | 184 ++++++++++++++++++ .../common/api/endpoint/policy/policy.gen.ts | 39 ++++ .../api/endpoint/policy/policy.schema.yaml | 52 +++++ .../suggestions/get_suggestions.gen.ts | 41 ++++ .../suggestions/get_suggestions.schema.yaml | 43 ++++ 31 files changed, 1368 insertions(+), 34 deletions(-) create mode 100644 x-pack/plugins/security_solution/common/api/endpoint/actions/actions.schema.yaml create mode 100644 x-pack/plugins/security_solution/common/api/endpoint/actions/actions_status.schema.yaml create mode 100644 x-pack/plugins/security_solution/common/api/endpoint/actions/audit_log.gen.ts create mode 100644 x-pack/plugins/security_solution/common/api/endpoint/actions/audit_log.schema.yaml create mode 100644 x-pack/plugins/security_solution/common/api/endpoint/actions/details.gen.ts create mode 100644 x-pack/plugins/security_solution/common/api/endpoint/actions/details.schema.yaml create mode 100644 x-pack/plugins/security_solution/common/api/endpoint/actions/execute.gen.ts create mode 100644 x-pack/plugins/security_solution/common/api/endpoint/actions/execute.schema.yaml create mode 100644 x-pack/plugins/security_solution/common/api/endpoint/actions/file_download.gen.ts create mode 100644 x-pack/plugins/security_solution/common/api/endpoint/actions/file_download.schema.yaml create mode 100644 x-pack/plugins/security_solution/common/api/endpoint/actions/file_info.gen.ts create mode 100644 x-pack/plugins/security_solution/common/api/endpoint/actions/file_info.schema.yaml create mode 100644 x-pack/plugins/security_solution/common/api/endpoint/actions/file_upload.gen.ts create mode 100644 x-pack/plugins/security_solution/common/api/endpoint/actions/file_upload.schema.yaml create mode 100644 x-pack/plugins/security_solution/common/api/endpoint/actions/get_file.gen.ts create mode 100644 x-pack/plugins/security_solution/common/api/endpoint/actions/get_file.schema.yaml create mode 100644 x-pack/plugins/security_solution/common/api/endpoint/actions/list.gen.ts create mode 100644 x-pack/plugins/security_solution/common/api/endpoint/actions/list.schema.yaml create mode 100644 x-pack/plugins/security_solution/common/api/endpoint/metadata/list_metadata.gen.ts create mode 100644 x-pack/plugins/security_solution/common/api/endpoint/metadata/list_metadata.schema.yaml create mode 100644 x-pack/plugins/security_solution/common/api/endpoint/metadata/metadata.schema.yaml create mode 100644 x-pack/plugins/security_solution/common/api/endpoint/model/schema/common.gen.ts create mode 100644 x-pack/plugins/security_solution/common/api/endpoint/model/schema/common.schema.yaml create mode 100644 x-pack/plugins/security_solution/common/api/endpoint/policy/policy.gen.ts create mode 100644 x-pack/plugins/security_solution/common/api/endpoint/policy/policy.schema.yaml create mode 100644 x-pack/plugins/security_solution/common/api/endpoint/suggestions/get_suggestions.gen.ts create mode 100644 x-pack/plugins/security_solution/common/api/endpoint/suggestions/get_suggestions.schema.yaml diff --git a/x-pack/plugins/osquery/common/api/packs/packs.schema.yaml b/x-pack/plugins/osquery/common/api/packs/packs.schema.yaml index 64e0ed0e4ffe..006e0ebd7528 100644 --- a/x-pack/plugins/osquery/common/api/packs/packs.schema.yaml +++ b/x-pack/plugins/osquery/common/api/packs/packs.schema.yaml @@ -43,25 +43,30 @@ paths: schema: $ref: './read_packs.schema.yaml#/components/schemas/SuccessResponse' delete: - summary: Delete packs - parameters: - - $ref: './delete_packs.schema.yaml#/components/parameters/DeletePacksRequestQueryParameter' - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: './find_packs.schema.yaml#/components/schemas/SuccessResponse' + summary: Delete packs + parameters: + - $ref: './delete_packs.schema.yaml#/components/parameters/DeletePacksRequestQueryParameter' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: './find_packs.schema.yaml#/components/schemas/SuccessResponse' put: - summary: Update packs - parameters: - - $ref: './update_packs.schema.yaml#/components/parameters/UpdatePacksRequestQueryBody' - - $ref: './update_packs.schema.yaml#/components/parameters/UpdatePacksRequestQueryParameter' - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: './update_packs.schema.yaml#/components/schemas/SuccessResponse' + summary: Update packs + requestBody: + required: true + content: + application/json: + schema: + $ref: './update_packs.schema.yaml#/components/schemas/UpdatePacksRequestBody' + parameters: + - $ref: './update_packs.schema.yaml#/components/parameters/UpdatePacksRequestQueryParameter' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: './update_packs.schema.yaml#/components/schemas/SuccessResponse' diff --git a/x-pack/plugins/osquery/common/api/packs/update_packs.schema.yaml b/x-pack/plugins/osquery/common/api/packs/update_packs.schema.yaml index 344cb88fad7d..0b0510b4773a 100644 --- a/x-pack/plugins/osquery/common/api/packs/update_packs.schema.yaml +++ b/x-pack/plugins/osquery/common/api/packs/update_packs.schema.yaml @@ -11,12 +11,6 @@ components: required: true schema: $ref: '#/components/schemas/UpdatePacksRequestParams' - UpdatePacksRequestQueryBody: - name: query - in: path - required: true - schema: - $ref: '#/components/schemas/UpdatePacksRequestBody' schemas: UpdatePacksRequestParams: type: object diff --git a/x-pack/plugins/osquery/common/api/saved_query/saved_query.schema.yaml b/x-pack/plugins/osquery/common/api/saved_query/saved_query.schema.yaml index 1cd832370c0c..d8cef82ac710 100644 --- a/x-pack/plugins/osquery/common/api/saved_query/saved_query.schema.yaml +++ b/x-pack/plugins/osquery/common/api/saved_query/saved_query.schema.yaml @@ -55,8 +55,13 @@ paths: $ref: './find_saved_query.schema.yaml#/components/schemas/SuccessResponse' put: summary: Update saved query + requestBody: + required: true + content: + application/json: + schema: + $ref: './update_saved_query.schema.yaml#/components/schemas/UpdateSavedQueryRequestBody' parameters: - - $ref: './update_saved_query.schema.yaml#/components/parameters/UpdateSavedQueryRequestQueryBody' - $ref: './update_saved_query.schema.yaml#/components/parameters/UpdateSavedQueryRequestQueryParameter' responses: '200': diff --git a/x-pack/plugins/osquery/common/api/saved_query/update_saved_query.schema.yaml b/x-pack/plugins/osquery/common/api/saved_query/update_saved_query.schema.yaml index c7004a72adee..b91359b5bbee 100644 --- a/x-pack/plugins/osquery/common/api/saved_query/update_saved_query.schema.yaml +++ b/x-pack/plugins/osquery/common/api/saved_query/update_saved_query.schema.yaml @@ -11,12 +11,6 @@ components: required: true schema: $ref: '#/components/schemas/UpdateSavedQueryRequestParams' - UpdateSavedQueryRequestQueryBody: - name: query - in: path - required: true - schema: - $ref: '#/components/schemas/UpdateSavedQueryRequestBody' schemas: UpdateSavedQueryRequestParams: type: object diff --git a/x-pack/plugins/security_solution/common/api/endpoint/actions/actions.schema.yaml b/x-pack/plugins/security_solution/common/api/endpoint/actions/actions.schema.yaml new file mode 100644 index 000000000000..206a29371535 --- /dev/null +++ b/x-pack/plugins/security_solution/common/api/endpoint/actions/actions.schema.yaml @@ -0,0 +1,113 @@ +openapi: 3.0.0 +info: + title: Endpoint Actions Schema + version: '2023-10-31' +paths: + /api/endpoint/action/state: + get: + summary: Get Action State schema + operationId: EndpointGetActionsState + x-codegen-enabled: false + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '../model/schema/common.schema.yaml#/components/schemas/SuccessResponse' + + /api/endpoint/action/running_procs: + post: + summary: Get Running Processes Action + operationId: EndpointGetRunningProcessesAction + x-codegen-enabled: false + requestBody: + required: true + content: + application/json: + schema: + $ref: '../model/schema/common.schema.yaml#/components/schemas/BaseActionSchema' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '../model/schema/common.schema.yaml#/components/schemas/SuccessResponse' + + /api/endpoint/action/isolate: + post: + summary: Isolate host Action + operationId: EndpointIsolateHostAction + x-codegen-enabled: false + requestBody: + required: true + content: + application/json: + schema: + $ref: '../model/schema/common.schema.yaml#/components/schemas/BaseActionSchema' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '../model/schema/common.schema.yaml#/components/schemas/SuccessResponse' + + /api/endpoint/action/unisolate: + post: + summary: Unisolate host Action + operationId: EndpointUnisolateHostAction + x-codegen-enabled: false + requestBody: + required: true + content: + application/json: + schema: + $ref: '../model/schema/common.schema.yaml#/components/schemas/BaseActionSchema' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '../model/schema/common.schema.yaml#/components/schemas/SuccessResponse' + + /api/endpoint/action/kill_process: + post: + summary: Kill process Action + operationId: EndpointKillProcessAction + x-codegen-enabled: false + requestBody: + required: true + content: + application/json: + schema: + $ref: '../model/schema/common.schema.yaml#/components/schemas/ProcessActionSchemas' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '../model/schema/common.schema.yaml#/components/schemas/SuccessResponse' + + + /api/endpoint/action/suspend_process: + post: + summary: Suspend process Action + operationId: EndpointSuspendProcessAction + x-codegen-enabled: false + requestBody: + required: true + content: + application/json: + schema: + $ref: '../model/schema/common.schema.yaml#/components/schemas/ProcessActionSchemas' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '../model/schema/common.schema.yaml#/components/schemas/SuccessResponse' diff --git a/x-pack/plugins/security_solution/common/api/endpoint/actions/actions_status.schema.yaml b/x-pack/plugins/security_solution/common/api/endpoint/actions/actions_status.schema.yaml new file mode 100644 index 000000000000..88f911a49a71 --- /dev/null +++ b/x-pack/plugins/security_solution/common/api/endpoint/actions/actions_status.schema.yaml @@ -0,0 +1,27 @@ +openapi: 3.0.0 +info: + title: Get Action status schema + version: '2023-10-31' +paths: + /api/endpoint/action_status: + get: + summary: Get Actions status schema + operationId: EndpointGetActionsStatus + x-codegen-enabled: false + parameters: + - name: query + in: query + required: true + schema: + type: object + properties: + agent_ids: + $ref: '../model/schema/common.schema.yaml#/components/schemas/AgentIds' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '../model/schema/common.schema.yaml#/components/schemas/SuccessResponse' + diff --git a/x-pack/plugins/security_solution/common/api/endpoint/actions/audit_log.gen.ts b/x-pack/plugins/security_solution/common/api/endpoint/actions/audit_log.gen.ts new file mode 100644 index 000000000000..a36476054dfd --- /dev/null +++ b/x-pack/plugins/security_solution/common/api/endpoint/actions/audit_log.gen.ts @@ -0,0 +1,28 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { z } from 'zod'; + +/* + * NOTICE: Do not edit this file manually. + * This file is automatically generated by the OpenAPI Generator `yarn openapi:generate`. + */ + +import { Page, PageSize, StartDate, EndDate, AgentId } from '../model/schema/common.gen'; + +export type AuditLogRequestQuery = z.infer; +export const AuditLogRequestQuery = z.object({ + page: Page.optional(), + page_size: PageSize.optional(), + start_date: StartDate.optional(), + end_date: EndDate.optional(), +}); + +export type AuditLogRequestParams = z.infer; +export const AuditLogRequestParams = z.object({ + agent_id: AgentId.optional(), +}); diff --git a/x-pack/plugins/security_solution/common/api/endpoint/actions/audit_log.schema.yaml b/x-pack/plugins/security_solution/common/api/endpoint/actions/audit_log.schema.yaml new file mode 100644 index 000000000000..7deb6dab317a --- /dev/null +++ b/x-pack/plugins/security_solution/common/api/endpoint/actions/audit_log.schema.yaml @@ -0,0 +1,48 @@ +openapi: 3.0.0 +info: + title: Audit Log Schema + version: '2023-10-31' +paths: + /api/endpoint/action_log/{agent_id}: + get: + summary: Get action audit log schema + operationId: EndpointGetActionAuditLog + x-codegen-enabled: false + parameters: + - name: query + in: query + required: true + schema: + $ref: '#/components/schemas/AuditLogRequestQuery' + - name: query + in: path + required: true + schema: + $ref: '#/components/schemas/AuditLogRequestParams' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '../model/schema/common.schema.yaml#/components/schemas/SuccessResponse' + +components: + schemas: + AuditLogRequestQuery: + type: object + properties: + page: + $ref: '../model/schema/common.schema.yaml#/components/schemas/Page' + page_size: + $ref: '../model/schema/common.schema.yaml#/components/schemas/PageSize' + start_date: + $ref: '../model/schema/common.schema.yaml#/components/schemas/StartDate' + end_date: + $ref: '../model/schema/common.schema.yaml#/components/schemas/EndDate' + + AuditLogRequestParams: + type: object + properties: + agent_id: + $ref: '../model/schema/common.schema.yaml#/components/schemas/AgentId' diff --git a/x-pack/plugins/security_solution/common/api/endpoint/actions/details.gen.ts b/x-pack/plugins/security_solution/common/api/endpoint/actions/details.gen.ts new file mode 100644 index 000000000000..b9557d98e87f --- /dev/null +++ b/x-pack/plugins/security_solution/common/api/endpoint/actions/details.gen.ts @@ -0,0 +1,18 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { z } from 'zod'; + +/* + * NOTICE: Do not edit this file manually. + * This file is automatically generated by the OpenAPI Generator `yarn openapi:generate`. + */ + +export type DetailsRequestParams = z.infer; +export const DetailsRequestParams = z.object({ + action_id: z.string().optional(), +}); diff --git a/x-pack/plugins/security_solution/common/api/endpoint/actions/details.schema.yaml b/x-pack/plugins/security_solution/common/api/endpoint/actions/details.schema.yaml new file mode 100644 index 000000000000..4f37c0a23c14 --- /dev/null +++ b/x-pack/plugins/security_solution/common/api/endpoint/actions/details.schema.yaml @@ -0,0 +1,31 @@ +openapi: 3.0.0 +info: + title: Details Schema + version: '2023-10-31' +paths: + /api/endpoint/action/{action_id}: + get: + summary: Get Action details schema + operationId: EndpointGetActionsDetails + x-codegen-enabled: false + parameters: + - name: query + in: path + required: true + schema: + $ref: '#/components/schemas/DetailsRequestParams' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '../model/schema/common.schema.yaml#/components/schemas/SuccessResponse' +components: + schemas: + DetailsRequestParams: + type: object + properties: + action_id: + type: string + diff --git a/x-pack/plugins/security_solution/common/api/endpoint/actions/execute.gen.ts b/x-pack/plugins/security_solution/common/api/endpoint/actions/execute.gen.ts new file mode 100644 index 000000000000..e1176c167fcf --- /dev/null +++ b/x-pack/plugins/security_solution/common/api/endpoint/actions/execute.gen.ts @@ -0,0 +1,25 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { z } from 'zod'; + +/* + * NOTICE: Do not edit this file manually. + * This file is automatically generated by the OpenAPI Generator `yarn openapi:generate`. + */ + +import { BaseActionSchema, Command, Timeout } from '../model/schema/common.gen'; + +export type ExecuteActionRequestBody = z.infer; +export const ExecuteActionRequestBody = BaseActionSchema.and( + z.object({ + parameters: z.object({ + command: Command, + timeout: Timeout.optional(), + }), + }) +); diff --git a/x-pack/plugins/security_solution/common/api/endpoint/actions/execute.schema.yaml b/x-pack/plugins/security_solution/common/api/endpoint/actions/execute.schema.yaml new file mode 100644 index 000000000000..1af01e1b7876 --- /dev/null +++ b/x-pack/plugins/security_solution/common/api/endpoint/actions/execute.schema.yaml @@ -0,0 +1,42 @@ +openapi: 3.0.0 +info: + title: Execute Action Schema + version: '2023-10-31' +paths: + /api/endpoint/action/execute: + post: + summary: Execute Action + operationId: EndpointExecuteAction + x-codegen-enabled: false + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ExecuteActionRequestBody' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '../model/schema/common.schema.yaml#/components/schemas/SuccessResponse' + +components: + schemas: + ExecuteActionRequestBody: + allOf: + - $ref: '../model/schema/common.schema.yaml#/components/schemas/BaseActionSchema' + - type: object + required: + - parameters + properties: + parameters: + required: + - command + type: object + properties: + command: + $ref: '../model/schema/common.schema.yaml#/components/schemas/Command' + timeout: + $ref: '../model/schema/common.schema.yaml#/components/schemas/Timeout' diff --git a/x-pack/plugins/security_solution/common/api/endpoint/actions/file_download.gen.ts b/x-pack/plugins/security_solution/common/api/endpoint/actions/file_download.gen.ts new file mode 100644 index 000000000000..0b70a7676e06 --- /dev/null +++ b/x-pack/plugins/security_solution/common/api/endpoint/actions/file_download.gen.ts @@ -0,0 +1,19 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { z } from 'zod'; + +/* + * NOTICE: Do not edit this file manually. + * This file is automatically generated by the OpenAPI Generator `yarn openapi:generate`. + */ + +export type FileDownloadRequestParams = z.infer; +export const FileDownloadRequestParams = z.object({ + action_id: z.string(), + file_id: z.string(), +}); diff --git a/x-pack/plugins/security_solution/common/api/endpoint/actions/file_download.schema.yaml b/x-pack/plugins/security_solution/common/api/endpoint/actions/file_download.schema.yaml new file mode 100644 index 000000000000..d34aaaf2a50a --- /dev/null +++ b/x-pack/plugins/security_solution/common/api/endpoint/actions/file_download.schema.yaml @@ -0,0 +1,36 @@ +openapi: 3.0.0 +info: + title: File Download Schema + version: '2023-10-31' +paths: + /api/endpoint/action/{action_id}/file/{file_id}/download`: + get: + summary: File Download schema + operationId: EndpointFileDownload + x-codegen-enabled: false + parameters: + - name: query + in: path + required: true + schema: + $ref: '#/components/schemas/FileDownloadRequestParams' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '../model/schema/common.schema.yaml#/components/schemas/SuccessResponse' +components: + schemas: + FileDownloadRequestParams: + type: object + required: + - action_id + - file_id + properties: + action_id: + type: string + file_id: + type: string + diff --git a/x-pack/plugins/security_solution/common/api/endpoint/actions/file_info.gen.ts b/x-pack/plugins/security_solution/common/api/endpoint/actions/file_info.gen.ts new file mode 100644 index 000000000000..1e4e7813d35b --- /dev/null +++ b/x-pack/plugins/security_solution/common/api/endpoint/actions/file_info.gen.ts @@ -0,0 +1,19 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { z } from 'zod'; + +/* + * NOTICE: Do not edit this file manually. + * This file is automatically generated by the OpenAPI Generator `yarn openapi:generate`. + */ + +export type FileInfoRequestParams = z.infer; +export const FileInfoRequestParams = z.object({ + action_id: z.string(), + file_id: z.string(), +}); diff --git a/x-pack/plugins/security_solution/common/api/endpoint/actions/file_info.schema.yaml b/x-pack/plugins/security_solution/common/api/endpoint/actions/file_info.schema.yaml new file mode 100644 index 000000000000..892c2df012cb --- /dev/null +++ b/x-pack/plugins/security_solution/common/api/endpoint/actions/file_info.schema.yaml @@ -0,0 +1,37 @@ +openapi: 3.0.0 +info: + title: File Info Schema + version: '2023-10-31' +paths: + /api/endpoint/action/{action_id}/file/{file_id}`: + get: + summary: File Info schema + operationId: EndpointFileInfo + x-codegen-enabled: false + parameters: + - name: query + in: path + required: true + schema: + $ref: '#/components/schemas/FileInfoRequestParams' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '../model/schema/common.schema.yaml#/components/schemas/SuccessResponse' + +components: + schemas: + FileInfoRequestParams: + type: object + required: + - action_id + - file_id + properties: + action_id: + type: string + file_id: + type: string + diff --git a/x-pack/plugins/security_solution/common/api/endpoint/actions/file_upload.gen.ts b/x-pack/plugins/security_solution/common/api/endpoint/actions/file_upload.gen.ts new file mode 100644 index 000000000000..af03b239d391 --- /dev/null +++ b/x-pack/plugins/security_solution/common/api/endpoint/actions/file_upload.gen.ts @@ -0,0 +1,25 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { z } from 'zod'; + +/* + * NOTICE: Do not edit this file manually. + * This file is automatically generated by the OpenAPI Generator `yarn openapi:generate`. + */ + +import { BaseActionSchema } from '../model/schema/common.gen'; + +export type FileUploadActionRequestBody = z.infer; +export const FileUploadActionRequestBody = BaseActionSchema.and( + z.object({ + parameters: z.object({ + overwrite: z.boolean().optional().default(false), + }), + file: z.string(), + }) +); diff --git a/x-pack/plugins/security_solution/common/api/endpoint/actions/file_upload.schema.yaml b/x-pack/plugins/security_solution/common/api/endpoint/actions/file_upload.schema.yaml new file mode 100644 index 000000000000..e62ffee79b7e --- /dev/null +++ b/x-pack/plugins/security_solution/common/api/endpoint/actions/file_upload.schema.yaml @@ -0,0 +1,44 @@ +openapi: 3.0.0 +info: + title: File Upload Schema + version: '2023-10-31' +paths: + /api/endpoint/action/upload: + post: + summary: Upload Action + operationId: EndpointUploadAction + x-codegen-enabled: false + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/FileUploadActionRequestBody' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '../model/schema/common.schema.yaml#/components/schemas/SuccessResponse' + +components: + schemas: + FileUploadActionRequestBody: + allOf: + - $ref: '../model/schema/common.schema.yaml#/components/schemas/BaseActionSchema' + - type: object + required: + - parameters + - file + properties: + parameters: + type: object + properties: + overwrite: + type: boolean + default: false + # File extends Blob - any binary data will be base-64 encoded + file: + type: string + format: binary diff --git a/x-pack/plugins/security_solution/common/api/endpoint/actions/get_file.gen.ts b/x-pack/plugins/security_solution/common/api/endpoint/actions/get_file.gen.ts new file mode 100644 index 000000000000..d8109d433fab --- /dev/null +++ b/x-pack/plugins/security_solution/common/api/endpoint/actions/get_file.gen.ts @@ -0,0 +1,24 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { z } from 'zod'; + +/* + * NOTICE: Do not edit this file manually. + * This file is automatically generated by the OpenAPI Generator `yarn openapi:generate`. + */ + +import { BaseActionSchema } from '../model/schema/common.gen'; + +export type GetFileActionRequestBody = z.infer; +export const GetFileActionRequestBody = BaseActionSchema.and( + z.object({ + parameters: z.object({ + path: z.string(), + }), + }) +); diff --git a/x-pack/plugins/security_solution/common/api/endpoint/actions/get_file.schema.yaml b/x-pack/plugins/security_solution/common/api/endpoint/actions/get_file.schema.yaml new file mode 100644 index 000000000000..87b7b834e207 --- /dev/null +++ b/x-pack/plugins/security_solution/common/api/endpoint/actions/get_file.schema.yaml @@ -0,0 +1,42 @@ +openapi: 3.0.0 +info: + title: Get File Schema + version: '2023-10-31' +paths: + /api/endpoint/action/get_file: + post: + summary: Get File Action + operationId: EndpointGetFileAction + x-codegen-enabled: false + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/GetFileActionRequestBody' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '../model/schema/common.schema.yaml#/components/schemas/SuccessResponse' + +components: + schemas: + GetFileActionRequestBody: + allOf: + - $ref: '../model/schema/common.schema.yaml#/components/schemas/BaseActionSchema' + - type: object + required: + - parameters + - file + properties: + parameters: + required: + - path + type: object + properties: + path: + type: string + diff --git a/x-pack/plugins/security_solution/common/api/endpoint/actions/list.gen.ts b/x-pack/plugins/security_solution/common/api/endpoint/actions/list.gen.ts new file mode 100644 index 000000000000..f734092c2205 --- /dev/null +++ b/x-pack/plugins/security_solution/common/api/endpoint/actions/list.gen.ts @@ -0,0 +1,40 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor 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 { z } from 'zod'; + +/* + * NOTICE: Do not edit this file manually. + * This file is automatically generated by the OpenAPI Generator `yarn openapi:generate`. + */ + +import { + AgentIds, + Commands, + Page, + StartDate, + EndDate, + UserIds, + Types, + WithOutputs, +} from '../model/schema/common.gen'; + +export type ListRequestQuery = z.infer; +export const ListRequestQuery = z.object({ + agentIds: AgentIds.optional(), + commands: Commands.optional(), + page: Page.optional(), + /** + * Number of items per page + */ + pageSize: z.number().min(1).max(10000).optional().default(10), + startDate: StartDate.optional(), + endDate: EndDate.optional(), + userIds: UserIds.optional(), + types: Types.optional(), + withOutputs: WithOutputs.optional(), +}); diff --git a/x-pack/plugins/security_solution/common/api/endpoint/actions/list.schema.yaml b/x-pack/plugins/security_solution/common/api/endpoint/actions/list.schema.yaml new file mode 100644 index 000000000000..c07ad4eb253b --- /dev/null +++ b/x-pack/plugins/security_solution/common/api/endpoint/actions/list.schema.yaml @@ -0,0 +1,50 @@ +openapi: 3.0.0 +info: + title: Actions List Schema + version: '2023-10-31' +paths: + /api/endpoint/action: + get: + summary: Get Actions List schema + operationId: EndpointGetActionsList + x-codegen-enabled: false + parameters: + - name: query + in: query + required: true + schema: + $ref: '#/components/schemas/ListRequestQuery' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '../model/schema/common.schema.yaml#/components/schemas/SuccessResponse' +components: + schemas: + ListRequestQuery: + type: object + properties: + agentIds: + $ref: '../model/schema/common.schema.yaml#/components/schemas/AgentIds' + commands: + $ref: '../model/schema/common.schema.yaml#/components/schemas/Commands' + page: + $ref: '../model/schema/common.schema.yaml#/components/schemas/Page' + pageSize: + type: integer + default: 10 + minimum: 1 + maximum: 10000 + description: Number of items per page + startDate: + $ref: '../model/schema/common.schema.yaml#/components/schemas/StartDate' + endDate: + $ref: '../model/schema/common.schema.yaml#/components/schemas/EndDate' + userIds: + $ref: '../model/schema/common.schema.yaml#/components/schemas/UserIds' + types: + $ref: '../model/schema/common.schema.yaml#/components/schemas/Types' + withOutputs: + $ref: '../model/schema/common.schema.yaml#/components/schemas/WithOutputs' diff --git a/x-pack/plugins/security_solution/common/api/endpoint/metadata/list_metadata.gen.ts b/x-pack/plugins/security_solution/common/api/endpoint/metadata/list_metadata.gen.ts new file mode 100644 index 000000000000..fca1370559ad --- /dev/null +++ b/x-pack/plugins/security_solution/common/api/endpoint/metadata/list_metadata.gen.ts @@ -0,0 +1,41 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { z } from 'zod'; + +/* + * NOTICE: Do not edit this file manually. + * This file is automatically generated by the OpenAPI Generator `yarn openapi:generate`. + */ + +export type ListRequestQuery = z.infer; +export const ListRequestQuery = z.object({ + /** + * Page number + */ + page: z.number().min(0).optional().default(0), + /** + * Number of items per page + */ + pageSize: z.number().min(1).max(10000).optional().default(10), + kuery: z.string().nullable().optional(), + sortField: z + .enum([ + 'enrolled_at', + 'metadata.host.hostname', + 'host_status', + 'metadata.Endpoint.policy.applied.name', + 'metadata.Endpoint.policy.applied.status', + 'metadata.host.os.name', + 'metadata.host.ip', + 'metadata.agent.version', + 'last_checkin', + ]) + .optional(), + sortDirection: z.enum(['asc', 'desc']).nullable().optional(), + hostStatuses: z.array(z.enum(['healthy', 'offline', 'updating', 'inactive', 'unenrolled'])), +}); diff --git a/x-pack/plugins/security_solution/common/api/endpoint/metadata/list_metadata.schema.yaml b/x-pack/plugins/security_solution/common/api/endpoint/metadata/list_metadata.schema.yaml new file mode 100644 index 000000000000..295d8cf3ca14 --- /dev/null +++ b/x-pack/plugins/security_solution/common/api/endpoint/metadata/list_metadata.schema.yaml @@ -0,0 +1,54 @@ +openapi: 3.0.0 +info: + title: List Metadata Schema + version: '2023-10-31' +paths: { } +components: + schemas: + ListRequestQuery: + type: object + required: + - hostStatuses + properties: + page: + type: integer + default: 0 + minimum: 0 + description: Page number + pageSize: + type: integer + default: 10 + minimum: 1 + maximum: 10000 + description: Number of items per page + kuery: + type: string + nullable: true + sortField: + type: string + enum: + - enrolled_at + - metadata.host.hostname + - host_status + - metadata.Endpoint.policy.applied.name + - metadata.Endpoint.policy.applied.status + - metadata.host.os.name + - metadata.host.ip + - metadata.agent.version + - last_checkin + sortDirection: + type: string + enum: + - 'asc' + - 'desc' + nullable: true + hostStatuses: + type: array + items: + type: string + enum: + - healthy + - offline + - updating + - inactive + - unenrolled diff --git a/x-pack/plugins/security_solution/common/api/endpoint/metadata/metadata.schema.yaml b/x-pack/plugins/security_solution/common/api/endpoint/metadata/metadata.schema.yaml new file mode 100644 index 000000000000..55a3cfc57c35 --- /dev/null +++ b/x-pack/plugins/security_solution/common/api/endpoint/metadata/metadata.schema.yaml @@ -0,0 +1,58 @@ +openapi: 3.0.0 +info: + title: Endpoint Metadata Schema + version: '2023-10-31' +paths: + /api/endpoint/metadata: + get: + summary: Get Metadata List schema + operationId: GetEndpointMetadataList + x-codegen-enabled: false + parameters: + - name: query + in: query + required: true + schema: + $ref: './list_metadata.schema.yaml#/components/schemas/ListRequestQuery' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '../model/schema/common.schema.yaml#/components/schemas/SuccessResponse' + + /api/endpoint/metadata/transforms: + get: + summary: Get Metadata Transform schema + operationId: GetEndpointMetadataTransform + x-codegen-enabled: false + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '../model/schema/common.schema.yaml#/components/schemas/SuccessResponse' + + /api/endpoint/metadata/{id}: + get: + summary: Get Metadata schema + operationId: GetEndpointMetadata + x-codegen-enabled: false + parameters: + - name: query + in: path + required: true + schema: + type: object + properties: + id: + type: string + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '../model/schema/common.schema.yaml#/components/schemas/SuccessResponse' diff --git a/x-pack/plugins/security_solution/common/api/endpoint/model/schema/common.gen.ts b/x-pack/plugins/security_solution/common/api/endpoint/model/schema/common.gen.ts new file mode 100644 index 000000000000..89f15504c4be --- /dev/null +++ b/x-pack/plugins/security_solution/common/api/endpoint/model/schema/common.gen.ts @@ -0,0 +1,156 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor 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 { z } from 'zod'; + +/* + * NOTICE: Do not edit this file manually. + * This file is automatically generated by the OpenAPI Generator `yarn openapi:generate`. + */ + +export type Id = z.infer; +export const Id = z.string(); + +export type IdOrUndefined = z.infer; +export const IdOrUndefined = Id.nullable(); + +/** + * Page number + */ +export type Page = z.infer; +export const Page = z.number().min(1).default(1); + +/** + * Number of items per page + */ +export type PageSize = z.infer; +export const PageSize = z.number().min(1).max(100).default(10); + +/** + * Start date + */ +export type StartDate = z.infer; +export const StartDate = z.string(); + +/** + * End date + */ +export type EndDate = z.infer; +export const EndDate = z.string(); + +/** + * Agent ID + */ +export type AgentId = z.infer; +export const AgentId = z.string(); + +export type AgentIds = z.infer; +export const AgentIds = z.union([z.array(z.string().min(1)).min(1).max(50), z.string().min(1)]); + +/** + * The command to be executed (cannot be an empty string) + */ +export type Command = z.infer; +export const Command = z.enum([ + 'isolate', + 'unisolate', + 'kill-process', + 'suspend-process', + 'running-processes', + 'get-file', + 'execute', + 'upload', +]); + +export type Commands = z.infer; +export const Commands = z.array(Command); + +/** + * The maximum timeout value in milliseconds (optional) + */ +export type Timeout = z.infer; +export const Timeout = z.number().min(1); + +export type Status = z.infer; +export const Status = z.enum(['failed', 'pending', 'successful']); + +export type Statuses = z.infer; +export const Statuses = z.array(Status); + +/** + * User IDs + */ +export type UserIds = z.infer; +export const UserIds = z.union([z.array(z.string().min(1)).min(1), z.string().min(1)]); + +/** + * With Outputs + */ +export type WithOutputs = z.infer; +export const WithOutputs = z.union([z.array(z.string().min(1)).min(1), z.string().min(1)]); + +export type Type = z.infer; +export const Type = z.enum(['automated', 'manual']); + +export type Types = z.infer; +export const Types = z.array(Type); + +/** + * List of endpoint IDs (cannot contain empty strings) + */ +export type EndpointIds = z.infer; +export const EndpointIds = z.array(z.string().min(1)).min(1); + +/** + * If defined, any case associated with the given IDs will be updated (cannot contain empty strings) + */ +export type AlertIds = z.infer; +export const AlertIds = z.array(z.string().min(1)).min(1); + +/** + * Case IDs to be updated (cannot contain empty strings) + */ +export type CaseIds = z.infer; +export const CaseIds = z.array(z.string().min(1)).min(1); + +/** + * Optional comment + */ +export type Comment = z.infer; +export const Comment = z.string(); + +/** + * Optional parameters object + */ +export type Parameters = z.infer; +export const Parameters = z.object({}); + +export type BaseActionSchema = z.infer; +export const BaseActionSchema = z.object({ + endpoint_ids: EndpointIds.optional(), + alert_ids: AlertIds.optional(), + case_ids: CaseIds.optional(), + comment: Comment.optional(), + parameters: Parameters.optional(), +}); + +export type ProcessActionSchemas = z.infer; +export const ProcessActionSchemas = BaseActionSchema.and( + z.object({ + parameters: z.union([ + z.object({ + pid: z.number().min(1).optional(), + }), + z.object({ + entity_id: z.string().min(1).optional(), + }), + ]), + }) +); + +export type SuccessResponse = z.infer; +export const SuccessResponse = z.object({}); diff --git a/x-pack/plugins/security_solution/common/api/endpoint/model/schema/common.schema.yaml b/x-pack/plugins/security_solution/common/api/endpoint/model/schema/common.schema.yaml new file mode 100644 index 000000000000..15d69f3639d1 --- /dev/null +++ b/x-pack/plugins/security_solution/common/api/endpoint/model/schema/common.schema.yaml @@ -0,0 +1,184 @@ +openapi: 3.0.0 +info: + title: Common Endpoint Attributes + version: '2023-10-31' +paths: { } +components: + schemas: + Id: + type: string + IdOrUndefined: + $ref: '#/components/schemas/Id' + nullable: true + Page: + type: integer + default: 1 + minimum: 1 + description: Page number + PageSize: + type: integer + default: 10 + minimum: 1 + maximum: 100 + description: Number of items per page + StartDate: + type: string + description: Start date + EndDate: + type: string + description: End date + AgentId: + type: string + description: Agent ID + + AgentIds: + oneOf: + - type: array + items: + type: string + minLength: 1 + minItems: 1 + maxItems: 50 + - type: string + minLength: 1 + minLength: 1 + + Command: + type: string + enum: + - isolate + - unisolate + - kill-process + - suspend-process + - running-processes + - get-file + - execute + - upload + minLength: 1 + description: The command to be executed (cannot be an empty string) + + Commands: + type: array + items: + $ref: '#/components/schemas/Command' + + Timeout: + type: integer + minimum: 1 + description: The maximum timeout value in milliseconds (optional) + + Status: + type: string + enum: + - failed + - pending + - successful + + Statuses: + type: array + items: + $ref: '#/components/schemas/Status' + minLength: 1 + maxLength: 3 + + UserIds: + oneOf: + - type: array + items: + type: string + minLength: 1 + minItems: 1 + - type: string + minLength: 1 + description: User IDs + + WithOutputs: + oneOf: + - type: array + items: + type: string + minLength: 1 + minItems: 1 + - type: string + minLength: 1 + description: With Outputs + + Type: + type: string + enum: + - automated + - manual + + Types: + type: array + items: + $ref: '#/components/schemas/Type' + minLength: 1 + maxLength: 2 + + EndpointIds: + type: array + items: + type: string + minLength: 1 + minItems: 1 + description: List of endpoint IDs (cannot contain empty strings) + AlertIds: + type: array + items: + type: string + minLength: 1 + minItems: 1 + description: If defined, any case associated with the given IDs will be updated (cannot contain empty strings) + CaseIds: + type: array + items: + type: string + minLength: 1 + minItems: 1 + description: Case IDs to be updated (cannot contain empty strings) + Comment: + type: string + description: Optional comment + Parameters: + type: object + description: Optional parameters object + + BaseActionSchema: + type: object + properties: + endpoint_ids: + $ref: '#/components/schemas/EndpointIds' + alert_ids: + $ref: '#/components/schemas/AlertIds' + case_ids: + $ref: '#/components/schemas/CaseIds' + comment: + $ref: '#/components/schemas/Comment' + parameters: + $ref: '#/components/schemas/Parameters' + + ProcessActionSchemas: + allOf: + - $ref: '#/components/schemas/BaseActionSchema' + - type: object + required: + - parameters + properties: + parameters: + oneOf: + - type: object + properties: + pid: + type: integer + minimum: 1 + - type: object + properties: + entity_id: + type: string + minLength: 1 + SuccessResponse: + type: object + properties: {} + # Define properties for the success response if needed + diff --git a/x-pack/plugins/security_solution/common/api/endpoint/policy/policy.gen.ts b/x-pack/plugins/security_solution/common/api/endpoint/policy/policy.gen.ts new file mode 100644 index 000000000000..3e511f7b4aad --- /dev/null +++ b/x-pack/plugins/security_solution/common/api/endpoint/policy/policy.gen.ts @@ -0,0 +1,39 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor 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 { z } from 'zod'; + +/* + * NOTICE: Do not edit this file manually. + * This file is automatically generated by the OpenAPI Generator `yarn openapi:generate`. + */ + +import { SuccessResponse, AgentId } from '../model/schema/common.gen'; + +export type GetAgentPolicySummaryRequestQuery = z.infer; +export const GetAgentPolicySummaryRequestQuery = z.object({ + query: z.object({ + package_name: z.string().optional(), + policy_id: z.string().nullable().optional(), + }), +}); +export type GetAgentPolicySummaryRequestQueryInput = z.input< + typeof GetAgentPolicySummaryRequestQuery +>; + +export type GetAgentPolicySummaryResponse = z.infer; +export const GetAgentPolicySummaryResponse = SuccessResponse; +export type GetPolicyResponseRequestQuery = z.infer; +export const GetPolicyResponseRequestQuery = z.object({ + query: z.object({ + agentId: AgentId.optional(), + }), +}); +export type GetPolicyResponseRequestQueryInput = z.input; + +export type GetPolicyResponseResponse = z.infer; +export const GetPolicyResponseResponse = SuccessResponse; diff --git a/x-pack/plugins/security_solution/common/api/endpoint/policy/policy.schema.yaml b/x-pack/plugins/security_solution/common/api/endpoint/policy/policy.schema.yaml new file mode 100644 index 000000000000..c054e54d99c7 --- /dev/null +++ b/x-pack/plugins/security_solution/common/api/endpoint/policy/policy.schema.yaml @@ -0,0 +1,52 @@ +openapi: 3.0.0 +info: + title: Endpoint Policy Schema + version: '2023-10-31' +paths: + /api/endpoint/policy/summaries: + get: + summary: Get Agent Policy Summary schema + operationId: GetAgentPolicySummary + x-codegen-enabled: true + parameters: + - name: query + in: query + required: true + schema: + type: object + properties: + package_name: + type: string + policy_id: + type: string + nullable: true + + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '../model/schema/common.schema.yaml#/components/schemas/SuccessResponse' + + /api/endpoint/policy_response: + get: + summary: Get Policy Response schema + operationId: GetPolicyResponse + x-codegen-enabled: true + parameters: + - name: query + in: query + required: true + schema: + type: object + properties: + agentId: + $ref: '../model/schema/common.schema.yaml#/components/schemas/AgentId' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '../model/schema/common.schema.yaml#/components/schemas/SuccessResponse' diff --git a/x-pack/plugins/security_solution/common/api/endpoint/suggestions/get_suggestions.gen.ts b/x-pack/plugins/security_solution/common/api/endpoint/suggestions/get_suggestions.gen.ts new file mode 100644 index 000000000000..a827c94d3b5f --- /dev/null +++ b/x-pack/plugins/security_solution/common/api/endpoint/suggestions/get_suggestions.gen.ts @@ -0,0 +1,41 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { z } from 'zod'; + +/* + * NOTICE: Do not edit this file manually. + * This file is automatically generated by the OpenAPI Generator `yarn openapi:generate`. + */ + +import { SuccessResponse } from '../model/schema/common.gen'; + +export type GetEndpointSuggestionsRequestParams = z.infer< + typeof GetEndpointSuggestionsRequestParams +>; +export const GetEndpointSuggestionsRequestParams = z.object({ + query: z.object({ + suggestion_type: z.enum(['eventFilters']).optional(), + }), +}); +export type GetEndpointSuggestionsRequestParamsInput = z.input< + typeof GetEndpointSuggestionsRequestParams +>; + +export type GetEndpointSuggestionsRequestBody = z.infer; +export const GetEndpointSuggestionsRequestBody = z.object({ + field: z.string().optional(), + query: z.string().optional(), + filters: z.unknown(), + fieldMeta: z.unknown(), +}); +export type GetEndpointSuggestionsRequestBodyInput = z.input< + typeof GetEndpointSuggestionsRequestBody +>; + +export type GetEndpointSuggestionsResponse = z.infer; +export const GetEndpointSuggestionsResponse = SuccessResponse; diff --git a/x-pack/plugins/security_solution/common/api/endpoint/suggestions/get_suggestions.schema.yaml b/x-pack/plugins/security_solution/common/api/endpoint/suggestions/get_suggestions.schema.yaml new file mode 100644 index 000000000000..d4db06512176 --- /dev/null +++ b/x-pack/plugins/security_solution/common/api/endpoint/suggestions/get_suggestions.schema.yaml @@ -0,0 +1,43 @@ +openapi: 3.0.0 +info: + title: Get Suggestions Schema + version: '2023-10-31' +paths: + /api/endpoint/suggestions/{suggestion_type}: + post: + summary: Get suggestions + operationId: GetEndpointSuggestions + x-codegen-enabled: true + requestBody: + required: true + content: + application/json: + schema: + type: object + required: + - parameters + properties: + field: + type: string + query: + type: string + filters: {} + fieldMeta: {} + parameters: + - name: query + in: path + required: true + schema: + type: object + properties: + suggestion_type: + type: string + enum: + - eventFilters + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '../model/schema/common.schema.yaml#/components/schemas/SuccessResponse' From 54057bfb880bc316a0c9977bdc670d2019232f8f Mon Sep 17 00:00:00 2001 From: jennypavlova Date: Thu, 7 Sep 2023 14:55:29 +0200 Subject: [PATCH 02/57] [Infra UI] Add Disk Space Usage by Mount Point to Hosts Fly Out (#165852) Closes #164209 ## Summary This PR adds Disk Space Usage by Mount Point chart to host flyout ## Testing Go to hosts view and open the host flyout The Disk Space Usage by Mount Point chart should be visible: image --- .../lens/dashboards/asset_details/host/host_metric_charts.ts | 1 + x-pack/test/functional/apps/infra/hosts_view.ts | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/x-pack/plugins/infra/public/common/visualizations/lens/dashboards/asset_details/host/host_metric_charts.ts b/x-pack/plugins/infra/public/common/visualizations/lens/dashboards/asset_details/host/host_metric_charts.ts index 9a0d4b0f7305..5da21aba45c3 100644 --- a/x-pack/plugins/infra/public/common/visualizations/lens/dashboards/asset_details/host/host_metric_charts.ts +++ b/x-pack/plugins/infra/public/common/visualizations/lens/dashboards/asset_details/host/host_metric_charts.ts @@ -22,6 +22,7 @@ export const hostMetricFlyoutCharts: XYConfig[] = [ normalizedLoad1m, logRate, diskSpaceUsageAvailable, + diskSpaceUsageByMountPoint, diskThroughputReadWrite, diskIOReadWrite, rxTx, diff --git a/x-pack/test/functional/apps/infra/hosts_view.ts b/x-pack/test/functional/apps/infra/hosts_view.ts index a225ea4c476e..e8f7730522f4 100644 --- a/x-pack/test/functional/apps/infra/hosts_view.ts +++ b/x-pack/test/functional/apps/infra/hosts_view.ts @@ -305,9 +305,9 @@ export default ({ getPageObjects, getService }: FtrProviderContext) => { }); }); - it('should render 8 charts in the Metrics section', async () => { + it('should render 9 charts in the Metrics section', async () => { const hosts = await pageObjects.assetDetails.getAssetDetailsMetricsCharts(); - expect(hosts.length).to.equal(8); + expect(hosts.length).to.equal(9); }); it('should show alerts', async () => { From aef98926684cc8cfdcdb4bf9ec2aa444b42a13bd Mon Sep 17 00:00:00 2001 From: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> Date: Thu, 7 Sep 2023 09:55:39 -0400 Subject: [PATCH 03/57] skip failing test suite (#165938) --- .../examples/unified_field_list_examples/existing_fields.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/x-pack/test_serverless/functional/test_suites/common/examples/unified_field_list_examples/existing_fields.ts b/x-pack/test_serverless/functional/test_suites/common/examples/unified_field_list_examples/existing_fields.ts index 184b7b5d788a..b150016cc63f 100644 --- a/x-pack/test_serverless/functional/test_suites/common/examples/unified_field_list_examples/existing_fields.ts +++ b/x-pack/test_serverless/functional/test_suites/common/examples/unified_field_list_examples/existing_fields.ts @@ -51,7 +51,8 @@ export default ({ getService, getPageObjects }: FtrProviderContext) => { await PageObjects.header.waitUntilLoadingHasFinished(); } - describe('Fields existence info', () => { + // Failing: See https://github.com/elastic/kibana/issues/165938 + describe.skip('Fields existence info', () => { before(async () => { await esArchiver.load( 'test/api_integration/fixtures/es_archiver/index_patterns/constant_keyword' From f2929192bd2f5950fa49bf072ea8c21ef534c468 Mon Sep 17 00:00:00 2001 From: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> Date: Thu, 7 Sep 2023 09:56:05 -0400 Subject: [PATCH 04/57] skip failing test suite (#165927) --- .../examples/unified_field_list_examples/existing_fields.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/x-pack/test_serverless/functional/test_suites/common/examples/unified_field_list_examples/existing_fields.ts b/x-pack/test_serverless/functional/test_suites/common/examples/unified_field_list_examples/existing_fields.ts index b150016cc63f..2b8effe5fcd5 100644 --- a/x-pack/test_serverless/functional/test_suites/common/examples/unified_field_list_examples/existing_fields.ts +++ b/x-pack/test_serverless/functional/test_suites/common/examples/unified_field_list_examples/existing_fields.ts @@ -52,6 +52,7 @@ export default ({ getService, getPageObjects }: FtrProviderContext) => { } // Failing: See https://github.com/elastic/kibana/issues/165938 + // Failing: See https://github.com/elastic/kibana/issues/165927 describe.skip('Fields existence info', () => { before(async () => { await esArchiver.load( From 03f0cdc327cd365a332f0289538a74181cadb24b Mon Sep 17 00:00:00 2001 From: Alexi Doak <109488926+doakalexi@users.noreply.github.com> Date: Thu, 7 Sep 2023 06:59:01 -0700 Subject: [PATCH 05/57] [ResponseOps][Alerting] Create xpack.actions.queued.max circuit breaker (#164632) Resolves https://github.com/elastic/kibana/issues/162264 ## Summary Adds a limit on the maximum number of actions that can be queued with a circuit breaker. The limit in serverless is set to 10,000, and 1,000,000 in the other environments. - If a rule execution exceeds the limit, the circuit breaker kicks in and stops triggering actions. - Alerting rule's status updated to warning when circuit breaker is hit Did not update the `enqueueExecution` bc it's going to be removed in https://github.com/elastic/kibana/pull/165120. ### Checklist Delete any items that are not applicable to this PR. - [x] Any text added follows [EUI's writing guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses sentence case text and includes [i18n support](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/README.md) - [x] [Unit or functional tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html) were updated or added to match the most common scenarios ### To Verify - Create a 2 rules that have actions - Set `xpack.actions.queued.max` in kibana.yml to a low number like 2 or 3 - Use the run soon button to queue up actions and hit the circuit breaker. - The actions will not be scheduled and the rule status will be set to warning --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> --- config/serverless.yml | 1 + docs/settings/alert-action-settings.asciidoc | 3 + packages/kbn-config-schema/index.ts | 16 + .../actions_client/actions_client.test.ts | 8 + .../server/actions_client/actions_client.ts | 9 +- .../actions/server/actions_config.mock.ts | 1 + .../actions/server/actions_config.test.ts | 17 + .../plugins/actions/server/actions_config.ts | 10 +- x-pack/plugins/actions/server/config.ts | 8 + .../server/create_execute_function.test.ts | 92 ++- .../actions/server/create_execute_function.ts | 52 +- .../create_unsecured_execute_function.test.ts | 73 +- .../create_unsecured_execute_function.ts | 42 +- .../has_reached_queued_action_limit.test.ts | 75 +++ .../lib/has_reached_queued_actions_limit.ts | 44 ++ x-pack/plugins/actions/server/plugin.ts | 13 +- .../unsecured_actions_client.ts | 12 +- .../routes/rule/response/constants/v1.ts | 1 + .../common/routes/rule/response/schemas/v1.ts | 2 + x-pack/plugins/alerting/common/rule.ts | 1 + .../server/application/rule/constants.ts | 1 + .../application/rule/schemas/rule_schemas.ts | 2 + .../alerting/server/constants/translations.ts | 4 + .../alerting/server/data/rule/constants.ts | 1 + .../alerting_event_logger.test.ts | 2 + .../server/lib/last_run_status.test.ts | 59 ++ .../alerting/server/lib/last_run_status.ts | 9 +- .../server/lib/rule_execution_status.test.ts | 26 + .../server/lib/rule_execution_status.ts | 15 +- .../server/lib/rule_run_metrics_store.test.ts | 20 + .../server/lib/rule_run_metrics_store.ts | 17 + .../alerting/server/raw_rule_schema.ts | 1 + .../task_runner/execution_handler.test.ts | 631 +++++++++++------- .../server/task_runner/execution_handler.ts | 64 +- .../alerting/server/task_runner/fixtures.ts | 3 + .../server/task_runner/task_runner.test.ts | 26 +- .../task_runner_alerts_client.test.ts | 2 +- .../task_runner/task_runner_cancel.test.ts | 7 +- .../services/connectors_email_service.test.ts | 108 ++- .../services/connectors_email_service.ts | 29 +- .../connectors_email_service_provider.test.ts | 3 +- .../connectors_email_service_provider.ts | 7 +- .../sections/rules_list/translations.ts | 8 + .../alerting_api_integration/common/config.ts | 1 + .../common/plugins/alerts/server/routes.ts | 1 + .../spaces_only/tests/actions/index.ts | 1 + .../max_queued_actions_circuit_breaker.ts | 102 +++ 47 files changed, 1357 insertions(+), 273 deletions(-) create mode 100644 x-pack/plugins/actions/server/lib/has_reached_queued_action_limit.test.ts create mode 100644 x-pack/plugins/actions/server/lib/has_reached_queued_actions_limit.ts create mode 100644 x-pack/test/alerting_api_integration/spaces_only/tests/actions/max_queued_actions_circuit_breaker.ts diff --git a/config/serverless.yml b/config/serverless.yml index 6f5235ffdedd..31791f5183d4 100644 --- a/config/serverless.yml +++ b/config/serverless.yml @@ -119,6 +119,7 @@ xpack.alerting.rules.run.ruleTypeOverrides: xpack.alerting.rules.minimumScheduleInterval.enforce: true xpack.alerting.rules.maxScheduledPerMinute: 400 xpack.actions.run.maxAttempts: 10 +xpack.actions.queued.max: 10000 # Disables ESQL in advanced settings (hides it from the UI) uiSettings: diff --git a/docs/settings/alert-action-settings.asciidoc b/docs/settings/alert-action-settings.asciidoc index c863c5d5e837..a009b8bdc7b4 100644 --- a/docs/settings/alert-action-settings.asciidoc +++ b/docs/settings/alert-action-settings.asciidoc @@ -227,6 +227,9 @@ xpack.actions.run: maxAttempts: 5 -- +`xpack.actions.queued.max` {ess-icon}:: +Specifies the maximum number of actions that can be queued. Default: 1000000 + [float] [[preconfigured-connector-settings]] === Preconfigured connector settings diff --git a/packages/kbn-config-schema/index.ts b/packages/kbn-config-schema/index.ts index 88666aac94c7..57c61c125ec7 100644 --- a/packages/kbn-config-schema/index.ts +++ b/packages/kbn-config-schema/index.ts @@ -140,6 +140,22 @@ function recordOf( return new RecordOfType(keyType, valueType, options); } +function oneOf( + types: [ + Type, + Type, + Type, + Type, + Type, + Type, + Type, + Type, + Type, + Type, + Type + ], + options?: TypeOptions +): Type; function oneOf( types: [Type, Type, Type, Type, Type, Type, Type, Type, Type, Type], options?: TypeOptions diff --git a/x-pack/plugins/actions/server/actions_client/actions_client.test.ts b/x-pack/plugins/actions/server/actions_client/actions_client.test.ts index fa7410bb7117..233261ea213f 100644 --- a/x-pack/plugins/actions/server/actions_client/actions_client.test.ts +++ b/x-pack/plugins/actions/server/actions_client/actions_client.test.ts @@ -3019,6 +3019,7 @@ describe('bulkEnqueueExecution()', () => { executionId: '123abc', apiKey: null, source: asHttpRequestExecutionSource(request), + actionTypeId: 'my-action-type', }, { id: uuidv4(), @@ -3027,6 +3028,7 @@ describe('bulkEnqueueExecution()', () => { executionId: '456def', apiKey: null, source: asHttpRequestExecutionSource(request), + actionTypeId: 'my-action-type', }, ]); expect(authorization.ensureAuthorized).toHaveBeenCalledWith({ @@ -3051,6 +3053,7 @@ describe('bulkEnqueueExecution()', () => { executionId: '123abc', apiKey: null, source: asHttpRequestExecutionSource(request), + actionTypeId: 'my-action-type', }, { id: uuidv4(), @@ -3059,6 +3062,7 @@ describe('bulkEnqueueExecution()', () => { executionId: '456def', apiKey: null, source: asHttpRequestExecutionSource(request), + actionTypeId: 'my-action-type', }, ]) ).rejects.toMatchInlineSnapshot(`[Error: Unauthorized to execute all actions]`); @@ -3081,6 +3085,7 @@ describe('bulkEnqueueExecution()', () => { executionId: '123abc', apiKey: null, source: asHttpRequestExecutionSource(request), + actionTypeId: 'my-action-type', }, { id: uuidv4(), @@ -3089,6 +3094,7 @@ describe('bulkEnqueueExecution()', () => { executionId: '456def', apiKey: null, source: asHttpRequestExecutionSource(request), + actionTypeId: 'my-action-type', }, ]); @@ -3112,6 +3118,7 @@ describe('bulkEnqueueExecution()', () => { executionId: '123abc', apiKey: null, source: asHttpRequestExecutionSource(request), + actionTypeId: 'my-action-type', }, { id: uuidv4(), @@ -3120,6 +3127,7 @@ describe('bulkEnqueueExecution()', () => { executionId: '456def', apiKey: null, source: asHttpRequestExecutionSource(request), + actionTypeId: 'my-action-type', }, ]; await expect(actionsClient.bulkEnqueueExecution(opts)).resolves.toMatchInlineSnapshot( diff --git a/x-pack/plugins/actions/server/actions_client/actions_client.ts b/x-pack/plugins/actions/server/actions_client/actions_client.ts index 392b5ec7354b..73a87900db1a 100644 --- a/x-pack/plugins/actions/server/actions_client/actions_client.ts +++ b/x-pack/plugins/actions/server/actions_client/actions_client.ts @@ -55,6 +55,7 @@ import { ExecutionEnqueuer, ExecuteOptions as EnqueueExecutionOptions, BulkExecutionEnqueuer, + ExecutionResponse, } from '../create_execute_function'; import { ActionsAuthorization } from '../authorization/actions_authorization'; import { @@ -114,7 +115,7 @@ export interface ConstructorOptions { inMemoryConnectors: InMemoryConnector[]; actionExecutor: ActionExecutorContract; ephemeralExecutionEnqueuer: ExecutionEnqueuer; - bulkExecutionEnqueuer: BulkExecutionEnqueuer; + bulkExecutionEnqueuer: BulkExecutionEnqueuer; request: KibanaRequest; authorization: ActionsAuthorization; auditLogger?: AuditLogger; @@ -139,7 +140,7 @@ export interface ActionsClientContext { request: KibanaRequest; authorization: ActionsAuthorization; ephemeralExecutionEnqueuer: ExecutionEnqueuer; - bulkExecutionEnqueuer: BulkExecutionEnqueuer; + bulkExecutionEnqueuer: BulkExecutionEnqueuer; auditLogger?: AuditLogger; usageCounter?: UsageCounter; connectorTokenClient: ConnectorTokenClientContract; @@ -766,7 +767,9 @@ export class ActionsClient { }); } - public async bulkEnqueueExecution(options: EnqueueExecutionOptions[]): Promise { + public async bulkEnqueueExecution( + options: EnqueueExecutionOptions[] + ): Promise { const sources: Array> = []; options.forEach((option) => { if (option.source) { diff --git a/x-pack/plugins/actions/server/actions_config.mock.ts b/x-pack/plugins/actions/server/actions_config.mock.ts index 95c6ec1c0cc1..49f1a807bce9 100644 --- a/x-pack/plugins/actions/server/actions_config.mock.ts +++ b/x-pack/plugins/actions/server/actions_config.mock.ts @@ -28,6 +28,7 @@ const createActionsConfigMock = () => { validateEmailAddresses: jest.fn().mockReturnValue(undefined), getMaxAttempts: jest.fn().mockReturnValue(3), enableFooterInEmail: jest.fn().mockReturnValue(true), + getMaxQueued: jest.fn().mockReturnValue(1000), }; return mocked; }; diff --git a/x-pack/plugins/actions/server/actions_config.test.ts b/x-pack/plugins/actions/server/actions_config.test.ts index e1b761ee3000..d19fcbc363b8 100644 --- a/x-pack/plugins/actions/server/actions_config.test.ts +++ b/x-pack/plugins/actions/server/actions_config.test.ts @@ -563,3 +563,20 @@ describe('getMaxAttempts()', () => { expect(maxAttempts).toEqual(3); }); }); + +describe('getMaxQueued()', () => { + test('returns the queued actions max defined in config', () => { + const acu = getActionsConfigurationUtilities({ + ...defaultActionsConfig, + queued: { max: 1 }, + }); + const max = acu.getMaxQueued(); + expect(max).toEqual(1); + }); + + test('returns the default queued actions max', () => { + const acu = getActionsConfigurationUtilities(defaultActionsConfig); + const max = acu.getMaxQueued(); + expect(max).toEqual(1000000); + }); +}); diff --git a/x-pack/plugins/actions/server/actions_config.ts b/x-pack/plugins/actions/server/actions_config.ts index 78e62684ad89..240a65228b4d 100644 --- a/x-pack/plugins/actions/server/actions_config.ts +++ b/x-pack/plugins/actions/server/actions_config.ts @@ -11,7 +11,13 @@ import url from 'url'; import { curry } from 'lodash'; import { pipe } from 'fp-ts/lib/pipeable'; -import { ActionsConfig, AllowedHosts, EnabledActionTypes, CustomHostSettings } from './config'; +import { + ActionsConfig, + AllowedHosts, + EnabledActionTypes, + CustomHostSettings, + DEFAULT_QUEUED_MAX, +} from './config'; import { getCanonicalCustomHostUrl } from './lib/custom_host_settings'; import { ActionTypeDisabledError } from './lib'; import { ProxySettings, ResponseSettings, SSLSettings } from './types'; @@ -54,6 +60,7 @@ export interface ActionsConfigurationUtilities { options?: ValidateEmailAddressesOptions ): string | undefined; enableFooterInEmail: () => boolean; + getMaxQueued: () => number; } function allowListErrorMessage(field: AllowListingField, value: string) { @@ -217,5 +224,6 @@ export function getActionsConfigurationUtilities( ); }, enableFooterInEmail: () => config.enableFooterInEmail, + getMaxQueued: () => config.queued?.max || DEFAULT_QUEUED_MAX, }; } diff --git a/x-pack/plugins/actions/server/config.ts b/x-pack/plugins/actions/server/config.ts index da45fd40cf92..a0b6c2388399 100644 --- a/x-pack/plugins/actions/server/config.ts +++ b/x-pack/plugins/actions/server/config.ts @@ -19,6 +19,9 @@ export enum EnabledActionTypes { const MAX_MAX_ATTEMPTS = 10; const MIN_MAX_ATTEMPTS = 1; +const MIN_QUEUED_MAX = 1; +export const DEFAULT_QUEUED_MAX = 1000000; + const preconfiguredActionSchema = schema.object({ name: schema.string({ minLength: 1 }), actionTypeId: schema.string({ minLength: 1 }), @@ -130,6 +133,11 @@ export const configSchema = schema.object({ }) ), enableFooterInEmail: schema.boolean({ defaultValue: true }), + queued: schema.maybe( + schema.object({ + max: schema.maybe(schema.number({ min: MIN_QUEUED_MAX, defaultValue: DEFAULT_QUEUED_MAX })), + }) + ), }); export type ActionsConfig = TypeOf; diff --git a/x-pack/plugins/actions/server/create_execute_function.test.ts b/x-pack/plugins/actions/server/create_execute_function.test.ts index 72903ca433b4..162297a9a55c 100644 --- a/x-pack/plugins/actions/server/create_execute_function.test.ts +++ b/x-pack/plugins/actions/server/create_execute_function.test.ts @@ -15,12 +15,24 @@ import { asHttpRequestExecutionSource, asSavedObjectExecutionSource, } from './lib/action_execution_source'; +import { actionsConfigMock } from './actions_config.mock'; const mockTaskManager = taskManagerMock.createStart(); const savedObjectsClient = savedObjectsClientMock.create(); const request = {} as KibanaRequest; +const mockActionsConfig = actionsConfigMock.create(); -beforeEach(() => jest.resetAllMocks()); +beforeEach(() => { + jest.resetAllMocks(); + mockTaskManager.aggregate.mockResolvedValue({ + took: 1, + timed_out: false, + _shards: { total: 1, successful: 1, skipped: 0, failed: 0 }, + hits: { total: { value: 0, relation: 'eq' }, max_score: null, hits: [] }, + aggregations: {}, + }); + mockActionsConfig.getMaxQueued.mockReturnValue(10); +}); describe('bulkExecute()', () => { test('schedules the action with all given parameters', async () => { @@ -30,6 +42,7 @@ describe('bulkExecute()', () => { actionTypeRegistry, isESOCanEncrypt: true, inMemoryConnectors: [], + configurationUtilities: mockActionsConfig, }); savedObjectsClient.bulkGet.mockResolvedValueOnce({ saved_objects: [ @@ -63,6 +76,7 @@ describe('bulkExecute()', () => { executionId: '123abc', apiKey: Buffer.from('123:abc').toString('base64'), source: asHttpRequestExecutionSource(request), + actionTypeId: 'mock-action', }, ]); expect(mockTaskManager.bulkSchedule).toHaveBeenCalledTimes(1); @@ -118,6 +132,7 @@ describe('bulkExecute()', () => { actionTypeRegistry, isESOCanEncrypt: true, inMemoryConnectors: [], + configurationUtilities: mockActionsConfig, }); savedObjectsClient.bulkGet.mockResolvedValueOnce({ saved_objects: [ @@ -153,6 +168,7 @@ describe('bulkExecute()', () => { consumer: 'test-consumer', apiKey: Buffer.from('123:abc').toString('base64'), source: asHttpRequestExecutionSource(request), + actionTypeId: 'mock-action', }, ]); expect(mockTaskManager.bulkSchedule).toHaveBeenCalledTimes(1); @@ -209,6 +225,7 @@ describe('bulkExecute()', () => { actionTypeRegistry, isESOCanEncrypt: true, inMemoryConnectors: [], + configurationUtilities: mockActionsConfig, }); savedObjectsClient.bulkGet.mockResolvedValueOnce({ saved_objects: [ @@ -248,6 +265,7 @@ describe('bulkExecute()', () => { typeId: 'some-typeId', }, ], + actionTypeId: 'mock-action', }, ]); expect(savedObjectsClient.bulkCreate).toHaveBeenCalledWith( @@ -304,6 +322,7 @@ describe('bulkExecute()', () => { secrets: {}, }, ], + configurationUtilities: mockActionsConfig, }); const source = { type: 'alert', id: uuidv4() }; @@ -339,6 +358,7 @@ describe('bulkExecute()', () => { executionId: '123abc', apiKey: Buffer.from('123:abc').toString('base64'), source: asSavedObjectExecutionSource(source), + actionTypeId: 'mock-action', }, ]); expect(mockTaskManager.bulkSchedule).toHaveBeenCalledTimes(1); @@ -401,6 +421,7 @@ describe('bulkExecute()', () => { isSystemAction: true, }, ], + configurationUtilities: mockActionsConfig, }); const source = { type: 'alert', id: uuidv4() }; @@ -436,6 +457,7 @@ describe('bulkExecute()', () => { executionId: 'system-connector-.casesabc', apiKey: Buffer.from('system-connector-test.system-action:abc').toString('base64'), source: asSavedObjectExecutionSource(source), + actionTypeId: 'mock-action', }, ]); expect(mockTaskManager.bulkSchedule).toHaveBeenCalledTimes(1); @@ -498,6 +520,7 @@ describe('bulkExecute()', () => { secrets: {}, }, ], + configurationUtilities: mockActionsConfig, }); const source = { type: 'alert', id: uuidv4() }; @@ -541,6 +564,7 @@ describe('bulkExecute()', () => { typeId: 'some-typeId', }, ], + actionTypeId: 'mock-action', }, ]); expect(mockTaskManager.bulkSchedule).toHaveBeenCalledTimes(1); @@ -616,6 +640,7 @@ describe('bulkExecute()', () => { isSystemAction: true, }, ], + configurationUtilities: mockActionsConfig, }); const source = { type: 'alert', id: uuidv4() }; @@ -659,6 +684,7 @@ describe('bulkExecute()', () => { typeId: 'some-typeId', }, ], + actionTypeId: 'mock-action', }, ]); expect(mockTaskManager.bulkSchedule).toHaveBeenCalledTimes(1); @@ -723,6 +749,7 @@ describe('bulkExecute()', () => { isESOCanEncrypt: false, actionTypeRegistry: actionTypeRegistryMock.create(), inMemoryConnectors: [], + configurationUtilities: mockActionsConfig, }); await expect( executeFn(savedObjectsClient, [ @@ -733,6 +760,7 @@ describe('bulkExecute()', () => { executionId: '123abc', apiKey: null, source: asHttpRequestExecutionSource(request), + actionTypeId: 'mock-action', }, ]) ).rejects.toThrowErrorMatchingInlineSnapshot( @@ -746,6 +774,7 @@ describe('bulkExecute()', () => { isESOCanEncrypt: true, actionTypeRegistry: actionTypeRegistryMock.create(), inMemoryConnectors: [], + configurationUtilities: mockActionsConfig, }); savedObjectsClient.bulkGet.mockResolvedValueOnce({ saved_objects: [ @@ -770,6 +799,7 @@ describe('bulkExecute()', () => { executionId: '123abc', apiKey: null, source: asHttpRequestExecutionSource(request), + actionTypeId: 'mock-action', }, ]) ).rejects.toThrowErrorMatchingInlineSnapshot( @@ -784,6 +814,7 @@ describe('bulkExecute()', () => { isESOCanEncrypt: true, actionTypeRegistry: mockedActionTypeRegistry, inMemoryConnectors: [], + configurationUtilities: mockActionsConfig, }); mockedActionTypeRegistry.ensureActionTypeEnabled.mockImplementation(() => { throw new Error('Fail'); @@ -810,6 +841,7 @@ describe('bulkExecute()', () => { executionId: '123abc', apiKey: null, source: asHttpRequestExecutionSource(request), + actionTypeId: 'mock-action', }, ]) ).rejects.toThrowErrorMatchingInlineSnapshot(`"Fail"`); @@ -833,6 +865,7 @@ describe('bulkExecute()', () => { isSystemAction: false, }, ], + configurationUtilities: mockActionsConfig, }); mockedActionTypeRegistry.isActionExecutable.mockImplementation(() => true); savedObjectsClient.bulkGet.mockResolvedValueOnce({ @@ -868,6 +901,7 @@ describe('bulkExecute()', () => { executionId: '123abc', apiKey: null, source: asHttpRequestExecutionSource(request), + actionTypeId: 'mock-action', }, ]); @@ -892,6 +926,7 @@ describe('bulkExecute()', () => { isSystemAction: true, }, ], + configurationUtilities: mockActionsConfig, }); mockedActionTypeRegistry.isActionExecutable.mockImplementation(() => true); savedObjectsClient.bulkGet.mockResolvedValueOnce({ @@ -927,9 +962,64 @@ describe('bulkExecute()', () => { executionId: '123abc', apiKey: null, source: asHttpRequestExecutionSource(request), + actionTypeId: 'mock-action', }, ]); expect(mockedActionTypeRegistry.ensureActionTypeEnabled).not.toHaveBeenCalled(); }); + + test('returns queuedActionsLimitError response when the max number of queued actions has been reached', async () => { + mockTaskManager.aggregate.mockResolvedValue({ + took: 1, + timed_out: false, + _shards: { total: 1, successful: 1, skipped: 0, failed: 0 }, + hits: { total: { value: 2, relation: 'eq' }, max_score: null, hits: [] }, + aggregations: {}, + }); + mockActionsConfig.getMaxQueued.mockReturnValueOnce(2); + const executeFn = createBulkExecutionEnqueuerFunction({ + taskManager: mockTaskManager, + actionTypeRegistry: actionTypeRegistryMock.create(), + isESOCanEncrypt: true, + inMemoryConnectors: [], + configurationUtilities: mockActionsConfig, + }); + savedObjectsClient.bulkGet.mockResolvedValueOnce({ + saved_objects: [], + }); + savedObjectsClient.bulkCreate.mockResolvedValueOnce({ + saved_objects: [], + }); + expect( + await executeFn(savedObjectsClient, [ + { + id: '123', + params: { baz: false }, + spaceId: 'default', + executionId: '123abc', + apiKey: null, + source: asHttpRequestExecutionSource(request), + actionTypeId: 'mock-action', + }, + ]) + ).toMatchInlineSnapshot(` + Object { + "errors": true, + "items": Array [ + Object { + "actionTypeId": "mock-action", + "id": "123", + "response": "queuedActionsLimitError", + }, + ], + } + `); + expect(mockTaskManager.bulkSchedule).toHaveBeenCalledTimes(1); + expect(mockTaskManager.bulkSchedule.mock.calls[0]).toMatchInlineSnapshot(` + Array [ + Array [], + ] + `); + }); }); diff --git a/x-pack/plugins/actions/server/create_execute_function.ts b/x-pack/plugins/actions/server/create_execute_function.ts index 3b4233ddf571..04d029f83c57 100644 --- a/x-pack/plugins/actions/server/create_execute_function.ts +++ b/x-pack/plugins/actions/server/create_execute_function.ts @@ -16,12 +16,15 @@ import { import { ACTION_TASK_PARAMS_SAVED_OBJECT_TYPE } from './constants/saved_objects'; import { ExecuteOptions as ActionExecutorOptions } from './lib/action_executor'; import { extractSavedObjectReferences, isSavedObjectExecutionSource } from './lib'; +import { ActionsConfigurationUtilities } from './actions_config'; +import { hasReachedTheQueuedActionsLimit } from './lib/has_reached_queued_actions_limit'; interface CreateExecuteFunctionOptions { taskManager: TaskManagerStartContract; isESOCanEncrypt: boolean; actionTypeRegistry: ActionTypeRegistryContract; inMemoryConnectors: InMemoryConnector[]; + configurationUtilities: ActionsConfigurationUtilities; } export interface ExecuteOptions @@ -30,6 +33,7 @@ export interface ExecuteOptions spaceId: string; apiKey: string | null; executionId: string; + actionTypeId: string; } interface ActionTaskParams @@ -54,12 +58,29 @@ export type BulkExecutionEnqueuer = ( actionsToExectute: ExecuteOptions[] ) => Promise; +export enum ExecutionResponseType { + SUCCESS = 'success', + QUEUED_ACTIONS_LIMIT_ERROR = 'queuedActionsLimitError', +} + +export interface ExecutionResponse { + errors: boolean; + items: ExecutionResponseItem[]; +} + +export interface ExecutionResponseItem { + id: string; + actionTypeId: string; + response: ExecutionResponseType; +} + export function createBulkExecutionEnqueuerFunction({ taskManager, actionTypeRegistry, isESOCanEncrypt, inMemoryConnectors, -}: CreateExecuteFunctionOptions): BulkExecutionEnqueuer { + configurationUtilities, +}: CreateExecuteFunctionOptions): BulkExecutionEnqueuer { return async function execute( unsecuredSavedObjectsClient: SavedObjectsClientContract, actionsToExecute: ExecuteOptions[] @@ -70,6 +91,19 @@ export function createBulkExecutionEnqueuerFunction({ ); } + const { hasReachedLimit, numberOverLimit } = await hasReachedTheQueuedActionsLimit( + taskManager, + configurationUtilities, + actionsToExecute.length + ); + let actionsOverLimit: ExecuteOptions[] = []; + if (hasReachedLimit) { + actionsOverLimit = actionsToExecute.splice( + actionsToExecute.length - numberOverLimit, + numberOverLimit + ); + } + const actionTypeIds: Record = {}; const spaceIds: Record = {}; const connectorIsInMemory: Record = {}; @@ -144,6 +178,22 @@ export function createBulkExecutionEnqueuerFunction({ }; }); await taskManager.bulkSchedule(taskInstances); + return { + errors: actionsOverLimit.length > 0, + items: actionsToExecute + .map((a) => ({ + id: a.id, + actionTypeId: a.actionTypeId, + response: ExecutionResponseType.SUCCESS, + })) + .concat( + actionsOverLimit.map((a) => ({ + id: a.id, + actionTypeId: a.actionTypeId, + response: ExecutionResponseType.QUEUED_ACTIONS_LIMIT_ERROR, + })) + ), + }; }; } diff --git a/x-pack/plugins/actions/server/create_unsecured_execute_function.test.ts b/x-pack/plugins/actions/server/create_unsecured_execute_function.test.ts index 2bbfab40b731..bce064738939 100644 --- a/x-pack/plugins/actions/server/create_unsecured_execute_function.test.ts +++ b/x-pack/plugins/actions/server/create_unsecured_execute_function.test.ts @@ -14,11 +14,23 @@ import { asNotificationExecutionSource, asSavedObjectExecutionSource, } from './lib/action_execution_source'; +import { actionsConfigMock } from './actions_config.mock'; const mockTaskManager = taskManagerMock.createStart(); const internalSavedObjectsRepository = savedObjectsRepositoryMock.create(); +const mockActionsConfig = actionsConfigMock.create(); -beforeEach(() => jest.resetAllMocks()); +beforeEach(() => { + jest.resetAllMocks(); + mockTaskManager.aggregate.mockResolvedValue({ + took: 1, + timed_out: false, + _shards: { total: 1, successful: 1, skipped: 0, failed: 0 }, + hits: { total: { value: 0, relation: 'eq' }, max_score: null, hits: [] }, + aggregations: {}, + }); + mockActionsConfig.getMaxQueued.mockReturnValue(10); +}); describe('bulkExecute()', () => { test.each([ @@ -42,6 +54,7 @@ describe('bulkExecute()', () => { secrets: {}, }, ], + configurationUtilities: mockActionsConfig, }); internalSavedObjectsRepository.bulkCreate.mockResolvedValueOnce({ @@ -154,6 +167,7 @@ describe('bulkExecute()', () => { secrets: {}, }, ], + configurationUtilities: mockActionsConfig, }); internalSavedObjectsRepository.bulkCreate.mockResolvedValueOnce({ @@ -278,6 +292,7 @@ describe('bulkExecute()', () => { secrets: {}, }, ], + configurationUtilities: mockActionsConfig, }); internalSavedObjectsRepository.bulkCreate.mockResolvedValueOnce({ @@ -426,6 +441,7 @@ describe('bulkExecute()', () => { secrets: {}, }, ], + configurationUtilities: mockActionsConfig, }); await expect( executeFn(internalSavedObjectsRepository, [ @@ -468,6 +484,7 @@ describe('bulkExecute()', () => { secrets: {}, }, ], + configurationUtilities: mockActionsConfig, }); mockedConnectorTypeRegistry.ensureActionTypeEnabled.mockImplementation(() => { throw new Error('Fail'); @@ -521,6 +538,7 @@ describe('bulkExecute()', () => { secrets: {}, }, ], + configurationUtilities: mockActionsConfig, }); await expect( executeFn(internalSavedObjectsRepository, [ @@ -540,4 +558,57 @@ describe('bulkExecute()', () => { ); } ); + + test.each([ + [true, false], + [false, true], + ])( + 'returns queuedActionsLimitError response when the max number of queued actions has been reached: %s, isSystemAction: %s', + async (isPreconfigured, isSystemAction) => { + mockTaskManager.aggregate.mockResolvedValue({ + took: 1, + timed_out: false, + _shards: { total: 1, successful: 1, skipped: 0, failed: 0 }, + hits: { total: { value: 2, relation: 'eq' }, max_score: null, hits: [] }, + aggregations: {}, + }); + mockActionsConfig.getMaxQueued.mockReturnValueOnce(2); + const executeFn = createBulkUnsecuredExecutionEnqueuerFunction({ + taskManager: mockTaskManager, + connectorTypeRegistry: actionTypeRegistryMock.create(), + inMemoryConnectors: [ + { + id: '123', + actionTypeId: '.email', + config: {}, + isPreconfigured, + isDeprecated: false, + isSystemAction, + name: 'x', + secrets: {}, + }, + ], + configurationUtilities: mockActionsConfig, + }); + + internalSavedObjectsRepository.bulkCreate.mockResolvedValueOnce({ + saved_objects: [], + }); + expect( + await executeFn(internalSavedObjectsRepository, [ + { + id: '123', + params: { baz: false }, + source: asNotificationExecutionSource({ connectorId: 'abc', requesterId: 'foo' }), + }, + ]) + ).toEqual({ errors: true, items: [{ id: '123', response: 'queuedActionsLimitError' }] }); + expect(mockTaskManager.bulkSchedule).toHaveBeenCalledTimes(1); + expect(mockTaskManager.bulkSchedule.mock.calls[0]).toMatchInlineSnapshot(` + Array [ + Array [], + ] + `); + } + ); }); diff --git a/x-pack/plugins/actions/server/create_unsecured_execute_function.ts b/x-pack/plugins/actions/server/create_unsecured_execute_function.ts index 585f442c68e2..a64a2494e507 100644 --- a/x-pack/plugins/actions/server/create_unsecured_execute_function.ts +++ b/x-pack/plugins/actions/server/create_unsecured_execute_function.ts @@ -14,6 +14,9 @@ import { import { ACTION_TASK_PARAMS_SAVED_OBJECT_TYPE } from './constants/saved_objects'; import { ExecuteOptions as ActionExecutorOptions } from './lib/action_executor'; import { extractSavedObjectReferences, isSavedObjectExecutionSource } from './lib'; +import { ExecutionResponseItem, ExecutionResponseType } from './create_execute_function'; +import { ActionsConfigurationUtilities } from './actions_config'; +import { hasReachedTheQueuedActionsLimit } from './lib/has_reached_queued_actions_limit'; // This allowlist should only contain connector types that don't require API keys for // execution. @@ -22,6 +25,7 @@ interface CreateBulkUnsecuredExecuteFunctionOptions { taskManager: TaskManagerStartContract; connectorTypeRegistry: ConnectorTypeRegistryContract; inMemoryConnectors: InMemoryConnector[]; + configurationUtilities: ActionsConfigurationUtilities; } export interface ExecuteOptions @@ -29,6 +33,11 @@ export interface ExecuteOptions id: string; } +export interface ExecutionResponse { + errors: boolean; + items: ExecutionResponseItem[]; +} + interface ActionTaskParams extends Pick { apiKey: string | null; @@ -43,11 +52,25 @@ export function createBulkUnsecuredExecutionEnqueuerFunction({ taskManager, connectorTypeRegistry, inMemoryConnectors, -}: CreateBulkUnsecuredExecuteFunctionOptions): BulkUnsecuredExecutionEnqueuer { + configurationUtilities, +}: CreateBulkUnsecuredExecuteFunctionOptions): BulkUnsecuredExecutionEnqueuer { return async function execute( internalSavedObjectsRepository: ISavedObjectsRepository, actionsToExecute: ExecuteOptions[] ) { + const { hasReachedLimit, numberOverLimit } = await hasReachedTheQueuedActionsLimit( + taskManager, + configurationUtilities, + actionsToExecute.length + ); + let actionsOverLimit: ExecuteOptions[] = []; + if (hasReachedLimit) { + actionsOverLimit = actionsToExecute.splice( + actionsToExecute.length - numberOverLimit, + numberOverLimit + ); + } + const connectorTypeIds: Record = {}; const connectorIds = [...new Set(actionsToExecute.map((action) => action.id))]; @@ -131,6 +154,23 @@ export function createBulkUnsecuredExecutionEnqueuerFunction({ }; }); await taskManager.bulkSchedule(taskInstances); + + return { + errors: actionsOverLimit.length > 0, + items: actionsToExecute + .map((a) => ({ + id: a.id, + response: ExecutionResponseType.SUCCESS, + actionTypeId: connectorTypeIds[a.id], + })) + .concat( + actionsOverLimit.map((a) => ({ + id: a.id, + response: ExecutionResponseType.QUEUED_ACTIONS_LIMIT_ERROR, + actionTypeId: connectorTypeIds[a.id], + })) + ), + }; }; } diff --git a/x-pack/plugins/actions/server/lib/has_reached_queued_action_limit.test.ts b/x-pack/plugins/actions/server/lib/has_reached_queued_action_limit.test.ts new file mode 100644 index 000000000000..67772d33f872 --- /dev/null +++ b/x-pack/plugins/actions/server/lib/has_reached_queued_action_limit.test.ts @@ -0,0 +1,75 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor 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 { taskManagerMock } from '@kbn/task-manager-plugin/server/mocks'; +import { actionsConfigMock } from '../actions_config.mock'; +import { hasReachedTheQueuedActionsLimit } from './has_reached_queued_actions_limit'; + +const mockTaskManager = taskManagerMock.createStart(); +const mockActionsConfig = actionsConfigMock.create(); + +beforeEach(() => { + jest.resetAllMocks(); + mockTaskManager.aggregate.mockResolvedValue({ + took: 1, + timed_out: false, + _shards: { total: 1, successful: 1, skipped: 0, failed: 0 }, + hits: { total: { value: 0, relation: 'eq' }, max_score: null, hits: [] }, + aggregations: {}, + }); + mockActionsConfig.getMaxQueued.mockReturnValue(10); +}); + +describe('hasReachedTheQueuedActionsLimit()', () => { + test('returns true if the number of queued actions is greater than the config limit', async () => { + mockTaskManager.aggregate.mockResolvedValue({ + took: 1, + timed_out: false, + _shards: { total: 1, successful: 1, skipped: 0, failed: 0 }, + hits: { total: { value: 3, relation: 'eq' }, max_score: null, hits: [] }, + aggregations: {}, + }); + mockActionsConfig.getMaxQueued.mockReturnValueOnce(2); + + expect(await hasReachedTheQueuedActionsLimit(mockTaskManager, mockActionsConfig, 1)).toEqual({ + hasReachedLimit: true, + numberOverLimit: 2, + }); + }); + + test('returns true if the number of queued actions is equal the config limit', async () => { + mockTaskManager.aggregate.mockResolvedValue({ + took: 1, + timed_out: false, + _shards: { total: 1, successful: 1, skipped: 0, failed: 0 }, + hits: { total: { value: 2, relation: 'eq' }, max_score: null, hits: [] }, + aggregations: {}, + }); + mockActionsConfig.getMaxQueued.mockReturnValueOnce(3); + + expect(await hasReachedTheQueuedActionsLimit(mockTaskManager, mockActionsConfig, 1)).toEqual({ + hasReachedLimit: true, + numberOverLimit: 0, + }); + }); + + test('returns false if the number of queued actions is less than the config limit', async () => { + mockTaskManager.aggregate.mockResolvedValue({ + took: 1, + timed_out: false, + _shards: { total: 1, successful: 1, skipped: 0, failed: 0 }, + hits: { total: { value: 1, relation: 'eq' }, max_score: null, hits: [] }, + aggregations: {}, + }); + mockActionsConfig.getMaxQueued.mockReturnValueOnce(3); + + expect(await hasReachedTheQueuedActionsLimit(mockTaskManager, mockActionsConfig, 1)).toEqual({ + hasReachedLimit: false, + numberOverLimit: 0, + }); + }); +}); diff --git a/x-pack/plugins/actions/server/lib/has_reached_queued_actions_limit.ts b/x-pack/plugins/actions/server/lib/has_reached_queued_actions_limit.ts new file mode 100644 index 000000000000..3c88b8271292 --- /dev/null +++ b/x-pack/plugins/actions/server/lib/has_reached_queued_actions_limit.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 { TaskManagerStartContract } from '@kbn/task-manager-plugin/server'; +import { ActionsConfigurationUtilities } from '../actions_config'; + +export async function hasReachedTheQueuedActionsLimit( + taskManager: TaskManagerStartContract, + configurationUtilities: ActionsConfigurationUtilities, + numberOfActions: number +) { + const limit = configurationUtilities.getMaxQueued(); + const { + hits: { total }, + } = await taskManager.aggregate({ + query: { + bool: { + filter: { + bool: { + must: [ + { + term: { + 'task.scope': 'actions', + }, + }, + ], + }, + }, + }, + }, + aggs: {}, + }); + const tasks = typeof total === 'number' ? total : total?.value ?? 0; + const numberOfTasks = tasks + numberOfActions; + const hasReachedLimit = numberOfTasks >= limit; + return { + hasReachedLimit, + numberOverLimit: hasReachedLimit ? numberOfTasks - limit : 0, + }; +} diff --git a/x-pack/plugins/actions/server/plugin.ts b/x-pack/plugins/actions/server/plugin.ts index 415a9e36a1c0..ef5de6194d47 100644 --- a/x-pack/plugins/actions/server/plugin.ts +++ b/x-pack/plugins/actions/server/plugin.ts @@ -301,7 +301,7 @@ export class ActionsPlugin implements Plugin( 'actions', - this.createRouteHandlerContext(core) + this.createRouteHandlerContext(core, actionsConfigUtils) ); if (usageCollection) { const eventLogIndex = this.eventLogService.getIndexPattern(); @@ -404,8 +404,11 @@ export class ActionsPlugin implements Plugin + core: CoreSetup, + actionsConfigUtils: ActionsConfigurationUtilities ): IContextProvider => { const { actionTypeRegistry, @@ -687,12 +694,14 @@ export class ActionsPlugin implements Plugin; + executionEnqueuer: BulkUnsecuredExecutionEnqueuer; } export interface IUnsecuredActionsClient { - bulkEnqueueExecution: (requesterId: string, actionsToExecute: ExecuteOptions[]) => Promise; + bulkEnqueueExecution: ( + requesterId: string, + actionsToExecute: ExecuteOptions[] + ) => Promise; } export class UnsecuredActionsClient { private readonly internalSavedObjectsRepository: ISavedObjectsRepository; - private readonly executionEnqueuer: BulkUnsecuredExecutionEnqueuer; + private readonly executionEnqueuer: BulkUnsecuredExecutionEnqueuer; constructor(params: UnsecuredActionsClientOpts) { this.executionEnqueuer = params.executionEnqueuer; @@ -43,7 +47,7 @@ export class UnsecuredActionsClient { public async bulkEnqueueExecution( requesterId: string, actionsToExecute: ExecuteOptions[] - ): Promise { + ): Promise { // Check that requesterId is allowed if (!ALLOWED_REQUESTER_IDS.includes(requesterId)) { throw new Error( diff --git a/x-pack/plugins/alerting/common/routes/rule/response/constants/v1.ts b/x-pack/plugins/alerting/common/routes/rule/response/constants/v1.ts index a24141231048..fbeb08ba6bc7 100644 --- a/x-pack/plugins/alerting/common/routes/rule/response/constants/v1.ts +++ b/x-pack/plugins/alerting/common/routes/rule/response/constants/v1.ts @@ -40,6 +40,7 @@ export const ruleExecutionStatusErrorReason = { export const ruleExecutionStatusWarningReason = { MAX_EXECUTABLE_ACTIONS: 'maxExecutableActions', MAX_ALERTS: 'maxAlerts', + MAX_QUEUED_ACTIONS: 'maxQueuedActions', } as const; export type RuleNotifyWhen = typeof ruleNotifyWhen[keyof typeof ruleNotifyWhen]; diff --git a/x-pack/plugins/alerting/common/routes/rule/response/schemas/v1.ts b/x-pack/plugins/alerting/common/routes/rule/response/schemas/v1.ts index 3aecec56c3a4..2fb82c3558cb 100644 --- a/x-pack/plugins/alerting/common/routes/rule/response/schemas/v1.ts +++ b/x-pack/plugins/alerting/common/routes/rule/response/schemas/v1.ts @@ -110,6 +110,7 @@ export const ruleExecutionStatusSchema = schema.object({ reason: schema.oneOf([ schema.literal(ruleExecutionStatusWarningReasonV1.MAX_EXECUTABLE_ACTIONS), schema.literal(ruleExecutionStatusWarningReasonV1.MAX_ALERTS), + schema.literal(ruleExecutionStatusWarningReasonV1.MAX_QUEUED_ACTIONS), ]), message: schema.string(), }) @@ -136,6 +137,7 @@ export const ruleLastRunSchema = schema.object({ schema.literal(ruleExecutionStatusErrorReasonV1.VALIDATE), schema.literal(ruleExecutionStatusWarningReasonV1.MAX_EXECUTABLE_ACTIONS), schema.literal(ruleExecutionStatusWarningReasonV1.MAX_ALERTS), + schema.literal(ruleExecutionStatusWarningReasonV1.MAX_QUEUED_ACTIONS), ]) ) ), diff --git a/x-pack/plugins/alerting/common/rule.ts b/x-pack/plugins/alerting/common/rule.ts index 57ef90ed9962..22692a091a38 100644 --- a/x-pack/plugins/alerting/common/rule.ts +++ b/x-pack/plugins/alerting/common/rule.ts @@ -60,6 +60,7 @@ export enum RuleExecutionStatusErrorReasons { export enum RuleExecutionStatusWarningReasons { MAX_EXECUTABLE_ACTIONS = 'maxExecutableActions', MAX_ALERTS = 'maxAlerts', + MAX_QUEUED_ACTIONS = 'maxQueuedActions', } export type RuleAlertingOutcome = 'failure' | 'success' | 'unknown' | 'warning'; diff --git a/x-pack/plugins/alerting/server/application/rule/constants.ts b/x-pack/plugins/alerting/server/application/rule/constants.ts index 7b0aa82a90ca..bc75d91375ec 100644 --- a/x-pack/plugins/alerting/server/application/rule/constants.ts +++ b/x-pack/plugins/alerting/server/application/rule/constants.ts @@ -40,4 +40,5 @@ export const ruleExecutionStatusErrorReason = { export const ruleExecutionStatusWarningReason = { MAX_EXECUTABLE_ACTIONS: 'maxExecutableActions', MAX_ALERTS: 'maxAlerts', + MAX_QUEUED_ACTIONS: 'maxQueuedActions', } as const; diff --git a/x-pack/plugins/alerting/server/application/rule/schemas/rule_schemas.ts b/x-pack/plugins/alerting/server/application/rule/schemas/rule_schemas.ts index 07efe4793b56..ef8f1dc652bf 100644 --- a/x-pack/plugins/alerting/server/application/rule/schemas/rule_schemas.ts +++ b/x-pack/plugins/alerting/server/application/rule/schemas/rule_schemas.ts @@ -55,6 +55,7 @@ export const ruleExecutionStatusSchema = schema.object({ reason: schema.oneOf([ schema.literal(ruleExecutionStatusWarningReason.MAX_EXECUTABLE_ACTIONS), schema.literal(ruleExecutionStatusWarningReason.MAX_ALERTS), + schema.literal(ruleExecutionStatusWarningReason.MAX_QUEUED_ACTIONS), ]), message: schema.string(), }) @@ -81,6 +82,7 @@ export const ruleLastRunSchema = schema.object({ schema.literal(ruleExecutionStatusErrorReason.VALIDATE), schema.literal(ruleExecutionStatusWarningReason.MAX_EXECUTABLE_ACTIONS), schema.literal(ruleExecutionStatusWarningReason.MAX_ALERTS), + schema.literal(ruleExecutionStatusWarningReason.MAX_QUEUED_ACTIONS), ]) ) ), diff --git a/x-pack/plugins/alerting/server/constants/translations.ts b/x-pack/plugins/alerting/server/constants/translations.ts index 15442cf8efc5..69fc9a39333b 100644 --- a/x-pack/plugins/alerting/server/constants/translations.ts +++ b/x-pack/plugins/alerting/server/constants/translations.ts @@ -21,6 +21,10 @@ export const translations = { defaultMessage: 'Rule reported more than the maximum number of alerts in a single run. Alerts may be missed and recovery notifications may be delayed', }), + maxQueuedActions: i18n.translate('xpack.alerting.taskRunner.warning.maxQueuedActions', { + defaultMessage: + 'The maximum number of queued actions was reached; excess actions were not triggered.', + }), }, }, }; diff --git a/x-pack/plugins/alerting/server/data/rule/constants.ts b/x-pack/plugins/alerting/server/data/rule/constants.ts index 63d238a81574..267864bdfd9e 100644 --- a/x-pack/plugins/alerting/server/data/rule/constants.ts +++ b/x-pack/plugins/alerting/server/data/rule/constants.ts @@ -40,4 +40,5 @@ export const ruleExecutionStatusErrorReasonAttributes = { export const ruleExecutionStatusWarningReasonAttributes = { MAX_EXECUTABLE_ACTIONS: 'maxExecutableActions', MAX_ALERTS: 'maxAlerts', + MAX_QUEUED_ACTIONS: 'maxQueuedActions', } as const; diff --git a/x-pack/plugins/alerting/server/lib/alerting_event_logger/alerting_event_logger.test.ts b/x-pack/plugins/alerting/server/lib/alerting_event_logger/alerting_event_logger.test.ts index 007cd4481bd7..c8c2e5f1943e 100644 --- a/x-pack/plugins/alerting/server/lib/alerting_event_logger/alerting_event_logger.test.ts +++ b/x-pack/plugins/alerting/server/lib/alerting_event_logger/alerting_event_logger.test.ts @@ -728,6 +728,7 @@ describe('AlertingEventLogger', () => { totalSearchDurationMs: 10333, hasReachedAlertLimit: false, triggeredActionsStatus: ActionsCompletion.COMPLETE, + hasReachedQueuedActionsLimit: false, }, }); @@ -826,6 +827,7 @@ describe('AlertingEventLogger', () => { totalSearchDurationMs: 10333, hasReachedAlertLimit: false, triggeredActionsStatus: ActionsCompletion.COMPLETE, + hasReachedQueuedActionsLimit: false, }, timings: { [TaskRunnerTimerSpan.StartTaskRun]: 10, diff --git a/x-pack/plugins/alerting/server/lib/last_run_status.test.ts b/x-pack/plugins/alerting/server/lib/last_run_status.test.ts index 33af749fe1e0..c4b1ac0acc3a 100644 --- a/x-pack/plugins/alerting/server/lib/last_run_status.test.ts +++ b/x-pack/plugins/alerting/server/lib/last_run_status.test.ts @@ -13,6 +13,7 @@ import { RuleResultServiceResults, RuleResultService } from '../monitoring/rule_ const getMetrics = ({ hasReachedAlertLimit = false, triggeredActionsStatus = ActionsCompletion.COMPLETE, + hasReachedQueuedActionsLimit = false, }): RuleRunMetrics => { return { triggeredActionsStatus, @@ -25,6 +26,7 @@ const getMetrics = ({ numberOfTriggeredActions: 5, totalSearchDurationMs: 2, hasReachedAlertLimit, + hasReachedQueuedActionsLimit, }; }; @@ -126,6 +128,31 @@ describe('lastRunFromState', () => { }); }); + it('returns warning if rules actions completition is partial and queued action circuit breaker opens', () => { + const result = lastRunFromState( + { + metrics: getMetrics({ + triggeredActionsStatus: ActionsCompletion.PARTIAL, + hasReachedQueuedActionsLimit: true, + }), + }, + getRuleResultService({}) + ); + + expect(result.lastRun.outcome).toEqual('warning'); + expect(result.lastRun.outcomeMsg).toEqual([ + 'The maximum number of queued actions was reached; excess actions were not triggered.', + ]); + expect(result.lastRun.warning).toEqual('maxQueuedActions'); + + expect(result.lastRun.alertsCount).toEqual({ + active: 10, + new: 12, + recovered: 11, + ignored: 0, + }); + }); + it('overwrites rule execution warning if rule has reached alert limit; outcome messages are merged', () => { const ruleExecutionOutcomeMessage = 'Rule execution reported a warning'; const frameworkOutcomeMessage = @@ -184,6 +211,38 @@ describe('lastRunFromState', () => { }); }); + it('overwrites rule execution warning if rule has reached queued action limit; outcome messages are merged', () => { + const ruleExecutionOutcomeMessage = 'Rule execution reported a warning'; + const frameworkOutcomeMessage = + 'The maximum number of queued actions was reached; excess actions were not triggered.'; + const result = lastRunFromState( + { + metrics: getMetrics({ + triggeredActionsStatus: ActionsCompletion.PARTIAL, + hasReachedQueuedActionsLimit: true, + }), + }, + getRuleResultService({ + warnings: ['MOCK_WARNING'], + outcomeMessage: 'Rule execution reported a warning', + }) + ); + + expect(result.lastRun.outcome).toEqual('warning'); + expect(result.lastRun.outcomeMsg).toEqual([ + frameworkOutcomeMessage, + ruleExecutionOutcomeMessage, + ]); + expect(result.lastRun.warning).toEqual('maxQueuedActions'); + + expect(result.lastRun.alertsCount).toEqual({ + active: 10, + new: 12, + recovered: 11, + ignored: 0, + }); + }); + it('overwrites warning outcome to error if rule execution reports an error', () => { const result = lastRunFromState( { diff --git a/x-pack/plugins/alerting/server/lib/last_run_status.ts b/x-pack/plugins/alerting/server/lib/last_run_status.ts index 56da93f074c2..dedee9a65836 100644 --- a/x-pack/plugins/alerting/server/lib/last_run_status.ts +++ b/x-pack/plugins/alerting/server/lib/last_run_status.ts @@ -48,8 +48,13 @@ export const lastRunFromState = ( outcomeMsg.push(translations.taskRunner.warning.maxAlerts); } else if (metrics.triggeredActionsStatus === ActionsCompletion.PARTIAL) { outcome = RuleLastRunOutcomeValues[1]; - warning = RuleExecutionStatusWarningReasons.MAX_EXECUTABLE_ACTIONS; - outcomeMsg.push(translations.taskRunner.warning.maxExecutableActions); + if (metrics.hasReachedQueuedActionsLimit) { + warning = RuleExecutionStatusWarningReasons.MAX_QUEUED_ACTIONS; + outcomeMsg.push(translations.taskRunner.warning.maxQueuedActions); + } else { + warning = RuleExecutionStatusWarningReasons.MAX_EXECUTABLE_ACTIONS; + outcomeMsg.push(translations.taskRunner.warning.maxExecutableActions); + } } // Overwrite outcome to be error if last run reported any errors diff --git a/x-pack/plugins/alerting/server/lib/rule_execution_status.test.ts b/x-pack/plugins/alerting/server/lib/rule_execution_status.test.ts index 0210de56a6b0..34c831db01a7 100644 --- a/x-pack/plugins/alerting/server/lib/rule_execution_status.test.ts +++ b/x-pack/plugins/alerting/server/lib/rule_execution_status.test.ts @@ -30,6 +30,7 @@ const executionMetrics = { numberOfRecoveredAlerts: 13, hasReachedAlertLimit: false, triggeredActionsStatus: ActionsCompletion.COMPLETE, + hasReachedQueuedActionsLimit: false, }; describe('RuleExecutionStatus', () => { @@ -48,6 +49,7 @@ describe('RuleExecutionStatus', () => { expect(received.numberOfNewAlerts).toEqual(expected.numberOfNewAlerts); expect(received.hasReachedAlertLimit).toEqual(expected.hasReachedAlertLimit); expect(received.triggeredActionsStatus).toEqual(expected.triggeredActionsStatus); + expect(received.hasReachedQueuedActionsLimit).toEqual(expected.hasReachedQueuedActionsLimit); } describe('executionStatusFromState()', () => { @@ -107,6 +109,30 @@ describe('RuleExecutionStatus', () => { }); }); + test('task state with max queued actions warning', () => { + const { status, metrics } = executionStatusFromState({ + alertInstances: { a: {} }, + metrics: { + ...executionMetrics, + triggeredActionsStatus: ActionsCompletion.PARTIAL, + hasReachedQueuedActionsLimit: true, + }, + }); + checkDateIsNearNow(status.lastExecutionDate); + expect(status.warning).toEqual({ + message: translations.taskRunner.warning.maxQueuedActions, + reason: RuleExecutionStatusWarningReasons.MAX_QUEUED_ACTIONS, + }); + expect(status.status).toBe('warning'); + expect(status.error).toBe(undefined); + + testExpectedMetrics(metrics!, { + ...executionMetrics, + triggeredActionsStatus: ActionsCompletion.PARTIAL, + hasReachedQueuedActionsLimit: true, + }); + }); + test('task state with max alerts warning', () => { const { status, metrics } = executionStatusFromState({ alertInstances: { a: {} }, diff --git a/x-pack/plugins/alerting/server/lib/rule_execution_status.ts b/x-pack/plugins/alerting/server/lib/rule_execution_status.ts index 43ab9e2153a9..2fea90c2410f 100644 --- a/x-pack/plugins/alerting/server/lib/rule_execution_status.ts +++ b/x-pack/plugins/alerting/server/lib/rule_execution_status.ts @@ -47,10 +47,17 @@ export function executionStatusFromState( }; } else if (stateWithMetrics.metrics.triggeredActionsStatus === ActionsCompletion.PARTIAL) { status = RuleExecutionStatusValues[5]; - warning = { - reason: RuleExecutionStatusWarningReasons.MAX_EXECUTABLE_ACTIONS, - message: translations.taskRunner.warning.maxExecutableActions, - }; + if (stateWithMetrics.metrics.hasReachedQueuedActionsLimit) { + warning = { + reason: RuleExecutionStatusWarningReasons.MAX_QUEUED_ACTIONS, + message: translations.taskRunner.warning.maxQueuedActions, + }; + } else { + warning = { + reason: RuleExecutionStatusWarningReasons.MAX_EXECUTABLE_ACTIONS, + message: translations.taskRunner.warning.maxExecutableActions, + }; + } } return { diff --git a/x-pack/plugins/alerting/server/lib/rule_run_metrics_store.test.ts b/x-pack/plugins/alerting/server/lib/rule_run_metrics_store.test.ts index 8f2410480cc6..e2b7cc61550b 100644 --- a/x-pack/plugins/alerting/server/lib/rule_run_metrics_store.test.ts +++ b/x-pack/plugins/alerting/server/lib/rule_run_metrics_store.test.ts @@ -25,6 +25,7 @@ describe('RuleRunMetricsStore', () => { expect(ruleRunMetricsStore.getNumberOfNewAlerts()).toBe(0); expect(ruleRunMetricsStore.getStatusByConnectorType('any')).toBe(undefined); expect(ruleRunMetricsStore.getHasReachedAlertLimit()).toBe(false); + expect(ruleRunMetricsStore.getHasReachedQueuedActionsLimit()).toBe(false); }); test('sets and returns numSearches', () => { @@ -95,6 +96,11 @@ describe('RuleRunMetricsStore', () => { expect(metricsStore.getEsSearchDurationMs()).toEqual(555); }); + test('sets and returns hasReachedQueuedActionsLimit', () => { + ruleRunMetricsStore.setHasReachedQueuedActionsLimit(true); + expect(ruleRunMetricsStore.getHasReachedQueuedActionsLimit()).toBe(true); + }); + test('gets metrics', () => { expect(ruleRunMetricsStore.getMetrics()).toEqual({ triggeredActionsStatus: 'partial', @@ -107,6 +113,7 @@ describe('RuleRunMetricsStore', () => { numberOfTriggeredActions: 5, totalSearchDurationMs: 2, hasReachedAlertLimit: true, + hasReachedQueuedActionsLimit: true, }); }); @@ -150,6 +157,19 @@ describe('RuleRunMetricsStore', () => { ).toBe(1); }); + // decrement + test('decrements numberOfTriggeredActions by 1', () => { + ruleRunMetricsStore.decrementNumberOfTriggeredActions(); + expect(ruleRunMetricsStore.getNumberOfTriggeredActions()).toBe(5); + }); + + test('decrements numberOfTriggeredActionsByConnectorType by 1', () => { + ruleRunMetricsStore.decrementNumberOfTriggeredActionsByConnectorType(testConnectorId); + expect( + ruleRunMetricsStore.getStatusByConnectorType(testConnectorId).numberOfTriggeredActions + ).toBe(0); + }); + // Checker test('checks if it has reached the executable actions limit', () => { expect(ruleRunMetricsStore.hasReachedTheExecutableActionsLimit({ default: { max: 10 } })).toBe( diff --git a/x-pack/plugins/alerting/server/lib/rule_run_metrics_store.ts b/x-pack/plugins/alerting/server/lib/rule_run_metrics_store.ts index 14879e1558ba..80b72e0069bb 100644 --- a/x-pack/plugins/alerting/server/lib/rule_run_metrics_store.ts +++ b/x-pack/plugins/alerting/server/lib/rule_run_metrics_store.ts @@ -27,6 +27,7 @@ interface State { numberOfGeneratedActions: number; }; }; + hasReachedQueuedActionsLimit: boolean; } export type RuleRunMetrics = Omit & { @@ -44,6 +45,7 @@ export class RuleRunMetricsStore { numberOfNewAlerts: 0, hasReachedAlertLimit: false, connectorTypes: {}, + hasReachedQueuedActionsLimit: false, }; // Getters @@ -90,6 +92,9 @@ export class RuleRunMetricsStore { public getHasReachedAlertLimit = () => { return this.state.hasReachedAlertLimit; }; + public getHasReachedQueuedActionsLimit = () => { + return this.state.hasReachedQueuedActionsLimit; + }; // Setters public setSearchMetrics = (searchMetrics: SearchMetrics[]) => { @@ -135,6 +140,9 @@ export class RuleRunMetricsStore { public setHasReachedAlertLimit = (hasReachedAlertLimit: boolean) => { this.state.hasReachedAlertLimit = hasReachedAlertLimit; }; + public setHasReachedQueuedActionsLimit = (hasReachedQueuedActionsLimit: boolean) => { + this.state.hasReachedQueuedActionsLimit = hasReachedQueuedActionsLimit; + }; // Checkers public hasReachedTheExecutableActionsLimit = (actionsConfigMap: ActionsConfigMap): boolean => @@ -182,4 +190,13 @@ export class RuleRunMetricsStore { const currentVal = this.state.connectorTypes[actionTypeId]?.numberOfGeneratedActions || 0; set(this.state, `connectorTypes["${actionTypeId}"].numberOfGeneratedActions`, currentVal + 1); }; + + // Decrementer + public decrementNumberOfTriggeredActions = () => { + this.state.numberOfTriggeredActions--; + }; + public decrementNumberOfTriggeredActionsByConnectorType = (actionTypeId: string) => { + const currentVal = this.state.connectorTypes[actionTypeId]?.numberOfTriggeredActions || 0; + set(this.state, `connectorTypes["${actionTypeId}"].numberOfTriggeredActions`, currentVal - 1); + }; } diff --git a/x-pack/plugins/alerting/server/raw_rule_schema.ts b/x-pack/plugins/alerting/server/raw_rule_schema.ts index 5843467a4cb4..65d4b48ec7d6 100644 --- a/x-pack/plugins/alerting/server/raw_rule_schema.ts +++ b/x-pack/plugins/alerting/server/raw_rule_schema.ts @@ -10,6 +10,7 @@ import { schema } from '@kbn/config-schema'; const executionStatusWarningReason = schema.oneOf([ schema.literal('maxExecutableActions'), schema.literal('maxAlerts'), + schema.literal('maxQueuedActions'), ]); const executionStatusErrorReason = schema.oneOf([ diff --git a/x-pack/plugins/alerting/server/task_runner/execution_handler.test.ts b/x-pack/plugins/alerting/server/task_runner/execution_handler.test.ts index ce86dd475609..5125bc67b90e 100644 --- a/x-pack/plugins/alerting/server/task_runner/execution_handler.test.ts +++ b/x-pack/plugins/alerting/server/task_runner/execution_handler.test.ts @@ -34,6 +34,7 @@ import sinon from 'sinon'; import { mockAAD } from './fixtures'; import { schema } from '@kbn/config-schema'; import { alertsClientMock } from '../alerts_client/alerts_client.mock'; +import { ExecutionResponseType } from '@kbn/actions-plugin/server/create_execute_function'; jest.mock('./inject_action_params', () => ({ injectActionParams: jest.fn(), @@ -137,6 +138,11 @@ const defaultExecutionParams = { alertsClient, }; +const defaultExecutionResponse = { + errors: false, + items: [{ actionTypeId: 'test', id: '1', response: ExecutionResponseType.SUCCESS }], +}; + let ruleRunMetricsStore: RuleRunMetricsStore; let clock: sinon.SinonFakeTimers; type ActiveActionGroup = 'default' | 'other-group'; @@ -223,6 +229,7 @@ describe('Execution Handler', () => { renderActionParameterTemplatesDefault ); ruleRunMetricsStore = new RuleRunMetricsStore(); + actionsClient.bulkEnqueueExecution.mockResolvedValue(defaultExecutionResponse); }); beforeAll(() => { clock = sinon.useFakeTimers(); @@ -238,39 +245,40 @@ describe('Execution Handler', () => { expect(ruleRunMetricsStore.getNumberOfGeneratedActions()).toBe(1); expect(actionsClient.bulkEnqueueExecution).toHaveBeenCalledTimes(1); expect(actionsClient.bulkEnqueueExecution.mock.calls[0]).toMatchInlineSnapshot(` - Array [ - Array [ + Array [ + Array [ + Object { + "actionTypeId": "test", + "apiKey": "MTIzOmFiYw==", + "consumer": "rule-consumer", + "executionId": "5f6aa57d-3e22-484e-bae8-cbed868f4d28", + "id": "1", + "params": Object { + "alertVal": "My 1 name-of-alert test1 tag-A,tag-B 1 goes here", + "contextVal": "My goes here", + "foo": true, + "stateVal": "My goes here", + }, + "relatedSavedObjects": Array [ Object { - "apiKey": "MTIzOmFiYw==", - "consumer": "rule-consumer", - "executionId": "5f6aa57d-3e22-484e-bae8-cbed868f4d28", "id": "1", - "params": Object { - "alertVal": "My 1 name-of-alert test1 tag-A,tag-B 1 goes here", - "contextVal": "My goes here", - "foo": true, - "stateVal": "My goes here", - }, - "relatedSavedObjects": Array [ - Object { - "id": "1", - "namespace": "test1", - "type": "alert", - "typeId": "test", - }, - ], - "source": Object { - "source": Object { - "id": "1", - "type": "alert", - }, - "type": "SAVED_OBJECT", - }, - "spaceId": "test1", + "namespace": "test1", + "type": "alert", + "typeId": "test", }, ], - ] - `); + "source": Object { + "source": Object { + "id": "1", + "type": "alert", + }, + "type": "SAVED_OBJECT", + }, + "spaceId": "test1", + }, + ], + ] + `); expect(alertingEventLogger.logAction).toHaveBeenCalledTimes(1); expect(alertingEventLogger.logAction).toHaveBeenNthCalledWith(1, { @@ -334,6 +342,7 @@ describe('Execution Handler', () => { expect(actionsClient.bulkEnqueueExecution).toHaveBeenCalledTimes(1); expect(actionsClient.bulkEnqueueExecution).toHaveBeenCalledWith([ { + actionTypeId: 'test2', consumer: 'rule-consumer', id: '2', params: { @@ -423,39 +432,40 @@ describe('Execution Handler', () => { expect(ruleRunMetricsStore.getNumberOfGeneratedActions()).toBe(1); expect(actionsClient.bulkEnqueueExecution).toHaveBeenCalledTimes(1); expect(actionsClient.bulkEnqueueExecution.mock.calls[0]).toMatchInlineSnapshot(` - Array [ - Array [ + Array [ + Array [ + Object { + "actionTypeId": "test", + "apiKey": "MTIzOmFiYw==", + "consumer": "rule-consumer", + "executionId": "5f6aa57d-3e22-484e-bae8-cbed868f4d28", + "id": "1", + "params": Object { + "alertVal": "My 1 name-of-alert test1 tag-A,tag-B 2 goes here", + "contextVal": "My context-val goes here", + "foo": true, + "stateVal": "My goes here", + }, + "relatedSavedObjects": Array [ Object { - "apiKey": "MTIzOmFiYw==", - "consumer": "rule-consumer", - "executionId": "5f6aa57d-3e22-484e-bae8-cbed868f4d28", "id": "1", - "params": Object { - "alertVal": "My 1 name-of-alert test1 tag-A,tag-B 2 goes here", - "contextVal": "My context-val goes here", - "foo": true, - "stateVal": "My goes here", - }, - "relatedSavedObjects": Array [ - Object { - "id": "1", - "namespace": "test1", - "type": "alert", - "typeId": "test", - }, - ], - "source": Object { - "source": Object { - "id": "1", - "type": "alert", - }, - "type": "SAVED_OBJECT", - }, - "spaceId": "test1", + "namespace": "test1", + "type": "alert", + "typeId": "test", }, ], - ] - `); + "source": Object { + "source": Object { + "id": "1", + "type": "alert", + }, + "type": "SAVED_OBJECT", + }, + "spaceId": "test1", + }, + ], + ] + `); }); test('state attribute gets parameterized', async () => { @@ -463,39 +473,40 @@ describe('Execution Handler', () => { await executionHandler.run(generateAlert({ id: 2, state: { value: 'state-val' } })); expect(actionsClient.bulkEnqueueExecution).toHaveBeenCalledTimes(1); expect(actionsClient.bulkEnqueueExecution.mock.calls[0]).toMatchInlineSnapshot(` - Array [ - Array [ + Array [ + Array [ + Object { + "actionTypeId": "test", + "apiKey": "MTIzOmFiYw==", + "consumer": "rule-consumer", + "executionId": "5f6aa57d-3e22-484e-bae8-cbed868f4d28", + "id": "1", + "params": Object { + "alertVal": "My 1 name-of-alert test1 tag-A,tag-B 2 goes here", + "contextVal": "My goes here", + "foo": true, + "stateVal": "My state-val goes here", + }, + "relatedSavedObjects": Array [ Object { - "apiKey": "MTIzOmFiYw==", - "consumer": "rule-consumer", - "executionId": "5f6aa57d-3e22-484e-bae8-cbed868f4d28", "id": "1", - "params": Object { - "alertVal": "My 1 name-of-alert test1 tag-A,tag-B 2 goes here", - "contextVal": "My goes here", - "foo": true, - "stateVal": "My state-val goes here", - }, - "relatedSavedObjects": Array [ - Object { - "id": "1", - "namespace": "test1", - "type": "alert", - "typeId": "test", - }, - ], - "source": Object { - "source": Object { - "id": "1", - "type": "alert", - }, - "type": "SAVED_OBJECT", - }, - "spaceId": "test1", + "namespace": "test1", + "type": "alert", + "typeId": "test", }, ], - ] - `); + "source": Object { + "source": Object { + "id": "1", + "type": "alert", + }, + "type": "SAVED_OBJECT", + }, + "spaceId": "test1", + }, + ], + ] + `); }); test(`logs an error when action group isn't part of actionGroups available for the ruleType`, async () => { @@ -514,6 +525,21 @@ describe('Execution Handler', () => { }); test('Stops triggering actions when the number of total triggered actions is reached the number of max executable actions', async () => { + actionsClient.bulkEnqueueExecution.mockResolvedValueOnce({ + errors: false, + items: [ + { + actionTypeId: 'test2', + id: '1', + response: ExecutionResponseType.SUCCESS, + }, + { + actionTypeId: 'test2', + id: '2', + response: ExecutionResponseType.SUCCESS, + }, + ], + }); const actions = [ { id: '1', @@ -573,6 +599,27 @@ describe('Execution Handler', () => { }); test('Skips triggering actions for a specific action type when it reaches the limit for that specific action type', async () => { + actionsClient.bulkEnqueueExecution.mockResolvedValueOnce({ + errors: false, + items: [ + { actionTypeId: 'test', id: '1', response: ExecutionResponseType.SUCCESS }, + { + actionTypeId: 'test-action-type-id', + id: '2', + response: ExecutionResponseType.SUCCESS, + }, + { + actionTypeId: 'another-action-type-id', + id: '4', + response: ExecutionResponseType.SUCCESS, + }, + { + actionTypeId: 'another-action-type-id', + id: '5', + response: ExecutionResponseType.SUCCESS, + }, + ], + }); const actions = [ ...defaultExecutionParams.rule.actions, { @@ -652,6 +699,77 @@ describe('Execution Handler', () => { expect(actionsClient.bulkEnqueueExecution).toHaveBeenCalledTimes(1); }); + test('Stops triggering actions when the number of total queued actions is reached the number of max queued actions', async () => { + actionsClient.bulkEnqueueExecution.mockResolvedValueOnce({ + errors: true, + items: [ + { + actionTypeId: 'test', + id: '1', + response: ExecutionResponseType.SUCCESS, + }, + { + actionTypeId: 'test', + id: '2', + response: ExecutionResponseType.SUCCESS, + }, + { + actionTypeId: 'test', + id: '3', + response: ExecutionResponseType.QUEUED_ACTIONS_LIMIT_ERROR, + }, + ], + }); + const actions = [ + { + id: '1', + group: 'default', + actionTypeId: 'test', + params: { + foo: true, + contextVal: 'My other {{context.value}} goes here', + stateVal: 'My other {{state.value}} goes here', + }, + }, + { + id: '2', + group: 'default', + actionTypeId: 'test', + params: { + foo: true, + contextVal: 'My other {{context.value}} goes here', + stateVal: 'My other {{state.value}} goes here', + }, + }, + { + id: '3', + group: 'default', + actionTypeId: 'test', + params: { + foo: true, + contextVal: '{{context.value}} goes here', + stateVal: '{{state.value}} goes here', + }, + }, + ]; + const executionHandler = new ExecutionHandler( + generateExecutionParams({ + ...defaultExecutionParams, + rule: { + ...defaultExecutionParams.rule, + actions, + }, + }) + ); + await executionHandler.run(generateAlert({ id: 2, state: { value: 'state-val' } })); + + expect(ruleRunMetricsStore.getNumberOfTriggeredActions()).toBe(2); + expect(ruleRunMetricsStore.getNumberOfGeneratedActions()).toBe(3); + expect(ruleRunMetricsStore.getTriggeredActionsStatus()).toBe(ActionsCompletion.PARTIAL); + expect(defaultExecutionParams.logger.debug).toHaveBeenCalledTimes(1); + expect(actionsClient.bulkEnqueueExecution).toHaveBeenCalledTimes(1); + }); + test('schedules alerts with recovered actions', async () => { const actions = [ { @@ -680,39 +798,40 @@ describe('Execution Handler', () => { expect(actionsClient.bulkEnqueueExecution).toHaveBeenCalledTimes(1); expect(actionsClient.bulkEnqueueExecution.mock.calls[0]).toMatchInlineSnapshot(` - Array [ - Array [ + Array [ + Array [ + Object { + "actionTypeId": "test", + "apiKey": "MTIzOmFiYw==", + "consumer": "rule-consumer", + "executionId": "5f6aa57d-3e22-484e-bae8-cbed868f4d28", + "id": "1", + "params": Object { + "alertVal": "My 1 name-of-alert test1 tag-A,tag-B 1 goes here", + "contextVal": "My goes here", + "foo": true, + "stateVal": "My goes here", + }, + "relatedSavedObjects": Array [ Object { - "apiKey": "MTIzOmFiYw==", - "consumer": "rule-consumer", - "executionId": "5f6aa57d-3e22-484e-bae8-cbed868f4d28", "id": "1", - "params": Object { - "alertVal": "My 1 name-of-alert test1 tag-A,tag-B 1 goes here", - "contextVal": "My goes here", - "foo": true, - "stateVal": "My goes here", - }, - "relatedSavedObjects": Array [ - Object { - "id": "1", - "namespace": "test1", - "type": "alert", - "typeId": "test", - }, - ], - "source": Object { - "source": Object { - "id": "1", - "type": "alert", - }, - "type": "SAVED_OBJECT", - }, - "spaceId": "test1", + "namespace": "test1", + "type": "alert", + "typeId": "test", }, ], - ] - `); + "source": Object { + "source": Object { + "id": "1", + "type": "alert", + }, + "type": "SAVED_OBJECT", + }, + "spaceId": "test1", + }, + ], + ] + `); }); test('does not schedule alerts with recovered actions that are muted', async () => { @@ -852,6 +971,16 @@ describe('Execution Handler', () => { }); test('triggers summary actions (per rule run)', async () => { + actionsClient.bulkEnqueueExecution.mockResolvedValueOnce({ + errors: false, + items: [ + { + actionTypeId: 'testActionTypeId', + id: '1', + response: ExecutionResponseType.SUCCESS, + }, + ], + }); alertsClient.getSummarizedAlerts.mockResolvedValue({ new: { count: 1, @@ -895,36 +1024,37 @@ describe('Execution Handler', () => { }); expect(actionsClient.bulkEnqueueExecution).toHaveBeenCalledTimes(1); expect(actionsClient.bulkEnqueueExecution.mock.calls[0]).toMatchInlineSnapshot(` - Array [ - Array [ + Array [ + Array [ + Object { + "actionTypeId": "testActionTypeId", + "apiKey": "MTIzOmFiYw==", + "consumer": "rule-consumer", + "executionId": "5f6aa57d-3e22-484e-bae8-cbed868f4d28", + "id": "1", + "params": Object { + "message": "New: 1 Ongoing: 0 Recovered: 0", + }, + "relatedSavedObjects": Array [ Object { - "apiKey": "MTIzOmFiYw==", - "consumer": "rule-consumer", - "executionId": "5f6aa57d-3e22-484e-bae8-cbed868f4d28", "id": "1", - "params": Object { - "message": "New: 1 Ongoing: 0 Recovered: 0", - }, - "relatedSavedObjects": Array [ - Object { - "id": "1", - "namespace": "test1", - "type": "alert", - "typeId": "test", - }, - ], - "source": Object { - "source": Object { - "id": "1", - "type": "alert", - }, - "type": "SAVED_OBJECT", - }, - "spaceId": "test1", + "namespace": "test1", + "type": "alert", + "typeId": "test", }, ], - ] - `); + "source": Object { + "source": Object { + "id": "1", + "type": "alert", + }, + "type": "SAVED_OBJECT", + }, + "spaceId": "test1", + }, + ], + ] + `); expect(alertingEventLogger.logAction).toBeCalledWith({ alertSummary: { new: 1, ongoing: 0, recovered: 0 }, id: '1', @@ -970,6 +1100,16 @@ describe('Execution Handler', () => { }); test('triggers summary actions (custom interval)', async () => { + actionsClient.bulkEnqueueExecution.mockResolvedValueOnce({ + errors: false, + items: [ + { + actionTypeId: 'testActionTypeId', + id: '1', + response: ExecutionResponseType.SUCCESS, + }, + ], + }); alertsClient.getSummarizedAlerts.mockResolvedValue({ new: { count: 1, @@ -1022,36 +1162,37 @@ describe('Execution Handler', () => { }); expect(actionsClient.bulkEnqueueExecution).toHaveBeenCalledTimes(1); expect(actionsClient.bulkEnqueueExecution.mock.calls[0]).toMatchInlineSnapshot(` - Array [ - Array [ + Array [ + Array [ + Object { + "actionTypeId": "testActionTypeId", + "apiKey": "MTIzOmFiYw==", + "consumer": "rule-consumer", + "executionId": "5f6aa57d-3e22-484e-bae8-cbed868f4d28", + "id": "1", + "params": Object { + "message": "New: 1 Ongoing: 0 Recovered: 0", + }, + "relatedSavedObjects": Array [ Object { - "apiKey": "MTIzOmFiYw==", - "consumer": "rule-consumer", - "executionId": "5f6aa57d-3e22-484e-bae8-cbed868f4d28", "id": "1", - "params": Object { - "message": "New: 1 Ongoing: 0 Recovered: 0", - }, - "relatedSavedObjects": Array [ - Object { - "id": "1", - "namespace": "test1", - "type": "alert", - "typeId": "test", - }, - ], - "source": Object { - "source": Object { - "id": "1", - "type": "alert", - }, - "type": "SAVED_OBJECT", - }, - "spaceId": "test1", + "namespace": "test1", + "type": "alert", + "typeId": "test", }, ], - ] - `); + "source": Object { + "source": Object { + "id": "1", + "type": "alert", + }, + "type": "SAVED_OBJECT", + }, + "spaceId": "test1", + }, + ], + ] + `); expect(alertingEventLogger.logAction).toBeCalledWith({ alertSummary: { new: 1, ongoing: 0, recovered: 0 }, id: '1', @@ -1206,6 +1347,17 @@ describe('Execution Handler', () => { }); test('schedules alerts with multiple recovered actions', async () => { + actionsClient.bulkEnqueueExecution.mockResolvedValueOnce({ + errors: false, + items: [ + { actionTypeId: 'test', id: '1', response: ExecutionResponseType.SUCCESS }, + { + actionTypeId: 'test', + id: '2', + response: ExecutionResponseType.SUCCESS, + }, + ], + }); const actions = [ { id: '1', @@ -1245,70 +1397,82 @@ describe('Execution Handler', () => { expect(actionsClient.bulkEnqueueExecution).toHaveBeenCalledTimes(1); expect(actionsClient.bulkEnqueueExecution.mock.calls[0]).toMatchInlineSnapshot(` - Array [ - Array [ + Array [ + Array [ + Object { + "actionTypeId": "test", + "apiKey": "MTIzOmFiYw==", + "consumer": "rule-consumer", + "executionId": "5f6aa57d-3e22-484e-bae8-cbed868f4d28", + "id": "1", + "params": Object { + "alertVal": "My 1 name-of-alert test1 tag-A,tag-B 1 goes here", + "contextVal": "My goes here", + "foo": true, + "stateVal": "My goes here", + }, + "relatedSavedObjects": Array [ Object { - "apiKey": "MTIzOmFiYw==", - "consumer": "rule-consumer", - "executionId": "5f6aa57d-3e22-484e-bae8-cbed868f4d28", "id": "1", - "params": Object { - "alertVal": "My 1 name-of-alert test1 tag-A,tag-B 1 goes here", - "contextVal": "My goes here", - "foo": true, - "stateVal": "My goes here", - }, - "relatedSavedObjects": Array [ - Object { - "id": "1", - "namespace": "test1", - "type": "alert", - "typeId": "test", - }, - ], - "source": Object { - "source": Object { - "id": "1", - "type": "alert", - }, - "type": "SAVED_OBJECT", - }, - "spaceId": "test1", + "namespace": "test1", + "type": "alert", + "typeId": "test", }, + ], + "source": Object { + "source": Object { + "id": "1", + "type": "alert", + }, + "type": "SAVED_OBJECT", + }, + "spaceId": "test1", + }, + Object { + "actionTypeId": "test", + "apiKey": "MTIzOmFiYw==", + "consumer": "rule-consumer", + "executionId": "5f6aa57d-3e22-484e-bae8-cbed868f4d28", + "id": "2", + "params": Object { + "alertVal": "My 1 name-of-alert test1 tag-A,tag-B 1 goes here", + "contextVal": "My goes here", + "foo": true, + "stateVal": "My goes here", + }, + "relatedSavedObjects": Array [ Object { - "apiKey": "MTIzOmFiYw==", - "consumer": "rule-consumer", - "executionId": "5f6aa57d-3e22-484e-bae8-cbed868f4d28", - "id": "2", - "params": Object { - "alertVal": "My 1 name-of-alert test1 tag-A,tag-B 1 goes here", - "contextVal": "My goes here", - "foo": true, - "stateVal": "My goes here", - }, - "relatedSavedObjects": Array [ - Object { - "id": "1", - "namespace": "test1", - "type": "alert", - "typeId": "test", - }, - ], - "source": Object { - "source": Object { - "id": "1", - "type": "alert", - }, - "type": "SAVED_OBJECT", - }, - "spaceId": "test1", + "id": "1", + "namespace": "test1", + "type": "alert", + "typeId": "test", }, ], - ] - `); + "source": Object { + "source": Object { + "id": "1", + "type": "alert", + }, + "type": "SAVED_OBJECT", + }, + "spaceId": "test1", + }, + ], + ] + `); }); test('does not schedule actions for the summarized alerts that are filtered out (for each alert)', async () => { + actionsClient.bulkEnqueueExecution.mockResolvedValueOnce({ + errors: false, + items: [ + { + actionTypeId: 'testActionTypeId', + id: '1', + response: ExecutionResponseType.SUCCESS, + }, + ], + }); alertsClient.getSummarizedAlerts.mockResolvedValue({ new: { count: 0, @@ -1372,6 +1536,16 @@ describe('Execution Handler', () => { }); test('does not schedule actions for the summarized alerts that are filtered out (summary of alerts onThrottleInterval)', async () => { + actionsClient.bulkEnqueueExecution.mockResolvedValueOnce({ + errors: false, + items: [ + { + actionTypeId: 'testActionTypeId', + id: '1', + response: ExecutionResponseType.SUCCESS, + }, + ], + }); alertsClient.getSummarizedAlerts.mockResolvedValue({ new: { count: 0, @@ -1432,6 +1606,16 @@ describe('Execution Handler', () => { }); test('does not schedule actions for the for-each type alerts that are filtered out', async () => { + actionsClient.bulkEnqueueExecution.mockResolvedValueOnce({ + errors: false, + items: [ + { + actionTypeId: 'testActionTypeId', + id: '1', + response: ExecutionResponseType.SUCCESS, + }, + ], + }); alertsClient.getSummarizedAlerts.mockResolvedValue({ new: { count: 1, @@ -1486,6 +1670,7 @@ describe('Execution Handler', () => { }); expect(actionsClient.bulkEnqueueExecution).toHaveBeenCalledWith([ { + actionTypeId: 'testActionTypeId', apiKey: 'MTIzOmFiYw==', consumer: 'rule-consumer', executionId: '5f6aa57d-3e22-484e-bae8-cbed868f4d28', diff --git a/x-pack/plugins/alerting/server/task_runner/execution_handler.ts b/x-pack/plugins/alerting/server/task_runner/execution_handler.ts index 6214482ec270..c3002b7efe67 100644 --- a/x-pack/plugins/alerting/server/task_runner/execution_handler.ts +++ b/x-pack/plugins/alerting/server/task_runner/execution_handler.ts @@ -10,7 +10,11 @@ import { Logger } from '@kbn/core/server'; import { getRuleDetailsRoute, triggersActionsRoute } from '@kbn/rule-data-utils'; import { asSavedObjectExecutionSource } from '@kbn/actions-plugin/server'; import { isEphemeralTaskRejectedDueToCapacityError } from '@kbn/task-manager-plugin/server'; -import { ExecuteOptions as EnqueueExecutionOptions } from '@kbn/actions-plugin/server/create_execute_function'; +import { + ExecuteOptions as EnqueueExecutionOptions, + ExecutionResponseItem, + ExecutionResponseType, +} from '@kbn/actions-plugin/server/create_execute_function'; import { ActionsCompletion } from '@kbn/alerting-state-types'; import { ActionsClient } from '@kbn/actions-plugin/server/actions_client'; import { chunk } from 'lodash'; @@ -49,6 +53,18 @@ enum Reasons { ACTION_GROUP_NOT_CHANGED = 'actionGroupHasNotChanged', } +interface LogAction { + id: string; + typeId: string; + alertId?: string; + alertGroup?: string; + alertSummary?: { + new: number; + ongoing: number; + recovered: number; + }; +} + export interface RunResult { throttledSummaryActions: ThrottledActions; } @@ -176,8 +192,9 @@ export class ExecutionHandler< }, } = this; - const logActions = []; + const logActions: Record = {}; const bulkActions: EnqueueExecutionOptions[] = []; + let bulkActionsResponse: ExecutionResponseItem[] = []; this.ruleRunMetricsStore.incrementNumberOfGeneratedActions(executables.length); @@ -262,7 +279,7 @@ export class ExecutionHandler< throttledSummaryActions[action.uuid!] = { date: new Date().toISOString() }; } - logActions.push({ + logActions[action.id] = { id: action.id, typeId: action.actionTypeId, alertSummary: { @@ -270,7 +287,7 @@ export class ExecutionHandler< ongoing: summarizedAlerts.ongoing.count, recovered: summarizedAlerts.recovered.count, }, - }); + }; } else { const ruleUrl = this.buildRuleUrl(spaceId); const actionToRun = { @@ -307,12 +324,12 @@ export class ExecutionHandler< bulkActions, }); - logActions.push({ + logActions[action.id] = { id: action.id, typeId: action.actionTypeId, alertId: alert.getId(), alertGroup: action.group, - }); + }; if (!this.isRecoveredAlert(actionGroup)) { if (isActionOnInterval(action)) { @@ -331,12 +348,40 @@ export class ExecutionHandler< if (!!bulkActions.length) { for (const c of chunk(bulkActions, CHUNK_SIZE)) { - await this.actionsClient!.bulkEnqueueExecution(c); + const response = await this.actionsClient!.bulkEnqueueExecution(c); + if (response.errors) { + bulkActionsResponse = bulkActionsResponse.concat( + response.items.filter( + (i) => i.response === ExecutionResponseType.QUEUED_ACTIONS_LIMIT_ERROR + ) + ); + } + } + } + + if (!!bulkActionsResponse.length) { + for (const r of bulkActionsResponse) { + if (r.response === ExecutionResponseType.QUEUED_ACTIONS_LIMIT_ERROR) { + ruleRunMetricsStore.setHasReachedQueuedActionsLimit(true); + ruleRunMetricsStore.decrementNumberOfTriggeredActions(); + ruleRunMetricsStore.decrementNumberOfTriggeredActionsByConnectorType(r.actionTypeId); + ruleRunMetricsStore.setTriggeredActionsStatusByConnectorType({ + actionTypeId: r.actionTypeId, + status: ActionsCompletion.PARTIAL, + }); + + logger.debug( + `Rule "${this.rule.id}" skipped scheduling action "${r.id}" because the maximum number of queued actions has been reached.` + ); + + delete logActions[r.id]; + } } } - if (!!logActions.length) { - for (const action of logActions) { + const logActionsValues = Object.values(logActions); + if (!!logActionsValues.length) { + for (const action of logActionsValues) { alertingEventLogger.logAction(action); } } @@ -509,6 +554,7 @@ export class ExecutionHandler< typeId: this.ruleType.id, }, ], + actionTypeId: action.actionTypeId, }; } diff --git a/x-pack/plugins/alerting/server/task_runner/fixtures.ts b/x-pack/plugins/alerting/server/task_runner/fixtures.ts index 467d7460afc2..64c798b868db 100644 --- a/x-pack/plugins/alerting/server/task_runner/fixtures.ts +++ b/x-pack/plugins/alerting/server/task_runner/fixtures.ts @@ -395,13 +395,16 @@ export const generateEnqueueFunctionInput = ({ isBulk = false, isResolved, foo, + actionTypeId, }: { id: string; isBulk?: boolean; isResolved?: boolean; foo?: boolean; + actionTypeId?: string; }) => { const input = { + actionTypeId: actionTypeId || 'action', apiKey: 'MTIzOmFiYw==', executionId: '5f6aa57d-3e22-484e-bae8-cbed868f4d28', id, diff --git a/x-pack/plugins/alerting/server/task_runner/task_runner.test.ts b/x-pack/plugins/alerting/server/task_runner/task_runner.test.ts index fcd246405835..c0d8a1434aa3 100644 --- a/x-pack/plugins/alerting/server/task_runner/task_runner.test.ts +++ b/x-pack/plugins/alerting/server/task_runner/task_runner.test.ts @@ -237,6 +237,8 @@ describe('Task Runner', () => { logger.get.mockImplementation(() => logger); ruleType.executor.mockResolvedValue({ state: {} }); + + actionsClient.bulkEnqueueExecution.mockResolvedValue({ errors: false, items: [] }); }); test('successfully executes the task', async () => { @@ -299,7 +301,7 @@ describe('Task Runner', () => { ); expect(logger.debug).nthCalledWith( 4, - 'ruleRunMetrics for test:1: {"numSearches":3,"totalSearchDurationMs":23423,"esSearchDurationMs":33,"numberOfTriggeredActions":0,"numberOfGeneratedActions":0,"numberOfActiveAlerts":0,"numberOfRecoveredAlerts":0,"numberOfNewAlerts":0,"hasReachedAlertLimit":false,"triggeredActionsStatus":"complete"}' + 'ruleRunMetrics for test:1: {"numSearches":3,"totalSearchDurationMs":23423,"esSearchDurationMs":33,"numberOfTriggeredActions":0,"numberOfGeneratedActions":0,"numberOfActiveAlerts":0,"numberOfRecoveredAlerts":0,"numberOfNewAlerts":0,"hasReachedAlertLimit":false,"hasReachedQueuedActionsLimit":false,"triggeredActionsStatus":"complete"}' ); testAlertingEventLogCalls({ status: 'ok' }); @@ -381,7 +383,7 @@ describe('Task Runner', () => { ); expect(logger.debug).nthCalledWith( 5, - 'ruleRunMetrics for test:1: {"numSearches":3,"totalSearchDurationMs":23423,"esSearchDurationMs":33,"numberOfTriggeredActions":1,"numberOfGeneratedActions":1,"numberOfActiveAlerts":1,"numberOfRecoveredAlerts":0,"numberOfNewAlerts":1,"hasReachedAlertLimit":false,"triggeredActionsStatus":"complete"}' + 'ruleRunMetrics for test:1: {"numSearches":3,"totalSearchDurationMs":23423,"esSearchDurationMs":33,"numberOfTriggeredActions":1,"numberOfGeneratedActions":1,"numberOfActiveAlerts":1,"numberOfRecoveredAlerts":0,"numberOfNewAlerts":1,"hasReachedAlertLimit":false,"hasReachedQueuedActionsLimit":false,"triggeredActionsStatus":"complete"}' ); testAlertingEventLogCalls({ @@ -469,7 +471,7 @@ describe('Task Runner', () => { ); expect(logger.debug).nthCalledWith( 6, - 'ruleRunMetrics for test:1: {"numSearches":3,"totalSearchDurationMs":23423,"esSearchDurationMs":33,"numberOfTriggeredActions":0,"numberOfGeneratedActions":0,"numberOfActiveAlerts":1,"numberOfRecoveredAlerts":0,"numberOfNewAlerts":1,"hasReachedAlertLimit":false,"triggeredActionsStatus":"complete"}' + 'ruleRunMetrics for test:1: {"numSearches":3,"totalSearchDurationMs":23423,"esSearchDurationMs":33,"numberOfTriggeredActions":0,"numberOfGeneratedActions":0,"numberOfActiveAlerts":1,"numberOfRecoveredAlerts":0,"numberOfNewAlerts":1,"hasReachedAlertLimit":false,"hasReachedQueuedActionsLimit":false,"triggeredActionsStatus":"complete"}' ); testAlertingEventLogCalls({ @@ -723,7 +725,7 @@ describe('Task Runner', () => { ); expect(logger.debug).nthCalledWith( 6, - 'ruleRunMetrics for test:1: {"numSearches":3,"totalSearchDurationMs":23423,"esSearchDurationMs":33,"numberOfTriggeredActions":1,"numberOfGeneratedActions":1,"numberOfActiveAlerts":2,"numberOfRecoveredAlerts":0,"numberOfNewAlerts":2,"hasReachedAlertLimit":false,"triggeredActionsStatus":"complete"}' + 'ruleRunMetrics for test:1: {"numSearches":3,"totalSearchDurationMs":23423,"esSearchDurationMs":33,"numberOfTriggeredActions":1,"numberOfGeneratedActions":1,"numberOfActiveAlerts":2,"numberOfRecoveredAlerts":0,"numberOfNewAlerts":2,"hasReachedAlertLimit":false,"hasReachedQueuedActionsLimit":false,"triggeredActionsStatus":"complete"}' ); expect(mockUsageCounter.incrementCounter).not.toHaveBeenCalled(); } @@ -1168,7 +1170,7 @@ describe('Task Runner', () => { ); expect(logger.debug).nthCalledWith( 6, - 'ruleRunMetrics for test:1: {"numSearches":3,"totalSearchDurationMs":23423,"esSearchDurationMs":33,"numberOfTriggeredActions":2,"numberOfGeneratedActions":2,"numberOfActiveAlerts":1,"numberOfRecoveredAlerts":1,"numberOfNewAlerts":0,"hasReachedAlertLimit":false,"triggeredActionsStatus":"complete"}' + 'ruleRunMetrics for test:1: {"numSearches":3,"totalSearchDurationMs":23423,"esSearchDurationMs":33,"numberOfTriggeredActions":2,"numberOfGeneratedActions":2,"numberOfActiveAlerts":1,"numberOfRecoveredAlerts":1,"numberOfNewAlerts":0,"hasReachedAlertLimit":false,"hasReachedQueuedActionsLimit":false,"triggeredActionsStatus":"complete"}' ); testAlertingEventLogCalls({ @@ -1295,7 +1297,7 @@ describe('Task Runner', () => { ); expect(logger.debug).nthCalledWith( 6, - `ruleRunMetrics for test:1: {"numSearches":3,"totalSearchDurationMs":23423,"esSearchDurationMs":33,"numberOfTriggeredActions":2,"numberOfGeneratedActions":2,"numberOfActiveAlerts":1,"numberOfRecoveredAlerts":1,"numberOfNewAlerts":0,"hasReachedAlertLimit":false,"triggeredActionsStatus":"complete"}` + `ruleRunMetrics for test:1: {"numSearches":3,"totalSearchDurationMs":23423,"esSearchDurationMs":33,"numberOfTriggeredActions":2,"numberOfGeneratedActions":2,"numberOfActiveAlerts":1,"numberOfRecoveredAlerts":1,"numberOfNewAlerts":0,"hasReachedAlertLimit":false,"hasReachedQueuedActionsLimit":false,"triggeredActionsStatus":"complete"}` ); testAlertingEventLogCalls({ @@ -1490,7 +1492,7 @@ describe('Task Runner', () => { expect(enqueueFunction).toHaveBeenCalledTimes(1); expect(enqueueFunction).toHaveBeenCalledWith( - generateEnqueueFunctionInput({ isBulk, id: '1', foo: true }) + generateEnqueueFunctionInput({ isBulk, id: '1', foo: true, actionTypeId: 'slack' }) ); } ); @@ -1562,7 +1564,7 @@ describe('Task Runner', () => { expect(enqueueFunction).toHaveBeenCalledTimes(1); expect(enqueueFunction).toHaveBeenCalledWith( - generateEnqueueFunctionInput({ isBulk, id: '1', foo: true }) + generateEnqueueFunctionInput({ isBulk, id: '1', foo: true, actionTypeId: 'slack' }) ); expect(result.state.summaryActions).toEqual({ '111-111': { date: new Date(DATE_1970).toISOString() }, @@ -2440,7 +2442,7 @@ describe('Task Runner', () => { ); expect(logger.debug).nthCalledWith( 4, - 'ruleRunMetrics for test:1: {"numSearches":3,"totalSearchDurationMs":23423,"esSearchDurationMs":33,"numberOfTriggeredActions":0,"numberOfGeneratedActions":0,"numberOfActiveAlerts":0,"numberOfRecoveredAlerts":0,"numberOfNewAlerts":0,"hasReachedAlertLimit":false,"triggeredActionsStatus":"complete"}' + 'ruleRunMetrics for test:1: {"numSearches":3,"totalSearchDurationMs":23423,"esSearchDurationMs":33,"numberOfTriggeredActions":0,"numberOfGeneratedActions":0,"numberOfActiveAlerts":0,"numberOfRecoveredAlerts":0,"numberOfNewAlerts":0,"hasReachedAlertLimit":false,"hasReachedQueuedActionsLimit":false,"triggeredActionsStatus":"complete"}' ); testAlertingEventLogCalls({ @@ -2962,7 +2964,7 @@ describe('Task Runner', () => { status: 'warning', errorReason: `maxExecutableActions`, logAlert: 4, - logAction: 5, + logAction: 3, }); }); @@ -3146,6 +3148,7 @@ describe('Task Runner', () => { logAlert = 0, logAction = 0, hasReachedAlertLimit = false, + hasReachedQueuedActionsLimit = false, }: { status: string; ruleContext?: RuleContextOpts; @@ -3162,6 +3165,7 @@ describe('Task Runner', () => { errorReason?: string; errorMessage?: string; hasReachedAlertLimit?: boolean; + hasReachedQueuedActionsLimit?: boolean; }) { expect(alertingEventLogger.initialize).toHaveBeenCalledWith(ruleContext); if (status !== 'skip') { @@ -3215,6 +3219,7 @@ describe('Task Runner', () => { totalSearchDurationMs: 23423, hasReachedAlertLimit, triggeredActionsStatus: 'partial', + hasReachedQueuedActionsLimit, }, status: { lastExecutionDate: new Date('1970-01-01T00:00:00.000Z'), @@ -3250,6 +3255,7 @@ describe('Task Runner', () => { totalSearchDurationMs: 23423, hasReachedAlertLimit, triggeredActionsStatus: 'complete', + hasReachedQueuedActionsLimit, }, status: { lastExecutionDate: new Date('1970-01-01T00:00:00.000Z'), diff --git a/x-pack/plugins/alerting/server/task_runner/task_runner_alerts_client.test.ts b/x-pack/plugins/alerting/server/task_runner/task_runner_alerts_client.test.ts index 3ed2a63feacd..98e0643abfd5 100644 --- a/x-pack/plugins/alerting/server/task_runner/task_runner_alerts_client.test.ts +++ b/x-pack/plugins/alerting/server/task_runner/task_runner_alerts_client.test.ts @@ -409,7 +409,7 @@ describe('Task Runner', () => { ); expect(logger.debug).nthCalledWith( 5, - 'ruleRunMetrics for test:1: {"numSearches":3,"totalSearchDurationMs":23423,"esSearchDurationMs":33,"numberOfTriggeredActions":0,"numberOfGeneratedActions":0,"numberOfActiveAlerts":0,"numberOfRecoveredAlerts":0,"numberOfNewAlerts":0,"hasReachedAlertLimit":false,"triggeredActionsStatus":"complete"}' + 'ruleRunMetrics for test:1: {"numSearches":3,"totalSearchDurationMs":23423,"esSearchDurationMs":33,"numberOfTriggeredActions":0,"numberOfGeneratedActions":0,"numberOfActiveAlerts":0,"numberOfRecoveredAlerts":0,"numberOfNewAlerts":0,"hasReachedAlertLimit":false,"hasReachedQueuedActionsLimit":false,"triggeredActionsStatus":"complete"}' ); expect( taskRunnerFactoryInitializerParams.internalSavedObjectsRepository.update diff --git a/x-pack/plugins/alerting/server/task_runner/task_runner_cancel.test.ts b/x-pack/plugins/alerting/server/task_runner/task_runner_cancel.test.ts index 870cad51ed4b..46783154a6a4 100644 --- a/x-pack/plugins/alerting/server/task_runner/task_runner_cancel.test.ts +++ b/x-pack/plugins/alerting/server/task_runner/task_runner_cancel.test.ts @@ -191,6 +191,8 @@ describe('Task Runner Cancel', () => { alertingEventLogger.getStartAndDuration.mockImplementation(() => ({ start: new Date() })); (AlertingEventLogger as jest.Mock).mockImplementation(() => alertingEventLogger); logger.get.mockImplementation(() => logger); + + actionsClient.bulkEnqueueExecution.mockResolvedValue({ errors: false, items: [] }); }); test('updates rule saved object execution status and writes to event log entry when task is cancelled mid-execution', async () => { @@ -470,7 +472,7 @@ describe('Task Runner Cancel', () => { ); expect(logger.debug).nthCalledWith( 8, - 'ruleRunMetrics for test:1: {"numSearches":3,"totalSearchDurationMs":23423,"esSearchDurationMs":33,"numberOfTriggeredActions":1,"numberOfGeneratedActions":1,"numberOfActiveAlerts":1,"numberOfRecoveredAlerts":0,"numberOfNewAlerts":1,"hasReachedAlertLimit":false,"triggeredActionsStatus":"complete"}' + 'ruleRunMetrics for test:1: {"numSearches":3,"totalSearchDurationMs":23423,"esSearchDurationMs":33,"numberOfTriggeredActions":1,"numberOfGeneratedActions":1,"numberOfActiveAlerts":1,"numberOfRecoveredAlerts":0,"numberOfNewAlerts":1,"hasReachedAlertLimit":false,"hasReachedQueuedActionsLimit":false,"triggeredActionsStatus":"complete"}' ); } @@ -485,6 +487,7 @@ describe('Task Runner Cancel', () => { logAlert = 0, logAction = 0, hasReachedAlertLimit = false, + hasReachedQueuedActionsLimit = false, }: { status: string; ruleContext?: RuleContextOpts; @@ -497,6 +500,7 @@ describe('Task Runner Cancel', () => { logAlert?: number; logAction?: number; hasReachedAlertLimit?: boolean; + hasReachedQueuedActionsLimit?: boolean; }) { expect(alertingEventLogger.initialize).toHaveBeenCalledWith(ruleContext); expect(alertingEventLogger.start).toHaveBeenCalled(); @@ -515,6 +519,7 @@ describe('Task Runner Cancel', () => { totalSearchDurationMs: 23423, hasReachedAlertLimit, triggeredActionsStatus: 'complete', + hasReachedQueuedActionsLimit, }, status: { lastExecutionDate: new Date('1970-01-01T00:00:00.000Z'), diff --git a/x-pack/plugins/notifications/server/services/connectors_email_service.test.ts b/x-pack/plugins/notifications/server/services/connectors_email_service.test.ts index 4e355e01cfc3..2f0a505ba1f5 100644 --- a/x-pack/plugins/notifications/server/services/connectors_email_service.test.ts +++ b/x-pack/plugins/notifications/server/services/connectors_email_service.test.ts @@ -5,18 +5,35 @@ * 2.0. */ +import { loggerMock } from '@kbn/logging-mocks'; import { unsecuredActionsClientMock } from '@kbn/actions-plugin/server/unsecured_actions_client/unsecured_actions_client.mock'; import { ConnectorsEmailService } from './connectors_email_service'; import type { PlainTextEmail, HTMLEmail } from './types'; +import { ExecutionResponseType } from '@kbn/actions-plugin/server/create_execute_function'; const REQUESTER_ID = 'requesterId'; const CONNECTOR_ID = 'connectorId'; describe('sendPlainTextEmail()', () => { + const logger = loggerMock.create(); + beforeEach(() => { + loggerMock.clear(logger); + }); + describe('calls the provided ActionsClient#bulkEnqueueExecution() with the appropriate params', () => { it(`omits the 'relatedSavedObjects' field if no context is provided`, () => { const actionsClient = unsecuredActionsClientMock.create(); - const email = new ConnectorsEmailService(REQUESTER_ID, CONNECTOR_ID, actionsClient); + actionsClient.bulkEnqueueExecution.mockResolvedValueOnce({ + errors: false, + items: [ + { + id: CONNECTOR_ID, + response: ExecutionResponseType.SUCCESS, + actionTypeId: 'test', + }, + ], + }); + const email = new ConnectorsEmailService(REQUESTER_ID, CONNECTOR_ID, actionsClient, logger); const payload: PlainTextEmail = { to: ['user1@email.com'], subject: 'This is a notification email', @@ -40,7 +57,17 @@ describe('sendPlainTextEmail()', () => { it(`populates the 'relatedSavedObjects' field if context is provided`, () => { const actionsClient = unsecuredActionsClientMock.create(); - const email = new ConnectorsEmailService(REQUESTER_ID, CONNECTOR_ID, actionsClient); + actionsClient.bulkEnqueueExecution.mockResolvedValueOnce({ + errors: false, + items: [ + { + id: CONNECTOR_ID, + response: ExecutionResponseType.SUCCESS, + actionTypeId: 'test', + }, + ], + }); + const email = new ConnectorsEmailService(REQUESTER_ID, CONNECTOR_ID, actionsClient, logger); const payload: PlainTextEmail = { to: ['user1@email.com', 'user2@email.com', 'user3@email.com'], subject: 'This is a notification email', @@ -107,14 +134,53 @@ describe('sendPlainTextEmail()', () => { }, ]); }); + + it(`logs an error when the maximum number of queued actions has been reached`, async () => { + const actionsClient = unsecuredActionsClientMock.create(); + actionsClient.bulkEnqueueExecution.mockResolvedValueOnce({ + errors: true, + items: [ + { + id: CONNECTOR_ID, + response: ExecutionResponseType.QUEUED_ACTIONS_LIMIT_ERROR, + actionTypeId: 'test', + }, + ], + }); + const email = new ConnectorsEmailService(REQUESTER_ID, CONNECTOR_ID, actionsClient, logger); + const payload: PlainTextEmail = { + to: ['user1@email.com'], + subject: 'This is a notification email', + message: 'With some contents inside.', + }; + + await email.sendPlainTextEmail(payload); + + expect(logger.warn).toHaveBeenCalled(); + }); }); }); describe('sendHTMLEmail()', () => { + const logger = loggerMock.create(); + beforeEach(() => { + loggerMock.clear(logger); + }); + describe('calls the provided ActionsClient#bulkEnqueueExecution() with the appropriate params', () => { it(`omits the 'relatedSavedObjects' field if no context is provided`, () => { const actionsClient = unsecuredActionsClientMock.create(); - const email = new ConnectorsEmailService(REQUESTER_ID, CONNECTOR_ID, actionsClient); + actionsClient.bulkEnqueueExecution.mockResolvedValueOnce({ + errors: false, + items: [ + { + id: CONNECTOR_ID, + response: ExecutionResponseType.SUCCESS, + actionTypeId: 'test', + }, + ], + }); + const email = new ConnectorsEmailService(REQUESTER_ID, CONNECTOR_ID, actionsClient, logger); const payload: HTMLEmail = { to: ['user1@email.com'], subject: 'This is a notification email', @@ -140,7 +206,17 @@ describe('sendHTMLEmail()', () => { it(`populates the 'relatedSavedObjects' field if context is provided`, () => { const actionsClient = unsecuredActionsClientMock.create(); - const email = new ConnectorsEmailService(REQUESTER_ID, CONNECTOR_ID, actionsClient); + actionsClient.bulkEnqueueExecution.mockResolvedValueOnce({ + errors: false, + items: [ + { + id: CONNECTOR_ID, + response: ExecutionResponseType.SUCCESS, + actionTypeId: 'test', + }, + ], + }); + const email = new ConnectorsEmailService(REQUESTER_ID, CONNECTOR_ID, actionsClient, logger); const payload: HTMLEmail = { to: ['user1@email.com', 'user2@email.com', 'user3@email.com'], subject: 'This is a notification email', @@ -211,5 +287,29 @@ describe('sendHTMLEmail()', () => { }, ]); }); + it(`logs an error when the maximum number of queued actions has been reached`, async () => { + const actionsClient = unsecuredActionsClientMock.create(); + actionsClient.bulkEnqueueExecution.mockResolvedValueOnce({ + errors: true, + items: [ + { + id: CONNECTOR_ID, + response: ExecutionResponseType.QUEUED_ACTIONS_LIMIT_ERROR, + actionTypeId: 'test', + }, + ], + }); + const email = new ConnectorsEmailService(REQUESTER_ID, CONNECTOR_ID, actionsClient, logger); + const payload: HTMLEmail = { + to: ['user1@email.com'], + subject: 'This is a notification email', + message: 'With some contents inside.', + messageHTML: 'With some contents inside.', + }; + + await email.sendHTMLEmail(payload); + + expect(logger.warn).toHaveBeenCalled(); + }); }); }); diff --git a/x-pack/plugins/notifications/server/services/connectors_email_service.ts b/x-pack/plugins/notifications/server/services/connectors_email_service.ts index 91958ce12d13..94acd532cdac 100755 --- a/x-pack/plugins/notifications/server/services/connectors_email_service.ts +++ b/x-pack/plugins/notifications/server/services/connectors_email_service.ts @@ -6,13 +6,19 @@ */ import type { IUnsecuredActionsClient } from '@kbn/actions-plugin/server'; +import { + ExecutionResponseItem, + ExecutionResponseType, +} from '@kbn/actions-plugin/server/create_execute_function'; +import type { Logger } from '@kbn/core/server'; import type { EmailService, PlainTextEmail, HTMLEmail } from './types'; export class ConnectorsEmailService implements EmailService { constructor( private requesterId: string, private connectorId: string, - private actionsClient: IUnsecuredActionsClient + private actionsClient: IUnsecuredActionsClient, + private logger: Logger ) {} async sendPlainTextEmail(params: PlainTextEmail): Promise { @@ -25,7 +31,11 @@ export class ConnectorsEmailService implements EmailService { }, relatedSavedObjects: params.context?.relatedObjects, })); - return await this.actionsClient.bulkEnqueueExecution(this.requesterId, actions); + + const response = await this.actionsClient.bulkEnqueueExecution(this.requesterId, actions); + if (response.errors) { + this.logEnqueueExecutionResponse(response.items); + } } async sendHTMLEmail(params: HTMLEmail): Promise { @@ -40,6 +50,19 @@ export class ConnectorsEmailService implements EmailService { relatedSavedObjects: params.context?.relatedObjects, })); - return await this.actionsClient.bulkEnqueueExecution(this.requesterId, actions); + const response = await this.actionsClient.bulkEnqueueExecution(this.requesterId, actions); + if (response.errors) { + this.logEnqueueExecutionResponse(response.items); + } + } + + private logEnqueueExecutionResponse(items: ExecutionResponseItem[]) { + for (const r of items) { + if (r.response === ExecutionResponseType.QUEUED_ACTIONS_LIMIT_ERROR) { + this.logger.warn( + `Skipped scheduling action "${r.id}" because the maximum number of queued actions has been reached.` + ); + } + } } } diff --git a/x-pack/plugins/notifications/server/services/connectors_email_service_provider.test.ts b/x-pack/plugins/notifications/server/services/connectors_email_service_provider.test.ts index 7db750264005..7c7cfacef5c3 100644 --- a/x-pack/plugins/notifications/server/services/connectors_email_service_provider.test.ts +++ b/x-pack/plugins/notifications/server/services/connectors_email_service_provider.test.ts @@ -235,7 +235,8 @@ describe('ConnectorsEmailServiceProvider', () => { expect(connectorsEmailServiceMock).toHaveBeenCalledWith( PLUGIN_ID, validConnectorConfig.connectors.default.email, - actionsStart.getUnsecuredActionsClient() + actionsStart.getUnsecuredActionsClient(), + logger ); }); }); diff --git a/x-pack/plugins/notifications/server/services/connectors_email_service_provider.ts b/x-pack/plugins/notifications/server/services/connectors_email_service_provider.ts index b3364f31d368..5c631005c969 100755 --- a/x-pack/plugins/notifications/server/services/connectors_email_service_provider.ts +++ b/x-pack/plugins/notifications/server/services/connectors_email_service_provider.ts @@ -71,7 +71,12 @@ export class EmailServiceProvider try { const unsecuredActionsClient = actions.getUnsecuredActionsClient(); email = new LicensedEmailService( - new ConnectorsEmailService(PLUGIN_ID, emailConnector, unsecuredActionsClient), + new ConnectorsEmailService( + PLUGIN_ID, + emailConnector, + unsecuredActionsClient, + this.logger + ), licensing.license$, MINIMUM_LICENSE, this.logger diff --git a/x-pack/plugins/triggers_actions_ui/public/application/sections/rules_list/translations.ts b/x-pack/plugins/triggers_actions_ui/public/application/sections/rules_list/translations.ts index dd7a2b8cec3a..f678bdbad946 100644 --- a/x-pack/plugins/triggers_actions_ui/public/application/sections/rules_list/translations.ts +++ b/x-pack/plugins/triggers_actions_ui/public/application/sections/rules_list/translations.ts @@ -154,6 +154,13 @@ export const ALERT_WARNING_MAX_EXECUTABLE_ACTIONS_REASON = i18n.translate( } ); +export const ALERT_WARNING_MAX_QUEUED_ACTIONS_REASON = i18n.translate( + 'xpack.triggersActionsUI.sections.rulesList.ruleWarningReasonMaxQueuedActions', + { + defaultMessage: 'Queued action limit exceeded.', + } +); + export const ALERT_WARNING_MAX_ALERTS_REASON = i18n.translate( 'xpack.triggersActionsUI.sections.rulesList.ruleWarningReasonMaxAlerts', { @@ -182,6 +189,7 @@ export const rulesErrorReasonTranslationsMapping = { export const rulesWarningReasonTranslationsMapping = { maxExecutableActions: ALERT_WARNING_MAX_EXECUTABLE_ACTIONS_REASON, maxAlerts: ALERT_WARNING_MAX_ALERTS_REASON, + maxQueuedActions: ALERT_WARNING_MAX_QUEUED_ACTIONS_REASON, unknown: ALERT_WARNING_UNKNOWN_REASON, }; diff --git a/x-pack/test/alerting_api_integration/common/config.ts b/x-pack/test/alerting_api_integration/common/config.ts index 7509a8842af5..823ef92ea32c 100644 --- a/x-pack/test/alerting_api_integration/common/config.ts +++ b/x-pack/test/alerting_api_integration/common/config.ts @@ -343,6 +343,7 @@ export function createTestConfig(name: string, options: CreateTestConfigOptions) '--notifications.connectors.default.email=notification-email', '--xpack.task_manager.allow_reading_invalid_state=false', '--xpack.task_manager.requeue_invalid_tasks.enabled=true', + '--xpack.actions.queued.max=500', ], }, }; diff --git a/x-pack/test/alerting_api_integration/common/plugins/alerts/server/routes.ts b/x-pack/test/alerting_api_integration/common/plugins/alerts/server/routes.ts index 76ebd2cf20af..c7104b3b489a 100644 --- a/x-pack/test/alerting_api_integration/common/plugins/alerts/server/routes.ts +++ b/x-pack/test/alerting_api_integration/common/plugins/alerts/server/routes.ts @@ -344,6 +344,7 @@ export function defineRoutes( ) : null, params: req.body.params, + actionTypeId: req.params.id, }, ]); return res.noContent(); diff --git a/x-pack/test/alerting_api_integration/spaces_only/tests/actions/index.ts b/x-pack/test/alerting_api_integration/spaces_only/tests/actions/index.ts index 7a77ebcb1a43..1c735f75f500 100644 --- a/x-pack/test/alerting_api_integration/spaces_only/tests/actions/index.ts +++ b/x-pack/test/alerting_api_integration/spaces_only/tests/actions/index.ts @@ -31,6 +31,7 @@ export default function actionsTests({ loadTestFile, getService }: FtrProviderCo loadTestFile(require.resolve('./type_not_enabled')); loadTestFile(require.resolve('./schedule_unsecured_action')); loadTestFile(require.resolve('./check_registered_connector_types')); + loadTestFile(require.resolve('./max_queued_actions_circuit_breaker')); // note that this test will destroy existing spaces loadTestFile(require.resolve('./migrations')); diff --git a/x-pack/test/alerting_api_integration/spaces_only/tests/actions/max_queued_actions_circuit_breaker.ts b/x-pack/test/alerting_api_integration/spaces_only/tests/actions/max_queued_actions_circuit_breaker.ts new file mode 100644 index 000000000000..beeb7a35a13a --- /dev/null +++ b/x-pack/test/alerting_api_integration/spaces_only/tests/actions/max_queued_actions_circuit_breaker.ts @@ -0,0 +1,102 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import expect from '@kbn/expect'; +import { ES_TEST_INDEX_NAME } from '@kbn/alerting-api-integration-helpers'; +import { getEventLog, getTestRuleData, ObjectRemover } from '../../../common/lib'; +import { FtrProviderContext } from '../../../common/ftr_provider_context'; + +// eslint-disable-next-line import/no-default-export +export default function createActionTests({ getService }: FtrProviderContext) { + const supertest = getService('supertest'); + + describe('max queued actions circuit breaker', () => { + const objectRemover = new ObjectRemover(supertest); + const retry = getService('retry'); + + after(() => objectRemover.removeAll()); + + it('completes execution and reports back whether it reached the limit', async () => { + const response = await supertest + .post('/api/actions/connector') + .set('kbn-xsrf', 'foo') + .send({ + name: 'My action', + connector_type_id: 'test.index-record', + config: { + unencrypted: `This value shouldn't get encrypted`, + }, + secrets: { + encrypted: 'This value should be encrypted', + }, + }); + + expect(response.status).to.eql(200); + const actionId = response.body.id; + objectRemover.add('default', actionId, 'action', 'actions'); + + const actions = []; + for (let i = 0; i < 510; i++) { + actions.push({ + id: actionId, + group: 'default', + params: { + index: ES_TEST_INDEX_NAME, + reference: 'test', + message: '', + }, + frequency: { + summary: false, + throttle: null, + notify_when: 'onActiveAlert', + }, + }); + } + + const resp = await supertest + .post('/api/alerting/rule') + .set('kbn-xsrf', 'foo') + .send( + getTestRuleData({ + rule_type_id: 'test.always-firing-alert-as-data', + schedule: { interval: '1h' }, + throttle: undefined, + notify_when: undefined, + params: { + index: ES_TEST_INDEX_NAME, + reference: 'test', + }, + actions, + }) + ); + + expect(resp.status).to.eql(200); + const ruleId = resp.body.id; + objectRemover.add('default', ruleId, 'rule', 'alerting'); + + const events = await retry.try(async () => { + return await getEventLog({ + getService, + spaceId: 'default', + type: 'alert', + id: ruleId, + provider: 'alerting', + actions: new Map([['execute', { gte: 1 }]]), + }); + }); + + // check that there's a warning in the execute event + const executeEvent = events[0]; + expect(executeEvent?.event?.outcome).to.eql('success'); + expect(executeEvent?.event?.reason).to.eql('maxQueuedActions'); + expect(executeEvent?.kibana?.alerting?.status).to.eql('warning'); + expect(executeEvent?.message).to.eql( + 'The maximum number of queued actions was reached; excess actions were not triggered.' + ); + }); + }); +} From 3f18975c04814f322102dc98b99b2a8eb05eee6d Mon Sep 17 00:00:00 2001 From: Antonio Date: Thu, 7 Sep 2023 16:39:12 +0200 Subject: [PATCH 06/57] [Cases] Serverless tests for Cases detail view (#164827) Connected with #164552 ## Summary This PR creates a serverless version of the tests currently in `x-pack/test/functional_with_es_ssl/apps/cases/group1/view_case.ts`. --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> Co-authored-by: Janki Salvi <117571355+js-jankisalvi@users.noreply.github.com> --- .../common/lib/api/index.ts | 1 + .../services/cases/test_resources.ts | 7 +- .../cases/attachment_framework.ts | 2 +- .../observability/cases/configure.ts | 2 +- .../observability/cases/create_case_form.ts | 2 +- .../test_suites/observability/cases/empty.txt | 0 .../observability/cases/list_view.ts | 2 +- .../observability/cases/view_case.ts | 445 ++++++++++++++++++ .../test_suites/observability/index.ts | 3 +- .../ftr/cases/attachment_framework.ts | 2 +- .../security/ftr/cases/configure.ts | 2 +- .../security/ftr/cases/create_case_form.ts | 2 +- .../test_suites/security/ftr/cases/empty.txt | 0 .../security/ftr/cases/list_view.ts | 2 +- .../security/ftr/cases/view_case.ts | 444 +++++++++++++++++ .../functional/test_suites/security/index.ts | 3 +- .../shared/lib/assets/elastic_logo.png | Bin 0 -> 34043 bytes .../shared/lib/cases/helpers.ts | 51 ++ 18 files changed, 959 insertions(+), 11 deletions(-) create mode 100644 x-pack/test_serverless/functional/test_suites/observability/cases/empty.txt create mode 100644 x-pack/test_serverless/functional/test_suites/observability/cases/view_case.ts create mode 100644 x-pack/test_serverless/functional/test_suites/security/ftr/cases/empty.txt create mode 100644 x-pack/test_serverless/functional/test_suites/security/ftr/cases/view_case.ts create mode 100644 x-pack/test_serverless/shared/lib/assets/elastic_logo.png diff --git a/x-pack/test/cases_api_integration/common/lib/api/index.ts b/x-pack/test/cases_api_integration/common/lib/api/index.ts index f32a57810358..6a539457849e 100644 --- a/x-pack/test/cases_api_integration/common/lib/api/index.ts +++ b/x-pack/test/cases_api_integration/common/lib/api/index.ts @@ -433,6 +433,7 @@ export const updateCase = async ({ const { body: cases } = await apiCall .set('kbn-xsrf', 'true') + .set('x-elastic-internal-origin', 'foo') .set(headers) .send(params) .expect(expectedHttpCode); diff --git a/x-pack/test/functional/services/cases/test_resources.ts b/x-pack/test/functional/services/cases/test_resources.ts index 135bf13a3a2d..f3ef6ed29832 100644 --- a/x-pack/test/functional/services/cases/test_resources.ts +++ b/x-pack/test/functional/services/cases/test_resources.ts @@ -12,13 +12,18 @@ export function CasesTestResourcesServiceProvider({ getService }: FtrProviderCon return { async installKibanaSampleData(sampleDataId: 'ecommerce' | 'flights' | 'logs') { - await supertest.post(`/api/sample_data/${sampleDataId}`).set('kbn-xsrf', 'true').expect(200); + await supertest + .post(`/api/sample_data/${sampleDataId}`) + .set('kbn-xsrf', 'true') + .set('x-elastic-internal-origin', 'foo') + .expect(200); }, async removeKibanaSampleData(sampleDataId: 'ecommerce' | 'flights' | 'logs') { await supertest .delete(`/api/sample_data/${sampleDataId}`) .set('kbn-xsrf', 'true') + .set('x-elastic-internal-origin', 'foo') .expect(204); }, }; diff --git a/x-pack/test_serverless/functional/test_suites/observability/cases/attachment_framework.ts b/x-pack/test_serverless/functional/test_suites/observability/cases/attachment_framework.ts index e8be4ff1cf4d..f1e7408ebcf6 100644 --- a/x-pack/test_serverless/functional/test_suites/observability/cases/attachment_framework.ts +++ b/x-pack/test_serverless/functional/test_suites/observability/cases/attachment_framework.ts @@ -19,7 +19,7 @@ export default ({ getPageObject, getService }: FtrProviderContext) => { const cases = getService('cases'); const find = getService('find'); - describe('persistable attachment', () => { + describe('Cases persistable attachments', () => { describe('lens visualization', () => { before(async () => { await esArchiver.loadIfNeeded('x-pack/test/functional/es_archives/logstash_functional'); diff --git a/x-pack/test_serverless/functional/test_suites/observability/cases/configure.ts b/x-pack/test_serverless/functional/test_suites/observability/cases/configure.ts index bc007a7ad4b7..a0d9cd0e96dd 100644 --- a/x-pack/test_serverless/functional/test_suites/observability/cases/configure.ts +++ b/x-pack/test_serverless/functional/test_suites/observability/cases/configure.ts @@ -16,7 +16,7 @@ export default ({ getPageObject, getService }: FtrProviderContext) => { const cases = getService('cases'); const toasts = getService('toasts'); - describe('Configure', function () { + describe('Configure Case', function () { before(async () => { await svlObltNavigation.navigateToLandingPage(); diff --git a/x-pack/test_serverless/functional/test_suites/observability/cases/create_case_form.ts b/x-pack/test_serverless/functional/test_suites/observability/cases/create_case_form.ts index 5633538baa08..d7934f57dbc3 100644 --- a/x-pack/test_serverless/functional/test_suites/observability/cases/create_case_form.ts +++ b/x-pack/test_serverless/functional/test_suites/observability/cases/create_case_form.ts @@ -15,7 +15,7 @@ import { navigateToCasesApp } from '../../../../shared/lib/cases'; const owner = OBSERVABILITY_OWNER; export default ({ getService, getPageObject }: FtrProviderContext) => { - describe('Create case', function () { + describe('Create Case', function () { const find = getService('find'); const cases = getService('cases'); const testSubjects = getService('testSubjects'); diff --git a/x-pack/test_serverless/functional/test_suites/observability/cases/empty.txt b/x-pack/test_serverless/functional/test_suites/observability/cases/empty.txt new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/x-pack/test_serverless/functional/test_suites/observability/cases/list_view.ts b/x-pack/test_serverless/functional/test_suites/observability/cases/list_view.ts index cb4aa44b09c3..d4dfdca15e82 100644 --- a/x-pack/test_serverless/functional/test_suites/observability/cases/list_view.ts +++ b/x-pack/test_serverless/functional/test_suites/observability/cases/list_view.ts @@ -17,7 +17,7 @@ export default ({ getPageObject, getService }: FtrProviderContext) => { const svlCommonNavigation = getPageObject('svlCommonNavigation'); const svlObltNavigation = getService('svlObltNavigation'); - describe('cases list', () => { + describe('Cases list', () => { before(async () => { await svlObltNavigation.navigateToLandingPage(); await svlCommonNavigation.sidenav.clickLink({ deepLinkId: 'observability-overview:cases' }); diff --git a/x-pack/test_serverless/functional/test_suites/observability/cases/view_case.ts b/x-pack/test_serverless/functional/test_suites/observability/cases/view_case.ts new file mode 100644 index 000000000000..97271fe33048 --- /dev/null +++ b/x-pack/test_serverless/functional/test_suites/observability/cases/view_case.ts @@ -0,0 +1,445 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import expect from '@kbn/expect'; +import { v4 as uuidv4 } from 'uuid'; +import { CaseSeverity, CaseStatuses } from '@kbn/cases-plugin/common/types/domain'; + +import { OBSERVABILITY_OWNER } from '@kbn/cases-plugin/common'; +import { FtrProviderContext } from '../../../ftr_provider_context'; +import { + createOneCaseBeforeDeleteAllAfter, + createAndNavigateToCase, +} from '../../../../shared/lib/cases/helpers'; + +const owner = OBSERVABILITY_OWNER; + +export default ({ getPageObject, getService }: FtrProviderContext) => { + const header = getPageObject('header'); + const testSubjects = getService('testSubjects'); + const cases = getService('cases'); + const find = getService('find'); + + const retry = getService('retry'); + const comboBox = getService('comboBox'); + const svlCommonNavigation = getPageObject('svlCommonNavigation'); + + describe('Case View', () => { + describe('page', () => { + createOneCaseBeforeDeleteAllAfter(getPageObject, getService, owner); + + it('should show the case view page correctly', async () => { + await testSubjects.existOrFail('case-view-title'); + await testSubjects.existOrFail('header-page-supplements'); + + await testSubjects.existOrFail('case-view-tab-title-activity'); + await testSubjects.existOrFail('case-view-tab-title-files'); + await testSubjects.existOrFail('description'); + + await testSubjects.existOrFail('case-view-activity'); + + await testSubjects.existOrFail('case-view-assignees'); + await testSubjects.existOrFail('sidebar-severity'); + await testSubjects.existOrFail('case-view-user-list-reporter'); + await testSubjects.existOrFail('case-view-user-list-participants'); + await testSubjects.existOrFail('case-view-tag-list'); + await testSubjects.existOrFail('cases-categories'); + await testSubjects.existOrFail('sidebar-connectors'); + }); + }); + + describe('properties', () => { + createOneCaseBeforeDeleteAllAfter(getPageObject, getService, owner); + + it('edits a case title from the case view page', async () => { + const newTitle = `test-${uuidv4()}`; + + await testSubjects.click('editable-title-header-value'); + await testSubjects.setValue('editable-title-input-field', newTitle); + await testSubjects.click('editable-title-submit-btn'); + + // wait for backend response + await retry.tryForTime(5000, async () => { + const title = await find.byCssSelector('[data-test-subj="editable-title-header-value"]'); + expect(await title.getVisibleText()).equal(newTitle); + }); + + // validate user action + await find.byCssSelector('[data-test-subj*="title-update-action"]'); + }); + + it('adds a comment to a case', async () => { + const commentArea = await find.byCssSelector( + '[data-test-subj="add-comment"] textarea.euiMarkdownEditorTextArea' + ); + await commentArea.focus(); + await commentArea.type('Test comment from automation'); + + await testSubjects.click('submit-comment'); + + // validate user action + const newComment = await find.byCssSelector( + '[data-test-subj*="comment-create-action"] [data-test-subj="scrollable-markdown"]' + ); + expect(await newComment.getVisibleText()).equal('Test comment from automation'); + }); + + it('adds a category to a case', async () => { + const category = uuidv4(); + await testSubjects.click('category-edit-button'); + await comboBox.setCustom('comboBoxInput', category); + await testSubjects.click('edit-category-submit'); + + // validate category was added + await testSubjects.existOrFail('category-viewer-' + category); + + // validate user action + await find.byCssSelector('[data-test-subj*="category-update-action"]'); + }); + + it('deletes a category from a case', async () => { + await find.byCssSelector('[data-test-subj*="category-viewer-"]'); + + await testSubjects.click('category-remove-button'); + + await testSubjects.existOrFail('no-categories'); + // validate user action + await find.byCssSelector('[data-test-subj*="category-delete-action"]'); + }); + + it('adds a tag to a case', async () => { + const tag = uuidv4(); + await testSubjects.click('tag-list-edit-button'); + await comboBox.setCustom('comboBoxInput', tag); + await testSubjects.click('edit-tags-submit'); + + // validate tag was added + await testSubjects.existOrFail('tag-' + tag); + + // validate user action + await find.byCssSelector('[data-test-subj*="tags-add-action"]'); + }); + + it('deletes a tag from a case', async () => { + await testSubjects.click('tag-list-edit-button'); + // find the tag button and click the close button + const button = await find.byCssSelector('[data-test-subj="comboBoxInput"] button'); + await button.click(); + await testSubjects.click('edit-tags-submit'); + + // validate user action + await find.byCssSelector('[data-test-subj*="tags-delete-action"]'); + }); + + describe('status', () => { + it('changes a case status to closed via dropdown-menu', async () => { + await cases.common.changeCaseStatusViaDropdownAndVerify(CaseStatuses.closed); + + // validate user action + await find.byCssSelector( + '[data-test-subj*="status-update-action"] [data-test-subj="case-status-badge-closed"]' + ); + // validates dropdown tag + await testSubjects.existOrFail( + 'case-view-status-dropdown > case-status-badge-popover-button-closed' + ); + }); + }); + + describe('Severity field', () => { + createOneCaseBeforeDeleteAllAfter(getPageObject, getService, owner); + + it('shows the severity field on the sidebar', async () => { + await testSubjects.existOrFail('case-severity-selection'); + }); + + it('changes the severity level from the selector', async () => { + await cases.common.selectSeverity(CaseSeverity.MEDIUM); + await header.waitUntilLoadingHasFinished(); + await testSubjects.existOrFail('case-severity-selection-' + CaseSeverity.MEDIUM); + + // validate user action + await find.byCssSelector('[data-test-subj*="severity-update-action"]'); + }); + }); + }); + + describe('actions', () => { + createOneCaseBeforeDeleteAllAfter(getPageObject, getService, owner); + + it('deletes the case successfully', async () => { + await cases.singleCase.deleteCase(); + await cases.casesTable.waitForTableToFinishLoading(); + await cases.casesTable.validateCasesTableHasNthRows(0); + }); + }); + + describe('filter activity', () => { + createOneCaseBeforeDeleteAllAfter(getPageObject, getService, owner); + + it('filters by all by default', async () => { + const allBadge = await find.byCssSelector( + '[data-test-subj="user-actions-filter-activity-button-all"] span.euiNotificationBadge' + ); + + expect(await allBadge.getAttribute('aria-label')).equal('1 active filters'); + }); + + it('filters by comment successfully', async () => { + const commentBadge = await find.byCssSelector( + '[data-test-subj="user-actions-filter-activity-button-comments"] span.euiNotificationBadge' + ); + + expect(await commentBadge.getAttribute('aria-label')).equal('0 available filters'); + + const commentArea = await find.byCssSelector( + '[data-test-subj="add-comment"] textarea.euiMarkdownEditorTextArea' + ); + await commentArea.focus(); + await commentArea.type('Test comment from automation'); + await testSubjects.click('submit-comment'); + + await header.waitUntilLoadingHasFinished(); + + await testSubjects.click('user-actions-filter-activity-button-comments'); + + expect(await commentBadge.getAttribute('aria-label')).equal('1 active filters'); + }); + + it('filters by history successfully', async () => { + const historyBadge = await find.byCssSelector( + '[data-test-subj="user-actions-filter-activity-button-history"] span.euiNotificationBadge' + ); + + expect(await historyBadge.getAttribute('aria-label')).equal('1 available filters'); + + await cases.common.selectSeverity(CaseSeverity.MEDIUM); + + await cases.common.changeCaseStatusViaDropdownAndVerify(CaseStatuses['in-progress']); + + await header.waitUntilLoadingHasFinished(); + + await testSubjects.click('user-actions-filter-activity-button-history'); + + expect(await historyBadge.getAttribute('aria-label')).equal('3 active filters'); + }); + + it('sorts by newest first successfully', async () => { + await testSubjects.click('user-actions-filter-activity-button-all'); + + const AllBadge = await find.byCssSelector( + '[data-test-subj="user-actions-filter-activity-button-all"] span.euiNotificationBadge' + ); + + expect(await AllBadge.getVisibleText()).equal('4'); + + const sortDesc = await find.byCssSelector( + '[data-test-subj="user-actions-sort-select"] [value="desc"]' + ); + + await sortDesc.click(); + + await header.waitUntilLoadingHasFinished(); + + const userActionsLists = await find.allByCssSelector( + '[data-test-subj="user-actions-list"]' + ); + + const actionList = await userActionsLists[0].findAllByClassName('euiComment'); + + expect(await actionList[0].getAttribute('data-test-subj')).contain('status-update-action'); + }); + }); + + // FLAKY + describe.skip('Lens visualization', () => { + before(async () => { + await cases.testResources.installKibanaSampleData('logs'); + await createAndNavigateToCase(getPageObject, getService, owner); + }); + + after(async () => { + await cases.testResources.removeKibanaSampleData('logs'); + await cases.api.deleteAllCases(); + }); + + it('adds lens visualization in description', async () => { + await testSubjects.click('description-edit-icon'); + + await header.waitUntilLoadingHasFinished(); + + const editCommentTextArea = await find.byCssSelector( + '[data-test-subj*="editable-markdown-form"] textarea.euiMarkdownEditorTextArea' + ); + + await header.waitUntilLoadingHasFinished(); + + await editCommentTextArea.focus(); + + const editableDescription = await testSubjects.find('editable-markdown-form'); + + const addVisualizationButton = await editableDescription.findByCssSelector( + '[data-test-subj="euiMarkdownEditorToolbarButton"][aria-label="Visualization"]' + ); + await addVisualizationButton.click(); + + await cases.singleCase.findAndSaveVisualization('[Logs] Bytes distribution'); + + await header.waitUntilLoadingHasFinished(); + + await testSubjects.click('editable-save-markdown'); + + await header.waitUntilLoadingHasFinished(); + + const description = await find.byCssSelector('[data-test-subj="description"]'); + + await description.findByCssSelector('[data-test-subj="xyVisChart"]'); + }); + }); + + describe('pagination', async () => { + let createdCase: any; + + before(async () => { + createdCase = await createAndNavigateToCase(getPageObject, getService, owner); + }); + + after(async () => { + await cases.api.deleteAllCases(); + }); + + it('initially renders user actions list correctly', async () => { + expect(testSubjects.missingOrFail('cases-show-more-user-actions')); + + const userActionsLists = await find.allByCssSelector( + '[data-test-subj="user-actions-list"]' + ); + + expect(userActionsLists).length(1); + }); + + it('shows more actions on button click', async () => { + await cases.api.generateUserActions({ + caseId: createdCase.id, + caseVersion: createdCase.version, + totalUpdates: 4, + }); + + expect(testSubjects.missingOrFail('user-actions-loading')); + + await header.waitUntilLoadingHasFinished(); + + await testSubjects.click('case-refresh'); + + await header.waitUntilLoadingHasFinished(); + + expect(testSubjects.existOrFail('cases-show-more-user-actions')); + + const userActionsLists = await find.allByCssSelector( + '[data-test-subj="user-actions-list"]' + ); + + expect(userActionsLists).length(2); + + expect(await userActionsLists[0].findAllByClassName('euiComment')).length(10); + + expect(await userActionsLists[1].findAllByClassName('euiComment')).length(4); + + testSubjects.click('cases-show-more-user-actions'); + + await header.waitUntilLoadingHasFinished(); + + expect(await userActionsLists[0].findAllByClassName('euiComment')).length(20); + + expect(await userActionsLists[1].findAllByClassName('euiComment')).length(4); + }); + }); + + describe('Tabs', () => { + createOneCaseBeforeDeleteAllAfter(getPageObject, getService, owner); + + it('shows the "activity" tab by default', async () => { + await testSubjects.existOrFail('case-view-tab-title-activity'); + await testSubjects.existOrFail('case-view-tab-content-activity'); + }); + + it("shows the 'files' tab when clicked", async () => { + await testSubjects.click('case-view-tab-title-files'); + await testSubjects.existOrFail('case-view-tab-content-files'); + }); + }); + + describe('Files', () => { + createOneCaseBeforeDeleteAllAfter(getPageObject, getService, owner); + + it('adds a file to the case', async () => { + await testSubjects.click('case-view-tab-title-files'); + await testSubjects.existOrFail('case-view-tab-content-files'); + + await cases.casesFilesTable.addFile(require.resolve('./empty.txt')); + + const uploadedFileName = await testSubjects.getVisibleText('cases-files-name-text'); + expect(uploadedFileName).to.be('empty.txt'); + }); + + it('search by file name', async () => { + await cases.casesFilesTable.searchByFileName('foobar'); + await cases.casesFilesTable.emptyOrFail(); + await cases.casesFilesTable.searchByFileName('empty'); + + const uploadedFileName = await testSubjects.getVisibleText('cases-files-name-text'); + expect(uploadedFileName).to.be('empty.txt'); + }); + + it('files added to a case can be deleted', async () => { + await cases.casesFilesTable.deleteFile(0); + await cases.casesFilesTable.emptyOrFail(); + }); + + describe('Files User Activity', () => { + it('file user action is displayed correctly', async () => { + await cases.casesFilesTable.addFile(require.resolve('./empty.txt')); + + await testSubjects.click('case-view-tab-title-activity'); + await testSubjects.existOrFail('case-view-tab-content-activity'); + + const uploadedFileName = await testSubjects.getVisibleText('cases-files-name-text'); + expect(uploadedFileName).to.be('empty.txt'); + }); + }); + }); + + describe('breadcrumbs', () => { + let createdCase: any; + + before(async () => { + createdCase = await createAndNavigateToCase(getPageObject, getService, owner); + }); + + after(async () => { + await cases.api.deleteAllCases(); + }); + + it('should set the cases title', async () => { + svlCommonNavigation.breadcrumbs.expectExists(); + svlCommonNavigation.breadcrumbs.expectBreadcrumbExists({ text: createdCase.title }); + }); + }); + + describe('reporter', () => { + createOneCaseBeforeDeleteAllAfter(getPageObject, getService, owner); + + it('should render the reporter correctly', async () => { + const reporter = await cases.singleCase.getReporter(); + + const reporterText = await reporter.getVisibleText(); + + expect(reporterText).to.be('elastic_serverless'); + }); + }); + }); +}; diff --git a/x-pack/test_serverless/functional/test_suites/observability/index.ts b/x-pack/test_serverless/functional/test_suites/observability/index.ts index e24841e6fbff..2d4c664085db 100644 --- a/x-pack/test_serverless/functional/test_suites/observability/index.ts +++ b/x-pack/test_serverless/functional/test_suites/observability/index.ts @@ -13,8 +13,9 @@ export default function ({ loadTestFile }: FtrProviderContext) { loadTestFile(require.resolve('./navigation')); loadTestFile(require.resolve('./observability_log_explorer')); loadTestFile(require.resolve('./cases/attachment_framework')); + loadTestFile(require.resolve('./cases/view_case')); loadTestFile(require.resolve('./cases/configure')); - loadTestFile(require.resolve('./cases/list_view')); loadTestFile(require.resolve('./cases/create_case_form')); + loadTestFile(require.resolve('./cases/list_view')); }); } diff --git a/x-pack/test_serverless/functional/test_suites/security/ftr/cases/attachment_framework.ts b/x-pack/test_serverless/functional/test_suites/security/ftr/cases/attachment_framework.ts index c213e48348b6..6fb8c2ae94e4 100644 --- a/x-pack/test_serverless/functional/test_suites/security/ftr/cases/attachment_framework.ts +++ b/x-pack/test_serverless/functional/test_suites/security/ftr/cases/attachment_framework.ts @@ -20,7 +20,7 @@ export default ({ getPageObject, getService }: FtrProviderContext) => { // Failing // Issue: https://github.com/elastic/kibana/issues/165135 - describe.skip('persistable attachment', () => { + describe.skip('Cases persistable attachments', () => { describe('lens visualization', () => { before(async () => { await esArchiver.loadIfNeeded('x-pack/test/functional/es_archives/logstash_functional'); diff --git a/x-pack/test_serverless/functional/test_suites/security/ftr/cases/configure.ts b/x-pack/test_serverless/functional/test_suites/security/ftr/cases/configure.ts index 58931d60d683..564f14e8353c 100644 --- a/x-pack/test_serverless/functional/test_suites/security/ftr/cases/configure.ts +++ b/x-pack/test_serverless/functional/test_suites/security/ftr/cases/configure.ts @@ -15,7 +15,7 @@ export default ({ getPageObject, getService }: FtrProviderContext) => { const cases = getService('cases'); const toasts = getService('toasts'); - describe('Configure', function () { + describe('Configure Case', function () { before(async () => { await svlSecNavigation.navigateToLandingPage(); diff --git a/x-pack/test_serverless/functional/test_suites/security/ftr/cases/create_case_form.ts b/x-pack/test_serverless/functional/test_suites/security/ftr/cases/create_case_form.ts index d9d05fcb7420..0e3fb3d57708 100644 --- a/x-pack/test_serverless/functional/test_suites/security/ftr/cases/create_case_form.ts +++ b/x-pack/test_serverless/functional/test_suites/security/ftr/cases/create_case_form.ts @@ -15,7 +15,7 @@ import { navigateToCasesApp } from '../../../../../shared/lib/cases'; const owner = SECURITY_SOLUTION_OWNER; export default ({ getService, getPageObject }: FtrProviderContext) => { - describe('Create case', function () { + describe('Create Case', function () { const find = getService('find'); const cases = getService('cases'); const testSubjects = getService('testSubjects'); diff --git a/x-pack/test_serverless/functional/test_suites/security/ftr/cases/empty.txt b/x-pack/test_serverless/functional/test_suites/security/ftr/cases/empty.txt new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/x-pack/test_serverless/functional/test_suites/security/ftr/cases/list_view.ts b/x-pack/test_serverless/functional/test_suites/security/ftr/cases/list_view.ts index 6854b3df6106..e05c16551982 100644 --- a/x-pack/test_serverless/functional/test_suites/security/ftr/cases/list_view.ts +++ b/x-pack/test_serverless/functional/test_suites/security/ftr/cases/list_view.ts @@ -16,7 +16,7 @@ export default ({ getPageObject, getService }: FtrProviderContext) => { const cases = getService('cases'); const svlSecNavigation = getService('svlSecNavigation'); - describe('cases list', () => { + describe('Cases List', () => { before(async () => { await svlSecNavigation.navigateToLandingPage(); diff --git a/x-pack/test_serverless/functional/test_suites/security/ftr/cases/view_case.ts b/x-pack/test_serverless/functional/test_suites/security/ftr/cases/view_case.ts new file mode 100644 index 000000000000..bd0e496a1ba4 --- /dev/null +++ b/x-pack/test_serverless/functional/test_suites/security/ftr/cases/view_case.ts @@ -0,0 +1,444 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import expect from '@kbn/expect'; +import { v4 as uuidv4 } from 'uuid'; +import { CaseSeverity, CaseStatuses } from '@kbn/cases-plugin/common/types/domain'; + +import { SECURITY_SOLUTION_OWNER } from '@kbn/cases-plugin/common'; +import { FtrProviderContext } from '../../../../ftr_provider_context'; +import { + createOneCaseBeforeDeleteAllAfter, + createAndNavigateToCase, +} from '../../../../../shared/lib/cases/helpers'; + +const owner = SECURITY_SOLUTION_OWNER; + +export default ({ getPageObject, getService }: FtrProviderContext) => { + const header = getPageObject('header'); + const testSubjects = getService('testSubjects'); + const cases = getService('cases'); + const find = getService('find'); + + const retry = getService('retry'); + const comboBox = getService('comboBox'); + const svlCommonNavigation = getPageObject('svlCommonNavigation'); + + describe('Case View', () => { + describe('page', () => { + createOneCaseBeforeDeleteAllAfter(getPageObject, getService, owner); + + it('should show the case view page correctly', async () => { + await testSubjects.existOrFail('case-view-title'); + await testSubjects.existOrFail('header-page-supplements'); + + await testSubjects.existOrFail('case-view-tab-title-activity'); + await testSubjects.existOrFail('case-view-tab-title-files'); + await testSubjects.existOrFail('description'); + + await testSubjects.existOrFail('case-view-activity'); + + await testSubjects.existOrFail('case-view-assignees'); + await testSubjects.existOrFail('sidebar-severity'); + await testSubjects.existOrFail('case-view-user-list-reporter'); + await testSubjects.existOrFail('case-view-user-list-participants'); + await testSubjects.existOrFail('case-view-tag-list'); + await testSubjects.existOrFail('cases-categories'); + await testSubjects.existOrFail('sidebar-connectors'); + }); + }); + + describe('properties', () => { + createOneCaseBeforeDeleteAllAfter(getPageObject, getService, owner); + + it('edits a case title from the case view page', async () => { + const newTitle = `test-${uuidv4()}`; + + await testSubjects.click('editable-title-header-value'); + await testSubjects.setValue('editable-title-input-field', newTitle); + await testSubjects.click('editable-title-submit-btn'); + + // wait for backend response + await retry.tryForTime(5000, async () => { + const title = await find.byCssSelector('[data-test-subj="editable-title-header-value"]'); + expect(await title.getVisibleText()).equal(newTitle); + }); + + // validate user action + await find.byCssSelector('[data-test-subj*="title-update-action"]'); + }); + + it('adds a comment to a case', async () => { + const commentArea = await find.byCssSelector( + '[data-test-subj="add-comment"] textarea.euiMarkdownEditorTextArea' + ); + await commentArea.focus(); + await commentArea.type('Test comment from automation'); + + await testSubjects.click('submit-comment'); + + // validate user action + const newComment = await find.byCssSelector( + '[data-test-subj*="comment-create-action"] [data-test-subj="scrollable-markdown"]' + ); + expect(await newComment.getVisibleText()).equal('Test comment from automation'); + }); + + it('adds a category to a case', async () => { + const category = uuidv4(); + await testSubjects.click('category-edit-button'); + await comboBox.setCustom('comboBoxInput', category); + await testSubjects.click('edit-category-submit'); + + // validate category was added + await testSubjects.existOrFail('category-viewer-' + category); + + // validate user action + await find.byCssSelector('[data-test-subj*="category-update-action"]'); + }); + + it('deletes a category from a case', async () => { + await find.byCssSelector('[data-test-subj*="category-viewer-"]'); + + await testSubjects.click('category-remove-button'); + + await testSubjects.existOrFail('no-categories'); + // validate user action + await find.byCssSelector('[data-test-subj*="category-delete-action"]'); + }); + + it('adds a tag to a case', async () => { + const tag = uuidv4(); + await testSubjects.click('tag-list-edit-button'); + await comboBox.setCustom('comboBoxInput', tag); + await testSubjects.click('edit-tags-submit'); + + // validate tag was added + await testSubjects.existOrFail('tag-' + tag); + + // validate user action + await find.byCssSelector('[data-test-subj*="tags-add-action"]'); + }); + + it('deletes a tag from a case', async () => { + await testSubjects.click('tag-list-edit-button'); + // find the tag button and click the close button + const button = await find.byCssSelector('[data-test-subj="comboBoxInput"] button'); + await button.click(); + await testSubjects.click('edit-tags-submit'); + + // validate user action + await find.byCssSelector('[data-test-subj*="tags-delete-action"]'); + }); + + describe('status', () => { + it('changes a case status to in-progress via dropdown menu', async () => { + await cases.common.changeCaseStatusViaDropdownAndVerify(CaseStatuses['in-progress']); + // validate user action + await find.byCssSelector( + '[data-test-subj*="status-update-action"] [data-test-subj="case-status-badge-in-progress"]' + ); + // validates dropdown tag + await testSubjects.existOrFail( + 'case-view-status-dropdown > case-status-badge-popover-button-in-progress' + ); + }); + }); + + describe('Severity field', () => { + createOneCaseBeforeDeleteAllAfter(getPageObject, getService, owner); + + it('shows the severity field on the sidebar', async () => { + await testSubjects.existOrFail('case-severity-selection'); + }); + + it('changes the severity level from the selector', async () => { + await cases.common.selectSeverity(CaseSeverity.MEDIUM); + await header.waitUntilLoadingHasFinished(); + await testSubjects.existOrFail('case-severity-selection-' + CaseSeverity.MEDIUM); + + // validate user action + await find.byCssSelector('[data-test-subj*="severity-update-action"]'); + }); + }); + }); + + describe('actions', () => { + createOneCaseBeforeDeleteAllAfter(getPageObject, getService, owner); + + it('deletes the case successfully', async () => { + await cases.singleCase.deleteCase(); + await cases.casesTable.waitForTableToFinishLoading(); + await cases.casesTable.validateCasesTableHasNthRows(0); + }); + }); + + describe('filter activity', () => { + createOneCaseBeforeDeleteAllAfter(getPageObject, getService, owner); + + it('filters by all by default', async () => { + const allBadge = await find.byCssSelector( + '[data-test-subj="user-actions-filter-activity-button-all"] span.euiNotificationBadge' + ); + + expect(await allBadge.getAttribute('aria-label')).equal('1 active filters'); + }); + + it('filters by comment successfully', async () => { + const commentBadge = await find.byCssSelector( + '[data-test-subj="user-actions-filter-activity-button-comments"] span.euiNotificationBadge' + ); + + expect(await commentBadge.getAttribute('aria-label')).equal('0 available filters'); + + const commentArea = await find.byCssSelector( + '[data-test-subj="add-comment"] textarea.euiMarkdownEditorTextArea' + ); + await commentArea.focus(); + await commentArea.type('Test comment from automation'); + await testSubjects.click('submit-comment'); + + await header.waitUntilLoadingHasFinished(); + + await testSubjects.click('user-actions-filter-activity-button-comments'); + + expect(await commentBadge.getAttribute('aria-label')).equal('1 active filters'); + }); + + it('filters by history successfully', async () => { + const historyBadge = await find.byCssSelector( + '[data-test-subj="user-actions-filter-activity-button-history"] span.euiNotificationBadge' + ); + + expect(await historyBadge.getAttribute('aria-label')).equal('1 available filters'); + + await cases.common.selectSeverity(CaseSeverity.MEDIUM); + + await cases.common.changeCaseStatusViaDropdownAndVerify(CaseStatuses['in-progress']); + + await header.waitUntilLoadingHasFinished(); + + await testSubjects.click('user-actions-filter-activity-button-history'); + + expect(await historyBadge.getAttribute('aria-label')).equal('3 active filters'); + }); + + it('sorts by newest first successfully', async () => { + await testSubjects.click('user-actions-filter-activity-button-all'); + + const AllBadge = await find.byCssSelector( + '[data-test-subj="user-actions-filter-activity-button-all"] span.euiNotificationBadge' + ); + + expect(await AllBadge.getVisibleText()).equal('4'); + + const sortDesc = await find.byCssSelector( + '[data-test-subj="user-actions-sort-select"] [value="desc"]' + ); + + await sortDesc.click(); + + await header.waitUntilLoadingHasFinished(); + + const userActionsLists = await find.allByCssSelector( + '[data-test-subj="user-actions-list"]' + ); + + const actionList = await userActionsLists[0].findAllByClassName('euiComment'); + + expect(await actionList[0].getAttribute('data-test-subj')).contain('status-update-action'); + }); + }); + + // FLAKY + describe.skip('Lens visualization', () => { + before(async () => { + await cases.testResources.installKibanaSampleData('logs'); + await createAndNavigateToCase(getPageObject, getService, owner); + }); + + after(async () => { + await cases.testResources.removeKibanaSampleData('logs'); + await cases.api.deleteAllCases(); + }); + + it('adds lens visualization in description', async () => { + await testSubjects.click('description-edit-icon'); + + await header.waitUntilLoadingHasFinished(); + + const editCommentTextArea = await find.byCssSelector( + '[data-test-subj*="editable-markdown-form"] textarea.euiMarkdownEditorTextArea' + ); + + await header.waitUntilLoadingHasFinished(); + + await editCommentTextArea.focus(); + + const editableDescription = await testSubjects.find('editable-markdown-form'); + + const addVisualizationButton = await editableDescription.findByCssSelector( + '[data-test-subj="euiMarkdownEditorToolbarButton"][aria-label="Visualization"]' + ); + await addVisualizationButton.click(); + + await cases.singleCase.findAndSaveVisualization('[Logs] Bytes distribution'); + + await header.waitUntilLoadingHasFinished(); + + await testSubjects.click('editable-save-markdown'); + + await header.waitUntilLoadingHasFinished(); + + const description = await find.byCssSelector('[data-test-subj="description"]'); + + await description.findByCssSelector('[data-test-subj="xyVisChart"]'); + }); + }); + + describe('pagination', async () => { + let createdCase: any; + + before(async () => { + createdCase = await createAndNavigateToCase(getPageObject, getService, owner); + }); + + after(async () => { + await cases.api.deleteAllCases(); + }); + + it('initially renders user actions list correctly', async () => { + expect(testSubjects.missingOrFail('cases-show-more-user-actions')); + + const userActionsLists = await find.allByCssSelector( + '[data-test-subj="user-actions-list"]' + ); + + expect(userActionsLists).length(1); + }); + + it('shows more actions on button click', async () => { + await cases.api.generateUserActions({ + caseId: createdCase.id, + caseVersion: createdCase.version, + totalUpdates: 4, + }); + + expect(testSubjects.missingOrFail('user-actions-loading')); + + await header.waitUntilLoadingHasFinished(); + + await testSubjects.click('case-refresh'); + + await header.waitUntilLoadingHasFinished(); + + expect(testSubjects.existOrFail('cases-show-more-user-actions')); + + const userActionsLists = await find.allByCssSelector( + '[data-test-subj="user-actions-list"]' + ); + + expect(userActionsLists).length(2); + + expect(await userActionsLists[0].findAllByClassName('euiComment')).length(10); + + expect(await userActionsLists[1].findAllByClassName('euiComment')).length(4); + + testSubjects.click('cases-show-more-user-actions'); + + await header.waitUntilLoadingHasFinished(); + + expect(await userActionsLists[0].findAllByClassName('euiComment')).length(20); + + expect(await userActionsLists[1].findAllByClassName('euiComment')).length(4); + }); + }); + + describe('Tabs', () => { + createOneCaseBeforeDeleteAllAfter(getPageObject, getService, owner); + + it('shows the "activity" tab by default', async () => { + await testSubjects.existOrFail('case-view-tab-title-activity'); + await testSubjects.existOrFail('case-view-tab-content-activity'); + }); + + it("shows the 'files' tab when clicked", async () => { + await testSubjects.click('case-view-tab-title-files'); + await testSubjects.existOrFail('case-view-tab-content-files'); + }); + }); + + describe('Files', () => { + createOneCaseBeforeDeleteAllAfter(getPageObject, getService, owner); + + it('adds a file to the case', async () => { + await testSubjects.click('case-view-tab-title-files'); + await testSubjects.existOrFail('case-view-tab-content-files'); + + await cases.casesFilesTable.addFile(require.resolve('./empty.txt')); + + const uploadedFileName = await testSubjects.getVisibleText('cases-files-name-text'); + expect(uploadedFileName).to.be('empty.txt'); + }); + + it('search by file name', async () => { + await cases.casesFilesTable.searchByFileName('foobar'); + await cases.casesFilesTable.emptyOrFail(); + await cases.casesFilesTable.searchByFileName('empty'); + + const uploadedFileName = await testSubjects.getVisibleText('cases-files-name-text'); + expect(uploadedFileName).to.be('empty.txt'); + }); + + it('files added to a case can be deleted', async () => { + await cases.casesFilesTable.deleteFile(0); + await cases.casesFilesTable.emptyOrFail(); + }); + + describe('Files User Activity', () => { + it('file user action is displayed correctly', async () => { + await cases.casesFilesTable.addFile(require.resolve('./empty.txt')); + + await testSubjects.click('case-view-tab-title-activity'); + await testSubjects.existOrFail('case-view-tab-content-activity'); + + const uploadedFileName = await testSubjects.getVisibleText('cases-files-name-text'); + expect(uploadedFileName).to.be('empty.txt'); + }); + }); + }); + + describe('breadcrumbs', () => { + let createdCase: any; + + before(async () => { + createdCase = await createAndNavigateToCase(getPageObject, getService, owner); + }); + + after(async () => { + await cases.api.deleteAllCases(); + }); + + it('should set the cases title', async () => { + svlCommonNavigation.breadcrumbs.expectExists(); + svlCommonNavigation.breadcrumbs.expectBreadcrumbExists({ text: createdCase.title }); + }); + }); + + describe('reporter', () => { + createOneCaseBeforeDeleteAllAfter(getPageObject, getService, owner); + + it('should render the reporter correctly', async () => { + const reporter = await cases.singleCase.getReporter(); + + const reporterText = await reporter.getVisibleText(); + + expect(reporterText).to.be('elastic_serverless'); + }); + }); + }); +}; diff --git a/x-pack/test_serverless/functional/test_suites/security/index.ts b/x-pack/test_serverless/functional/test_suites/security/index.ts index f64b4b8395da..b4c46b5f4c26 100644 --- a/x-pack/test_serverless/functional/test_suites/security/index.ts +++ b/x-pack/test_serverless/functional/test_suites/security/index.ts @@ -13,8 +13,9 @@ export default function ({ loadTestFile }: FtrProviderContext) { loadTestFile(require.resolve('./ftr/navigation')); loadTestFile(require.resolve('./ftr/management')); loadTestFile(require.resolve('./ftr/cases/attachment_framework')); - loadTestFile(require.resolve('./ftr/cases/list_view')); + loadTestFile(require.resolve('./ftr/cases/view_case')); loadTestFile(require.resolve('./ftr/cases/create_case_form')); loadTestFile(require.resolve('./ftr/cases/configure')); + loadTestFile(require.resolve('./ftr/cases/list_view')); }); } diff --git a/x-pack/test_serverless/shared/lib/assets/elastic_logo.png b/x-pack/test_serverless/shared/lib/assets/elastic_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..085012eac378818bf04ffde92a9950243942003d GIT binary patch literal 34043 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 literal 0 HcmV?d00001 diff --git a/x-pack/test_serverless/shared/lib/cases/helpers.ts b/x-pack/test_serverless/shared/lib/cases/helpers.ts index cbae461f98ca..98dcfb6d31eb 100644 --- a/x-pack/test_serverless/shared/lib/cases/helpers.ts +++ b/x-pack/test_serverless/shared/lib/cases/helpers.ts @@ -8,6 +8,57 @@ import { SECURITY_SOLUTION_OWNER } from '@kbn/cases-plugin/common'; import { FtrProviderContext } from '../../../functional/ftr_provider_context'; +export const createOneCaseBeforeDeleteAllAfter = ( + getPageObject: FtrProviderContext['getPageObject'], + getService: FtrProviderContext['getService'], + owner: string +) => { + const cases = getService('cases'); + + before(async () => { + await createAndNavigateToCase(getPageObject, getService, owner); + }); + + after(async () => { + await cases.api.deleteAllCases(); + }); +}; + +export const createOneCaseBeforeEachDeleteAllAfterEach = ( + getPageObject: FtrProviderContext['getPageObject'], + getService: FtrProviderContext['getService'], + owner: string +) => { + const cases = getService('cases'); + + beforeEach(async () => { + await createAndNavigateToCase(getPageObject, getService, owner); + }); + + afterEach(async () => { + await cases.api.deleteAllCases(); + }); +}; + +export const createAndNavigateToCase = async ( + getPageObject: FtrProviderContext['getPageObject'], + getService: FtrProviderContext['getService'], + owner: string +) => { + const cases = getService('cases'); + + const header = getPageObject('header'); + + await navigateToCasesApp(getPageObject, getService, owner); + + const theCase = await cases.api.createCase({ owner }); + await cases.casesTable.waitForCasesToBeListed(); + await cases.casesTable.goToFirstListedCase(); + await header.waitUntilLoadingHasFinished(); + + return theCase; +}; + export const navigateToCasesApp = async ( getPageObject: FtrProviderContext['getPageObject'], getService: FtrProviderContext['getService'], From ed48990395c639a49370a829345d22d89f24522f Mon Sep 17 00:00:00 2001 From: Philippe Oberti Date: Thu, 7 Sep 2023 16:49:10 +0200 Subject: [PATCH 07/57] [Security Solution] expandable flyout - add isolate host panel (#165933) ## Summary This new expandable flyout is going GA in `8.10`. One feature isn't working: the `isolate host` from the `take action` button in the right section footer. The code was added in this [PR](https://github.com/elastic/kibana/pull/153903) but isolate host testing must have been overlooked. This PR adds the functionality to the new expandable flyout, by creating a new panel, displayed similarly to the right panel is today. https://github.com/elastic/kibana/assets/17276605/abd99323-616b-4474-a21c-29ce3c56dd1a https://github.com/elastic/kibana/pull/165933 ### TODO - [ ] verify logic - [ ] add unit tests - [ ] add Cypress tests ### Checklist Delete any items that are not applicable to this PR. - [ ] Any text added follows [EUI's writing guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses sentence case text and includes [i18n support](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/README.md) - [ ] [Unit or functional tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html) were updated or added to match the most common scenarios --------- Co-authored-by: Ashokaditya --- .../security_solution/public/flyout/index.tsx | 11 ++ .../public/flyout/isolate_host/content.tsx | 62 +++++++++ .../public/flyout/isolate_host/context.tsx | 122 ++++++++++++++++++ .../public/flyout/isolate_host/header.tsx | 31 +++++ .../public/flyout/isolate_host/index.tsx | 37 ++++++ .../public/flyout/isolate_host/test_ids.ts | 8 ++ .../flyout/isolate_host/translations.ts | 22 ++++ .../public/flyout/right/footer.tsx | 38 ++++-- 8 files changed, 322 insertions(+), 9 deletions(-) create mode 100644 x-pack/plugins/security_solution/public/flyout/isolate_host/content.tsx create mode 100644 x-pack/plugins/security_solution/public/flyout/isolate_host/context.tsx create mode 100644 x-pack/plugins/security_solution/public/flyout/isolate_host/header.tsx create mode 100644 x-pack/plugins/security_solution/public/flyout/isolate_host/index.tsx create mode 100644 x-pack/plugins/security_solution/public/flyout/isolate_host/test_ids.ts create mode 100644 x-pack/plugins/security_solution/public/flyout/isolate_host/translations.ts diff --git a/x-pack/plugins/security_solution/public/flyout/index.tsx b/x-pack/plugins/security_solution/public/flyout/index.tsx index 922c7e55219e..c5da39105d92 100644 --- a/x-pack/plugins/security_solution/public/flyout/index.tsx +++ b/x-pack/plugins/security_solution/public/flyout/index.tsx @@ -11,6 +11,9 @@ import { type ExpandableFlyoutProps, ExpandableFlyoutProvider, } from '@kbn/expandable-flyout'; +import type { IsolateHostPanelProps } from './isolate_host'; +import { IsolateHostPanel, IsolateHostPanelKey } from './isolate_host'; +import { IsolateHostPanelProvider } from './isolate_host/context'; import type { RightPanelProps } from './right'; import { RightPanel, RightPanelKey } from './right'; import { RightPanelProvider } from './right/context'; @@ -54,6 +57,14 @@ const expandableFlyoutDocumentsPanels: ExpandableFlyoutProps['registeredPanels'] ), }, + { + key: IsolateHostPanelKey, + component: (props) => ( + + + + ), + }, ]; const OuterProviders: FC = ({ children }) => { diff --git a/x-pack/plugins/security_solution/public/flyout/isolate_host/content.tsx b/x-pack/plugins/security_solution/public/flyout/isolate_host/content.tsx new file mode 100644 index 000000000000..7f3671cc6080 --- /dev/null +++ b/x-pack/plugins/security_solution/public/flyout/isolate_host/content.tsx @@ -0,0 +1,62 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import type { FC } from 'react'; +import React, { useCallback } from 'react'; +import { useExpandableFlyoutContext } from '@kbn/expandable-flyout'; +import { EuiPanel } from '@elastic/eui'; +import { RightPanelKey } from '../right'; +import { useBasicDataFromDetailsData } from '../../timelines/components/side_panel/event_details/helpers'; +import { EndpointIsolateSuccess } from '../../common/components/endpoint/host_isolation'; +import { useHostIsolationTools } from '../../timelines/components/side_panel/event_details/use_host_isolation_tools'; +import { useIsolateHostPanelContext } from './context'; +import { HostIsolationPanel } from '../../detections/components/host_isolation'; + +/** + * Document details expandable flyout section content for the isolate host component, displaying the form or the success banner + */ +export const PanelContent: FC = () => { + const { openRightPanel } = useExpandableFlyoutContext(); + const { dataFormattedForFieldBrowser, eventId, scopeId, indexName, isolateAction } = + useIsolateHostPanelContext(); + + const { isIsolateActionSuccessBannerVisible, handleIsolationActionSuccess } = + useHostIsolationTools(); + + const { alertId, hostName } = useBasicDataFromDetailsData(dataFormattedForFieldBrowser); + + const showAlertDetails = useCallback( + () => + openRightPanel({ + id: RightPanelKey, + params: { + id: eventId, + indexName, + scopeId, + }, + }), + [eventId, indexName, scopeId, openRightPanel] + ); + + return ( + + {isIsolateActionSuccessBannerVisible && ( + + )} + + + ); +}; diff --git a/x-pack/plugins/security_solution/public/flyout/isolate_host/context.tsx b/x-pack/plugins/security_solution/public/flyout/isolate_host/context.tsx new file mode 100644 index 000000000000..6451437646a5 --- /dev/null +++ b/x-pack/plugins/security_solution/public/flyout/isolate_host/context.tsx @@ -0,0 +1,122 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor 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 { TimelineEventsDetailsItem } from '@kbn/timelines-plugin/common'; +import { css } from '@emotion/react'; +import React, { createContext, memo, useContext, useMemo } from 'react'; +import { EuiFlexItem, EuiLoadingSpinner } from '@elastic/eui'; + +import { useTimelineEventsDetails } from '../../timelines/containers/details'; +import { getAlertIndexAlias } from '../../timelines/components/side_panel/event_details/helpers'; +import { useSpaceId } from '../../common/hooks/use_space_id'; +import { useRouteSpy } from '../../common/utils/route/use_route_spy'; +import { SecurityPageName } from '../../../common/constants'; +import { SourcererScopeName } from '../../common/store/sourcerer/model'; +import { useSourcererDataView } from '../../common/containers/sourcerer'; +import type { IsolateHostPanelProps } from '.'; + +export interface IsolateHostPanelContext { + /** + * Id of the document + */ + eventId: string; + /** + * Name of the index used in the parent's page + */ + indexName: string; + /** + * Maintain backwards compatibility // TODO remove when possible + */ + scopeId: string; + /** + * An array of field objects with category and value + */ + dataFormattedForFieldBrowser: TimelineEventsDetailsItem[] | null; + /** + * Isolate action, either 'isolateHost' or 'unisolateHost' + */ + isolateAction: 'isolateHost' | 'unisolateHost'; +} + +export const IsolateHostPanelContext = createContext( + undefined +); + +export type IsolateHostPanelProviderProps = { + /** + * React components to render + */ + children: React.ReactNode; +} & Partial; + +export const IsolateHostPanelProvider = memo( + ({ id, indexName, scopeId, isolateAction, children }: IsolateHostPanelProviderProps) => { + const currentSpaceId = useSpaceId(); + // TODO Replace getAlertIndexAlias way to retrieving the eventIndex with the GET /_alias + // https://github.com/elastic/kibana/issues/113063 + const eventIndex = indexName ? getAlertIndexAlias(indexName, currentSpaceId) ?? indexName : ''; + const [{ pageName }] = useRouteSpy(); + const sourcererScope = + pageName === SecurityPageName.detections + ? SourcererScopeName.detections + : SourcererScopeName.default; + const sourcererDataView = useSourcererDataView(sourcererScope); + const [loading, dataFormattedForFieldBrowser] = useTimelineEventsDetails({ + indexName: eventIndex, + eventId: id ?? '', + runtimeMappings: sourcererDataView.runtimeMappings, + skip: !id, + }); + + const contextValue = useMemo( + () => + id && indexName && scopeId && isolateAction + ? { + eventId: id, + indexName, + scopeId, + dataFormattedForFieldBrowser, + isolateAction, + } + : undefined, + [id, indexName, scopeId, dataFormattedForFieldBrowser, isolateAction] + ); + + if (loading) { + return ( + + + + ); + } + + return ( + + {children} + + ); + } +); + +IsolateHostPanelProvider.displayName = 'IsolateHostPanelProvider'; + +export const useIsolateHostPanelContext = (): IsolateHostPanelContext => { + const contextValue = useContext(IsolateHostPanelContext); + + if (!contextValue) { + throw new Error( + 'IsolateHostPanelContext can only be used within IsolateHostPanelContext provider' + ); + } + + return contextValue; +}; diff --git a/x-pack/plugins/security_solution/public/flyout/isolate_host/header.tsx b/x-pack/plugins/security_solution/public/flyout/isolate_host/header.tsx new file mode 100644 index 000000000000..168175878d80 --- /dev/null +++ b/x-pack/plugins/security_solution/public/flyout/isolate_host/header.tsx @@ -0,0 +1,31 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { EuiFlyoutHeader, EuiTitle } from '@elastic/eui'; +import type { FC } from 'react'; +import React from 'react'; +import { useIsolateHostPanelContext } from './context'; +import { FLYOUT_HEADER_TITLE_TEST_ID } from './test_ids'; +import { PANEL_HEADER_ISOLATE_TITLE, PANEL_HEADER_RELEASE_TITLE } from './translations'; + +/** + * Document details expandable right section header for the isolate host panel + */ +export const PanelHeader: FC = () => { + const { isolateAction } = useIsolateHostPanelContext(); + + const title = + isolateAction === 'isolateHost' ? PANEL_HEADER_ISOLATE_TITLE : PANEL_HEADER_RELEASE_TITLE; + + return ( + + +

{title}

+
+
+ ); +}; diff --git a/x-pack/plugins/security_solution/public/flyout/isolate_host/index.tsx b/x-pack/plugins/security_solution/public/flyout/isolate_host/index.tsx new file mode 100644 index 000000000000..ff02d7b78a11 --- /dev/null +++ b/x-pack/plugins/security_solution/public/flyout/isolate_host/index.tsx @@ -0,0 +1,37 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import type { FC } from 'react'; +import React from 'react'; +import type { FlyoutPanelProps } from '@kbn/expandable-flyout'; +import { PanelContent } from './content'; +import { PanelHeader } from './header'; + +export const IsolateHostPanelKey: IsolateHostPanelProps['key'] = 'document-details-isolate-host'; + +export interface IsolateHostPanelProps extends FlyoutPanelProps { + key: 'document-details-isolate-host'; + params?: { + id: string; + indexName: string; + scopeId: string; + isolateAction: 'isolateHost' | 'unisolateHost' | undefined; + }; +} + +/** + * Panel to be displayed right section in the document details expandable flyout when isolate host is clicked in the + * take action button + */ +export const IsolateHostPanel: FC> = () => { + return ( + <> + + + + ); +}; diff --git a/x-pack/plugins/security_solution/public/flyout/isolate_host/test_ids.ts b/x-pack/plugins/security_solution/public/flyout/isolate_host/test_ids.ts new file mode 100644 index 000000000000..a40891c2c3d6 --- /dev/null +++ b/x-pack/plugins/security_solution/public/flyout/isolate_host/test_ids.ts @@ -0,0 +1,8 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +export const FLYOUT_HEADER_TITLE_TEST_ID = 'securitySolutionDocumentDetailsFlyoutHeaderTitle'; diff --git a/x-pack/plugins/security_solution/public/flyout/isolate_host/translations.ts b/x-pack/plugins/security_solution/public/flyout/isolate_host/translations.ts new file mode 100644 index 000000000000..84ec8d62c09d --- /dev/null +++ b/x-pack/plugins/security_solution/public/flyout/isolate_host/translations.ts @@ -0,0 +1,22 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { i18n } from '@kbn/i18n'; + +export const PANEL_HEADER_ISOLATE_TITLE = i18n.translate( + 'xpack.securitySolution.flyout.documentDetails.isolateHostPanelHeaderIsolateTitle', + { + defaultMessage: `Isolate host`, + } +); + +export const PANEL_HEADER_RELEASE_TITLE = i18n.translate( + 'xpack.securitySolution.flyout.documentDetails.isolateHostPanelHeaderReleaseTitle', + { + defaultMessage: `Release host`, + } +); diff --git a/x-pack/plugins/security_solution/public/flyout/right/footer.tsx b/x-pack/plugins/security_solution/public/flyout/right/footer.tsx index d0980141ebfc..b411470ee386 100644 --- a/x-pack/plugins/security_solution/public/flyout/right/footer.tsx +++ b/x-pack/plugins/security_solution/public/flyout/right/footer.tsx @@ -6,7 +6,7 @@ */ import type { FC } from 'react'; -import React, { memo } from 'react'; +import React, { useCallback } from 'react'; import { useExpandableFlyoutContext } from '@kbn/expandable-flyout'; import { FlyoutFooter } from '../../timelines/components/side_panel/event_details/flyout'; import { useRightPanelContext } from './context'; @@ -15,13 +15,35 @@ import { useHostIsolationTools } from '../../timelines/components/side_panel/eve /** * */ -export const PanelFooter: FC = memo(() => { - const { closeFlyout } = useExpandableFlyoutContext(); - const { dataFormattedForFieldBrowser, dataAsNestedObject, refetchFlyoutData, scopeId } = - useRightPanelContext(); +export const PanelFooter: FC = () => { + const { closeFlyout, openRightPanel } = useExpandableFlyoutContext(); + const { + eventId, + indexName, + dataFormattedForFieldBrowser, + dataAsNestedObject, + refetchFlyoutData, + scopeId, + } = useRightPanelContext(); const { isHostIsolationPanelOpen, showHostIsolationPanel } = useHostIsolationTools(); + const showHostIsolationPanelCallback = useCallback( + (action: 'isolateHost' | 'unisolateHost' | undefined) => { + showHostIsolationPanel(action); + openRightPanel({ + id: 'document-details-isolate-host', + params: { + id: eventId, + indexName, + scopeId, + isolateAction: action, + }, + }); + }, + [eventId, indexName, openRightPanel, scopeId, showHostIsolationPanel] + ); + if (!dataFormattedForFieldBrowser || !dataAsNestedObject) { return null; } @@ -34,11 +56,9 @@ export const PanelFooter: FC = memo(() => { isHostIsolationPanelOpen={isHostIsolationPanelOpen} isReadOnly={false} loadingEventDetails={false} - onAddIsolationStatusClick={showHostIsolationPanel} + onAddIsolationStatusClick={showHostIsolationPanelCallback} scopeId={scopeId} refetchFlyoutData={refetchFlyoutData} /> ); -}); - -PanelFooter.displayName = 'PanelFooter'; +}; From 6ee512b86e85de05dffd9032891e59fb91b6eca1 Mon Sep 17 00:00:00 2001 From: Shahzad Date: Thu, 7 Sep 2023 17:04:25 +0200 Subject: [PATCH 08/57] [Synthetics] Unskip params test (#165964) --- .../test/api_integration/apis/synthetics/sync_global_params.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/x-pack/test/api_integration/apis/synthetics/sync_global_params.ts b/x-pack/test/api_integration/apis/synthetics/sync_global_params.ts index 179ac28a0c93..765138034f77 100644 --- a/x-pack/test/api_integration/apis/synthetics/sync_global_params.ts +++ b/x-pack/test/api_integration/apis/synthetics/sync_global_params.ts @@ -24,7 +24,7 @@ import { comparePolicies, getTestSyntheticsPolicy } from './sample_data/test_pol export default function ({ getService }: FtrProviderContext) { // FLAKY: https://github.com/elastic/kibana/issues/162594 // Failing: See https://github.com/elastic/kibana/issues/162594 - describe.skip('SyncGlobalParams', function () { + describe('SyncGlobalParams', function () { this.tags('skipCloud'); const supertestAPI = getService('supertest'); const kServer = getService('kibanaServer'); @@ -43,6 +43,7 @@ export default function ({ getService }: FtrProviderContext) { const params: Record = {}; before(async () => { + await kServer.savedObjects.cleanStandardList(); await testPrivateLocations.installSyntheticsPackage(); _browserMonitorJson = getFixtureJson('browser_monitor'); From 888873e7fcf8932a043922803848afc86d03eb8b Mon Sep 17 00:00:00 2001 From: Ido Cohen <90558359+CohenIdo@users.noreply.github.com> Date: Thu, 7 Sep 2023 18:05:16 +0300 Subject: [PATCH 09/57] [Cloud Security][Billing] D4C metering --- .../cloud_security/cloud_security_metering.ts | 26 +- .../cloud_security_metering_task.test.ts | 169 +++++++--- .../cloud_security_metering_task.ts | 314 ++++++++++++------ .../server/cloud_security/constants.ts | 45 +++ .../server/cloud_security/types.ts | 22 +- .../task_manager/usage_reporting_task.ts | 4 +- .../tsconfig.json | 3 +- 7 files changed, 409 insertions(+), 174 deletions(-) create mode 100644 x-pack/plugins/security_solution_serverless/server/cloud_security/constants.ts diff --git a/x-pack/plugins/security_solution_serverless/server/cloud_security/cloud_security_metering.ts b/x-pack/plugins/security_solution_serverless/server/cloud_security/cloud_security_metering.ts index e7e1ef475f24..c2770a53ff41 100644 --- a/x-pack/plugins/security_solution_serverless/server/cloud_security/cloud_security_metering.ts +++ b/x-pack/plugins/security_solution_serverless/server/cloud_security/cloud_security_metering.ts @@ -4,21 +4,13 @@ * 2.0; you may not use this file except in compliance with the Elastic License * 2.0. */ - -import { - CSPM_POLICY_TEMPLATE, - KSPM_POLICY_TEMPLATE, - CNVM_POLICY_TEMPLATE, -} from '@kbn/cloud-security-posture-plugin/common/constants'; import { ProductLine } from '../../common/product'; import { getCloudSecurityUsageRecord } from './cloud_security_metering_task'; -import type { PostureType } from './types'; +import { CLOUD_DEFEND, CNVM, CSPM, KSPM } from './constants'; +import type { CloudSecuritySolutions } from './types'; import type { MeteringCallbackInput, Tier, UsageRecord } from '../types'; import type { ServerlessSecurityConfig } from '../config'; -export const CLOUD_SECURITY_TASK_TYPE = 'cloud_security'; -export const AGGREGATION_PRECISION_THRESHOLD = 40000; - export const cloudSecurityMetringCallback = async ({ esClient, cloudSetup, @@ -36,28 +28,26 @@ export const cloudSecurityMetringCallback = async ({ const tier: Tier = getCloudProductTier(config); try { - const postureTypes: PostureType[] = [ - CSPM_POLICY_TEMPLATE, - KSPM_POLICY_TEMPLATE, - CNVM_POLICY_TEMPLATE, - ]; + const cloudSecuritySolutions: CloudSecuritySolutions[] = [CSPM, KSPM, CNVM, CLOUD_DEFEND]; const cloudSecurityUsageRecords = await Promise.all( - postureTypes.map((postureType) => + cloudSecuritySolutions.map((cloudSecuritySolution) => getCloudSecurityUsageRecord({ esClient, projectId, logger, taskId, lastSuccessfulReport, - postureType, + cloudSecuritySolution, tier, }) ) ); // remove any potential undefined values from the array, - return cloudSecurityUsageRecords.filter(Boolean) as UsageRecord[]; + return cloudSecurityUsageRecords + .filter((record) => record !== undefined && record.length > 0) + .flatMap((record) => record) as UsageRecord[]; } catch (err) { logger.error(`Failed to fetch Cloud Security metering data ${err}`); return []; diff --git a/x-pack/plugins/security_solution_serverless/server/cloud_security/cloud_security_metering_task.test.ts b/x-pack/plugins/security_solution_serverless/server/cloud_security/cloud_security_metering_task.test.ts index 66cb9bc748c0..8e03c6105043 100644 --- a/x-pack/plugins/security_solution_serverless/server/cloud_security/cloud_security_metering_task.test.ts +++ b/x-pack/plugins/security_solution_serverless/server/cloud_security/cloud_security_metering_task.test.ts @@ -6,40 +6,33 @@ */ import Chance from 'chance'; import { elasticsearchServiceMock, loggingSystemMock } from '@kbn/core/server/mocks'; -import { - CSPM_POLICY_TEMPLATE, - KSPM_POLICY_TEMPLATE, - CNVM_POLICY_TEMPLATE, -} from '@kbn/cloud-security-posture-plugin/common/constants'; -import { CLOUD_SECURITY_TASK_TYPE, getCloudProductTier } from './cloud_security_metering'; + +import { getCloudProductTier } from './cloud_security_metering'; import { getCloudSecurityUsageRecord } from './cloud_security_metering_task'; import type { ServerlessSecurityConfig } from '../config'; -import type { PostureType } from './types'; +import type { CloudSecuritySolutions } from './types'; import type { ProductTier } from '../../common/product'; +import { CLOUD_SECURITY_TASK_TYPE, CSPM, KSPM, CNVM } from './constants'; const mockEsClient = elasticsearchServiceMock.createStart().client.asInternalUser; const logger: ReturnType = loggingSystemMock.createLogger(); const chance = new Chance(); -const postureTypes: PostureType[] = [ - CSPM_POLICY_TEMPLATE, - KSPM_POLICY_TEMPLATE, - CNVM_POLICY_TEMPLATE, -]; +const cloudSecuritySolutions: CloudSecuritySolutions[] = [CSPM, KSPM, CNVM]; describe('getCloudSecurityUsageRecord', () => { beforeEach(() => { jest.resetAllMocks(); }); - it('should return undefined if postureType is missing', async () => { + it('should return undefined if cloudSecuritySolution is missing', async () => { // Mock Elasticsearch search to throw an error mockEsClient.search.mockRejectedValue({}); const projectId = chance.guid(); const taskId = chance.guid(); - const postureType = CSPM_POLICY_TEMPLATE; + const cloudSecuritySolution = CSPM; const tier = 'essentials' as ProductTier; @@ -49,16 +42,16 @@ describe('getCloudSecurityUsageRecord', () => { logger, taskId, lastSuccessfulReport: new Date(), - postureType, + cloudSecuritySolution, tier, }); expect(result).toBeUndefined(); }); - test.each(postureTypes)( - 'should return usageRecords with correct values for cspm and kspm when Elasticsearch response has aggregations', - async (postureType) => { + test.each(cloudSecuritySolutions)( + 'should return usageRecords with correct values for cspm, kspm, and cnvm when Elasticsearch response has aggregations', + async (cloudSecuritySolution) => { // @ts-ignore mockEsClient.search.mockResolvedValueOnce({ hits: { hits: [{ _id: 'someRecord', _index: 'mockIndex' }] }, // mocking for indexHasDataInDateRange @@ -87,28 +80,32 @@ describe('getCloudSecurityUsageRecord', () => { logger, taskId, lastSuccessfulReport: new Date(), - postureType, + cloudSecuritySolution, tier, }); - expect(result).toEqual({ - id: expect.stringContaining(`${CLOUD_SECURITY_TASK_TYPE}_${postureType}_${projectId}`), - usage_timestamp: '2023-07-30T15:11:41.738Z', - creation_timestamp: expect.any(String), // Expect a valid ISO string - usage: { - type: CLOUD_SECURITY_TASK_TYPE, - sub_type: postureType, - quantity: 10, - period_seconds: expect.any(Number), - }, - source: { - id: taskId, - instance_group_id: projectId, - metadata: { - tier: 'essentials', + expect(result).toEqual([ + { + id: expect.stringContaining( + `${CLOUD_SECURITY_TASK_TYPE}_${cloudSecuritySolution}_${projectId}` + ), + usage_timestamp: '2023-07-30T15:11:41.738Z', + creation_timestamp: expect.any(String), // Expect a valid ISO string + usage: { + type: CLOUD_SECURITY_TASK_TYPE, + sub_type: cloudSecuritySolution, + quantity: 10, + period_seconds: expect.any(Number), + }, + source: { + id: taskId, + instance_group_id: projectId, + metadata: { + tier: 'essentials', + }, }, }, - }); + ]); } ); @@ -118,7 +115,7 @@ describe('getCloudSecurityUsageRecord', () => { const projectId = chance.guid(); const taskId = chance.guid(); - const postureType = CSPM_POLICY_TEMPLATE; + const cloudSecuritySolution = CSPM; const tier = 'essentials' as ProductTier; @@ -128,7 +125,7 @@ describe('getCloudSecurityUsageRecord', () => { logger, taskId, lastSuccessfulReport: new Date(), - postureType, + cloudSecuritySolution, tier, }); @@ -141,7 +138,7 @@ describe('getCloudSecurityUsageRecord', () => { const projectId = chance.guid(); const taskId = chance.guid(); - const postureType = CSPM_POLICY_TEMPLATE; + const cloudSecuritySolution = CSPM; const tier = 'essentials' as ProductTier; @@ -151,7 +148,7 @@ describe('getCloudSecurityUsageRecord', () => { logger, taskId, lastSuccessfulReport: new Date(), - postureType, + cloudSecuritySolution, tier, }); @@ -175,6 +172,100 @@ describe('should return the relevant product tier', () => { expect(tier).toBe('complete'); }); + it('should return usageRecords with correct values for cloud defend', async () => { + const cloudSecuritySolution = 'cloud_defend'; + // @ts-ignore + mockEsClient.search.mockResolvedValueOnce({ + hits: { hits: [{ _id: 'someRecord', _index: 'mockIndex' }] }, // mocking for indexHasDataInDateRange + }); + + // @ts-ignore + mockEsClient.search.mockResolvedValueOnce({ + aggregations: { + asset_count_groups: { + buckets: [ + { + key_as_string: 'true', + unique_assets: { + value: 10, + }, + min_timestamp: { + value_as_string: '2023-07-30T15:11:41.738Z', + }, + }, + { + key_as_string: 'false', + unique_assets: { + value: 5, + }, + min_timestamp: { + value_as_string: '2023-07-30T15:11:41.738Z', + }, + }, + ], + }, + }, + }); + + const projectId = chance.guid(); + const taskId = chance.guid(); + + const tier = 'essentials' as ProductTier; + + const result = await getCloudSecurityUsageRecord({ + esClient: mockEsClient, + projectId, + logger, + taskId, + lastSuccessfulReport: new Date(), + cloudSecuritySolution, + tier, + }); + + expect(result).toEqual([ + { + id: expect.stringContaining( + `${CLOUD_SECURITY_TASK_TYPE}_${cloudSecuritySolution}_${projectId}` + ), + usage_timestamp: '2023-07-30T15:11:41.738Z', + creation_timestamp: expect.any(String), // Expect a valid ISO string + usage: { + type: CLOUD_SECURITY_TASK_TYPE, + sub_type: `${cloudSecuritySolution}_block_action_enabled_true`, + quantity: 10, + period_seconds: expect.any(Number), + }, + source: { + id: taskId, + instance_group_id: projectId, + metadata: { + tier: 'essentials', + }, + }, + }, + { + id: expect.stringContaining( + `${CLOUD_SECURITY_TASK_TYPE}_${cloudSecuritySolution}_${projectId}` + ), + usage_timestamp: '2023-07-30T15:11:41.738Z', + creation_timestamp: expect.any(String), // Expect a valid ISO string + usage: { + type: CLOUD_SECURITY_TASK_TYPE, + sub_type: `${cloudSecuritySolution}_block_action_enabled_false`, + quantity: 5, + period_seconds: expect.any(Number), + }, + source: { + id: taskId, + instance_group_id: projectId, + metadata: { + tier: 'essentials', + }, + }, + }, + ]); + }); + it('should return none tier in case cloud product line is missing ', async () => { const serverlessSecurityConfig = { enabled: true, diff --git a/x-pack/plugins/security_solution_serverless/server/cloud_security/cloud_security_metering_task.ts b/x-pack/plugins/security_solution_serverless/server/cloud_security/cloud_security_metering_task.ts index 95fe58df0f17..1a9501424ba0 100644 --- a/x-pack/plugins/security_solution_serverless/server/cloud_security/cloud_security_metering_task.ts +++ b/x-pack/plugins/security_solution_serverless/server/cloud_security/cloud_security_metering_task.ts @@ -5,88 +5,65 @@ * 2.0. */ -import { - CNVM_POLICY_TEMPLATE, - CSPM_POLICY_TEMPLATE, - KSPM_POLICY_TEMPLATE, - LATEST_FINDINGS_INDEX_PATTERN, - LATEST_VULNERABILITIES_INDEX_PATTERN, -} from '@kbn/cloud-security-posture-plugin/common/constants'; +import type { Logger } from '@kbn/core/server'; import type { ElasticsearchClient } from '@kbn/core-elasticsearch-server'; -import type { UsageRecord } from '../types'; - import { AGGREGATION_PRECISION_THRESHOLD, + ASSETS_SAMPLE_GRANULARITY, + CLOUD_DEFEND, CLOUD_SECURITY_TASK_TYPE, -} from './cloud_security_metering'; -import { cloudSecurityMetringTaskProperties } from './cloud_security_metering_task_config'; + CNVM, + CSPM, + KSPM, + METERING_CONFIGS, + THRESHOLD_MINUTES, +} from './constants'; +import type { Tier, UsageRecord } from '../types'; import type { CloudSecurityMeteringCallbackInput, - PostureType, - ResourceCountAggregation, + CloudSecuritySolutions, + AssetCountAggregation, + CloudDefendAssetCountAggregation, } from './types'; -const ASSETS_SAMPLE_GRANULARITY = '24h'; - -const queryParams = { - [CSPM_POLICY_TEMPLATE]: { - index: LATEST_FINDINGS_INDEX_PATTERN, - assets_identifier: 'resource.id', - }, - [KSPM_POLICY_TEMPLATE]: { - index: LATEST_FINDINGS_INDEX_PATTERN, - assets_identifier: 'agent.id', - }, - [CNVM_POLICY_TEMPLATE]: { - index: LATEST_VULNERABILITIES_INDEX_PATTERN, - assets_identifier: 'cloud.instance.id', - }, -}; - -export const getCloudSecurityUsageRecord = async ({ - esClient, - projectId, - logger, - taskId, - postureType, - tier, -}: CloudSecurityMeteringCallbackInput): Promise => { - try { - if (!postureType) { - logger.error('posture type is missing'); - return; - } - - if (!(await indexHasDataInDateRange(esClient, postureType))) return; - - const response = await esClient.search( - getAggQueryByPostureType(postureType) - ); +export const getUsageRecords = ( + assetCountAggregations: AssetCountAggregation[], + cloudSecuritySolution: CloudSecuritySolutions, + taskId: string, + tier: Tier, + projectId: string, + periodSeconds: number, + logger: Logger +): UsageRecord[] => { + const usageRecords = assetCountAggregations.map((assetCountAggregation) => { + const assetCount = assetCountAggregation.unique_assets.value; - if (!response.aggregations) { - return; - } - const resourceCount = response.aggregations.unique_assets.value; - if (resourceCount > AGGREGATION_PRECISION_THRESHOLD) { + if (assetCount > AGGREGATION_PRECISION_THRESHOLD) { logger.warn( - `The number of unique resources for {${postureType}} is ${resourceCount}, which is higher than the AGGREGATION_PRECISION_THRESHOLD of ${AGGREGATION_PRECISION_THRESHOLD}.` + `The number of unique resources for {${cloudSecuritySolution}} is ${assetCount}, which is higher than the AGGREGATION_PRECISION_THRESHOLD of ${AGGREGATION_PRECISION_THRESHOLD}.` ); } - const minTimestamp = response.aggregations - ? new Date(response.aggregations.min_timestamp.value_as_string).toISOString() - : new Date().toISOString(); + + const minTimestamp = new Date( + assetCountAggregation.min_timestamp.value_as_string + ).toISOString(); const creationTimestamp = new Date().toISOString(); - const usageRecord = { - id: `${CLOUD_SECURITY_TASK_TYPE}_${postureType}_${projectId}_${creationTimestamp}`, + const subType = + cloudSecuritySolution === CLOUD_DEFEND + ? `${CLOUD_DEFEND}_block_action_enabled_${assetCountAggregation.key_as_string}` + : cloudSecuritySolution; + + const usageRecord: UsageRecord = { + id: `${CLOUD_SECURITY_TASK_TYPE}_${cloudSecuritySolution}_${projectId}_${creationTimestamp}`, usage_timestamp: minTimestamp, creation_timestamp: creationTimestamp, usage: { type: CLOUD_SECURITY_TASK_TYPE, - sub_type: postureType, - quantity: resourceCount, - period_seconds: cloudSecurityMetringTaskProperties.periodSeconds, + sub_type: subType, + quantity: assetCount, + period_seconds: periodSeconds, }, source: { id: taskId, @@ -95,40 +72,85 @@ export const getCloudSecurityUsageRecord = async ({ }, }; - logger.debug(`Fetched ${postureType} metring data`); - return usageRecord; - } catch (err) { - logger.error(`Failed to fetch ${postureType} metering data ${err}`); - } + }); + return usageRecords; }; -const indexHasDataInDateRange = async (esClient: ElasticsearchClient, postureType: PostureType) => { - const response = await esClient.search({ - index: queryParams[postureType].index, - size: 1, - _source: false, - query: getSearchQueryByPostureType(postureType), - }); +export const getAggregationByCloudSecuritySolution = ( + cloudSecuritySolution: CloudSecuritySolutions +) => { + if (cloudSecuritySolution === CLOUD_DEFEND) { + return { + asset_count_groups: { + terms: { + field: 'cloud_defend.block_action_enabled', + }, + aggs: { + unique_assets: { + cardinality: { + field: METERING_CONFIGS[cloudSecuritySolution].assets_identifier, + }, + }, + min_timestamp: { + min: { + field: '@timestamp', + }, + }, + }, + }, + }; + } - return response.hits.hits.length > 0; + return { + unique_assets: { + cardinality: { + field: METERING_CONFIGS[cloudSecuritySolution].assets_identifier, + precision_threshold: AGGREGATION_PRECISION_THRESHOLD, + }, + }, + min_timestamp: { + min: { + field: '@timestamp', + }, + }, + }; }; -export const getSearchQueryByPostureType = (postureType: PostureType) => { +export const getSearchQueryByCloudSecuritySolution = ( + cloudSecuritySolution: CloudSecuritySolutions, + searchFrom: Date +) => { const mustFilters = []; - mustFilters.push({ - range: { - '@timestamp': { - gte: `now-${ASSETS_SAMPLE_GRANULARITY}`, + if (cloudSecuritySolution === CLOUD_DEFEND) { + mustFilters.push({ + range: { + '@timestamp': { + gt: searchFrom.toISOString(), + }, }, - }, - }); + }); + } + + if ( + cloudSecuritySolution === CSPM || + cloudSecuritySolution === KSPM || + cloudSecuritySolution === CNVM + ) { + mustFilters.push({ + range: { + '@timestamp': { + gte: `now-${ASSETS_SAMPLE_GRANULARITY}`, + }, + }, + }); + } - if (postureType === CSPM_POLICY_TEMPLATE || postureType === KSPM_POLICY_TEMPLATE) { + if (cloudSecuritySolution === CSPM || cloudSecuritySolution === KSPM) { mustFilters.push({ term: { - 'rule.benchmark.posture_type': postureType, + 'rule.benchmark.posture_type': cloudSecuritySolution, }, }); } @@ -140,25 +162,111 @@ export const getSearchQueryByPostureType = (postureType: PostureType) => { }; }; -export const getAggQueryByPostureType = (postureType: PostureType) => { - const query = { - index: queryParams[postureType].index, - query: getSearchQueryByPostureType(postureType), +export const getAssetAggQueryByCloudSecuritySolution = ( + cloudSecuritySolution: CloudSecuritySolutions, + searchFrom: Date +) => { + const query = getSearchQueryByCloudSecuritySolution(cloudSecuritySolution, searchFrom); + const aggs = getAggregationByCloudSecuritySolution(cloudSecuritySolution); + + return { + index: METERING_CONFIGS[cloudSecuritySolution].index, + query, size: 0, - aggs: { - unique_assets: { - cardinality: { - field: queryParams[postureType].assets_identifier, - precision_threshold: AGGREGATION_PRECISION_THRESHOLD, - }, - }, - min_timestamp: { - min: { - field: '@timestamp', - }, - }, - }, + aggs, }; +}; + +export const getAssetAggByCloudSecuritySolution = async ( + esClient: ElasticsearchClient, + cloudSecuritySolution: CloudSecuritySolutions, + searchFrom: Date +): Promise => { + const assetsAggQuery = getAssetAggQueryByCloudSecuritySolution(cloudSecuritySolution, searchFrom); + + if (cloudSecuritySolution === CLOUD_DEFEND) { + const response = await esClient.search( + assetsAggQuery + ); + + if (!response.aggregations || !response.aggregations.asset_count_groups.buckets.length) + return []; + return response.aggregations.asset_count_groups.buckets; + } + + const response = await esClient.search(assetsAggQuery); + if (!response.aggregations) return []; + + return [response.aggregations]; +}; + +const indexHasDataInDateRange = async ( + esClient: ElasticsearchClient, + cloudSecuritySolution: CloudSecuritySolutions, + searchFrom: Date +) => { + const response = await esClient.search({ + index: METERING_CONFIGS[cloudSecuritySolution].index, + size: 1, + _source: false, + query: getSearchQueryByCloudSecuritySolution(cloudSecuritySolution, searchFrom), + }); + + return response.hits.hits.length > 0; +}; + +const getSearchStartDate = (lastSuccessfulReport: Date): Date => { + const initialDate = new Date(); + const thresholdDate = new Date(initialDate.getTime() - THRESHOLD_MINUTES * 60 * 1000); + + let lastSuccessfulReport1; + + if (lastSuccessfulReport) { + lastSuccessfulReport1 = new Date(lastSuccessfulReport); + + const searchFrom = + lastSuccessfulReport && lastSuccessfulReport1 > thresholdDate + ? lastSuccessfulReport1 + : thresholdDate; + return searchFrom; + } + return thresholdDate; +}; + +export const getCloudSecurityUsageRecord = async ({ + esClient, + projectId, + taskId, + lastSuccessfulReport, + cloudSecuritySolution, + tier, + logger, +}: CloudSecurityMeteringCallbackInput): Promise => { + try { + const searchFrom = getSearchStartDate(lastSuccessfulReport); + + if (!(await indexHasDataInDateRange(esClient, cloudSecuritySolution, searchFrom))) return; + + const periodSeconds = Math.floor((new Date().getTime() - searchFrom.getTime()) / 1000); - return query; + const assetCountAggregations = await getAssetAggByCloudSecuritySolution( + esClient, + cloudSecuritySolution, + searchFrom + ); + + const usageRecords = await getUsageRecords( + assetCountAggregations, + cloudSecuritySolution, + taskId, + tier, + projectId, + periodSeconds, + logger + ); + + return usageRecords; + } catch (err) { + logger.error(`Failed to fetch ${cloudSecuritySolution} metering data ${err}`); + } }; diff --git a/x-pack/plugins/security_solution_serverless/server/cloud_security/constants.ts b/x-pack/plugins/security_solution_serverless/server/cloud_security/constants.ts new file mode 100644 index 000000000000..9203a7fdff28 --- /dev/null +++ b/x-pack/plugins/security_solution_serverless/server/cloud_security/constants.ts @@ -0,0 +1,45 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor 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 { + CNVM_POLICY_TEMPLATE, + CSPM_POLICY_TEMPLATE, + KSPM_POLICY_TEMPLATE, + LATEST_FINDINGS_INDEX_PATTERN, + LATEST_VULNERABILITIES_INDEX_PATTERN, +} from '@kbn/cloud-security-posture-plugin/common/constants'; +import { INTEGRATION_PACKAGE_NAME } from '@kbn/cloud-defend-plugin/common/constants'; + +const CLOUD_DEFEND_HEARTBEAT_INDEX = 'metrics-cloud_defend.heartbeat'; +export const CLOUD_SECURITY_TASK_TYPE = 'cloud_security'; +export const AGGREGATION_PRECISION_THRESHOLD = 40000; +export const ASSETS_SAMPLE_GRANULARITY = '124h'; +export const THRESHOLD_MINUTES = 30; + +export const CSPM = CSPM_POLICY_TEMPLATE; +export const KSPM = KSPM_POLICY_TEMPLATE; +export const CNVM = CNVM_POLICY_TEMPLATE; +export const CLOUD_DEFEND = INTEGRATION_PACKAGE_NAME; + +export const METERING_CONFIGS = { + [CSPM]: { + index: LATEST_FINDINGS_INDEX_PATTERN, + assets_identifier: 'resource.id', + }, + [KSPM]: { + index: LATEST_FINDINGS_INDEX_PATTERN, + assets_identifier: 'agent.id', + }, + [CNVM]: { + index: LATEST_VULNERABILITIES_INDEX_PATTERN, + assets_identifier: 'cloud.instance.id', + }, + [CLOUD_DEFEND]: { + index: CLOUD_DEFEND_HEARTBEAT_INDEX, + assets_identifier: 'agent.id', + }, +}; diff --git a/x-pack/plugins/security_solution_serverless/server/cloud_security/types.ts b/x-pack/plugins/security_solution_serverless/server/cloud_security/types.ts index be4dbeebf52b..62ded11d5ad1 100644 --- a/x-pack/plugins/security_solution_serverless/server/cloud_security/types.ts +++ b/x-pack/plugins/security_solution_serverless/server/cloud_security/types.ts @@ -5,14 +5,17 @@ * 2.0. */ -import type { - CSPM_POLICY_TEMPLATE, - KSPM_POLICY_TEMPLATE, - CNVM_POLICY_TEMPLATE, -} from '@kbn/cloud-security-posture-plugin/common/constants'; +import type { CSPM, KSPM, CNVM, CLOUD_DEFEND } from './constants'; import type { MeteringCallbackInput, Tier } from '../types'; -export interface ResourceCountAggregation { +export interface CloudDefendAssetCountAggregation { + asset_count_groups: AssetCountAggregationBucket; +} +export interface AssetCountAggregationBucket { + buckets: AssetCountAggregation[]; +} +export interface AssetCountAggregation { + key_as_string: string; min_timestamp: MinTimestamp; unique_assets: { value: number; @@ -24,14 +27,11 @@ export interface MinTimestamp { value_as_string: string; } -export type PostureType = - | typeof CSPM_POLICY_TEMPLATE - | typeof KSPM_POLICY_TEMPLATE - | typeof CNVM_POLICY_TEMPLATE; +export type CloudSecuritySolutions = typeof CSPM | typeof KSPM | typeof CNVM | typeof CLOUD_DEFEND; export interface CloudSecurityMeteringCallbackInput extends Omit { projectId: string; - postureType: PostureType; + cloudSecuritySolution: CloudSecuritySolutions; tier: Tier; } diff --git a/x-pack/plugins/security_solution_serverless/server/task_manager/usage_reporting_task.ts b/x-pack/plugins/security_solution_serverless/server/task_manager/usage_reporting_task.ts index 673bda309aec..a5ea75c615a3 100644 --- a/x-pack/plugins/security_solution_serverless/server/task_manager/usage_reporting_task.ts +++ b/x-pack/plugins/security_solution_serverless/server/task_manager/usage_reporting_task.ts @@ -131,7 +131,7 @@ export class SecurityUsageReportingTask { config: this.config, }); } catch (err) { - this.logger.error(`failed to retrieve usage records: ${JSON.stringify(err)}`); + this.logger.error(`failed to retrieve usage records: ${err}`); return; } @@ -153,7 +153,7 @@ export class SecurityUsageReportingTask { `usage records report was sent successfully: ${usageReportResponse.status}, ${usageReportResponse.statusText}` ); } catch (err) { - this.logger.error(`Failed to send usage records report ${JSON.stringify(err)} `); + this.logger.error(`Failed to send usage records report ${err} `); } } diff --git a/x-pack/plugins/security_solution_serverless/tsconfig.json b/x-pack/plugins/security_solution_serverless/tsconfig.json index 0f517caa077a..2ad30566e55c 100644 --- a/x-pack/plugins/security_solution_serverless/tsconfig.json +++ b/x-pack/plugins/security_solution_serverless/tsconfig.json @@ -41,6 +41,7 @@ "@kbn/cases-plugin", "@kbn/fleet-plugin", "@kbn/core-elasticsearch-server", - "@kbn/usage-collection-plugin" + "@kbn/usage-collection-plugin", + "@kbn/cloud-defend-plugin" ] } From 243b1e93a286aed271a9a1c1cb110b0d493b87a3 Mon Sep 17 00:00:00 2001 From: Isaac Karrer Date: Thu, 7 Sep 2023 10:07:05 -0500 Subject: [PATCH 10/57] notify mission control (#165977) ## Summary Notify mission control on any releases. --- .buildkite/pipelines/pipeline.kibana-serverless-release.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.buildkite/pipelines/pipeline.kibana-serverless-release.yaml b/.buildkite/pipelines/pipeline.kibana-serverless-release.yaml index 0eec18471e2b..9c3e235c5564 100644 --- a/.buildkite/pipelines/pipeline.kibana-serverless-release.yaml +++ b/.buildkite/pipelines/pipeline.kibana-serverless-release.yaml @@ -10,3 +10,6 @@ steps: SERVICE: kibana-controller NAMESPACE: kibana-ci IMAGE_NAME: kibana-serverless + +notify: + - slack: "#kibana-mission-control" From 84275f0c297654affa1de339022c3cfc69cd3b14 Mon Sep 17 00:00:00 2001 From: Rodney Norris Date: Thu, 7 Sep 2023 10:11:18 -0500 Subject: [PATCH 11/57] [Serverless Search][Index Management] Add Create Index button (#165279) ## Summary This adds a "Create index" button to the index management page behind a feature flag. For now this will open a Modal that lets you name the index, and that is all. For now the feature flag is only enabled for serverless search. ### Screenshots View in Serverless Search image image name validation image Error from server (happy to improve the copy here) image ### Checklist Delete any items that are not applicable to this PR. - [x] Any text added follows [EUI's writing guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses sentence case text and includes [i18n support](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/README.md) - [ ] [Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html) was added for features that require explanation or tutorials - [x] [Unit or functional tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html) were updated or added to match the most common scenarios - [x] Any UI touched in this PR is usable by keyboard only (learn more about [keyboard accessibility](https://webaim.org/techniques/keyboard/)) - [x] Any UI touched in this PR does not create any new axe failures (run axe in browser: [FF](https://addons.mozilla.org/en-US/firefox/addon/axe-devtools/), [Chrome](https://chrome.google.com/webstore/detail/axe-web-accessibility-tes/lhdoppojpmngadmnindnejefpokejbdd?hl=en-US)) - [x] This renders correctly on smaller devices using a responsive layout. (You can test this [in your browser](https://www.browserstack.com/guide/responsive-testing-on-local-server)) - [x] This was checked for [cross-browser compatibility](https://www.elastic.co/support/matrix#matrix_browsers) --- .../helpers/http_requests.ts | 4 + .../helpers/test_subjects.ts | 6 +- .../home/indices_tab.helpers.ts | 35 ++++ .../home/indices_tab.test.ts | 70 +++++++- .../create_index/create_index_button.tsx | 40 +++++ .../create_index/create_index_modal.tsx | 164 ++++++++++++++++++ .../index_list/create_index/utils.test.ts | 62 +++++++ .../home/index_list/create_index/utils.ts | 21 +++ .../index_list/index_table/index_table.js | 4 + .../public/application/services/api.ts | 10 ++ .../public/application/services/index.ts | 1 + .../api/indices/register_create_route.ts | 37 ++++ .../api/indices/register_indices_routes.ts | 2 + .../index_management/create_index.ts | 67 +++++++ .../common/index_management/indices.ts | 45 +++++ 15 files changed, 566 insertions(+), 2 deletions(-) create mode 100644 x-pack/plugins/index_management/public/application/sections/home/index_list/create_index/create_index_button.tsx create mode 100644 x-pack/plugins/index_management/public/application/sections/home/index_list/create_index/create_index_modal.tsx create mode 100644 x-pack/plugins/index_management/public/application/sections/home/index_list/create_index/utils.test.ts create mode 100644 x-pack/plugins/index_management/public/application/sections/home/index_list/create_index/utils.ts create mode 100644 x-pack/plugins/index_management/server/routes/api/indices/register_create_route.ts create mode 100644 x-pack/test/api_integration/apis/management/index_management/create_index.ts diff --git a/x-pack/plugins/index_management/__jest__/client_integration/helpers/http_requests.ts b/x-pack/plugins/index_management/__jest__/client_integration/helpers/http_requests.ts index 8b6e4b444c13..408428535f6a 100644 --- a/x-pack/plugins/index_management/__jest__/client_integration/helpers/http_requests.ts +++ b/x-pack/plugins/index_management/__jest__/client_integration/helpers/http_requests.ts @@ -136,6 +136,9 @@ const registerHttpRequestMockHelpers = ( error?: ResponseError ) => mockResponse('GET', `${INTERNAL_API_BASE_PATH}/indices/${indexName}`, response, error); + const setCreateIndexResponse = (response?: HttpResponse, error?: ResponseError) => + mockResponse('PUT', `${INTERNAL_API_BASE_PATH}/indices/create`, response, error); + return { setLoadTemplatesResponse, setLoadIndicesResponse, @@ -155,6 +158,7 @@ const registerHttpRequestMockHelpers = ( setLoadNodesPluginsResponse, setLoadTelemetryResponse, setLoadIndexDetailsResponse, + setCreateIndexResponse, }; }; diff --git a/x-pack/plugins/index_management/__jest__/client_integration/helpers/test_subjects.ts b/x-pack/plugins/index_management/__jest__/client_integration/helpers/test_subjects.ts index 7591ca90f159..7b3d33f88e3e 100644 --- a/x-pack/plugins/index_management/__jest__/client_integration/helpers/test_subjects.ts +++ b/x-pack/plugins/index_management/__jest__/client_integration/helpers/test_subjects.ts @@ -64,4 +64,8 @@ export type TestSubjects = | 'updateEditIndexSettingsButton' | 'updateIndexSettingsErrorCallout' | 'viewButton' - | 'detailPanelTabSelected'; + | 'detailPanelTabSelected' + | 'createIndexButton' + | 'createIndexNameFieldText' + | 'createIndexCancelButton' + | 'createIndexSaveButton'; diff --git a/x-pack/plugins/index_management/__jest__/client_integration/home/indices_tab.helpers.ts b/x-pack/plugins/index_management/__jest__/client_integration/home/indices_tab.helpers.ts index 8aaa356ca293..f3ce7cbe71a9 100644 --- a/x-pack/plugins/index_management/__jest__/client_integration/home/indices_tab.helpers.ts +++ b/x-pack/plugins/index_management/__jest__/client_integration/home/indices_tab.helpers.ts @@ -40,6 +40,9 @@ export interface IndicesTestBed extends TestBed { clickManageContextMenuButton: () => void; clickContextMenuOption: (optionDataTestSubject: string) => void; clickModalConfirm: () => void; + clickCreateIndexButton: () => void; + clickCreateIndexCancelButton: () => void; + clickCreateIndexSaveButton: () => void; }; findDataStreamDetailPanel: () => ReactWrapper; findDataStreamDetailPanelTitle: () => string; @@ -135,6 +138,35 @@ export const setup = async ( return find('dataStreamDetailPanelTitle').text(); }; + const clickCreateIndexButton = async () => { + const { find, component } = testBed; + + await act(async () => { + find('createIndexButton').simulate('click'); + }); + component.update(); + }; + + const clickCreateIndexCancelButton = async () => { + const { find, exists, component } = testBed; + + expect(exists('createIndexCancelButton')).toBe(true); + await act(async () => { + find('createIndexCancelButton').simulate('click'); + }); + component.update(); + }; + + const clickCreateIndexSaveButton = async () => { + const { find, exists, component } = testBed; + + expect(exists('createIndexSaveButton')).toBe(true); + await act(async () => { + find('createIndexSaveButton').simulate('click'); + }); + component.update(); + }; + return { ...testBed, actions: { @@ -146,6 +178,9 @@ export const setup = async ( clickManageContextMenuButton, clickContextMenuOption, clickModalConfirm, + clickCreateIndexButton, + clickCreateIndexCancelButton, + clickCreateIndexSaveButton, }, findDataStreamDetailPanel, findDataStreamDetailPanelTitle, diff --git a/x-pack/plugins/index_management/__jest__/client_integration/home/indices_tab.test.ts b/x-pack/plugins/index_management/__jest__/client_integration/home/indices_tab.test.ts index 80c03726c3d4..41f4f3786d1c 100644 --- a/x-pack/plugins/index_management/__jest__/client_integration/home/indices_tab.test.ts +++ b/x-pack/plugins/index_management/__jest__/client_integration/home/indices_tab.test.ts @@ -7,7 +7,7 @@ import { act } from 'react-dom/test-utils'; -import { API_BASE_PATH } from '../../../common'; +import { API_BASE_PATH, INTERNAL_API_BASE_PATH } from '../../../common'; import { setupEnvironment, nextTick } from '../helpers'; import { IndicesTestBed, setup } from './indices_tab.helpers'; import { createDataStreamPayload, createNonDataStreamIndex } from './data_streams_tab.helpers'; @@ -521,4 +521,72 @@ describe('', () => { }); }); }); + + describe('Create Index', () => { + const indexNameA = 'test-index-a'; + const indexNameB = 'test-index-b'; + const indexMockA = createNonDataStreamIndex(indexNameA); + + beforeEach(async () => { + httpRequestsMockHelpers.setLoadIndicesResponse([ + { + ...indexMockA, + }, + ]); + + testBed = await setup(httpSetup, { + history: createMemoryHistory(), + }); + + await act(async () => { + const { component } = testBed; + + await nextTick(); + component.update(); + }); + }); + + test('shows the create index button', async () => { + const { exists } = testBed; + + expect(exists('createIndexButton')).toBe(true); + }); + + test('can open & close the create index modal', async () => { + const { exists, actions } = testBed; + + await actions.clickCreateIndexButton(); + + expect(exists('createIndexNameFieldText')).toBe(true); + + await await actions.clickCreateIndexCancelButton(); + + expect(exists('createIndexNameFieldText')).toBe(false); + }); + + test('creating an index', async () => { + const { component, exists, find, actions } = testBed; + + expect(httpSetup.get).toHaveBeenCalledTimes(1); + expect(httpSetup.get).toHaveBeenNthCalledWith(1, '/api/index_management/indices'); + + await actions.clickCreateIndexButton(); + + expect(exists('createIndexNameFieldText')).toBe(true); + await act(async () => { + find('createIndexNameFieldText').simulate('change', { target: { value: indexNameB } }); + }); + component.update(); + + await actions.clickCreateIndexSaveButton(); + + // Saves the index with expected name + expect(httpSetup.put).toHaveBeenCalledWith(`${INTERNAL_API_BASE_PATH}/indices/create`, { + body: '{"indexName":"test-index-b"}', + }); + // It refresh indices after saving + expect(httpSetup.get).toHaveBeenCalledTimes(2); + expect(httpSetup.get).toHaveBeenNthCalledWith(2, '/api/index_management/indices'); + }); + }); }); diff --git a/x-pack/plugins/index_management/public/application/sections/home/index_list/create_index/create_index_button.tsx b/x-pack/plugins/index_management/public/application/sections/home/index_list/create_index/create_index_button.tsx new file mode 100644 index 000000000000..746d684f48b7 --- /dev/null +++ b/x-pack/plugins/index_management/public/application/sections/home/index_list/create_index/create_index_button.tsx @@ -0,0 +1,40 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import React, { useState } from 'react'; +import { FormattedMessage } from '@kbn/i18n-react'; +import { EuiButton } from '@elastic/eui'; + +import { CreateIndexModal } from './create_index_modal'; + +export const CreateIndexButton = ({ loadIndices }: { loadIndices: () => void }) => { + const [createIndexModalOpen, setCreateIndexModalOpen] = useState(false); + + return ( + <> + setCreateIndexModalOpen(true)} + key="createIndexButton" + data-test-subj="createIndexButton" + data-telemetry-id="idxMgmt-indexList-createIndexButton" + > + + + {createIndexModalOpen && ( + setCreateIndexModalOpen(false)} + loadIndices={loadIndices} + /> + )} + + ); +}; diff --git a/x-pack/plugins/index_management/public/application/sections/home/index_list/create_index/create_index_modal.tsx b/x-pack/plugins/index_management/public/application/sections/home/index_list/create_index/create_index_modal.tsx new file mode 100644 index 000000000000..c54aaf0b1237 --- /dev/null +++ b/x-pack/plugins/index_management/public/application/sections/home/index_list/create_index/create_index_modal.tsx @@ -0,0 +1,164 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import React, { useCallback, useState } from 'react'; +import { i18n } from '@kbn/i18n'; +import { FormattedMessage } from '@kbn/i18n-react'; +import { + EuiButton, + EuiButtonEmpty, + EuiCallOut, + EuiFieldText, + EuiForm, + EuiFormRow, + EuiModal, + EuiModalHeader, + EuiModalHeaderTitle, + EuiModalBody, + EuiModalFooter, + EuiSpacer, + EuiText, +} from '@elastic/eui'; + +import { createIndex } from '../../../../services'; +import { notificationService } from '../../../../services/notification'; + +import { isValidIndexName } from './utils'; + +const INVALID_INDEX_NAME_ERROR = i18n.translate( + 'xpack.idxMgmt.createIndex.modal.invalidName.error', + { defaultMessage: 'Index name is not valid' } +); + +export interface CreateIndexModalProps { + closeModal: () => void; + loadIndices: () => void; +} + +export const CreateIndexModal = ({ closeModal, loadIndices }: CreateIndexModalProps) => { + const [indexName, setIndexName] = useState(''); + const [indexNameError, setIndexNameError] = useState(); + const [isSaving, setIsSaving] = useState(false); + const [createError, setCreateError] = useState(); + + const putCreateIndex = useCallback(async () => { + setIsSaving(true); + try { + const { error } = await createIndex(indexName); + setIsSaving(false); + if (!error) { + loadIndices(); + closeModal(); + notificationService.showSuccessToast( + i18n.translate('xpack.idxMgmt.createIndex.successfullyCreatedIndexMessage', { + defaultMessage: 'Successfully created index: {indexName}', + values: { indexName }, + }) + ); + return; + } + setCreateError(error.message); + } catch (e) { + setIsSaving(false); + setCreateError(e.message); + } + }, [closeModal, indexName, loadIndices]); + + const onSave = () => { + if (isValidIndexName(indexName)) { + putCreateIndex(); + } + }; + + const onNameChange = (name: string) => { + setIndexName(name); + if (!isValidIndexName(name)) { + setIndexNameError(INVALID_INDEX_NAME_ERROR); + } else if (indexNameError) { + setIndexNameError(undefined); + } + }; + + return ( + + + + + + + + {createError && ( + <> + + + + + + + + )} + + + onNameChange(e.target.value)} + data-test-subj="createIndexNameFieldText" + /> + + + + + + + + + + + + + ); +}; diff --git a/x-pack/plugins/index_management/public/application/sections/home/index_list/create_index/utils.test.ts b/x-pack/plugins/index_management/public/application/sections/home/index_list/create_index/utils.test.ts new file mode 100644 index 000000000000..f967e7294a35 --- /dev/null +++ b/x-pack/plugins/index_management/public/application/sections/home/index_list/create_index/utils.test.ts @@ -0,0 +1,62 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { isValidIndexName } from './utils'; + +describe('create index utilities', () => { + describe('isValidIndexName', () => { + it('returns undefined for a valid name', () => { + expect(isValidIndexName('my-index')).toBe(true); + }); + it('returns error for empty name', () => { + expect(isValidIndexName('')).toBe(false); + }); + it('returns error name is not lower case', () => { + expect(isValidIndexName('MyIndexName')).toBe(false); + }); + it('returns error for .', () => { + expect(isValidIndexName('.')).toBe(false); + }); + it('returns error for ..', () => { + expect(isValidIndexName('..')).toBe(false); + }); + it('returns error if name starts with -, _,., or +', () => { + expect(isValidIndexName('-index')).toBe(false); + expect(isValidIndexName('_index')).toBe(false); + expect(isValidIndexName('+index')).toBe(false); + expect(isValidIndexName('.index')).toBe(false); + + expect(isValidIndexName('index-name')).toBe(true); + expect(isValidIndexName('index_name')).toBe(true); + expect(isValidIndexName('index+name')).toBe(true); + expect(isValidIndexName('index.name')).toBe(true); + }); + it('returns error if name contains spaces', () => { + expect(isValidIndexName('index name')).toBe(false); + }); + it('returns error if name contains special characters', () => { + expect(isValidIndexName('index/name')).toBe(false); + expect(isValidIndexName('index\\name')).toBe(false); + expect(isValidIndexName('index*name')).toBe(false); + expect(isValidIndexName('index?name')).toBe(false); + expect(isValidIndexName('index"name')).toBe(false); + expect(isValidIndexName('indexname')).toBe(false); + expect(isValidIndexName('index|name')).toBe(false); + expect(isValidIndexName('index,name')).toBe(false); + expect(isValidIndexName('index#name')).toBe(false); + expect(isValidIndexName('index:name')).toBe(false); + }); + it('returns error exceeds 255 bytes', () => { + const indexName = `this-is-a-long-index-name-with-unicode-characters🔥☕️🔥🔥-${'0'.repeat( + 200 + )}`; + + expect(isValidIndexName(indexName)).toBe(false); + }); + }); +}); diff --git a/x-pack/plugins/index_management/public/application/sections/home/index_list/create_index/utils.ts b/x-pack/plugins/index_management/public/application/sections/home/index_list/create_index/utils.ts new file mode 100644 index 000000000000..cc2661c24faa --- /dev/null +++ b/x-pack/plugins/index_management/public/application/sections/home/index_list/create_index/utils.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. + */ + +// see https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-create-index.html for the current rules + +export function isValidIndexName(name: string) { + const byteLength = encodeURI(name).split(/%(?:u[0-9A-F]{2})?[0-9A-F]{2}|./).length - 1; + const reg = new RegExp('[\\\\/:*?"<>|\\s,#]+'); + const indexPatternInvalid = + byteLength > 255 || // name can't be greater than 255 bytes + name !== name.toLowerCase() || // name should be lowercase + name.match(/^[-_+.]/) !== null || // name can't start with these chars + name.match(reg) !== null || // name can't contain these chars + name.length === 0; // name can't be empty + + return !indexPatternInvalid; +} diff --git a/x-pack/plugins/index_management/public/application/sections/home/index_list/index_table/index_table.js b/x-pack/plugins/index_management/public/application/sections/home/index_list/index_table/index_table.js index 5284de7c537c..94440da220fc 100644 --- a/x-pack/plugins/index_management/public/application/sections/home/index_list/index_table/index_table.js +++ b/x-pack/plugins/index_management/public/application/sections/home/index_list/index_table/index_table.js @@ -50,6 +50,7 @@ import { AppContextConsumer } from '../../../../app_context'; import { renderBadges } from '../../../../lib/render_badges'; import { NoMatch, DataHealth } from '../../../../components'; import { IndexActionsContextMenu } from '../index_actions_context_menu'; +import { CreateIndexButton } from '../create_index/create_index_button'; const getHeaders = ({ showIndexStats }) => { const headers = {}; @@ -623,6 +624,9 @@ export class IndexTable extends Component { )} + + + {this.renderFilterError()} diff --git a/x-pack/plugins/index_management/public/application/services/api.ts b/x-pack/plugins/index_management/public/application/services/api.ts index b209e4632bd3..0032d852e282 100644 --- a/x-pack/plugins/index_management/public/application/services/api.ts +++ b/x-pack/plugins/index_management/public/application/services/api.ts @@ -347,3 +347,13 @@ export function useLoadIndexSettings(indexName: string) { method: 'get', }); } + +export function createIndex(indexName: string) { + return sendRequest({ + path: `${INTERNAL_API_BASE_PATH}/indices/create`, + method: 'put', + body: JSON.stringify({ + indexName, + }), + }); +} diff --git a/x-pack/plugins/index_management/public/application/services/index.ts b/x-pack/plugins/index_management/public/application/services/index.ts index 979f4268dc36..058a09d3f15d 100644 --- a/x-pack/plugins/index_management/public/application/services/index.ts +++ b/x-pack/plugins/index_management/public/application/services/index.ts @@ -28,6 +28,7 @@ export { useLoadIndexMappings, loadIndexStatistics, useLoadIndexSettings, + createIndex, } from './api'; export { sortTable } from './sort_table'; diff --git a/x-pack/plugins/index_management/server/routes/api/indices/register_create_route.ts b/x-pack/plugins/index_management/server/routes/api/indices/register_create_route.ts new file mode 100644 index 000000000000..b6de9596c77b --- /dev/null +++ b/x-pack/plugins/index_management/server/routes/api/indices/register_create_route.ts @@ -0,0 +1,37 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { IndicesCreateRequest } from '@elastic/elasticsearch/lib/api/types'; +import { schema } from '@kbn/config-schema'; + +import { RouteDependencies } from '../../../types'; +import { addInternalBasePath } from '..'; + +const bodySchema = schema.object({ + indexName: schema.string(), +}); + +export function registerCreateRoute({ router, lib: { handleEsError } }: RouteDependencies) { + router.put( + { path: addInternalBasePath('/indices/create'), validate: { body: bodySchema } }, + async (context, request, response) => { + const { client } = (await context.core).elasticsearch; + const { indexName } = request.body as typeof bodySchema.type; + + const params: IndicesCreateRequest = { + index: indexName, + }; + + try { + await client.asCurrentUser.indices.create(params); + return response.ok(); + } catch (error) { + return handleEsError({ error, response }); + } + } + ); +} diff --git a/x-pack/plugins/index_management/server/routes/api/indices/register_indices_routes.ts b/x-pack/plugins/index_management/server/routes/api/indices/register_indices_routes.ts index d73c9d375aad..5e9a8fd56442 100644 --- a/x-pack/plugins/index_management/server/routes/api/indices/register_indices_routes.ts +++ b/x-pack/plugins/index_management/server/routes/api/indices/register_indices_routes.ts @@ -18,6 +18,7 @@ import { registerReloadRoute } from './register_reload_route'; import { registerDeleteRoute } from './register_delete_route'; import { registerUnfreezeRoute } from './register_unfreeze_route'; import { registerGetRoute } from './register_get_route'; +import { registerCreateRoute } from './register_create_route'; export function registerIndicesRoutes(dependencies: RouteDependencies) { registerClearCacheRoute(dependencies); @@ -31,4 +32,5 @@ export function registerIndicesRoutes(dependencies: RouteDependencies) { registerDeleteRoute(dependencies); registerUnfreezeRoute(dependencies); registerGetRoute(dependencies); + registerCreateRoute(dependencies); } diff --git a/x-pack/test/api_integration/apis/management/index_management/create_index.ts b/x-pack/test/api_integration/apis/management/index_management/create_index.ts new file mode 100644 index 000000000000..b5e0527e2a19 --- /dev/null +++ b/x-pack/test/api_integration/apis/management/index_management/create_index.ts @@ -0,0 +1,67 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ +import expect from '@kbn/expect'; +import { INTERNAL_API_BASE_PATH } from '@kbn/index-management-plugin/common'; +import { FtrProviderContext } from '../../../ftr_provider_context'; + +export default function ({ getService }: FtrProviderContext) { + const supertest = getService('supertest'); + const es = getService('es'); + const esDeleteAllIndices = getService('esDeleteAllIndices'); + + describe('create index', async () => { + const testIndices = ['my-test-index-001', 'my-test-index-002']; + before(async () => { + await esDeleteAllIndices(testIndices); + }); + after(async () => { + await esDeleteAllIndices(testIndices); + }); + + it('can create an index', async () => { + const indexName = testIndices[0]; + await supertest + .put(`${INTERNAL_API_BASE_PATH}/indices/create`) + .set('kbn-xsrf', 'xxx') + .send({ + indexName, + }) + .expect(200); + + // Make sure the index is created + const { + body: [cat1], + } = await es.cat.indices({ index: indexName, format: 'json' }, { meta: true }); + expect(cat1.status).to.be('open'); + }); + + it(`throws 400 when index already created`, async () => { + const indexName = testIndices[1]; + await supertest + .put(`${INTERNAL_API_BASE_PATH}/indices/create`) + .set('kbn-xsrf', 'xxx') + .send({ + indexName, + }) + .expect(200); + + // Make sure the index is created + const { + body: [cat1], + } = await es.cat.indices({ index: indexName, format: 'json' }, { meta: true }); + expect(cat1.status).to.be('open'); + + await supertest + .put(`${INTERNAL_API_BASE_PATH}/indices/create`) + .set('kbn-xsrf', 'xxx') + .send({ + indexName, + }) + .expect(400); + }); + }); +} diff --git a/x-pack/test_serverless/api_integration/test_suites/common/index_management/indices.ts b/x-pack/test_serverless/api_integration/test_suites/common/index_management/indices.ts index cc165c517f6c..28b88190b2f5 100644 --- a/x-pack/test_serverless/api_integration/test_suites/common/index_management/indices.ts +++ b/x-pack/test_serverless/api_integration/test_suites/common/index_management/indices.ts @@ -80,5 +80,50 @@ export default function ({ getService }: FtrProviderContext) { .expect(404); }); }); + + describe('create index', () => { + const createIndexName = 'a-test-index'; + after(async () => { + // Cleanup index created for testing purposes + try { + await es.indices.delete({ + index: createIndexName, + }); + } catch (err) { + log.debug('[Cleanup error] Error deleting "a-test-index" index'); + throw err; + } + }); + + it('can create a new index', async () => { + await supertest + .put(`${INTERNAL_API_BASE_PATH}/indices/create`) + .set('kbn-xsrf', 'xxx') + .send({ + indexName: createIndexName, + }) + .expect(200); + + const { body: index } = await supertest + .get(`${INTERNAL_API_BASE_PATH}/indices/${createIndexName}`) + .set('kbn-xsrf', 'xxx') + .set('x-elastic-internal-origin', 'xxx') + .expect(200); + + expect(index).toBeTruthy(); + + expect(Object.keys(index).sort()).toEqual(expectedKeys); + }); + + it('fails to re-create the same index', async () => { + await supertest + .put(`${INTERNAL_API_BASE_PATH}/indices/create`) + .set('kbn-xsrf', 'xxx') + .send({ + indexName: createIndexName, + }) + .expect(400); + }); + }); }); } From 6a0fa94cbb0112758ae9151cd85eea71204ac10f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20S=C3=A1nchez?= Date: Thu, 7 Sep 2023 17:35:15 +0200 Subject: [PATCH 12/57] [Security Solution][Endpoint] Adapt exception list api calls to versioned router (#165658) ## Summary - Adds version to http calls for endpoint exceptions at Lists API. - Fixes unit test. --------- Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- .../src/api/index.ts | 15 +++++++++++++++ .../src/list_api/index.ts | 10 +++++++++- .../plugins/lists/public/exceptions/api.test.ts | 17 +++++++++++++++++ .../artifacts/use_bulk_delete_artifact.test.tsx | 4 ++++ .../artifacts/use_bulk_update_artifact.test.tsx | 4 ++++ .../artifacts/use_create_artifact.test.tsx | 1 + .../artifacts/use_delete_artifact.test.tsx | 1 + .../hooks/artifacts/use_get_artifact.test.tsx | 1 + .../hooks/artifacts/use_list_artifact.test.tsx | 1 + .../artifacts/use_summary_artifact.test.tsx | 1 + .../artifacts/use_update_artifact.test.tsx | 1 + .../public/management/links.test.ts | 3 +++ .../pages/event_filters/service/api_client.ts | 2 +- .../policy_artifacts_delete_modal.test.tsx | 1 + .../flyout/policy_artifacts_flyout.test.tsx | 6 ++++++ .../list/policy_artifacts_list.test.tsx | 1 + .../exceptions_list_api_client.test.ts | 9 +++++++++ .../exceptions_list_api_client.ts | 10 +++++++++- 18 files changed, 85 insertions(+), 3 deletions(-) diff --git a/packages/kbn-securitysolution-list-api/src/api/index.ts b/packages/kbn-securitysolution-list-api/src/api/index.ts index 98b83b627995..970282080cb8 100644 --- a/packages/kbn-securitysolution-list-api/src/api/index.ts +++ b/packages/kbn-securitysolution-list-api/src/api/index.ts @@ -43,6 +43,8 @@ import { } from '@kbn/securitysolution-list-constants'; import { toError, toPromise } from '../fp_utils'; +const version = '2023-10-31'; + /** * Add new ExceptionList * @@ -62,6 +64,7 @@ const addExceptionList = async ({ body: JSON.stringify(list), method: 'POST', signal, + version, }); const addExceptionListWithValidation = async ({ @@ -105,6 +108,7 @@ const addExceptionListItem = async ({ body: JSON.stringify(listItem), method: 'POST', signal, + version, }); const addExceptionListItemWithValidation = async ({ @@ -148,6 +152,7 @@ const updateExceptionList = async ({ body: JSON.stringify(list), method: 'PUT', signal, + version, }); const updateExceptionListWithValidation = async ({ @@ -191,6 +196,7 @@ const updateExceptionListItem = async ({ body: JSON.stringify(listItem), method: 'PUT', signal, + version, }); const updateExceptionListItemWithValidation = async ({ @@ -247,6 +253,7 @@ const fetchExceptionLists = async ({ method: 'GET', query, signal, + version, }); }; @@ -298,6 +305,7 @@ const fetchExceptionListById = async ({ method: 'GET', query: { id, namespace_type: namespaceType }, signal, + version, }); const fetchExceptionListByIdWithValidation = async ({ @@ -361,6 +369,7 @@ const fetchExceptionListsItemsByListIds = async ({ method: 'GET', query, signal, + version, }); }; @@ -414,6 +423,7 @@ const fetchExceptionListItemById = async ({ method: 'GET', query: { id, namespace_type: namespaceType }, signal, + version, }); const fetchExceptionListItemByIdWithValidation = async ({ @@ -450,6 +460,7 @@ const deleteExceptionListById = async ({ method: 'DELETE', query: { id, namespace_type: namespaceType }, signal, + version, }); const deleteExceptionListByIdWithValidation = async ({ @@ -486,6 +497,7 @@ const deleteExceptionListItemById = async ({ method: 'DELETE', query: { id, namespace_type: namespaceType }, signal, + version, }); const deleteExceptionListItemByIdWithValidation = async ({ @@ -518,6 +530,7 @@ const addEndpointExceptionList = async ({ http.fetch(ENDPOINT_LIST_URL, { method: 'POST', signal, + version, }); const addEndpointExceptionListWithValidation = async ({ @@ -561,6 +574,7 @@ export const exportExceptionList = async ({ include_expired_exceptions: includeExpiredExceptions, }, signal, + version, }); /** @@ -647,4 +661,5 @@ export const duplicateExceptionList = async ({ include_expired_exceptions: includeExpiredExceptions, }, signal, + version, }); diff --git a/packages/kbn-securitysolution-list-api/src/list_api/index.ts b/packages/kbn-securitysolution-list-api/src/list_api/index.ts index 5c280c795976..59303b9e8aba 100644 --- a/packages/kbn-securitysolution-list-api/src/list_api/index.ts +++ b/packages/kbn-securitysolution-list-api/src/list_api/index.ts @@ -57,6 +57,8 @@ export type { ImportListParams, } from './types'; +const version = '2023-10-31'; + const findLists = async ({ http, cursor, @@ -79,6 +81,7 @@ const findLists = async ({ sort_order, }, signal, + version, }); }; @@ -167,6 +170,7 @@ const importList = async ({ method: 'POST', query: { list_id, type }, signal, + version, }); }; @@ -207,6 +211,7 @@ const deleteList = async ({ method: 'DELETE', query: { deleteReferences, id, ignoreReferences }, signal, + version, }); const deleteListWithValidation = async ({ @@ -236,6 +241,7 @@ const exportList = async ({ method: 'POST', query: { list_id }, signal, + version, }); const exportListWithValidation = async ({ @@ -256,6 +262,7 @@ const readListIndex = async ({ http, signal }: ApiParams): Promise(LIST_INDEX, { method: 'GET', signal, + version, }); const readListIndexWithValidation = async ({ @@ -273,15 +280,16 @@ export { readListIndexWithValidation as readListIndex }; // TODO add types and validation export const readListPrivileges = async ({ http, signal }: ApiParams): Promise => http.fetch(LIST_PRIVILEGES_URL, { - version: '2023-10-31', method: 'GET', signal, + version, }); const createListIndex = async ({ http, signal }: ApiParams): Promise => http.fetch(LIST_INDEX, { method: 'POST', signal, + version, }); const createListIndexWithValidation = async ({ diff --git a/x-pack/plugins/lists/public/exceptions/api.test.ts b/x-pack/plugins/lists/public/exceptions/api.test.ts index 318bbde58688..e2bebf2aa0af 100644 --- a/x-pack/plugins/lists/public/exceptions/api.test.ts +++ b/x-pack/plugins/lists/public/exceptions/api.test.ts @@ -35,6 +35,7 @@ import { getFoundExceptionListSchemaMock } from '../../common/schemas/response/f // TODO: This really belongs as: kbn-securitysolution-list-api/src/api/index.test.ts as soon as we can. const abortCtrl = new AbortController(); +const apiVersion = '2023-10-31'; describe('Exceptions Lists API', () => { let httpMock: ReturnType['http']; @@ -61,6 +62,7 @@ describe('Exceptions Lists API', () => { body: JSON.stringify(payload), method: 'POST', signal: abortCtrl.signal, + version: apiVersion, }); }); @@ -109,6 +111,7 @@ describe('Exceptions Lists API', () => { body: JSON.stringify(payload), method: 'POST', signal: abortCtrl.signal, + version: apiVersion, }); }); @@ -157,6 +160,7 @@ describe('Exceptions Lists API', () => { body: JSON.stringify(payload), method: 'PUT', signal: abortCtrl.signal, + version: apiVersion, }); }); @@ -205,6 +209,7 @@ describe('Exceptions Lists API', () => { body: JSON.stringify(payload), method: 'PUT', signal: abortCtrl.signal, + version: apiVersion, }); }); @@ -262,6 +267,7 @@ describe('Exceptions Lists API', () => { sort_order: 'desc', }, signal: abortCtrl.signal, + version: apiVersion, }); }); @@ -300,6 +306,7 @@ describe('Exceptions Lists API', () => { sort_order: 'desc', }, signal: abortCtrl.signal, + version: apiVersion, }); expect(exceptionResponse.data).toEqual([getExceptionListSchemaMock()]); }); @@ -344,6 +351,7 @@ describe('Exceptions Lists API', () => { namespace_type: 'single', }, signal: abortCtrl.signal, + version: apiVersion, }); }); @@ -402,6 +410,7 @@ describe('Exceptions Lists API', () => { sort_order: 'desc', }, signal: abortCtrl.signal, + version: apiVersion, }); }); @@ -430,6 +439,7 @@ describe('Exceptions Lists API', () => { sort_order: 'desc', }, signal: abortCtrl.signal, + version: apiVersion, }); }); @@ -458,6 +468,7 @@ describe('Exceptions Lists API', () => { sort_order: 'desc', }, signal: abortCtrl.signal, + version: apiVersion, }); }); @@ -519,6 +530,7 @@ describe('Exceptions Lists API', () => { namespace_type: 'single', }, signal: abortCtrl.signal, + version: apiVersion, }); }); @@ -568,6 +580,7 @@ describe('Exceptions Lists API', () => { namespace_type: 'single', }, signal: abortCtrl.signal, + version: apiVersion, }); }); @@ -617,6 +630,7 @@ describe('Exceptions Lists API', () => { namespace_type: 'single', }, signal: abortCtrl.signal, + version: apiVersion, }); }); @@ -660,6 +674,7 @@ describe('Exceptions Lists API', () => { expect(httpMock.fetch).toHaveBeenCalledWith('/api/endpoint_list', { method: 'POST', signal: abortCtrl.signal, + version: apiVersion, }); }); @@ -714,6 +729,7 @@ describe('Exceptions Lists API', () => { namespace_type: 'single', }, signal: abortCtrl.signal, + version: apiVersion, }); }); @@ -752,6 +768,7 @@ describe('Exceptions Lists API', () => { namespace_type: 'single', }, signal: abortCtrl.signal, + version: apiVersion, }); }); }); diff --git a/x-pack/plugins/security_solution/public/management/hooks/artifacts/use_bulk_delete_artifact.test.tsx b/x-pack/plugins/security_solution/public/management/hooks/artifacts/use_bulk_delete_artifact.test.tsx index b4f4e3ffc67d..403731566ef3 100644 --- a/x-pack/plugins/security_solution/public/management/hooks/artifacts/use_bulk_delete_artifact.test.tsx +++ b/x-pack/plugins/security_solution/public/management/hooks/artifacts/use_bulk_delete_artifact.test.tsx @@ -17,6 +17,8 @@ import { import { getExceptionListItemSchemaMock } from '@kbn/lists-plugin/common/schemas/response/exception_list_item_schema.mock'; import { act } from '@testing-library/react-hooks'; +const apiVersion = '2023-10-31'; + describe('Bulk delete artifact hook', () => { let result: ReturnType; @@ -56,6 +58,7 @@ describe('Bulk delete artifact hook', () => { expect(onSuccessMock).toHaveBeenCalledTimes(1); expect(fakeHttpServices.delete).toHaveBeenCalledTimes(2); expect(fakeHttpServices.delete).toHaveBeenNthCalledWith(1, '/api/exception_lists/items', { + version: apiVersion, query: { id: 'fakeId-1', item_id: undefined, @@ -63,6 +66,7 @@ describe('Bulk delete artifact hook', () => { }, }); expect(fakeHttpServices.delete).toHaveBeenNthCalledWith(2, '/api/exception_lists/items', { + version: apiVersion, query: { id: undefined, item_id: 'fakeId-2', diff --git a/x-pack/plugins/security_solution/public/management/hooks/artifacts/use_bulk_update_artifact.test.tsx b/x-pack/plugins/security_solution/public/management/hooks/artifacts/use_bulk_update_artifact.test.tsx index 57a1f77243b5..5db9734c61f9 100644 --- a/x-pack/plugins/security_solution/public/management/hooks/artifacts/use_bulk_update_artifact.test.tsx +++ b/x-pack/plugins/security_solution/public/management/hooks/artifacts/use_bulk_update_artifact.test.tsx @@ -17,6 +17,8 @@ import { import { getExceptionListItemSchemaMock } from '@kbn/lists-plugin/common/schemas/response/exception_list_item_schema.mock'; import { act } from '@testing-library/react-hooks'; +const apiVersion = '2023-10-31'; + describe('Bulk update artifact hook', () => { let result: ReturnType; @@ -57,9 +59,11 @@ describe('Bulk update artifact hook', () => { expect(fakeHttpServices.put).toHaveBeenCalledTimes(2); expect(fakeHttpServices.put).toHaveBeenNthCalledWith(1, '/api/exception_lists/items', { body: JSON.stringify(ExceptionsListApiClient.cleanExceptionsBeforeUpdate(exceptionItem1)), + version: apiVersion, }); expect(fakeHttpServices.put).toHaveBeenNthCalledWith(2, '/api/exception_lists/items', { body: JSON.stringify(ExceptionsListApiClient.cleanExceptionsBeforeUpdate(exceptionItem2)), + version: apiVersion, }); }); }); diff --git a/x-pack/plugins/security_solution/public/management/hooks/artifacts/use_create_artifact.test.tsx b/x-pack/plugins/security_solution/public/management/hooks/artifacts/use_create_artifact.test.tsx index a40ad85dff53..853ea0df96a3 100644 --- a/x-pack/plugins/security_solution/public/management/hooks/artifacts/use_create_artifact.test.tsx +++ b/x-pack/plugins/security_solution/public/management/hooks/artifacts/use_create_artifact.test.tsx @@ -54,6 +54,7 @@ describe('Create artifact hook', () => { expect(onSuccessMock).toHaveBeenCalledTimes(1); expect(fakeHttpServices.post).toHaveBeenCalledTimes(1); expect(fakeHttpServices.post).toHaveBeenCalledWith('/api/exception_lists/items', { + version: '2023-10-31', body: JSON.stringify(exceptionItem), }); }); diff --git a/x-pack/plugins/security_solution/public/management/hooks/artifacts/use_delete_artifact.test.tsx b/x-pack/plugins/security_solution/public/management/hooks/artifacts/use_delete_artifact.test.tsx index f717546be7ea..9473a50fa8a3 100644 --- a/x-pack/plugins/security_solution/public/management/hooks/artifacts/use_delete_artifact.test.tsx +++ b/x-pack/plugins/security_solution/public/management/hooks/artifacts/use_delete_artifact.test.tsx @@ -54,6 +54,7 @@ describe('Delete artifact hook', () => { expect(onSuccessMock).toHaveBeenCalledTimes(1); expect(fakeHttpServices.delete).toHaveBeenCalledTimes(1); expect(fakeHttpServices.delete).toHaveBeenCalledWith('/api/exception_lists/items', { + version: '2023-10-31', query: { id: 'fakeId', namespace_type: 'agnostic', diff --git a/x-pack/plugins/security_solution/public/management/hooks/artifacts/use_get_artifact.test.tsx b/x-pack/plugins/security_solution/public/management/hooks/artifacts/use_get_artifact.test.tsx index dc444e75816c..86acf7944b25 100644 --- a/x-pack/plugins/security_solution/public/management/hooks/artifacts/use_get_artifact.test.tsx +++ b/x-pack/plugins/security_solution/public/management/hooks/artifacts/use_get_artifact.test.tsx @@ -49,6 +49,7 @@ describe('Get artifact hook', () => { expect(result.data).toBe(apiResponse); expect(fakeHttpServices.get).toHaveBeenCalledTimes(1); expect(fakeHttpServices.get).toHaveBeenCalledWith('/api/exception_lists/items', { + version: '2023-10-31', query: { item_id: 'fakeId', namespace_type: 'agnostic', diff --git a/x-pack/plugins/security_solution/public/management/hooks/artifacts/use_list_artifact.test.tsx b/x-pack/plugins/security_solution/public/management/hooks/artifacts/use_list_artifact.test.tsx index d7d68e82c9d3..8f6e5c435320 100644 --- a/x-pack/plugins/security_solution/public/management/hooks/artifacts/use_list_artifact.test.tsx +++ b/x-pack/plugins/security_solution/public/management/hooks/artifacts/use_list_artifact.test.tsx @@ -68,6 +68,7 @@ describe('List artifact hook', () => { expect(result.data).toBe(apiResponse); expect(fakeHttpServices.get).toHaveBeenCalledTimes(1); expect(fakeHttpServices.get).toHaveBeenCalledWith('/api/exception_lists/items/_find', { + version: '2023-10-31', query: { filter: '((exception-list-agnostic.attributes.tags:"policy:policy-1" OR exception-list-agnostic.attributes.tags:"policy:all")) AND ((exception-list-agnostic.attributes.field-1:(*test*) OR exception-list-agnostic.attributes.field-1.field-2:(*test*) OR exception-list-agnostic.attributes.field-2:(*test*)))', diff --git a/x-pack/plugins/security_solution/public/management/hooks/artifacts/use_summary_artifact.test.tsx b/x-pack/plugins/security_solution/public/management/hooks/artifacts/use_summary_artifact.test.tsx index f0e8abd533fc..310e4d0e1830 100644 --- a/x-pack/plugins/security_solution/public/management/hooks/artifacts/use_summary_artifact.test.tsx +++ b/x-pack/plugins/security_solution/public/management/hooks/artifacts/use_summary_artifact.test.tsx @@ -62,6 +62,7 @@ describe('Summary artifact hook', () => { expect(result.data).toBe(apiResponse); expect(fakeHttpServices.get).toHaveBeenCalledTimes(1); expect(fakeHttpServices.get).toHaveBeenCalledWith('/api/exception_lists/summary', { + version: '2023-10-31', query: { filter: '((exception-list-agnostic.attributes.tags:"policy:policy-1" OR exception-list-agnostic.attributes.tags:"policy:all")) AND ((exception-list-agnostic.attributes.field-1:(*test*) OR exception-list-agnostic.attributes.field-1.field-2:(*test*) OR exception-list-agnostic.attributes.field-2:(*test*)))', diff --git a/x-pack/plugins/security_solution/public/management/hooks/artifacts/use_update_artifact.test.tsx b/x-pack/plugins/security_solution/public/management/hooks/artifacts/use_update_artifact.test.tsx index 8a718ec6a292..14607a33f209 100644 --- a/x-pack/plugins/security_solution/public/management/hooks/artifacts/use_update_artifact.test.tsx +++ b/x-pack/plugins/security_solution/public/management/hooks/artifacts/use_update_artifact.test.tsx @@ -54,6 +54,7 @@ describe('Update artifact hook', () => { expect(onSuccessMock).toHaveBeenCalledTimes(1); expect(fakeHttpServices.put).toHaveBeenCalledTimes(1); expect(fakeHttpServices.put).toHaveBeenCalledWith('/api/exception_lists/items', { + version: '2023-10-31', body: JSON.stringify(ExceptionsListApiClient.cleanExceptionsBeforeUpdate(exceptionItem)), }); }); diff --git a/x-pack/plugins/security_solution/public/management/links.test.ts b/x-pack/plugins/security_solution/public/management/links.test.ts index 28d3c727ce2a..6a8c5525b8d5 100644 --- a/x-pack/plugins/security_solution/public/management/links.test.ts +++ b/x-pack/plugins/security_solution/public/management/links.test.ts @@ -115,6 +115,7 @@ describe('links', () => { }); describe('Host Isolation Exception', () => { + const apiVersion = '2023-10-31'; it('should return HIE if user has access permission (licensed)', async () => { (calculateEndpointAuthz as jest.Mock).mockReturnValue( getEndpointAuthzInitialStateMock({ canAccessHostIsolationExceptions: true }) @@ -154,6 +155,7 @@ describe('links', () => { expect(filteredLinks).toEqual(getLinksWithout(SecurityPageName.hostIsolationExceptions)); expect(fakeHttpServices.get).toHaveBeenCalledWith('/api/exception_lists/items/_find', { + version: apiVersion, query: expect.objectContaining({ list_id: [ENDPOINT_ARTIFACT_LISTS.hostIsolationExceptions.id], }), @@ -174,6 +176,7 @@ describe('links', () => { expect(filteredLinks).toEqual(links); expect(fakeHttpServices.get).toHaveBeenCalledWith('/api/exception_lists/items/_find', { + version: apiVersion, query: expect.objectContaining({ list_id: [ENDPOINT_ARTIFACT_LISTS.hostIsolationExceptions.id], }), diff --git a/x-pack/plugins/security_solution/public/management/pages/event_filters/service/api_client.ts b/x-pack/plugins/security_solution/public/management/pages/event_filters/service/api_client.ts index 7fd2718b45c1..a69e54bf7776 100644 --- a/x-pack/plugins/security_solution/public/management/pages/event_filters/service/api_client.ts +++ b/x-pack/plugins/security_solution/public/management/pages/event_filters/service/api_client.ts @@ -57,7 +57,7 @@ export class EventFiltersApiClient extends ExceptionsListApiClient { const result: string[] = await this.getHttp().post( resolvePathVariables(SUGGESTIONS_ROUTE, { suggestion_type: 'eventFilters' }), { - version: '2023-10-31', + version: this.version, body: JSON.stringify(body), } ); diff --git a/x-pack/plugins/security_solution/public/management/pages/policy/view/artifacts/delete_modal/policy_artifacts_delete_modal.test.tsx b/x-pack/plugins/security_solution/public/management/pages/policy/view/artifacts/delete_modal/policy_artifacts_delete_modal.test.tsx index 034c723c1111..c3930506bb08 100644 --- a/x-pack/plugins/security_solution/public/management/pages/policy/view/artifacts/delete_modal/policy_artifacts_delete_modal.test.tsx +++ b/x-pack/plugins/security_solution/public/management/pages/policy/view/artifacts/delete_modal/policy_artifacts_delete_modal.test.tsx @@ -110,6 +110,7 @@ describe.each(listType)('Policy details %s artifact delete modal', (type) => { }) ), path: '/api/exception_lists/items', + version: '2023-10-31', }); }); }); diff --git a/x-pack/plugins/security_solution/public/management/pages/policy/view/artifacts/flyout/policy_artifacts_flyout.test.tsx b/x-pack/plugins/security_solution/public/management/pages/policy/view/artifacts/flyout/policy_artifacts_flyout.test.tsx index c93776ef0aba..48d133cd41f2 100644 --- a/x-pack/plugins/security_solution/public/management/pages/policy/view/artifacts/flyout/policy_artifacts_flyout.test.tsx +++ b/x-pack/plugins/security_solution/public/management/pages/policy/view/artifacts/flyout/policy_artifacts_flyout.test.tsx @@ -28,8 +28,11 @@ import { cleanEventFilterToUpdate } from '../../../../event_filters/service/serv import { EventFiltersApiClient } from '../../../../event_filters/service/api_client'; import { POLICY_ARTIFACT_FLYOUT_LABELS } from './translations'; +const apiVersion = '2023-10-31'; + const getDefaultQueryParameters = (customFilter: string | undefined = '') => ({ path: '/api/exception_lists/items/_find', + version: apiVersion, query: { filter: customFilter, list_id: ['endpoint_event_filters'], @@ -217,6 +220,7 @@ describe('Policy details artifacts flyout', () => { // verify the request with the new tag await waitFor(() => { expect(mockedApi.responseProvider.eventFiltersUpdateOne).toHaveBeenCalledWith({ + version: apiVersion, body: JSON.stringify( getCleanedExceptionWithNewTags(exceptions.data[0], testTags, policy) ), @@ -244,6 +248,7 @@ describe('Policy details artifacts flyout', () => { await waitFor(() => { // first exception expect(mockedApi.responseProvider.eventFiltersUpdateOne).toHaveBeenCalledWith({ + version: apiVersion, body: JSON.stringify( getCleanedExceptionWithNewTags(exceptions.data[0], testTags, policy) ), @@ -251,6 +256,7 @@ describe('Policy details artifacts flyout', () => { }); // second exception expect(mockedApi.responseProvider.eventFiltersUpdateOne).toHaveBeenCalledWith({ + version: apiVersion, body: JSON.stringify( getCleanedExceptionWithNewTags(exceptions.data[0], testTags, policy) ), diff --git a/x-pack/plugins/security_solution/public/management/pages/policy/view/artifacts/list/policy_artifacts_list.test.tsx b/x-pack/plugins/security_solution/public/management/pages/policy/view/artifacts/list/policy_artifacts_list.test.tsx index 2d5e74439f0f..1ad26fd171c2 100644 --- a/x-pack/plugins/security_solution/public/management/pages/policy/view/artifacts/list/policy_artifacts_list.test.tsx +++ b/x-pack/plugins/security_solution/public/management/pages/policy/view/artifacts/list/policy_artifacts_list.test.tsx @@ -25,6 +25,7 @@ import { EventFiltersApiClient } from '../../../../event_filters/service/api_cli const endpointGenerator = new EndpointDocGenerator('seed'); const getDefaultQueryParameters = (customFilter: string | undefined = '') => ({ path: '/api/exception_lists/items/_find', + version: '2023-10-31', query: { filter: customFilter, list_id: ['endpoint_event_filters'], diff --git a/x-pack/plugins/security_solution/public/management/services/exceptions_list/exceptions_list_api_client.test.ts b/x-pack/plugins/security_solution/public/management/services/exceptions_list/exceptions_list_api_client.test.ts index 4439ac771fda..213b8da54dcd 100644 --- a/x-pack/plugins/security_solution/public/management/services/exceptions_list/exceptions_list_api_client.test.ts +++ b/x-pack/plugins/security_solution/public/management/services/exceptions_list/exceptions_list_api_client.test.ts @@ -32,6 +32,8 @@ const getQueryParams = () => ({ sortOrder: 'asc', }); +const apiVersion = '2023-10-31'; + describe('Exceptions List Api Client', () => { let fakeCoreStart: jest.Mocked; let fakeHttpServices: jest.Mocked; @@ -136,6 +138,7 @@ describe('Exceptions List Api Client', () => { expect(fakeHttpServices.get).toHaveBeenCalledTimes(1); const expectedQueryParams = getQueryParams(); expect(fakeHttpServices.get).toHaveBeenCalledWith(`${EXCEPTION_LIST_ITEM_URL}/_find`, { + version: apiVersion, query: { page: expectedQueryParams.page, per_page: expectedQueryParams.perPage, @@ -156,6 +159,7 @@ describe('Exceptions List Api Client', () => { expect(fakeHttpServices.get).toHaveBeenCalledTimes(1); expect(fakeHttpServices.get).toHaveBeenCalledWith(EXCEPTION_LIST_ITEM_URL, { + version: apiVersion, query: { item_id: fakeItemId, id: undefined, @@ -175,6 +179,7 @@ describe('Exceptions List Api Client', () => { expect(fakeHttpServices.post).toHaveBeenCalledTimes(1); expect(fakeHttpServices.post).toHaveBeenCalledWith(EXCEPTION_LIST_ITEM_URL, { + version: apiVersion, body: JSON.stringify(exceptionItem), }); }); @@ -202,6 +207,7 @@ describe('Exceptions List Api Client', () => { expect(fakeHttpServices.put).toHaveBeenCalledTimes(1); expect(fakeHttpServices.put).toHaveBeenCalledWith(EXCEPTION_LIST_ITEM_URL, { + version: apiVersion, body: JSON.stringify(ExceptionsListApiClient.cleanExceptionsBeforeUpdate(exceptionItem)), }); }); @@ -214,6 +220,7 @@ describe('Exceptions List Api Client', () => { expect(fakeHttpServices.delete).toHaveBeenCalledTimes(1); expect(fakeHttpServices.delete).toHaveBeenCalledWith(EXCEPTION_LIST_ITEM_URL, { + version: apiVersion, query: { item_id: fakeItemId, id: undefined, @@ -230,6 +237,7 @@ describe('Exceptions List Api Client', () => { expect(fakeHttpServices.get).toHaveBeenCalledTimes(1); expect(fakeHttpServices.get).toHaveBeenCalledWith(`${EXCEPTION_LIST_URL}/summary`, { + version: apiVersion, query: { filter: fakeQklFilter, list_id: getFakeListId(), @@ -248,6 +256,7 @@ describe('Exceptions List Api Client', () => { await expect(exceptionsListApiClientInstance.hasData()).resolves.toBe(true); expect(fakeHttpServices.get).toHaveBeenCalledWith(`${EXCEPTION_LIST_ITEM_URL}/_find`, { + version: apiVersion, query: expect.objectContaining({ page: 1, per_page: 1, diff --git a/x-pack/plugins/security_solution/public/management/services/exceptions_list/exceptions_list_api_client.ts b/x-pack/plugins/security_solution/public/management/services/exceptions_list/exceptions_list_api_client.ts index 4576fa74e538..8716f4bee93a 100644 --- a/x-pack/plugins/security_solution/public/management/services/exceptions_list/exceptions_list_api_client.ts +++ b/x-pack/plugins/security_solution/public/management/services/exceptions_list/exceptions_list_api_client.ts @@ -43,9 +43,11 @@ export class ExceptionsListApiClient { T extends CreateExceptionListItemSchema | UpdateExceptionListItemSchema >( item: T - ) => T + ) => T, + public readonly version?: string ) { this.ensureListExists = this.createExceptionList(); + this.version = version ?? '2023-10-31'; } /** @@ -184,6 +186,7 @@ export class ExceptionsListApiClient { const result = await this.http.get( `${EXCEPTION_LIST_ITEM_URL}/_find`, { + version: this.version, query: { page, per_page: perPage, @@ -214,6 +217,7 @@ export class ExceptionsListApiClient { await this.ensureListExists; let result = await this.http.get(EXCEPTION_LIST_ITEM_URL, { + version: this.version, query: { id, item_id: itemId, @@ -243,6 +247,7 @@ export class ExceptionsListApiClient { } return this.http.post(EXCEPTION_LIST_ITEM_URL, { + version: this.version, body: JSON.stringify(transformedException), }); } @@ -260,6 +265,7 @@ export class ExceptionsListApiClient { } return this.http.put(EXCEPTION_LIST_ITEM_URL, { + version: this.version, body: JSON.stringify( ExceptionsListApiClient.cleanExceptionsBeforeUpdate(transformedException) ), @@ -277,6 +283,7 @@ export class ExceptionsListApiClient { await this.ensureListExists; return this.http.delete(EXCEPTION_LIST_ITEM_URL, { + version: this.version, query: { id, item_id: itemId, @@ -292,6 +299,7 @@ export class ExceptionsListApiClient { async summary(filter?: string): Promise { await this.ensureListExists; return this.http.get(`${EXCEPTION_LIST_URL}/summary`, { + version: this.version, query: { filter, list_id: this.listId, From a1050098d440fb42cac1dfac9db207b081cc9b8f Mon Sep 17 00:00:00 2001 From: Achyut Jhunjhunwala Date: Thu, 7 Sep 2023 17:37:55 +0200 Subject: [PATCH 13/57] Migrate Ace based EuiCodeEditor to Monaco based Code Editor (#165951) ## Summary Closes https://github.com/elastic/kibana/issues/155841 ## Demo https://github.com/elastic/kibana/assets/7416358/9ad48ca9-2b5e-4f2a-ae20-a0c2c433dad6 ## DownSides - [KNOWN] Syntax Highlighting is gone - [KNOWN] Autocomplete is gone - [KNOWN] There is and was not a way to clear the query bar when in EQL mode. It throws error saying Empty Query cannot be fired --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> --- x-pack/plugins/apm/kibana.jsonc | 1 - .../components/app/trace_explorer/index.tsx | 4 +- .../trace_explorer/trace_search_box/index.tsx | 90 ++++--------------- .../components/shared/date_picker/index.tsx | 1 + .../shared/monaco_code_editor/index.tsx | 57 ++++++++++++ x-pack/plugins/apm/tsconfig.json | 3 +- 6 files changed, 81 insertions(+), 75 deletions(-) create mode 100644 x-pack/plugins/apm/public/components/shared/monaco_code_editor/index.tsx diff --git a/x-pack/plugins/apm/kibana.jsonc b/x-pack/plugins/apm/kibana.jsonc index ed7f8fca0a24..906596709b18 100644 --- a/x-pack/plugins/apm/kibana.jsonc +++ b/x-pack/plugins/apm/kibana.jsonc @@ -58,7 +58,6 @@ "kibanaUtils", "ml", "observability", - "esUiShared", "maps", "observabilityAIAssistant" ] diff --git a/x-pack/plugins/apm/public/components/app/trace_explorer/index.tsx b/x-pack/plugins/apm/public/components/app/trace_explorer/index.tsx index 74b38ea15355..0c072f6fba12 100644 --- a/x-pack/plugins/apm/public/components/app/trace_explorer/index.tsx +++ b/x-pack/plugins/apm/public/components/app/trace_explorer/index.tsx @@ -78,7 +78,7 @@ export function TraceExplorer({ children }: { children: React.ReactElement }) { - + - + diff --git a/x-pack/plugins/apm/public/components/app/trace_explorer/trace_search_box/index.tsx b/x-pack/plugins/apm/public/components/app/trace_explorer/trace_search_box/index.tsx index 84d72000c7b8..6c83b02456b1 100644 --- a/x-pack/plugins/apm/public/components/app/trace_explorer/trace_search_box/index.tsx +++ b/x-pack/plugins/apm/public/components/app/trace_explorer/trace_search_box/index.tsx @@ -9,7 +9,6 @@ import { EuiButton, EuiFlexGroup, EuiFlexItem, - EuiText, EuiSelect, EuiSelectOption, } from '@elastic/eui'; @@ -23,12 +22,11 @@ import { } from '../../../../../common/trace_explorer'; import { useApmDataView } from '../../../../hooks/use_apm_data_view'; import { useApmPluginContext } from '../../../../context/apm_plugin/use_apm_plugin_context'; -import { EQLCodeEditorSuggestionType } from '../../../shared/eql_code_editor/constants'; -import { LazilyLoadedEQLCodeEditor } from '../../../shared/eql_code_editor/lazily_loaded_code_editor'; + +import { EQLCodeEditor } from '../../../shared/monaco_code_editor'; interface Props { query: TraceSearchQuery; - message?: string; error: boolean; onQueryChange: (query: TraceSearchQuery) => void; onQueryCommit: () => void; @@ -54,8 +52,6 @@ export function TraceSearchBox({ query, onQueryChange, onQueryCommit, - message, - error, loading, }: Props) { const { unifiedSearch, core, data, dataViews } = useApmPluginContext(); @@ -67,57 +63,21 @@ export function TraceSearchBox({ const { dataView } = useApmDataView(); return ( - + {query.type === TraceSearchType.eql ? ( - { + onChange={(value: string) => { onQueryChange({ ...query, query: value, }); }} - onBlur={() => { - onQueryCommit(); - }} - getSuggestions={async (request) => { - switch (request.type) { - case EQLCodeEditorSuggestionType.EventType: - return ['transaction', 'span', 'error']; - - case EQLCodeEditorSuggestionType.Field: - return ( - dataView?.fields.map((field) => field.name) ?? [] - ); - - case EQLCodeEditorSuggestionType.Value: - const field = dataView?.getFieldByName(request.field); - - if (!dataView || !field) { - return []; - } - - const suggestions: string[] = - await unifiedSearch.autocomplete.getValueSuggestions( - { - field, - indexPattern: dataView, - query: request.value, - useTimeRange: true, - method: 'terms_agg', - } - ); - - return suggestions.slice(0, 15); - } - }} - width="100%" - height="100px" /> ) : (
@@ -176,33 +136,21 @@ export function TraceSearchBox({ - - + { + onQueryCommit(); + }} + iconType="search" + style={{ width: '100px' }} > - - - {message} - - - - { - onQueryCommit(); - }} - iconType="search" - > - {i18n.translate('xpack.apm.traceSearchBox.refreshButton', { - defaultMessage: 'Search', - })} - - - + {i18n.translate('xpack.apm.traceSearchBox.refreshButton', { + defaultMessage: 'Search', + })} + diff --git a/x-pack/plugins/apm/public/components/shared/date_picker/index.tsx b/x-pack/plugins/apm/public/components/shared/date_picker/index.tsx index 2bcc1c403ec8..4206a4f01447 100644 --- a/x-pack/plugins/apm/public/components/shared/date_picker/index.tsx +++ b/x-pack/plugins/apm/public/components/shared/date_picker/index.tsx @@ -105,6 +105,7 @@ export function DatePicker({ }} showUpdateButton={true} commonlyUsedRanges={commonlyUsedRanges} + width={'auto'} /> ); } diff --git a/x-pack/plugins/apm/public/components/shared/monaco_code_editor/index.tsx b/x-pack/plugins/apm/public/components/shared/monaco_code_editor/index.tsx new file mode 100644 index 000000000000..ce6beaec758a --- /dev/null +++ b/x-pack/plugins/apm/public/components/shared/monaco_code_editor/index.tsx @@ -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 React from 'react'; +import { CodeEditor } from '@kbn/kibana-react-plugin/public'; +import { monaco } from '@kbn/monaco'; + +interface Props { + value: string; + onChange: (val: string) => void; +} + +export function EQLCodeEditor({ value, onChange }: Props) { + return ( + + ); +} diff --git a/x-pack/plugins/apm/tsconfig.json b/x-pack/plugins/apm/tsconfig.json index 1b06fa44a8dd..a9b8c332426c 100644 --- a/x-pack/plugins/apm/tsconfig.json +++ b/x-pack/plugins/apm/tsconfig.json @@ -96,7 +96,8 @@ "@kbn/unified-field-list", "@kbn/discover-plugin", "@kbn/observability-ai-assistant-plugin", - "@kbn/apm-data-access-plugin" + "@kbn/apm-data-access-plugin", + "@kbn/monaco" ], "exclude": ["target/**/*"] } From 4710d8c561167f6d08c53b7bf6fae2472f381376 Mon Sep 17 00:00:00 2001 From: Dzmitry Lemechko Date: Thu, 7 Sep 2023 17:51:56 +0200 Subject: [PATCH 14/57] [kbn/es] adding waitForClusterReady to check cluster status (#165605) ## Summary Moving `waitForClusterReady` to separate function that can be used both in `docker.ts` for serverless and cluster.ts (after its converstion to typescript) for stateful --------- Co-authored-by: Tiago Costa --- packages/kbn-es/src/utils/docker.test.ts | 15 +++-- packages/kbn-es/src/utils/docker.ts | 23 +------ .../src/utils/wait_until_cluster_ready.ts | 63 +++++++++++++++++++ 3 files changed, 75 insertions(+), 26 deletions(-) create mode 100644 packages/kbn-es/src/utils/wait_until_cluster_ready.ts diff --git a/packages/kbn-es/src/utils/docker.test.ts b/packages/kbn-es/src/utils/docker.test.ts index 35696e1f91af..905f51e2d67c 100644 --- a/packages/kbn-es/src/utils/docker.test.ts +++ b/packages/kbn-es/src/utils/docker.test.ts @@ -476,15 +476,18 @@ describe('runServerlessCluster()', () => { [baseEsPath]: {}, }); execa.mockImplementation(() => Promise.resolve({ stdout: '' })); - const info = jest.fn(); - jest.requireMock('@elastic/elasticsearch').Client.mockImplementation(() => ({ info })); + const health = jest.fn(); + jest + .requireMock('@elastic/elasticsearch') + .Client.mockImplementation(() => ({ cluster: { health } })); - info.mockImplementationOnce(() => Promise.reject()); // first call fails - info.mockImplementationOnce(() => Promise.resolve()); // then succeeds + health.mockImplementationOnce(() => Promise.reject()); // first call fails + health.mockImplementationOnce(() => Promise.resolve({ status: 'red' })); // second call return wrong status + health.mockImplementationOnce(() => Promise.resolve({ status: 'green' })); // then succeeds await runServerlessCluster(log, { basePath: baseEsPath, waitForReady: true }); - expect(info).toHaveBeenCalledTimes(2); - }); + expect(health).toHaveBeenCalledTimes(3); + }, 10000); }); }); diff --git a/packages/kbn-es/src/utils/docker.ts b/packages/kbn-es/src/utils/docker.ts index 7734cddc3c61..085854e4ecb4 100644 --- a/packages/kbn-es/src/utils/docker.ts +++ b/packages/kbn-es/src/utils/docker.ts @@ -35,6 +35,7 @@ import { ELASTIC_SERVERLESS_SUPERUSER_PASSWORD, } from './ess_file_realm'; import { SYSTEM_INDICES_SUPERUSER } from './native_realm'; +import { waitUntilClusterReady } from './wait_until_cluster_ready'; interface BaseOptions { tag?: string; @@ -560,25 +561,6 @@ function getESClient(clientOptions: ClientOptions): Client { }); } -const delay = (ms: number) => new Promise((res) => setTimeout(res, ms)); -async function waitUntilClusterReady( - clientOptions: ClientOptions, - timeoutMs = 60 * 1000 -): Promise { - const started = Date.now(); - const client = getESClient(clientOptions); - - while (started + timeoutMs > Date.now()) { - try { - await client.info(); - break; - } catch (e) { - await delay(1000); - /* trap to continue */ - } - } -} - /** * Runs an ES Serverless Cluster through Docker */ @@ -636,7 +618,7 @@ export async function runServerlessCluster(log: ToolingLog, options: ServerlessO portCmd[1].lastIndexOf(':') )}`; - await waitUntilClusterReady({ + const client = getESClient({ node: esNodeUrl, ...(options.ssl ? { @@ -654,6 +636,7 @@ export async function runServerlessCluster(log: ToolingLog, options: ServerlessO } : {}), }); + await waitUntilClusterReady({ client, log }); log.success('ES is ready'); } diff --git a/packages/kbn-es/src/utils/wait_until_cluster_ready.ts b/packages/kbn-es/src/utils/wait_until_cluster_ready.ts new file mode 100644 index 000000000000..b8611253f89d --- /dev/null +++ b/packages/kbn-es/src/utils/wait_until_cluster_ready.ts @@ -0,0 +1,63 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 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 { Client } from '@elastic/elasticsearch'; +import { ToolingLog } from '@kbn/tooling-log'; +const DEFAULT_READY_TIMEOUT = 60 * 1000; // 1 minute + +export interface WaitOptions { + client: Client; + log: ToolingLog; + readyTimeout?: number; +} + +/** + * General method to wait for the ES cluster status to be green + */ +export async function waitUntilClusterReady({ + client, + log, + readyTimeout = DEFAULT_READY_TIMEOUT, +}: WaitOptions) { + let attempt = 0; + const start = Date.now(); + + log.info('waiting for ES cluster to report a green status'); + + while (true) { + attempt += 1; + + try { + const resp = await client.cluster.health(); + if (resp.status === 'green') { + return; + } + + throw new Error(`not ready, cluster health is ${resp.status}`); + } catch (error) { + const timeSinceStart = Date.now() - start; + if (timeSinceStart > readyTimeout) { + const sec = readyTimeout / 1000; + throw new Error(`ES cluster failed to come online with the ${sec} second timeout`); + } + + if (error?.message?.startsWith('not ready,')) { + if (timeSinceStart > 10_000) { + log.warning(error.message); + } + } else { + log.warning( + `waiting for ES cluster to come online, attempt ${attempt} failed with: ${error?.message}` + ); + } + + const waitSec = attempt * 1.5; + await new Promise((resolve) => setTimeout(resolve, waitSec * 1000)); + } + } +} From 62911d2bc9aa1147d102999bfaaf9ed1f31fa224 Mon Sep 17 00:00:00 2001 From: Sander Philipse <94373878+sphilipse@users.noreply.github.com> Date: Thu, 7 Sep 2023 17:52:35 +0200 Subject: [PATCH 15/57] [Serverless Search] Fix absent user profile breaking Kibana (#165880) ## Summary This fixes an absent user profile breaking Kibana in Serverless ES3. --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> --- packages/kbn-search-api-panels/index.tsx | 32 +++++++++---------- packages/kbn-search-api-panels/tsconfig.json | 3 +- .../application/components/overview.tsx | 4 +-- .../public/application/hooks/use_kibana.tsx | 4 +-- .../serverless_search/public/plugin.ts | 19 ++++++----- 5 files changed, 32 insertions(+), 30 deletions(-) diff --git a/packages/kbn-search-api-panels/index.tsx b/packages/kbn-search-api-panels/index.tsx index feb26ae501de..5fa35ac35ef6 100644 --- a/packages/kbn-search-api-panels/index.tsx +++ b/packages/kbn-search-api-panels/index.tsx @@ -9,6 +9,7 @@ import React from 'react'; import { EuiFlexGroup, EuiFlexItem, EuiTitle, EuiSpacer, EuiImage, EuiText } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; +import { AuthenticatedUser } from '@kbn/security-plugin/common'; export * from './components/code_box'; export * from './components/github_link'; @@ -24,19 +25,14 @@ export * from './types'; export * from './utils'; export interface WelcomeBannerProps { - userProfile: { - user: { - full_name?: string; - username?: string; - }; - }; + user?: AuthenticatedUser; assetBasePath?: string; image?: string; showDescription?: boolean; } export const WelcomeBanner: React.FC = ({ - userProfile, + user, assetBasePath, image, showDescription = true, @@ -54,16 +50,18 @@ export const WelcomeBanner: React.FC = ({ - - -

- {i18n.translate('searchApiPanels.welcomeBanner.header.greeting.title', { - defaultMessage: 'Hi {name}!', - values: { name: userProfile?.user?.full_name || userProfile?.user?.username }, - })} -

-
-
+ {Boolean(user) && ( + + +

+ {i18n.translate('searchApiPanels.welcomeBanner.header.greeting.title', { + defaultMessage: 'Hi {name}!', + values: { name: user?.full_name || user.username }, + })} +

+
+
+ )} {showDescription && ( diff --git a/packages/kbn-search-api-panels/tsconfig.json b/packages/kbn-search-api-panels/tsconfig.json index 82fd44f2cbb3..768b73f8cef4 100644 --- a/packages/kbn-search-api-panels/tsconfig.json +++ b/packages/kbn-search-api-panels/tsconfig.json @@ -20,6 +20,7 @@ "@kbn/core-http-browser", "@kbn/core-application-browser", "@kbn/share-plugin", - "@kbn/i18n-react" + "@kbn/i18n-react", + "@kbn/security-plugin" ] } diff --git a/x-pack/plugins/serverless_search/public/application/components/overview.tsx b/x-pack/plugins/serverless_search/public/application/components/overview.tsx index a01ebdb941ed..d39346ab2b1b 100644 --- a/x-pack/plugins/serverless_search/public/application/components/overview.tsx +++ b/x-pack/plugins/serverless_search/public/application/components/overview.tsx @@ -52,7 +52,7 @@ export const ElasticsearchOverview = () => { const [selectedLanguage, setSelectedLanguage] = useState(javascriptDefinition); const [clientApiKey, setClientApiKey] = useState(API_KEY_PLACEHOLDER); - const { application, cloud, http, userProfile, share } = useKibanaServices(); + const { application, cloud, http, user, share } = useKibanaServices(); const elasticsearchURL = useMemo(() => { return cloud?.elasticsearchUrl ?? ELASTICSEARCH_URL_PLACEHOLDER; @@ -73,7 +73,7 @@ export const ElasticsearchOverview = () => { - + diff --git a/x-pack/plugins/serverless_search/public/application/hooks/use_kibana.tsx b/x-pack/plugins/serverless_search/public/application/hooks/use_kibana.tsx index 3a11ee645ffa..48df79560921 100644 --- a/x-pack/plugins/serverless_search/public/application/hooks/use_kibana.tsx +++ b/x-pack/plugins/serverless_search/public/application/hooks/use_kibana.tsx @@ -9,12 +9,12 @@ import { CloudStart } from '@kbn/cloud-plugin/public'; import type { CoreStart } from '@kbn/core/public'; import type { SharePluginStart } from '@kbn/share-plugin/public'; import { useKibana as useKibanaBase } from '@kbn/kibana-react-plugin/public'; -import { GetUserProfileResponse, UserProfileData } from '@kbn/security-plugin/common'; +import { AuthenticatedUser } from '@kbn/security-plugin/common'; export interface ServerlessSearchContext { cloud: CloudStart; share: SharePluginStart; - userProfile: GetUserProfileResponse; + user?: AuthenticatedUser; } type ServerlessSearchKibanaContext = CoreStart & ServerlessSearchContext; diff --git a/x-pack/plugins/serverless_search/public/plugin.ts b/x-pack/plugins/serverless_search/public/plugin.ts index c3faeb15f438..6bd5b384fd58 100644 --- a/x-pack/plugins/serverless_search/public/plugin.ts +++ b/x-pack/plugins/serverless_search/public/plugin.ts @@ -8,6 +8,7 @@ import { AppMountParameters, CoreSetup, CoreStart, Plugin } from '@kbn/core/public'; import { i18n } from '@kbn/i18n'; import { appIds } from '@kbn/management-cards-navigation'; +import { AuthenticatedUser } from '@kbn/security-plugin/common'; import { createServerlessSearchSideNavComponent as createComponent } from './layout/nav'; import { docLinks } from '../common/doc_links'; import { @@ -41,10 +42,15 @@ export class ServerlessSearchPlugin const [coreStart, services] = await core.getStartServices(); const { security } = services; docLinks.setDocLinks(coreStart.docLinks.links); + let user: AuthenticatedUser | undefined; + try { + const response = await security.authc.getCurrentUser(); + user = response; + } catch { + user = undefined; + } - const userProfile = await security.userProfiles.getCurrent(); - - return await renderApp(element, coreStart, { userProfile, ...services }); + return await renderApp(element, coreStart, { user, ...services }); }, }); @@ -58,12 +64,9 @@ export class ServerlessSearchPlugin async mount({ element }: AppMountParameters) { const { renderApp } = await import('./application/connectors'); const [coreStart, services] = await core.getStartServices(); - const { security } = services; - docLinks.setDocLinks(coreStart.docLinks.links); - const userProfile = await security.userProfiles.getCurrent(); - - return await renderApp(element, coreStart, { userProfile, ...services }); + docLinks.setDocLinks(coreStart.docLinks.links); + return await renderApp(element, coreStart, { ...services }); }, }); From 369d2fe367d105a8786a26e332fac1f68bc81666 Mon Sep 17 00:00:00 2001 From: Maxim Palenov Date: Thu, 7 Sep 2023 18:02:16 +0200 Subject: [PATCH 16/57] [Security Solution] Fix a build step when there are no tests to execute (#165929) ## Summary Fixes failed build steps when there are no tests to execute and hence no reports. ## Details Despite this [PR](https://github.com/elastic/kibana/pull/165824) fixes tests failure when there are no reports but `yarn junit:merge` tries to convert them to junit format the problem is partially stays as `Failed Test Reporter` runs for every build step meaning also for successful build steps. We don't need to handle failed test reports for successful build steps. There are cases when there are no tests to run so Cypress doesn't produce reports and nothing is converted to junit format so `Failed Test Reporter` fails and causes a build step to fails. It could be solved by defining an environment variable `DISABLE_MISSING_TEST_REPORT_ERRORS=true` but we need to make sure reports exist for failed tests. Taking this into account we can rely on `BUILDKITE_COMMAND_EXIT_STATUS` to avoid running `Failed Test Reporter` if the build step successed. One may ask why don't skip `Upload Artifacts` too. We may need some build artifacts for successful build steps. --------- Co-authored-by: Tiago Costa --- .buildkite/scripts/lifecycle/post_command.sh | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.buildkite/scripts/lifecycle/post_command.sh b/.buildkite/scripts/lifecycle/post_command.sh index 77f11120a4ab..01877bedbef8 100755 --- a/.buildkite/scripts/lifecycle/post_command.sh +++ b/.buildkite/scripts/lifecycle/post_command.sh @@ -31,8 +31,10 @@ if [[ "$IS_TEST_EXECUTION_STEP" == "true" ]]; then buildkite-agent artifact upload '.es/**/*.hprof' buildkite-agent artifact upload 'data/es_debug_*.tar.gz' - echo "--- Run Failed Test Reporter" - node scripts/report_failed_tests --build-url="${BUILDKITE_BUILD_URL}#${BUILDKITE_JOB_ID}" 'target/junit/**/*.xml' + if [[ $BUILDKITE_COMMAND_EXIT_STATUS -ne 0 ]]; then + echo "--- Run Failed Test Reporter" + node scripts/report_failed_tests --build-url="${BUILDKITE_BUILD_URL}#${BUILDKITE_JOB_ID}" 'target/junit/**/*.xml' + fi if [[ -d 'target/test_failures' ]]; then buildkite-agent artifact upload 'target/test_failures/**/*' From 8f22eb15fe7541e91fa207e0da9e30171bb25dc0 Mon Sep 17 00:00:00 2001 From: Tiago Costa Date: Thu, 7 Sep 2023 17:04:25 +0100 Subject: [PATCH 17/57] chore(NA): reduce parallelism number on Serverless Security Cypress Tests (#165906) This PR reduces the parallel number of workers that will run the Serverless Security Cypress Tests for now. As we have skipped some serverless tests that were flaky we don't need as much workers as before. As soon as we see those pipeline times increasing we can restore the number of workers. --- .buildkite/pipelines/pull_request/base.yml | 4 ++-- .buildkite/pipelines/serverless.yml | 19 ++++++++++--------- 2 files changed, 12 insertions(+), 11 deletions(-) diff --git a/.buildkite/pipelines/pull_request/base.yml b/.buildkite/pipelines/pull_request/base.yml index e36a1434bee8..60c26c8bce2f 100644 --- a/.buildkite/pipelines/pull_request/base.yml +++ b/.buildkite/pipelines/pull_request/base.yml @@ -140,7 +140,7 @@ steps: queue: n2-4-spot depends_on: build timeout_in_minutes: 40 - parallelism: 12 + parallelism: 2 soft_fail: true retry: automatic: @@ -166,7 +166,7 @@ steps: queue: n2-4-spot depends_on: build timeout_in_minutes: 40 - parallelism: 6 + parallelism: 2 soft_fail: true retry: automatic: diff --git a/.buildkite/pipelines/serverless.yml b/.buildkite/pipelines/serverless.yml index e7b5dbc29972..0a9cc038088f 100644 --- a/.buildkite/pipelines/serverless.yml +++ b/.buildkite/pipelines/serverless.yml @@ -105,32 +105,33 @@ steps: queue: n2-4-spot depends_on: build timeout_in_minutes: 40 - parallelism: 12 + parallelism: 2 retry: automatic: - exit_status: '*' limit: 1 - - command: .buildkite/scripts/steps/functional/security_serverless_explore.sh - label: 'Serverless Explore - Security Solution Cypress Tests' + - command: .buildkite/scripts/steps/functional/security_serverless_investigations.sh + label: 'Serverless Security Investigations Cypress Tests' agents: queue: n2-4-spot depends_on: build - timeout_in_minutes: 60 - parallelism: 4 + timeout_in_minutes: 120 + parallelism: 2 retry: automatic: - exit_status: '*' limit: 1 - - command: .buildkite/scripts/steps/functional/security_serverless_investigations.sh - label: 'Serverless Investigations - Security Solution Cypress Tests' + - command: .buildkite/scripts/steps/functional/security_serverless_explore.sh + label: 'Serverless Security Explore Cypress Tests' agents: queue: n2-4-spot depends_on: build - timeout_in_minutes: 120 - parallelism: 6 + timeout_in_minutes: 60 + parallelism: 2 retry: automatic: - exit_status: '*' limit: 1 + From 9e5cffac95f7087898c9d2c9544aae6999d57710 Mon Sep 17 00:00:00 2001 From: Alexi Doak <109488926+doakalexi@users.noreply.github.com> Date: Thu, 7 Sep 2023 09:12:56 -0700 Subject: [PATCH 18/57] [ResponseOps][Alerting] Add pipes to align with ES|QL convention (#165982) ## Summary Updates ui text to be ES|QL instead of ESQL --- .../rule_types/es_query/expression/esql_query_expression.tsx | 2 +- .../es_query/expression/query_form_type_chooser.tsx | 4 ++-- .../public/rule_types/es_query/validation.test.ts | 2 +- .../stack_alerts/public/rule_types/es_query/validation.ts | 2 +- .../server/rule_types/es_query/lib/fetch_esql_query.ts | 2 +- .../stack_alerts/server/rule_types/es_query/rule_type.test.ts | 2 +- .../stack_alerts/server/rule_types/es_query/rule_type.ts | 2 +- 7 files changed, 8 insertions(+), 8 deletions(-) diff --git a/x-pack/plugins/stack_alerts/public/rule_types/es_query/expression/esql_query_expression.tsx b/x-pack/plugins/stack_alerts/public/rule_types/es_query/expression/esql_query_expression.tsx index 5a26839a7b28..5cc79bdf3503 100644 --- a/x-pack/plugins/stack_alerts/public/rule_types/es_query/expression/esql_query_expression.tsx +++ b/x-pack/plugins/stack_alerts/public/rule_types/es_query/expression/esql_query_expression.tsx @@ -150,7 +150,7 @@ export const EsqlQueryExpression: React.FC<
diff --git a/x-pack/plugins/stack_alerts/public/rule_types/es_query/expression/query_form_type_chooser.tsx b/x-pack/plugins/stack_alerts/public/rule_types/es_query/expression/query_form_type_chooser.tsx index a2d45c78de9c..63d0b0d36fe5 100644 --- a/x-pack/plugins/stack_alerts/public/rule_types/es_query/expression/query_form_type_chooser.tsx +++ b/x-pack/plugins/stack_alerts/public/rule_types/es_query/expression/query_form_type_chooser.tsx @@ -73,13 +73,13 @@ export const QueryFormTypeChooser: React.FC = ({ label: i18n.translate( 'xpack.stackAlerts.esQuery.ui.selectQueryFormType.esqlFormTypeLabel', { - defaultMessage: 'ESQL', + defaultMessage: 'ES|QL', } ), description: i18n.translate( 'xpack.stackAlerts.esQuery.ui.selectQueryFormType.esqlFormTypeDescription', { - defaultMessage: 'Use ESQL to define a text-based query.', + defaultMessage: 'Use ES|QL to define a text-based query.', } ), }); diff --git a/x-pack/plugins/stack_alerts/public/rule_types/es_query/validation.test.ts b/x-pack/plugins/stack_alerts/public/rule_types/es_query/validation.test.ts index f43adeab3a3a..90df11eb0c55 100644 --- a/x-pack/plugins/stack_alerts/public/rule_types/es_query/validation.test.ts +++ b/x-pack/plugins/stack_alerts/public/rule_types/es_query/validation.test.ts @@ -289,7 +289,7 @@ describe('expression params validation', () => { searchType: SearchType.esqlQuery, } as EsQueryRuleParams; expect(validateExpression(initialParams).errors.esqlQuery.length).toBeGreaterThan(0); - expect(validateExpression(initialParams).errors.esqlQuery[0]).toBe(`ESQL query is required.`); + expect(validateExpression(initialParams).errors.esqlQuery[0]).toBe(`ES|QL query is required.`); }); test('if esqlQuery timeField property is not defined should return proper error message', () => { diff --git a/x-pack/plugins/stack_alerts/public/rule_types/es_query/validation.ts b/x-pack/plugins/stack_alerts/public/rule_types/es_query/validation.ts index 7d7c34a76927..f2d1de5ef869 100644 --- a/x-pack/plugins/stack_alerts/public/rule_types/es_query/validation.ts +++ b/x-pack/plugins/stack_alerts/public/rule_types/es_query/validation.ts @@ -231,7 +231,7 @@ const validateEsqlQueryParams = (ruleParams: EsQueryRuleParams({ method: 'POST', diff --git a/x-pack/plugins/stack_alerts/server/rule_types/es_query/rule_type.test.ts b/x-pack/plugins/stack_alerts/server/rule_types/es_query/rule_type.test.ts index 6adb6e092d56..8c63e0e0ac7f 100644 --- a/x-pack/plugins/stack_alerts/server/rule_types/es_query/rule_type.test.ts +++ b/x-pack/plugins/stack_alerts/server/rule_types/es_query/rule_type.test.ts @@ -113,7 +113,7 @@ describe('ruleType', () => { "name": "index", }, Object { - "description": "ESQL query field used to fetch data from Elasticsearch.", + "description": "ES|QL query field used to fetch data from Elasticsearch.", "name": "esqlQuery", }, ], diff --git a/x-pack/plugins/stack_alerts/server/rule_types/es_query/rule_type.ts b/x-pack/plugins/stack_alerts/server/rule_types/es_query/rule_type.ts index d0f7f7b816d8..fc70403b174d 100644 --- a/x-pack/plugins/stack_alerts/server/rule_types/es_query/rule_type.ts +++ b/x-pack/plugins/stack_alerts/server/rule_types/es_query/rule_type.ts @@ -134,7 +134,7 @@ export function getRuleType( const actionVariableEsqlQueryLabel = i18n.translate( 'xpack.stackAlerts.esQuery.actionVariableContextEsqlQueryLabel', { - defaultMessage: 'ESQL query field used to fetch data from Elasticsearch.', + defaultMessage: 'ES|QL query field used to fetch data from Elasticsearch.', } ); From 5271dd31c2697ba6ebf7b59780a37cc340c06e1b Mon Sep 17 00:00:00 2001 From: Dima Arnautov Date: Thu, 7 Sep 2023 18:20:47 +0200 Subject: [PATCH 19/57] [ML] Improve the UX of adding ML embeddables to a dashboard (#165714) ## Summary Closes #141608 - Replaces custom component for attaching embeddables with the one provided by the `presentation_utils` plugin ![Sep-05-2023 17-57-27](https://github.com/elastic/kibana/assets/5236598/c8584f4f-119b-4484-97c1-5882bb3afd7c) ![Sep-05-2023 17-59-06](https://github.com/elastic/kibana/assets/5236598/7d5695e7-3310-42d6-8b8b-408d06938b88) - Adds support for setting a number of charts while attaching Anomaly charts to cases ### Checklist - [x] [Unit or functional tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html) were updated or added to match the most common scenarios - [x] Any UI touched in this PR is usable by keyboard only (learn more about [keyboard accessibility](https://webaim.org/techniques/keyboard/)) - [x] Any UI touched in this PR does not create any new axe failures (run axe in browser: [FF](https://addons.mozilla.org/en-US/firefox/addon/axe-devtools/), [Chrome](https://chrome.google.com/webstore/detail/axe-web-accessibility-tes/lhdoppojpmngadmnindnejefpokejbdd?hl=en-US)) - [x] This renders correctly on smaller devices using a responsive layout. (You can test this [in your browser](https://www.browserstack.com/guide/responsive-testing-on-local-server)) - [x] This was checked for [cross-browser compatibility](https://www.elastic.co/support/matrix#matrix_browsers --- .../explorer/anomaly_context_menu.tsx | 284 +++++++++++++----- .../application/explorer/anomaly_timeline.tsx | 123 ++++++-- ...d_anomaly_charts_to_dashboard_controls.tsx | 152 ---------- .../add_swimlane_to_dashboard_controls.tsx | 144 --------- .../add_to_dashboard_controls.tsx | 125 -------- .../use_add_to_dashboard_actions.tsx | 55 ---- .../use_dashboards_table.tsx | 82 ----- .../application/routing/routes/explorer.tsx | 43 +-- .../translations/translations/fr-FR.json | 10 - .../translations/translations/ja-JP.json | 10 - .../translations/translations/zh-CN.json | 10 - .../services/ml/anomaly_explorer.ts | 43 ++- 12 files changed, 365 insertions(+), 716 deletions(-) delete mode 100644 x-pack/plugins/ml/public/application/explorer/dashboard_controls/add_anomaly_charts_to_dashboard_controls.tsx delete mode 100644 x-pack/plugins/ml/public/application/explorer/dashboard_controls/add_swimlane_to_dashboard_controls.tsx delete mode 100644 x-pack/plugins/ml/public/application/explorer/dashboard_controls/add_to_dashboard_controls.tsx delete mode 100644 x-pack/plugins/ml/public/application/explorer/dashboard_controls/use_add_to_dashboard_actions.tsx delete mode 100644 x-pack/plugins/ml/public/application/explorer/dashboard_controls/use_dashboards_table.tsx diff --git a/x-pack/plugins/ml/public/application/explorer/anomaly_context_menu.tsx b/x-pack/plugins/ml/public/application/explorer/anomaly_context_menu.tsx index 314221ca3877..719c71a3b853 100644 --- a/x-pack/plugins/ml/public/application/explorer/anomaly_context_menu.tsx +++ b/x-pack/plugins/ml/public/application/explorer/anomaly_context_menu.tsx @@ -5,15 +5,22 @@ * 2.0. */ -import React, { FC, useCallback, useMemo, useState } from 'react'; +import React, { FC, ReactEventHandler, useCallback, useMemo, useState } from 'react'; import { + EuiButton, EuiButtonIcon, - EuiContextMenuItem, - EuiContextMenuPanel, + EuiContextMenu, + EuiContextMenuPanelDescriptor, + EuiContextMenuPanelItemDescriptor, + EuiFieldNumber, EuiFlexItem, + EuiForm, + EuiFormRow, + EuiPanel, EuiPopover, - EuiPopoverTitle, + EuiSpacer, formatDate, + htmlIdGenerator, } from '@elastic/eui'; import { FormattedMessage } from '@kbn/i18n-react'; import { i18n } from '@kbn/i18n'; @@ -22,11 +29,24 @@ import type { Query, TimeRange } from '@kbn/es-query'; import { isDefined } from '@kbn/ml-is-defined'; import { useTimeRangeUpdates } from '@kbn/ml-date-picker'; import { SEARCH_QUERY_LANGUAGE } from '@kbn/ml-query-utils'; +import { EuiContextMenuProps } from '@elastic/eui/src/components/context_menu/context_menu'; +import { + LazySavedObjectSaveModalDashboard, + SaveModalDashboardProps, + withSuspense, +} from '@kbn/presentation-util-plugin/public'; +import { useTableSeverity } from '../components/controls/select_severity'; +import { JobId } from '../../../common/types/anomaly_detection_jobs'; +import { getDefaultExplorerChartsPanelTitle } from '../../embeddables/anomaly_charts/anomaly_charts_embeddable'; +import { MAX_ANOMALY_CHARTS_ALLOWED } from '../../embeddables/anomaly_charts/anomaly_charts_initializer'; import { useAnomalyExplorerContext } from './anomaly_explorer_context'; import { escapeKueryForFieldValuePair } from '../util/string_utils'; import { useCasesModal } from '../contexts/kibana/use_cases_modal'; import { DEFAULT_MAX_SERIES_TO_PLOT } from '../services/anomaly_explorer_charts_service'; -import { ANOMALY_EXPLORER_CHARTS_EMBEDDABLE_TYPE } from '../../embeddables'; +import { + ANOMALY_EXPLORER_CHARTS_EMBEDDABLE_TYPE, + AnomalyChartsEmbeddableInput, +} from '../../embeddables'; import { useMlKibana } from '../contexts/kibana'; import { AppStateSelectedCells, @@ -35,7 +55,6 @@ import { getSelectionTimeRange, } from './explorer_utils'; import { TimeRangeBounds } from '../util/time_buckets'; -import { AddAnomalyChartsToDashboardControl } from './dashboard_controls/add_anomaly_charts_to_dashboard_controls'; interface AnomalyContextMenuProps { selectedJobs: ExplorerJob[]; @@ -44,6 +63,16 @@ interface AnomalyContextMenuProps { interval?: number; chartsCount: number; } + +const SavedObjectSaveModalDashboard = withSuspense(LazySavedObjectSaveModalDashboard); + +function getDefaultEmbeddablePanelConfig(jobIds: JobId[], queryString?: string) { + return { + id: htmlIdGenerator()(), + title: getDefaultExplorerChartsPanelTitle(jobIds).concat(queryString ? `- ${queryString}` : ''), + }; +} + export const AnomalyContextMenu: FC = ({ selectedJobs, selectedCells, @@ -55,11 +84,14 @@ export const AnomalyContextMenu: FC = ({ services: { application: { capabilities }, cases, + embeddable, }, } = useMlKibana(); const globalTimeRange = useTimeRangeUpdates(true); const [isMenuOpen, setIsMenuOpen] = useState(false); const [isAddDashboardsActive, setIsAddDashboardActive] = useState(false); + const [severity] = useTableSeverity(); + const [maxSeriesToPlot, setMaxSeriesToPlot] = useState(DEFAULT_MAX_SERIES_TO_PLOT); const closePopoverOnAction = useCallback( (actionCallback: Function) => { setIsMenuOpen(false); @@ -103,77 +135,191 @@ export const AnomalyContextMenu: FC = ({ return globalTimeRange; }, [chartsData.seriesToPlot, globalTimeRange, selectedCells, bounds, interval]); - const menuItems = useMemo(() => { - const items = []; + const isMaxSeriesToPlotValid = + maxSeriesToPlot >= 1 && maxSeriesToPlot <= MAX_ANOMALY_CHARTS_ALLOWED; + + const jobIds = selectedJobs.map(({ id }) => id); + + const getEmbeddableInput = useCallback( + (timeRange?: TimeRange) => { + // Respect the query and the influencers selected + // If no query or filter set, filter out to the lanes the selected cells + // And if no selected cells, show everything + + const selectionInfluencers = getSelectionInfluencers( + selectedCells, + selectedCells?.viewByFieldName! + ); + + const influencers = selectionInfluencers ?? []; + const config = getDefaultEmbeddablePanelConfig(jobIds, queryString); + const queryFromSelectedCells = influencers + .map((s) => escapeKueryForFieldValuePair(s.fieldName, s.fieldValue)) + .join(' or '); + + // When adding anomaly charts to Dashboard, we want to respect the Dashboard's time range + // so we are not passing the time range here + return { + ...config, + ...(timeRange ? { timeRange } : {}), + jobIds, + maxSeriesToPlot: maxSeriesToPlot ?? DEFAULT_MAX_SERIES_TO_PLOT, + severityThreshold: severity.val, + ...((isDefined(queryString) && queryString !== '') || + (queryFromSelectedCells !== undefined && queryFromSelectedCells !== '') + ? { + query: { + query: queryString === '' ? queryFromSelectedCells : queryString, + language: SEARCH_QUERY_LANGUAGE.KUERY, + } as Query, + } + : {}), + }; + }, + [jobIds, maxSeriesToPlot, severity, queryString, selectedCells] + ); + + const onSaveCallback: SaveModalDashboardProps['onSave'] = useCallback( + ({ dashboardId, newTitle, newDescription }) => { + const stateTransfer = embeddable!.getStateTransfer(); + + const embeddableInput: Partial = { + ...getEmbeddableInput(), + title: newTitle, + description: newDescription, + }; + + const state = { + input: embeddableInput, + type: ANOMALY_EXPLORER_CHARTS_EMBEDDABLE_TYPE, + }; + + const path = dashboardId === 'new' ? '#/create' : `#/view/${dashboardId}`; + + stateTransfer.navigateToWithEmbeddablePackage('dashboards', { + state, + path, + }); + }, + [embeddable, getEmbeddableInput] + ); + + const panels = useMemo>(() => { + const rootItems: EuiContextMenuPanelItemDescriptor[] = []; + const menuPanels: EuiContextMenuPanelDescriptor[] = [{ id: 'panelActions', items: rootItems }]; + + const getContent = (callback: ReactEventHandler) => ( + + + + + ) : undefined + } + label={ + + } + > + setMaxSeriesToPlot(parseInt(e.target.value, 10))} + min={1} + max={MAX_ANOMALY_CHARTS_ALLOWED} + /> + + + + + + + + ); + if (canEditDashboards) { - items.push( - + rootItems.push({ + name: ( - - ); + ), + panel: 'addToDashboardPanel', + 'data-test-subj': 'mlAnomalyAddChartsToDashboardButton', + }); + + menuPanels.push({ + id: 'addToDashboardPanel', + size: 's', + title: i18n.translate('xpack.ml.explorer.anomalies.addToDashboardLabel', { + defaultMessage: 'Add to dashboard', + }), + content: getContent( + closePopoverOnAction.bind(null, setIsAddDashboardActive.bind(null, true)) + ), + }); } if (!!casesPrivileges?.create || !!casesPrivileges?.update) { - const selectionInfluencers = getSelectionInfluencers( - selectedCells, - selectedCells?.viewByFieldName! - ); - - const queryFromSelectedCells = Array.isArray(selectionInfluencers) - ? selectionInfluencers - .map((s) => escapeKueryForFieldValuePair(s.fieldName, s.fieldValue)) - .join(' or ') - : ''; + rootItems.push({ + name: ( + + ), + panel: 'addToCasePanel', + 'data-test-subj': 'mlAnomalyAttachChartsToCasesButton', + }); - items.push( - v.id), - timeRange: timeRangeToPlot, - maxSeriesToPlot: DEFAULT_MAX_SERIES_TO_PLOT, - ...((isDefined(queryString) && queryString !== '') || queryFromSelectedCells !== '' - ? { - query: { - query: queryString === '' ? queryFromSelectedCells : queryString, - language: SEARCH_QUERY_LANGUAGE.KUERY, - } as Query, - } - : {}), - }) - )} - data-test-subj="mlAnomalyAttachChartsToCasesButton" - > - - - ); + openCasesModal.bind(null, getEmbeddableInput(timeRangeToPlot)) + ) + ), + }); } - return items; - // eslint-disable-next-line react-hooks/exhaustive-deps + + return menuPanels; }, [ + getEmbeddableInput, canEditDashboards, - globalTimeRange, + casesPrivileges, + maxSeriesToPlot, + isMaxSeriesToPlotValid, closePopoverOnAction, - selectedJobs, - selectedCells, - queryString, + openCasesModal, timeRangeToPlot, ]); - const jobIds = selectedJobs.map(({ id }) => id); - return ( <> - {menuItems.length > 0 && chartsCount > 0 ? ( + {!!panels[0]?.items?.length && chartsCount > 0 ? ( = ({ panelPaddingSize="none" anchorPosition="downLeft" > - - {i18n.translate('xpack.ml.explorer.anomalies.actionsPopoverLabel', { - defaultMessage: 'Anomaly charts', - })} - - + ) : null} {isAddDashboardsActive && selectedJobs ? ( - { - setIsAddDashboardActive(false); + id)), }} - jobIds={jobIds} + onClose={setIsAddDashboardActive.bind(null, false)} + onSave={onSaveCallback} /> ) : null} diff --git a/x-pack/plugins/ml/public/application/explorer/anomaly_timeline.tsx b/x-pack/plugins/ml/public/application/explorer/anomaly_timeline.tsx index 0ba024a9c5f4..4e0416a63b34 100644 --- a/x-pack/plugins/ml/public/application/explorer/anomaly_timeline.tsx +++ b/x-pack/plugins/ml/public/application/explorer/anomaly_timeline.tsx @@ -21,6 +21,7 @@ import { EuiSpacer, EuiText, EuiTitle, + htmlIdGenerator, } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; import { FormattedMessage } from '@kbn/i18n-react'; @@ -31,15 +32,21 @@ import { formatHumanReadableDateTime } from '@kbn/ml-date-utils'; import { isDefined } from '@kbn/ml-is-defined'; import { useTimeRangeUpdates } from '@kbn/ml-date-picker'; import { SEARCH_QUERY_LANGUAGE } from '@kbn/ml-query-utils'; +import { + LazySavedObjectSaveModalDashboard, + SaveModalDashboardProps, + withSuspense, +} from '@kbn/presentation-util-plugin/public'; +import { JobId } from '../../../common/types/anomaly_detection_jobs'; +import { getDefaultSwimlanePanelTitle } from '../../embeddables/anomaly_swimlane/anomaly_swimlane_embeddable'; import { useCasesModal } from '../contexts/kibana/use_cases_modal'; -import { ANOMALY_SWIMLANE_EMBEDDABLE_TYPE } from '../..'; +import { ANOMALY_SWIMLANE_EMBEDDABLE_TYPE, AnomalySwimlaneEmbeddableInput } from '../..'; import { OVERALL_LABEL, SWIMLANE_TYPE, SwimlaneType, VIEW_BY_JOB_LABEL, } from './explorer_constants'; -import { AddSwimlaneToDashboardControl } from './dashboard_controls/add_swimlane_to_dashboard_controls'; import { useMlKibana } from '../contexts/kibana'; import { ExplorerState } from './reducers/explorer_reducer'; import { ExplorerNoInfluencersFound } from './components/explorer_no_influencers_found'; @@ -66,6 +73,15 @@ interface AnomalyTimelineProps { explorerState: ExplorerState; } +const SavedObjectSaveModalDashboard = withSuspense(LazySavedObjectSaveModalDashboard); + +function getDefaultEmbeddablePanelConfig(jobIds: JobId[], queryString?: string) { + return { + title: getDefaultSwimlanePanelTitle(jobIds).concat(queryString ? `- ${queryString}` : ''), + id: htmlIdGenerator()(), + }; +} + export const AnomalyTimeline: FC = React.memo( ({ explorerState }) => { const { @@ -73,6 +89,7 @@ export const AnomalyTimeline: FC = React.memo( application: { capabilities }, charts: chartsService, cases, + embeddable, }, } = useMlKibana(); @@ -88,7 +105,6 @@ export const AnomalyTimeline: FC = React.memo( ); const [isMenuOpen, setIsMenuOpen] = useState(false); - const [isAddDashboardsActive, setIsAddDashboardActive] = useState(false); const canEditDashboards = capabilities.dashboard?.createNew ?? false; @@ -147,6 +163,8 @@ export const AnomalyTimeline: FC = React.memo( anomalyTimelineStateService.getSwimLaneSeverity() ); + const [selectedSwimlane, setSelectedSwimlane] = useState(); + const timeRange = getTimeBoundsFromSelection(selectedCells); const viewByLoadedForTimeFormatted = timeRange @@ -210,9 +228,39 @@ export const AnomalyTimeline: FC = React.memo( defaultMessage="Add to dashboard" /> ), - onClick: closePopoverOnAction(setIsAddDashboardActive.bind(null, true)), + panel: 'addToDashboardPanel', 'data-test-subj': 'mlAnomalyTimelinePanelAddToDashboardButton', }); + + panels.push({ + id: 'addToDashboardPanel', + size: 's', + title: i18n.translate('xpack.ml.explorer.addToDashboardLabel', { + defaultMessage: 'Add to dashboard', + }), + items: [ + { + name: ( + + ), + + onClick: closePopoverOnAction(setSelectedSwimlane.bind(null, SWIMLANE_TYPE.OVERALL)), + 'data-test-subj': 'mlAnomalyTimelinePanelAddOverallToDashboardButton', + }, + { + name: ( + + ), + + onClick: closePopoverOnAction(setSelectedSwimlane.bind(null, SWIMLANE_TYPE.VIEW_BY)), + 'data-test-subj': 'mlAnomalyTimelinePanelAddViewByToDashboardButton', + }, + ], + }); } const casesPrivileges = cases?.helpers.canUseCases(); @@ -246,7 +294,7 @@ export const AnomalyTimeline: FC = React.memo( defaultMessage="Overall" /> ), - onClick: closePopoverOnAction(openCasesModal.bind(null, 'overall')), + onClick: closePopoverOnAction(openCasesModal.bind(null, SWIMLANE_TYPE.OVERALL)), 'data-test-subj': 'mlAnomalyTimelinePanelAttachOverallButton', }, { @@ -257,7 +305,7 @@ export const AnomalyTimeline: FC = React.memo( values={{ viewByField: viewBySwimlaneFieldName }} /> ), - onClick: closePopoverOnAction(openCasesModal.bind(null, 'viewBy')), + onClick: closePopoverOnAction(openCasesModal.bind(null, SWIMLANE_TYPE.VIEW_BY)), 'data-test-subj': 'mlAnomalyTimelinePanelAttachViewByButton', }, ], @@ -298,6 +346,45 @@ export const AnomalyTimeline: FC = React.memo( // eslint-disable-next-line react-hooks/exhaustive-deps }, []); + const onSaveCallback: SaveModalDashboardProps['onSave'] = useCallback( + ({ dashboardId, newTitle, newDescription }) => { + if (!selectedJobs) return; + + const stateTransfer = embeddable!.getStateTransfer(); + + const jobIds = selectedJobs.map((j) => j.id); + + const config = getDefaultEmbeddablePanelConfig(jobIds, queryString); + + const embeddableInput: Partial = { + id: config.id, + title: newTitle, + description: newDescription, + jobIds, + swimlaneType: selectedSwimlane, + ...(selectedSwimlane === SWIMLANE_TYPE.VIEW_BY + ? { viewBy: viewBySwimlaneFieldName } + : {}), + ...(queryString !== undefined + ? { query: { query: queryString, language: SEARCH_QUERY_LANGUAGE.KUERY } as Query } + : {}), + }; + + const state = { + input: embeddableInput, + type: ANOMALY_SWIMLANE_EMBEDDABLE_TYPE, + }; + + const path = dashboardId === 'new' ? '#/create' : `#/view/${dashboardId}`; + + stateTransfer.navigateToWithEmbeddablePackage('dashboards', { + state, + path, + }); + }, + [embeddable, queryString, selectedJobs, selectedSwimlane, viewBySwimlaneFieldName] + ); + return ( <> @@ -513,19 +600,21 @@ export const AnomalyTimeline: FC = React.memo( /> )} - {isAddDashboardsActive && selectedJobs && ( - { - setIsAddDashboardActive(false); - if (callback) { - await callback(); - } + {selectedSwimlane && selectedJobs ? ( + id)), + }} + onClose={() => { + setSelectedSwimlane(undefined); }} - jobIds={selectedJobs.map(({ id }) => id)} - viewBy={viewBySwimlaneFieldName!} - queryString={queryString} + onSave={onSaveCallback} /> - )} + ) : null} ); }, diff --git a/x-pack/plugins/ml/public/application/explorer/dashboard_controls/add_anomaly_charts_to_dashboard_controls.tsx b/x-pack/plugins/ml/public/application/explorer/dashboard_controls/add_anomaly_charts_to_dashboard_controls.tsx deleted file mode 100644 index 9ca48863c167..000000000000 --- a/x-pack/plugins/ml/public/application/explorer/dashboard_controls/add_anomaly_charts_to_dashboard_controls.tsx +++ /dev/null @@ -1,152 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ -import React, { FC, useCallback, useState } from 'react'; -import { FormattedMessage } from '@kbn/i18n-react'; -import { EuiFieldNumber, EuiFormRow, htmlIdGenerator } from '@elastic/eui'; -import type { Query } from '@kbn/es-query'; -import useObservable from 'react-use/lib/useObservable'; -import { isDefined } from '@kbn/ml-is-defined'; -import { SEARCH_QUERY_LANGUAGE } from '@kbn/ml-query-utils'; -import { getSelectionInfluencers } from '../explorer_utils'; -import { useAnomalyExplorerContext } from '../anomaly_explorer_context'; -import { escapeKueryForFieldValuePair } from '../../util/string_utils'; -import { useDashboardTable } from './use_dashboards_table'; -import { AddToDashboardControl } from './add_to_dashboard_controls'; -import { useAddToDashboardActions } from './use_add_to_dashboard_actions'; -import { DEFAULT_MAX_SERIES_TO_PLOT } from '../../services/anomaly_explorer_charts_service'; -import { JobId } from '../../../../common/types/anomaly_detection_jobs'; -import { ANOMALY_EXPLORER_CHARTS_EMBEDDABLE_TYPE } from '../../../embeddables'; -import { getDefaultExplorerChartsPanelTitle } from '../../../embeddables/anomaly_charts/anomaly_charts_embeddable'; -import { useTableSeverity } from '../../components/controls/select_severity'; -import { MAX_ANOMALY_CHARTS_ALLOWED } from '../../../embeddables/anomaly_charts/anomaly_charts_initializer'; - -function getDefaultEmbeddablePanelConfig(jobIds: JobId[], queryString?: string) { - return { - id: htmlIdGenerator()(), - title: getDefaultExplorerChartsPanelTitle(jobIds).concat(queryString ? `- ${queryString}` : ''), - }; -} - -export interface AddToDashboardControlProps { - jobIds: string[]; - onClose: (callback?: () => Promise) => void; -} - -/** - * Component for attaching anomaly swim lane embeddable to dashboards. - */ -export const AddAnomalyChartsToDashboardControl: FC = ({ - onClose, - jobIds, -}) => { - const [severity] = useTableSeverity(); - const [maxSeriesToPlot, setMaxSeriesToPlot] = useState(DEFAULT_MAX_SERIES_TO_PLOT); - const { anomalyExplorerCommonStateService, anomalyTimelineStateService } = - useAnomalyExplorerContext(); - const { queryString } = useObservable( - anomalyExplorerCommonStateService.getFilterSettings$(), - anomalyExplorerCommonStateService.getFilterSettings() - ); - - const selectedCells = useObservable( - anomalyTimelineStateService.getSelectedCells$(), - anomalyTimelineStateService.getSelectedCells() - ); - - const getEmbeddableInput = useCallback(() => { - // Respect the query and the influencers selected - // If no query or filter set, filter out to the lanes the selected cells - // And if no selected cells, show everything - - const selectionInfluencers = getSelectionInfluencers( - selectedCells, - selectedCells?.viewByFieldName! - ); - - const influencers = selectionInfluencers ?? []; - const config = getDefaultEmbeddablePanelConfig(jobIds, queryString); - const queryFromSelectedCells = influencers - .map((s) => escapeKueryForFieldValuePair(s.fieldName, s.fieldValue)) - .join(' or '); - - // When adding anomaly charts to Dashboard, we want to respect the Dashboard's time range - // so we are not passing the time range here - return { - ...config, - jobIds, - maxSeriesToPlot: maxSeriesToPlot ?? DEFAULT_MAX_SERIES_TO_PLOT, - severityThreshold: severity.val, - ...((isDefined(queryString) && queryString !== '') || - (queryFromSelectedCells !== undefined && queryFromSelectedCells !== '') - ? { - query: { - query: queryString === '' ? queryFromSelectedCells : queryString, - language: SEARCH_QUERY_LANGUAGE.KUERY, - } as Query, - } - : {}), - }; - }, [jobIds, maxSeriesToPlot, severity, queryString, selectedCells]); - - const { dashboardItems, isLoading, search } = useDashboardTable(); - const { addToDashboardAndEditCallback } = useAddToDashboardActions( - ANOMALY_EXPLORER_CHARTS_EMBEDDABLE_TYPE, - getEmbeddableInput - ); - const title = ( - - ); - - const isMaxSeriesToPlotValid = - maxSeriesToPlot >= 1 && maxSeriesToPlot <= MAX_ANOMALY_CHARTS_ALLOWED; - const extraControls = ( - - ) : undefined - } - label={ - - } - > - setMaxSeriesToPlot(parseInt(e.target.value, 10))} - min={1} - max={MAX_ANOMALY_CHARTS_ALLOWED} - /> - - ); - - return ( - - {extraControls} - - ); -}; diff --git a/x-pack/plugins/ml/public/application/explorer/dashboard_controls/add_swimlane_to_dashboard_controls.tsx b/x-pack/plugins/ml/public/application/explorer/dashboard_controls/add_swimlane_to_dashboard_controls.tsx deleted file mode 100644 index 4dcfdbf826b1..000000000000 --- a/x-pack/plugins/ml/public/application/explorer/dashboard_controls/add_swimlane_to_dashboard_controls.tsx +++ /dev/null @@ -1,144 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import React, { FC, useCallback, useState } from 'react'; -import { - EuiFormRow, - EuiInMemoryTableProps, - EuiSpacer, - EuiRadioGroup, - htmlIdGenerator, -} from '@elastic/eui'; -import { FormattedMessage } from '@kbn/i18n-react'; -import { i18n } from '@kbn/i18n'; -import { DashboardAttributes } from '@kbn/dashboard-plugin/common'; -import type { Query } from '@kbn/es-query'; -import { SEARCH_QUERY_LANGUAGE } from '@kbn/ml-query-utils'; -import { getDefaultSwimlanePanelTitle } from '../../../embeddables/anomaly_swimlane/anomaly_swimlane_embeddable'; -import { SWIMLANE_TYPE, SwimlaneType } from '../explorer_constants'; -import { JobId } from '../../../../common/types/anomaly_detection_jobs'; -import { ANOMALY_SWIMLANE_EMBEDDABLE_TYPE } from '../../../embeddables'; -import { useDashboardTable } from './use_dashboards_table'; -import { AddToDashboardControl } from './add_to_dashboard_controls'; -import { useAddToDashboardActions } from './use_add_to_dashboard_actions'; - -export interface DashboardItem { - id: string; - title: string; - description: string | undefined; - attributes: DashboardAttributes; -} - -export type EuiTableProps = EuiInMemoryTableProps; - -function getDefaultEmbeddablePanelConfig(jobIds: JobId[], queryString?: string) { - return { - title: getDefaultSwimlanePanelTitle(jobIds).concat(queryString ? `- ${queryString}` : ''), - id: htmlIdGenerator()(), - }; -} - -interface AddToDashboardControlProps { - jobIds: JobId[]; - viewBy: string; - onClose: (callback?: () => Promise) => void; - queryString?: string; -} - -/** - * Component for attaching anomaly swim lane embeddable to dashboards. - */ -export const AddSwimlaneToDashboardControl: FC = ({ - onClose, - jobIds, - viewBy, - queryString, -}) => { - const { dashboardItems, isLoading, search } = useDashboardTable(); - - const [selectedSwimlane, setSelectedSwimlane] = useState(SWIMLANE_TYPE.OVERALL); - - const getEmbeddableInput = useCallback(() => { - const config = getDefaultEmbeddablePanelConfig(jobIds, queryString); - - return { - ...config, - jobIds, - swimlaneType: selectedSwimlane, - ...(selectedSwimlane === SWIMLANE_TYPE.VIEW_BY ? { viewBy } : {}), - ...(queryString !== undefined - ? { query: { query: queryString, language: SEARCH_QUERY_LANGUAGE.KUERY } as Query } - : {}), - }; - // eslint-disable-next-line react-hooks/exhaustive-deps - }, [selectedSwimlane]); - - const { addToDashboardAndEditCallback } = useAddToDashboardActions( - ANOMALY_SWIMLANE_EMBEDDABLE_TYPE, - getEmbeddableInput - ); - - const swimlaneTypeOptions = [ - { - id: SWIMLANE_TYPE.OVERALL, - label: i18n.translate('xpack.ml.explorer.overallLabel', { - defaultMessage: 'Overall', - }), - }, - { - id: SWIMLANE_TYPE.VIEW_BY, - label: i18n.translate('xpack.ml.explorer.viewByFieldLabel', { - defaultMessage: 'View by {viewByField}', - values: { viewByField: viewBy }, - }), - }, - ]; - - const extraControls = ( - <> - - } - > - { - setSelectedSwimlane(optionId as SwimlaneType); - }} - data-test-subj="mlAddToDashboardSwimlaneTypeSelector" - /> - - - - ); - - const title = ( - - ); - - return ( - - {extraControls} - - ); -}; diff --git a/x-pack/plugins/ml/public/application/explorer/dashboard_controls/add_to_dashboard_controls.tsx b/x-pack/plugins/ml/public/application/explorer/dashboard_controls/add_to_dashboard_controls.tsx deleted file mode 100644 index d030cfc9b92b..000000000000 --- a/x-pack/plugins/ml/public/application/explorer/dashboard_controls/add_to_dashboard_controls.tsx +++ /dev/null @@ -1,125 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ -import React, { FC } from 'react'; -import { - EuiButtonEmpty, - EuiFormRow, - EuiInMemoryTable, - EuiModal, - EuiModalBody, - EuiModalFooter, - EuiModalHeader, - EuiModalHeaderTitle, -} from '@elastic/eui'; -import { i18n } from '@kbn/i18n'; -import { FormattedMessage } from '@kbn/i18n-react'; -import { DashboardItem, EuiTableProps, useDashboardTable } from './use_dashboards_table'; - -interface AddToDashboardControlProps extends ReturnType { - onClose: (callback?: () => Promise) => void; - addToDashboardAndEditCallback: (dashboardItem: DashboardItem) => Promise; - title: React.ReactNode; - disabled: boolean; - children?: React.ReactElement; -} -export const AddToDashboardControl: FC = ({ - onClose, - dashboardItems, - isLoading, - search, - addToDashboardAndEditCallback, - title, - disabled, - children, -}) => { - const columns: EuiTableProps['columns'] = [ - { - field: 'title', - name: i18n.translate('xpack.ml.explorer.dashboardsTable.titleColumnHeader', { - defaultMessage: 'Title', - }), - sortable: true, - truncateText: true, - }, - { - field: 'description', - name: i18n.translate('xpack.ml.explorer.dashboardsTable.descriptionColumnHeader', { - defaultMessage: 'Description', - }), - truncateText: true, - }, - { - field: 'description', - name: i18n.translate('xpack.ml.explorer.dashboardsTable.actionsHeader', { - defaultMessage: 'Actions', - }), - width: '80px', - actions: [ - { - name: i18n.translate('xpack.ml.explorer.dashboardsTable.editActionName', { - defaultMessage: 'Add to dashboard', - }), - description: i18n.translate('xpack.ml.explorer.dashboardsTable.editActionName', { - defaultMessage: 'Add to dashboard', - }), - icon: 'documentEdit', - type: 'icon', - enabled: () => !disabled, - onClick: async (item) => { - await addToDashboardAndEditCallback(item); - }, - 'data-test-subj': 'mlEmbeddableAddAndEditDashboard', - }, - ], - }, - ]; - - return ( - - - {title} - - - {children} - - } - data-test-subj="mlDashboardSelectionContainer" - > - ({ - 'data-test-subj': `mlDashboardSelectionTableRow row-${item.id}`, - })} - /> - - - - - - - - - ); -}; diff --git a/x-pack/plugins/ml/public/application/explorer/dashboard_controls/use_add_to_dashboard_actions.tsx b/x-pack/plugins/ml/public/application/explorer/dashboard_controls/use_add_to_dashboard_actions.tsx deleted file mode 100644 index b47dea3a5e95..000000000000 --- a/x-pack/plugins/ml/public/application/explorer/dashboard_controls/use_add_to_dashboard_actions.tsx +++ /dev/null @@ -1,55 +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 { useCallback } from 'react'; -import { DASHBOARD_APP_ID } from '@kbn/dashboard-plugin/public'; -import { DashboardItem } from './use_dashboards_table'; -import { useMlKibana } from '../../contexts/kibana'; -import { useDashboardService } from '../../services/dashboard_service'; -import { - ANOMALY_EXPLORER_CHARTS_EMBEDDABLE_TYPE, - ANOMALY_SWIMLANE_EMBEDDABLE_TYPE, - AnomalyChartsEmbeddableInput, - AnomalySwimlaneEmbeddableInput, -} from '../../../embeddables'; - -export function useAddToDashboardActions< - T extends typeof ANOMALY_SWIMLANE_EMBEDDABLE_TYPE | typeof ANOMALY_EXPLORER_CHARTS_EMBEDDABLE_TYPE ->( - type: T, - getEmbeddableInput: () => Partial< - T extends typeof ANOMALY_SWIMLANE_EMBEDDABLE_TYPE - ? AnomalySwimlaneEmbeddableInput - : AnomalyChartsEmbeddableInput - > -) { - const { - services: { embeddable }, - } = useMlKibana(); - const dashboardService = useDashboardService(); - - const addToDashboardAndEditCallback = useCallback( - async (selectedDashboard: DashboardItem) => { - const stateTransfer = embeddable.getStateTransfer(); - const selectedDashboardId = selectedDashboard.id; - - const dashboardPath = await dashboardService.getDashboardEditUrl(selectedDashboardId); - - await stateTransfer.navigateToWithEmbeddablePackage(DASHBOARD_APP_ID, { - path: dashboardPath, - state: { - type, - input: getEmbeddableInput(), - }, - }); - }, - // eslint-disable-next-line react-hooks/exhaustive-deps - [getEmbeddableInput] - ); - - return { addToDashboardAndEditCallback }; -} diff --git a/x-pack/plugins/ml/public/application/explorer/dashboard_controls/use_dashboards_table.tsx b/x-pack/plugins/ml/public/application/explorer/dashboard_controls/use_dashboards_table.tsx deleted file mode 100644 index a561164789a4..000000000000 --- a/x-pack/plugins/ml/public/application/explorer/dashboard_controls/use_dashboards_table.tsx +++ /dev/null @@ -1,82 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import type { EuiInMemoryTableProps } from '@elastic/eui'; -import { useCallback, useEffect, useMemo, useState } from 'react'; -import { debounce } from 'lodash'; -import type { DashboardAttributes } from '@kbn/dashboard-plugin/common'; -import { useDashboardService } from '../../services/dashboard_service'; -import { useMlKibana } from '../../contexts/kibana'; - -export interface DashboardItem { - id: string; - title: string; - description: string | undefined; - attributes: DashboardAttributes; -} - -export type EuiTableProps = EuiInMemoryTableProps; - -export const useDashboardTable = () => { - const { - notifications: { toasts }, - } = useMlKibana(); - - const dashboardService = useDashboardService(); - const [isLoading, setIsLoading] = useState(false); - - useEffect(() => { - fetchDashboards(); - - return () => { - fetchDashboards.cancel(); - }; - // eslint-disable-next-line react-hooks/exhaustive-deps - }, []); - - const search: EuiTableProps['search'] = useMemo(() => { - return { - onChange: ({ queryText }) => { - setIsLoading(true); - fetchDashboards(queryText); - }, - box: { - incremental: true, - 'data-test-subj': 'mlDashboardsSearchBox', - }, - }; - // eslint-disable-next-line react-hooks/exhaustive-deps - }, []); - - const [dashboardItems, setDashboardItems] = useState([]); - - // eslint-disable-next-line react-hooks/exhaustive-deps - const fetchDashboards = useCallback( - debounce(async (query?: string) => { - try { - const response = await dashboardService.fetchDashboards(query); - const items: DashboardItem[] = response.map((savedObject) => { - return { - id: savedObject.id, - title: savedObject.attributes.title, - description: savedObject.attributes.description, - attributes: savedObject.attributes, - }; - }); - setDashboardItems(items); - } catch (e) { - toasts.danger({ - body: e, - }); - } - setIsLoading(false); - }, 500), - [] - ); - - return { dashboardItems, search, isLoading }; -}; diff --git a/x-pack/plugins/ml/public/application/routing/routes/explorer.tsx b/x-pack/plugins/ml/public/application/routing/routes/explorer.tsx index 0ceb96031034..5a3e129bbfaa 100644 --- a/x-pack/plugins/ml/public/application/routing/routes/explorer.tsx +++ b/x-pack/plugins/ml/public/application/routing/routes/explorer.tsx @@ -103,7 +103,7 @@ interface ExplorerUrlStateManagerProps { const ExplorerUrlStateManager: FC = ({ jobsWithTimeRange }) => { const { - services: { cases }, + services: { cases, presentationUtil }, } = useMlKibana(); const [globalState] = useUrlState('_g'); @@ -253,6 +253,7 @@ const ExplorerUrlStateManager: FC = ({ jobsWithTim } const CasesContext = cases?.ui.getCasesContext() ?? React.Fragment; + const PresentationContextProvider = presentationUtil?.ContextProvider ?? React.Fragment; const casesPermissions = cases?.helpers.canUseCases(); @@ -277,25 +278,27 @@ const ExplorerUrlStateManager: FC = ({ jobsWithTim - {jobsWithTimeRange.length === 0 ? ( - - ) : ( - - )} + + {jobsWithTimeRange.length === 0 ? ( + + ) : ( + + )} + diff --git a/x-pack/plugins/translations/translations/fr-FR.json b/x-pack/plugins/translations/translations/fr-FR.json index 804e6f38ef41..a616405ec996 100644 --- a/x-pack/plugins/translations/translations/fr-FR.json +++ b/x-pack/plugins/translations/translations/fr-FR.json @@ -23930,17 +23930,11 @@ "xpack.ml.entityFilter.addFilterTooltip": "Ajouter un filtre", "xpack.ml.entityFilter.removeFilterTooltip": "Supprimer le filtre", "xpack.ml.logRateAnalysis.pageHeader": "Expliquer les pics de taux de log", - "xpack.ml.explorer.addToDashboard.anomalyCharts.dashboardsTitle": "Ajouter des graphiques d'anomalies aux tableaux de bord", "xpack.ml.explorer.addToDashboard.anomalyCharts.maxSeriesToPlotLabel": "Nombre maximal de séries à tracer", - "xpack.ml.explorer.addToDashboard.cancelButtonLabel": "Annuler", - "xpack.ml.explorer.addToDashboard.selectDashboardsLabel": "Sélectionner les tableaux de bord :", - "xpack.ml.explorer.addToDashboard.swimlanes.dashboardsTitle": "Ajouter un couloir à un tableau de bord", - "xpack.ml.explorer.addToDashboard.swimlanes.selectSwimlanesLabel": "Sélectionner la vue de couloir :", "xpack.ml.explorer.addToDashboardLabel": "Ajouter au tableau de bord", "xpack.ml.explorer.annotationsErrorCallOutTitle": "Une erreur s'est produite lors du chargement des annotations :", "xpack.ml.explorer.annotationsErrorTitle": "Annotations", "xpack.ml.explorer.anomalies.actionsAriaLabel": "Actions", - "xpack.ml.explorer.anomalies.actionsPopoverLabel": "Graphiques d'anomalies", "xpack.ml.explorer.anomalies.addToDashboardLabel": "Ajouter au tableau de bord", "xpack.ml.explorer.anomaliesTitle": "Anomalies", "xpack.ml.explorer.anomalyTimelinePopoverAdvancedExplanation": "Les scores d'anomalies affichés dans chaque section d'Anomaly Explorer (Explorateur d'anomalies) peuvent varier légèrement. Cette disparité s'explique par le fait que, pour chaque tâche, sont consignés les résultats de groupe, les résultats de groupe généraux, les résultats d'influenceur et les résultats d'enregistrements. Les scores d'anomalies sont générés pour chaque type de résultat. Le couloir général affiche le score maximal des groupes globaux pour chaque bloc. Lorsque vous affichez un couloir par tâche, il montre le score maximal du groupe dans chaque bloc. Lorsque vous choisissez l'affichage par influenceur, il montre le score maximal d'influenceur dans chaque bloc.", @@ -23962,10 +23956,6 @@ "xpack.ml.explorer.charts.viewInMapsLabel": "Afficher", "xpack.ml.explorer.charts.viewLabel": "Afficher", "xpack.ml.explorer.clearSelectionLabel": "Effacer la sélection", - "xpack.ml.explorer.dashboardsTable.actionsHeader": "Actions", - "xpack.ml.explorer.dashboardsTable.descriptionColumnHeader": "Description", - "xpack.ml.explorer.dashboardsTable.editActionName": "Ajouter au tableau de bord", - "xpack.ml.explorer.dashboardsTable.titleColumnHeader": "Titre", "xpack.ml.explorer.distributionChart.anomalyScoreLabel": "score d'anomalies", "xpack.ml.explorer.distributionChart.entityLabel": "entité", "xpack.ml.explorer.distributionChart.typicalLabel": "typique", diff --git a/x-pack/plugins/translations/translations/ja-JP.json b/x-pack/plugins/translations/translations/ja-JP.json index 93352cb7778a..6bbd368931a1 100644 --- a/x-pack/plugins/translations/translations/ja-JP.json +++ b/x-pack/plugins/translations/translations/ja-JP.json @@ -23930,17 +23930,11 @@ "xpack.ml.entityFilter.addFilterTooltip": "フィルターを追加します", "xpack.ml.entityFilter.removeFilterTooltip": "フィルターを削除", "xpack.ml.logRateAnalysis.pageHeader": "ログレートスパイクを説明", - "xpack.ml.explorer.addToDashboard.anomalyCharts.dashboardsTitle": "異常グラフをダッシュボードに追加", "xpack.ml.explorer.addToDashboard.anomalyCharts.maxSeriesToPlotLabel": "プロットする最大系列数", - "xpack.ml.explorer.addToDashboard.cancelButtonLabel": "キャンセル", - "xpack.ml.explorer.addToDashboard.selectDashboardsLabel": "ダッシュボードを選択:", - "xpack.ml.explorer.addToDashboard.swimlanes.dashboardsTitle": "スイムレーンをダッシュボードに追加", - "xpack.ml.explorer.addToDashboard.swimlanes.selectSwimlanesLabel": "スイムレーンビューを選択:", "xpack.ml.explorer.addToDashboardLabel": "ダッシュボードに追加", "xpack.ml.explorer.annotationsErrorCallOutTitle": "注釈の読み込み中にエラーが発生しました。", "xpack.ml.explorer.annotationsErrorTitle": "注釈", "xpack.ml.explorer.anomalies.actionsAriaLabel": "アクション", - "xpack.ml.explorer.anomalies.actionsPopoverLabel": "異常グラフ", "xpack.ml.explorer.anomalies.addToDashboardLabel": "ダッシュボードに追加", "xpack.ml.explorer.anomaliesTitle": "異常", "xpack.ml.explorer.anomalyTimelinePopoverAdvancedExplanation": "異常エクスプローラーの各セクションに表示される異常スコアは少し異なる場合があります。各ジョブではバケット結果、全体的なバケット結果、影響因子結果、レコード結果があるため、このような不一致が発生します。各タイプの結果の異常スコアが生成されます。全体的なスイムレーンは、各ブロックの最大全体バケットスコアの最大値を示します。ジョブでスイムレーンを表示するときには、各ブロックに最大バケットスコアが表示されます。影響因子別に表示するときには、各ブロックに最大影響因子スコアが表示されます。", @@ -23962,10 +23956,6 @@ "xpack.ml.explorer.charts.viewInMapsLabel": "表示", "xpack.ml.explorer.charts.viewLabel": "表示", "xpack.ml.explorer.clearSelectionLabel": "選択した項目をクリア", - "xpack.ml.explorer.dashboardsTable.actionsHeader": "アクション", - "xpack.ml.explorer.dashboardsTable.descriptionColumnHeader": "説明", - "xpack.ml.explorer.dashboardsTable.editActionName": "ダッシュボードに追加", - "xpack.ml.explorer.dashboardsTable.titleColumnHeader": "タイトル", "xpack.ml.explorer.distributionChart.anomalyScoreLabel": "異常スコア", "xpack.ml.explorer.distributionChart.entityLabel": "エンティティ", "xpack.ml.explorer.distributionChart.typicalLabel": "通常", diff --git a/x-pack/plugins/translations/translations/zh-CN.json b/x-pack/plugins/translations/translations/zh-CN.json index 78e6f5b54c60..4481e1ff94d3 100644 --- a/x-pack/plugins/translations/translations/zh-CN.json +++ b/x-pack/plugins/translations/translations/zh-CN.json @@ -23929,17 +23929,11 @@ "xpack.ml.entityFilter.addFilterTooltip": "添加筛选", "xpack.ml.entityFilter.removeFilterTooltip": "移除筛选", "xpack.ml.logRateAnalysis.pageHeader": "解释日志速率峰值", - "xpack.ml.explorer.addToDashboard.anomalyCharts.dashboardsTitle": "将异常图表添加到仪表板", "xpack.ml.explorer.addToDashboard.anomalyCharts.maxSeriesToPlotLabel": "要绘制的最大序列数目", - "xpack.ml.explorer.addToDashboard.cancelButtonLabel": "取消", - "xpack.ml.explorer.addToDashboard.selectDashboardsLabel": "选择仪表板:", - "xpack.ml.explorer.addToDashboard.swimlanes.dashboardsTitle": "将泳道添加到仪表板", - "xpack.ml.explorer.addToDashboard.swimlanes.selectSwimlanesLabel": "选择泳道视图:", "xpack.ml.explorer.addToDashboardLabel": "添加到仪表板", "xpack.ml.explorer.annotationsErrorCallOutTitle": "加载注释时发生错误:", "xpack.ml.explorer.annotationsErrorTitle": "标注", "xpack.ml.explorer.anomalies.actionsAriaLabel": "操作", - "xpack.ml.explorer.anomalies.actionsPopoverLabel": "异常图表", "xpack.ml.explorer.anomalies.addToDashboardLabel": "添加到仪表板", "xpack.ml.explorer.anomaliesTitle": "异常", "xpack.ml.explorer.anomalyTimelinePopoverAdvancedExplanation": "在 Anomaly Explorer 的每个部分中看到的异常分数可能略微不同。这种差异之所以发生,是因为每个作业都有存储桶结果、总体存储桶结果、影响因素结果和记录结果。每个结果类型都会生成异常分数。总体泳道显示每个块的最大总体存储桶分数。按作业查看泳道时,其在每个块中显示最大存储桶分数。按影响因素查看泳道时,其在每个块中显示最大影响因素分数。", @@ -23961,10 +23955,6 @@ "xpack.ml.explorer.charts.viewInMapsLabel": "查看", "xpack.ml.explorer.charts.viewLabel": "查看", "xpack.ml.explorer.clearSelectionLabel": "清除所选内容", - "xpack.ml.explorer.dashboardsTable.actionsHeader": "操作", - "xpack.ml.explorer.dashboardsTable.descriptionColumnHeader": "描述", - "xpack.ml.explorer.dashboardsTable.editActionName": "添加到仪表板", - "xpack.ml.explorer.dashboardsTable.titleColumnHeader": "标题", "xpack.ml.explorer.distributionChart.anomalyScoreLabel": "异常分数", "xpack.ml.explorer.distributionChart.entityLabel": "实体", "xpack.ml.explorer.distributionChart.typicalLabel": "典型", diff --git a/x-pack/test/functional/services/ml/anomaly_explorer.ts b/x-pack/test/functional/services/ml/anomaly_explorer.ts index b3353556b1cc..cb183eee0c54 100644 --- a/x-pack/test/functional/services/ml/anomaly_explorer.ts +++ b/x-pack/test/functional/services/ml/anomaly_explorer.ts @@ -112,10 +112,15 @@ export function MachineLearningAnomalyExplorerProvider( await testSubjects.click(`mlAnomaliesTableEntityCellRemoveFilterButton-${influencerValue}`); }, - async openAddToDashboardControl() { + async openAddToDashboardControl(swimLaneType: SwimlaneType = 'overall') { await testSubjects.click('mlAnomalyTimelinePanelMenu'); await testSubjects.click('mlAnomalyTimelinePanelAddToDashboardButton'); - await testSubjects.existOrFail('mlAddToDashboardModal'); + if (swimLaneType === 'overall') { + await testSubjects.click('mlAnomalyTimelinePanelAddOverallToDashboardButton'); + } else { + await testSubjects.click('mlAnomalyTimelinePanelAddViewByToDashboardButton'); + } + await testSubjects.existOrFail('savedObjectSaveModal'); }, async attachSwimLaneToCase(swimLaneType: SwimlaneType = 'overall', params: CreateCaseParams) { @@ -132,14 +137,24 @@ export function MachineLearningAnomalyExplorerProvider( async addAndEditSwimlaneInDashboard(dashboardTitle: string) { await retry.tryForTime(30 * 1000, async () => { - await this.filterDashboardSearchWithSearchString(dashboardTitle); - await testSubjects.clickWhenNotDisabledWithoutRetry('~mlEmbeddableAddAndEditDashboard'); + const dashboardSelector = await testSubjects.find('add-to-dashboard-options'); + const label = await dashboardSelector.findByCssSelector( + `label[for="new-dashboard-option"]` + ); + await label.click(); + await testSubjects.click('confirmSaveSavedObjectButton'); + await retry.waitForWithTimeout('Save modal to disappear', 1000, () => + testSubjects + .missingOrFail('confirmSaveSavedObjectButton') + .then(() => true) + .catch(() => false) + ); // make sure the dashboard page actually loaded const dashboardItemCount = await dashboardPage.getSharedItemsCount(); expect(dashboardItemCount).to.not.eql(undefined); }); - // changing to the dashboard app might take sime time + // changing to the dashboard app might take some time const embeddable = await testSubjects.find('mlAnomalySwimlaneEmbeddableWrapper', 30 * 1000); const swimlane = await embeddable.findByClassName('mlSwimLaneContainer'); expect(await swimlane.isDisplayed()).to.eql( @@ -156,23 +171,6 @@ export function MachineLearningAnomalyExplorerProvider( await testSubjects.existOrFail('mlDashboardSelectionTable loaded', { timeout: 60 * 1000 }); }, - async filterDashboardSearchWithSearchString(filter: string, expectedRowCount: number = 1) { - await retry.tryForTime(20 * 1000, async () => { - await this.waitForDashboardsToLoad(); - const searchBarInput = await testSubjects.find('mlDashboardsSearchBox'); - await searchBarInput.clearValueWithKeyboard(); - await searchBarInput.type(filter); - await this.assertDashboardSearchInputValue(filter); - await this.waitForDashboardsToLoad(); - - const dashboardRows = await testSubjects.findAll('~mlDashboardSelectionTableRow', 2000); - expect(dashboardRows.length).to.eql( - expectedRowCount, - `Dashboard table should have ${expectedRowCount} rows, got ${dashboardRows.length}` - ); - }); - }, - async assertDashboardSearchInputValue(expectedSearchValue: string) { const searchBarInput = await testSubjects.find('mlDashboardsSearchBox'); const actualSearchValue = await searchBarInput.getAttribute('value'); @@ -232,6 +230,7 @@ export function MachineLearningAnomalyExplorerProvider( async attachAnomalyChartsToCase(params: CreateCaseParams) { await testSubjects.click('mlExplorerAnomalyPanelMenu'); await testSubjects.click('mlAnomalyAttachChartsToCasesButton'); + await testSubjects.click('mlAnomalyChartsSubmitAttachment'); await cases.create.createCaseFromModal(params); }, From 9a0c51c799e95986088774c9321da75708590e15 Mon Sep 17 00:00:00 2001 From: christineweng <18648970+christineweng@users.noreply.github.com> Date: Thu, 7 Sep 2023 11:28:36 -0500 Subject: [PATCH 20/57] [Security Solution] Expandable flyout - update response empty message (#165791) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## Summary This PR updates copy writing of response section when no action is specified: Expand an alert in alerts table: -> in expandable flyout, right section -> Response, empty message is updated to > There are no response actions defined for this event. -> in the expanded section, Response tab, empty message is updated to > There are no response actions defined for this event. To add some, edit the rule’s settings and set up [response actions](https://www.elastic.co/guide/en/security/current/rules-ui-create.html#rule-response-action). ### Checklist - [x] Any text added follows [EUI's writing guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses sentence case text and includes [i18n support](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/README.md) Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- .../public/flyout/left/components/response_details.tsx | 10 +++++----- .../public/flyout/right/components/translations.ts | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/x-pack/plugins/security_solution/public/flyout/left/components/response_details.tsx b/x-pack/plugins/security_solution/public/flyout/left/components/response_details.tsx index 6281a34e0d78..03e16c0118cf 100644 --- a/x-pack/plugins/security_solution/public/flyout/left/components/response_details.tsx +++ b/x-pack/plugins/security_solution/public/flyout/left/components/response_details.tsx @@ -65,16 +65,16 @@ export const ResponseDetails: React.FC = () => { ), diff --git a/x-pack/plugins/security_solution/public/flyout/right/components/translations.ts b/x-pack/plugins/security_solution/public/flyout/right/components/translations.ts index f623d4ee2f7d..ea83a8f3a1a2 100644 --- a/x-pack/plugins/security_solution/public/flyout/right/components/translations.ts +++ b/x-pack/plugins/security_solution/public/flyout/right/components/translations.ts @@ -284,7 +284,7 @@ export const RESPONSE_TITLE = i18n.translate( ); export const RESPONSE_EMPTY = i18n.translate('xpack.securitySolution.flyout.response.empty', { - defaultMessage: 'This alert did not generate an external notification.', + defaultMessage: 'There are no response actions defined for this event.', }); export const TECHNICAL_PREVIEW_TITLE = i18n.translate( From 0fec05e8694b966112eec0d4e3f3fdfa1c970f00 Mon Sep 17 00:00:00 2001 From: Maryam Saeidi Date: Thu, 7 Sep 2023 18:56:05 +0200 Subject: [PATCH 21/57] Replace the KQL filter with the Unified Search Bar in the custom threshold rule (#165458) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Closes #165195, partially implements #163819 ## Summary This PR replaces the KQL filter with the Unified Search Bar in the custom threshold rule. Also, it saves the query in the searchConfiguration instead of a separate field. Also, it shows a message that the filter query is invalid: ## 🧪 How to test - Create a custom threshold rule and add a filter - Make sure the filter is applied correctly on the generated alerts - Check the saved object for the rule, you should not see the filterQuery field anymore, and instead, the query should be in the searchConfiguration field - Edit the rule and add an invalid input, you should see an error message, and you should not be able to save the rule --- .../components/alert_details_app_section.tsx | 15 +-- .../threshold/components/validation.tsx | 12 +- .../threshold/mocks/metric_threshold_rule.ts | 8 +- .../threshold_rule_expression.test.tsx | 13 +- .../threshold/threshold_rule_expression.tsx | 126 ++++++++++++------ .../public/components/threshold/types.ts | 2 + .../observability/public/plugin.mock.tsx | 2 + .../lib/rules/threshold/lib/evaluate_rule.ts | 14 +- .../threshold/register_threshold_rule_type.ts | 14 +- .../lib/rules/threshold/threshold_executor.ts | 16 ++- .../server/lib/rules/threshold/types.ts | 12 ++ .../translations/translations/fr-FR.json | 1 - .../translations/translations/ja-JP.json | 1 - .../translations/translations/zh-CN.json | 1 - 14 files changed, 145 insertions(+), 92 deletions(-) diff --git a/x-pack/plugins/observability/public/components/threshold/components/alert_details_app_section.tsx b/x-pack/plugins/observability/public/components/threshold/components/alert_details_app_section.tsx index cd5915eb3ef0..7498e7c0e8d6 100644 --- a/x-pack/plugins/observability/public/components/threshold/components/alert_details_app_section.tsx +++ b/x-pack/plugins/observability/public/components/threshold/components/alert_details_app_section.tsx @@ -5,11 +5,11 @@ * 2.0. */ -import { DataViewBase } from '@kbn/es-query'; +import moment from 'moment'; +import React, { useEffect, useMemo } from 'react'; +import { DataViewBase, Query } from '@kbn/es-query'; import { i18n } from '@kbn/i18n'; import { FormattedMessage } from '@kbn/i18n-react'; -import React, { useEffect, useMemo } from 'react'; -import moment from 'moment'; import { EuiFlexGroup, EuiFlexItem, @@ -39,12 +39,7 @@ import { MetricsExplorerChartType } from '../hooks/use_metrics_explorer_options' import { MetricThresholdRuleTypeParams } from '../types'; // TODO Use a generic props for app sections https://github.com/elastic/kibana/issues/152690 -export type MetricThresholdRule = Rule< - MetricThresholdRuleTypeParams & { - filterQuery?: string; - groupBy?: string | string[]; - } ->; +export type MetricThresholdRule = Rule; export type MetricThresholdAlert = TopAlert; const DEFAULT_DATE_FORMAT = 'YYYY-MM-DD HH:mm'; @@ -163,7 +158,7 @@ export default function AlertDetailsAppSection({ chartType={MetricsExplorerChartType.line} derivedIndexPattern={derivedIndexPattern} expression={criterion} - filterQuery={rule.params.filterQuery} + filterQuery={(rule.params.searchConfiguration?.query as Query)?.query as string} groupBy={rule.params.groupBy} hideTitle timeRange={timeRange} diff --git a/x-pack/plugins/observability/public/components/threshold/components/validation.tsx b/x-pack/plugins/observability/public/components/threshold/components/validation.tsx index 8917e8dac2f3..4f5c818d7943 100644 --- a/x-pack/plugins/observability/public/components/threshold/components/validation.tsx +++ b/x-pack/plugins/observability/public/components/threshold/components/validation.tsx @@ -5,7 +5,7 @@ * 2.0. */ -import { SerializedSearchSourceFields } from '@kbn/data-plugin/common'; +import { Query, SerializedSearchSourceFields } from '@kbn/data-plugin/common'; import { buildEsQuery, fromKueryExpression } from '@kbn/es-query'; import { i18n } from '@kbn/i18n'; import { ValidationResult } from '@kbn/triggers-actions-ui-plugin/public'; @@ -28,11 +28,9 @@ const isCustomMetricExpressionParams = ( export function validateMetricThreshold({ criteria, searchConfiguration, - filterQuery, }: { criteria: MetricExpressionParams[]; searchConfiguration: SerializedSearchSourceFields; - filterQuery?: string; }): ValidationResult { const validationResult = { errors: {} }; const errors: { @@ -67,9 +65,13 @@ export function validateMetricThreshold({ ]; } - if (filterQuery) { + if (searchConfiguration && searchConfiguration.query) { try { - buildEsQuery(undefined, [{ query: filterQuery, language: 'kuery' }], []); + buildEsQuery( + undefined, + [{ query: (searchConfiguration.query as Query).query, language: 'kuery' }], + [] + ); } catch (e) { errors.filterQuery = [ i18n.translate('xpack.observability.threshold.rule.alertFlyout.error.invalidFilterQuery', { diff --git a/x-pack/plugins/observability/public/components/threshold/mocks/metric_threshold_rule.ts b/x-pack/plugins/observability/public/components/threshold/mocks/metric_threshold_rule.ts index 98f20b455267..478d27484df0 100644 --- a/x-pack/plugins/observability/public/components/threshold/mocks/metric_threshold_rule.ts +++ b/x-pack/plugins/observability/public/components/threshold/mocks/metric_threshold_rule.ts @@ -84,7 +84,13 @@ export const buildMetricThresholdRule = ( metric: 'system.memory.used.pct', }, ], - filterQuery: 'host.hostname: Users-System.local and service.type: system', + searchConfiguration: { + query: { + query: 'host.hostname: Users-System.local and service.type: system', + language: 'kuery', + }, + index: 'mockedIndex', + }, groupBy: ['host.hostname'], }, monitoring: { diff --git a/x-pack/plugins/observability/public/components/threshold/threshold_rule_expression.test.tsx b/x-pack/plugins/observability/public/components/threshold/threshold_rule_expression.test.tsx index 9a4091ee1ca2..e81e695f8cef 100644 --- a/x-pack/plugins/observability/public/components/threshold/threshold_rule_expression.test.tsx +++ b/x-pack/plugins/observability/public/components/threshold/threshold_rule_expression.test.tsx @@ -44,9 +44,14 @@ describe('Expression', () => { const ruleParams = { criteria: [], groupBy: undefined, - filterQuery: '', sourceId: 'default', - searchConfiguration: {}, + searchConfiguration: { + index: 'mockedIndex', + query: { + query: '', + language: 'kuery', + }, + }, }; const wrapper = mountWithIntl( @@ -90,7 +95,7 @@ describe('Expression', () => { }; const { ruleParams } = await setup(currentOptions); expect(ruleParams.groupBy).toBe('host.hostname'); - expect(ruleParams.filterQuery).toBe('foo'); + expect(ruleParams.searchConfiguration.query.query).toBe('foo'); expect(ruleParams.criteria).toEqual([ { metric: 'system.load.1', @@ -114,7 +119,6 @@ describe('Expression', () => { it('should show an error message when searchSource throws an error', async () => { const currentOptions = { groupBy: 'host.hostname', - filterQuery: 'foo', metrics: [ { aggregation: 'avg', field: 'system.load.1' }, { aggregation: 'cardinality', field: 'system.cpu.user.pct' }, @@ -154,7 +158,6 @@ describe('Expression', () => { it('should show no timestamp error when selected data view does not have a timeField', async () => { const currentOptions = { groupBy: 'host.hostname', - filterQuery: 'foo', metrics: [ { aggregation: 'avg', field: 'system.load.1' }, { aggregation: 'cardinality', field: 'system.cpu.user.pct' }, diff --git a/x-pack/plugins/observability/public/components/threshold/threshold_rule_expression.tsx b/x-pack/plugins/observability/public/components/threshold/threshold_rule_expression.tsx index a34f52686077..1e2586514729 100644 --- a/x-pack/plugins/observability/public/components/threshold/threshold_rule_expression.tsx +++ b/x-pack/plugins/observability/public/components/threshold/threshold_rule_expression.tsx @@ -22,7 +22,7 @@ import { EuiTitle, EuiToolTip, } from '@elastic/eui'; -import { ISearchSource } from '@kbn/data-plugin/common'; +import { ISearchSource, Query } from '@kbn/data-plugin/common'; import { DataView } from '@kbn/data-views-plugin/common'; import { DataViewBase } from '@kbn/es-query'; import { DataViewSelectPopover } from '@kbn/stack-alerts-plugin/public'; @@ -41,7 +41,6 @@ import { TimeUnitChar } from '../../../common/utils/formatters/duration'; import { AlertContextMeta, AlertParams, MetricExpression } from './types'; import { ExpressionChart } from './components/expression_chart'; import { ExpressionRow } from './components/expression_row'; -import { RuleFlyoutKueryBar } from '../rule_kql_filter/kuery_bar'; import { MetricsExplorerGroupBy } from './components/group_by'; import { MetricsExplorerOptions } from './hooks/use_metrics_explorer_options'; @@ -63,7 +62,15 @@ export const defaultExpression = { // eslint-disable-next-line import/no-default-export export default function Expressions(props: Props) { const { setRuleParams, ruleParams, errors, metadata, onChangeMetaData } = props; - const { data, dataViews, dataViewEditor, docLinks } = useKibana().services; + const { + data, + dataViews, + dataViewEditor, + docLinks, + unifiedSearch: { + ui: { SearchBar }, + }, + } = useKibana().services; const [timeSize, setTimeSize] = useState(1); const [timeUnit, setTimeUnit] = useState('m'); @@ -83,7 +90,7 @@ export default function Expressions(props: Props) { const initSearchSource = async () => { let initialSearchConfiguration = ruleParams.searchConfiguration; - if (!ruleParams.searchConfiguration) { + if (!ruleParams.searchConfiguration || !ruleParams.searchConfiguration.index) { const newSearchSource = data.search.searchSource.createEmpty(); newSearchSource.setField('query', data.query.queryString.getDefaultQuery()); const defaultDataView = await data.dataViews.getDefaultDataView(); @@ -98,7 +105,12 @@ export default function Expressions(props: Props) { const createdSearchSource = await data.search.searchSource.create( initialSearchConfiguration ); - setRuleParams('searchConfiguration', initialSearchConfiguration); + setRuleParams('searchConfiguration', { + ...initialSearchConfiguration, + ...(ruleParams.searchConfiguration?.query && { + query: ruleParams.searchConfiguration.query, + }), + }); setSearchSource(createdSearchSource); setDataView(createdSearchSource.getField('index')); @@ -129,6 +141,30 @@ export default function Expressions(props: Props) { // eslint-disable-next-line react-hooks/exhaustive-deps }, [data.search.searchSource, data.dataViews, dataView]); + useEffect(() => { + if (ruleParams.criteria && ruleParams.criteria.length) { + setTimeSize(ruleParams.criteria[0].timeSize); + setTimeUnit(ruleParams.criteria[0].timeUnit); + } else { + preFillAlertCriteria(); + } + + if (!ruleParams.filterQuery) { + preFillAlertFilter(); + } + + if (!ruleParams.groupBy) { + preFillAlertGroupBy(); + } + + if (typeof ruleParams.alertOnNoData === 'undefined') { + setRuleParams('alertOnNoData', true); + } + if (typeof ruleParams.alertOnGroupDisappear === 'undefined') { + setRuleParams('alertOnGroupDisappear', true); + } + }, [metadata]); // eslint-disable-line react-hooks/exhaustive-deps + const options = useMemo(() => { if (metadata?.currentOptions?.metrics) { return metadata.currentOptions as MetricsExplorerOptions; @@ -189,10 +225,10 @@ export default function Expressions(props: Props) { ); const onFilterChange = useCallback( - (filter: any) => { - setRuleParams('filterQuery', filter); + ({ query }: { query?: Query }) => { + setRuleParams('searchConfiguration', { ...ruleParams.searchConfiguration, query }); }, - [setRuleParams] + [setRuleParams, ruleParams.searchConfiguration] ); /* eslint-disable-next-line react-hooks/exhaustive-deps */ @@ -262,15 +298,27 @@ export default function Expressions(props: Props) { const preFillAlertFilter = useCallback(() => { const md = metadata; if (md && md.currentOptions?.filterQuery) { - setRuleParams('filterQuery', md.currentOptions.filterQuery); + setRuleParams('searchConfiguration', { + ...ruleParams.searchConfiguration, + query: { + query: md.currentOptions.filterQuery, + language: 'kuery', + }, + }); } else if (md && md.currentOptions?.groupBy && md.series) { const { groupBy } = md.currentOptions; - const filter = Array.isArray(groupBy) + const query = Array.isArray(groupBy) ? groupBy.map((field, index) => `${field}: "${md.series?.keys?.[index]}"`).join(' and ') : `${groupBy}: "${md.series.id}"`; - setRuleParams('filterQuery', filter); + setRuleParams('searchConfiguration', { + ...ruleParams.searchConfiguration, + query: { + query, + language: 'kuery', + }, + }); } - }, [metadata, setRuleParams]); + }, [metadata, setRuleParams, ruleParams.searchConfiguration]); const preFillAlertGroupBy = useCallback(() => { const md = metadata; @@ -279,30 +327,6 @@ export default function Expressions(props: Props) { } }, [metadata, setRuleParams]); - useEffect(() => { - if (ruleParams.criteria && ruleParams.criteria.length) { - setTimeSize(ruleParams.criteria[0].timeSize); - setTimeUnit(ruleParams.criteria[0].timeUnit); - } else { - preFillAlertCriteria(); - } - - if (!ruleParams.filterQuery) { - preFillAlertFilter(); - } - - if (!ruleParams.groupBy) { - preFillAlertGroupBy(); - } - - if (typeof ruleParams.alertOnNoData === 'undefined') { - setRuleParams('alertOnNoData', true); - } - if (typeof ruleParams.alertOnGroupDisappear === 'undefined') { - setRuleParams('alertOnGroupDisappear', true); - } - }, [metadata]); // eslint-disable-line react-hooks/exhaustive-deps - const hasGroupBy = useMemo( () => ruleParams.groupBy && ruleParams.groupBy.length > 0, [ruleParams.groupBy] @@ -358,9 +382,9 @@ export default function Expressions(props: Props) { } const placeHolder = i18n.translate( - 'xpack.observability.threshold.rule.homePage.toolbar.kqlSearchFieldPlaceholder', + 'xpack.observability.threshold.rule.alertFlyout.searchBar.placeholder', { - defaultMessage: 'Search for infrastructure data… (e.g. host.name:host-1)', + defaultMessage: 'Search for observability data… (e.g. host.name:host-1)', } ); @@ -399,13 +423,27 @@ export default function Expressions(props: Props) { - + {errors.filterQuery && ( + + {errors.filterQuery} + + )}
@@ -447,7 +485,7 @@ export default function Expressions(props: Props) { diff --git a/x-pack/plugins/observability/public/components/threshold/types.ts b/x-pack/plugins/observability/public/components/threshold/types.ts index 92d64ab2378b..6336c3f29267 100644 --- a/x-pack/plugins/observability/public/components/threshold/types.ts +++ b/x-pack/plugins/observability/public/components/threshold/types.ts @@ -175,4 +175,6 @@ export interface InventoryMetricConditions { export interface MetricThresholdRuleTypeParams extends RuleTypeParams { criteria: MetricExpressionParams[]; + searchConfiguration: SerializedSearchSourceFields; + groupBy?: string | string[]; } diff --git a/x-pack/plugins/observability/public/plugin.mock.tsx b/x-pack/plugins/observability/public/plugin.mock.tsx index e30d5254e7a0..be663d15e444 100644 --- a/x-pack/plugins/observability/public/plugin.mock.tsx +++ b/x-pack/plugins/observability/public/plugin.mock.tsx @@ -9,6 +9,7 @@ import { mockCasesContract } from '@kbn/cases-plugin/public/mocks'; import { chartPluginMock } from '@kbn/charts-plugin/public/mocks'; import { dataPluginMock } from '@kbn/data-plugin/public/mocks'; import { contentManagementMock } from '@kbn/content-management-plugin/public/mocks'; +import { unifiedSearchPluginMock } from '@kbn/unified-search-plugin/public/mocks'; const triggersActionsUiStartMock = { createStart() { @@ -102,6 +103,7 @@ export const observabilityPublicPluginsStartMock = { dataViewEditor: dataViewEditor.createStart(), lens: null, discover: null, + unifiedSearch: unifiedSearchPluginMock.createStartContract(), }; }, }; diff --git a/x-pack/plugins/observability/server/lib/rules/threshold/lib/evaluate_rule.ts b/x-pack/plugins/observability/server/lib/rules/threshold/lib/evaluate_rule.ts index 630051505961..31b86eb73bee 100644 --- a/x-pack/plugins/observability/server/lib/rules/threshold/lib/evaluate_rule.ts +++ b/x-pack/plugins/observability/server/lib/rules/threshold/lib/evaluate_rule.ts @@ -5,22 +5,22 @@ * 2.0. */ -import { ElasticsearchClient } from '@kbn/core/server'; import moment from 'moment'; +import { ElasticsearchClient } from '@kbn/core/server'; import type { Logger } from '@kbn/logging'; import { MetricExpressionParams } from '../../../../../common/threshold_rule/types'; import { isCustom } from './metric_expression_params'; -import { getIntervalInSeconds } from '../utils'; +import { AdditionalContext, getIntervalInSeconds } from '../utils'; +import { SearchConfigurationType } from '../threshold_executor'; import { CUSTOM_EQUATION_I18N, DOCUMENT_COUNT_I18N } from '../messages'; import { createTimerange } from './create_timerange'; import { getData } from './get_data'; import { checkMissingGroups, MissingGroupsRecord } from './check_missing_group'; -import { AdditionalContext } from '../utils'; export interface EvaluatedRuleParams { criteria: MetricExpressionParams[]; groupBy: string | undefined | string[]; - filterQuery?: string; + searchConfiguration: SearchConfigurationType; } export type Evaluation = Omit & { @@ -46,7 +46,7 @@ export const evaluateRule = async >> => { - const { criteria, groupBy, filterQuery } = params; + const { criteria, groupBy, searchConfiguration } = params; return Promise.all( criteria.map(async (criterion) => { @@ -66,7 +66,7 @@ export const evaluateRule = async ; export type MetricThresholdRuleParams = Record; export type MetricThresholdRuleTypeState = RuleTypeState & { lastRunTimestamp?: number; missingGroups?: Array; groupBy?: string | string[]; + searchConfiguration?: SearchConfigurationType; }; export type MetricThresholdAlertState = AlertState; // no specific instance state used @@ -156,10 +159,13 @@ export const createMetricThresholdExecutor = ({ // For backwards-compatibility, interpret undefined alertOnGroupDisappear as true const alertOnGroupDisappear = _alertOnGroupDisappear !== false; const compositeSize = config.thresholdRule.groupByPageSize; - const filterQueryIsSame = isEqual(state.filterQuery, params.filterQuery); + const queryIsSame = isEqual( + state.searchConfiguration?.query.query, + params.searchConfiguration.query.query + ); const groupByIsSame = isEqual(state.groupBy, params.groupBy); const previousMissingGroups = - alertOnGroupDisappear && filterQueryIsSame && groupByIsSame && state.missingGroups + alertOnGroupDisappear && queryIsSame && groupByIsSame && state.missingGroups ? state.missingGroups : []; @@ -356,7 +362,7 @@ export const createMetricThresholdExecutor = ({ lastRunTimestamp: startedAt.valueOf(), missingGroups: [...nextMissingGroups], groupBy: params.groupBy, - filterQuery: params.filterQuery, + searchConfiguration: params.searchConfiguration, }, }; }; diff --git a/x-pack/plugins/observability/server/lib/rules/threshold/types.ts b/x-pack/plugins/observability/server/lib/rules/threshold/types.ts index d98a59bd50b9..40115fdeb9c8 100644 --- a/x-pack/plugins/observability/server/lib/rules/threshold/types.ts +++ b/x-pack/plugins/observability/server/lib/rules/threshold/types.ts @@ -4,8 +4,10 @@ * 2.0; you may not use this file except in compliance with the Elastic License * 2.0. */ +import { schema } from '@kbn/config-schema'; import * as rt from 'io-ts'; import { ML_ANOMALY_THRESHOLD } from '@kbn/ml-anomaly-utils/anomaly_threshold'; +import { validateKQLStringFilter } from './utils'; import { Aggregators, Comparator } from '../../../../common/threshold_rule/types'; import { TimeUnitChar } from '../../../../common'; @@ -71,3 +73,13 @@ export interface AlertExecutionDetails { alertId: string; executionId: string; } + +export const searchConfigurationSchema = schema.object({ + index: schema.string(), + query: schema.object({ + language: schema.string({ + validate: validateKQLStringFilter, + }), + query: schema.string(), + }), +}); diff --git a/x-pack/plugins/translations/translations/fr-FR.json b/x-pack/plugins/translations/translations/fr-FR.json index a616405ec996..29fd5965bf44 100644 --- a/x-pack/plugins/translations/translations/fr-FR.json +++ b/x-pack/plugins/translations/translations/fr-FR.json @@ -27683,7 +27683,6 @@ "xpack.observability.threshold.rule.createInventoryRuleButton": "Créer une règle d'inventaire", "xpack.observability.threshold.rule.createThresholdRuleButton": "Créer une règle de seuil", "xpack.observability.threshold.rule.groupByKeysActionVariableDescription": "Objet contenant les groupes qui fournissent les données", - "xpack.observability.threshold.rule.homePage.toolbar.kqlSearchFieldPlaceholder": "Rechercher des données d'infrastructure… (par exemple host.name:host-1)", "xpack.observability.threshold.rule.hostActionVariableDescription": "Objet hôte défini par ECS s'il est disponible dans la source.", "xpack.observability.threshold.rule.infrastructureDropdownMenu": "Infrastructure", "xpack.observability.threshold.rule.infrastructureDropdownTitle": "Règles d'infrastructure", diff --git a/x-pack/plugins/translations/translations/ja-JP.json b/x-pack/plugins/translations/translations/ja-JP.json index 6bbd368931a1..7c8ed5b0a581 100644 --- a/x-pack/plugins/translations/translations/ja-JP.json +++ b/x-pack/plugins/translations/translations/ja-JP.json @@ -27683,7 +27683,6 @@ "xpack.observability.threshold.rule.createInventoryRuleButton": "インベントリルールの作成", "xpack.observability.threshold.rule.createThresholdRuleButton": "しきい値ルールを作成", "xpack.observability.threshold.rule.groupByKeysActionVariableDescription": "データを報告しているグループを含むオブジェクト", - "xpack.observability.threshold.rule.homePage.toolbar.kqlSearchFieldPlaceholder": "インフラストラクチャーデータを検索…(例:host.name:host-1)", "xpack.observability.threshold.rule.hostActionVariableDescription": "ソースで使用可能な場合に、ECSで定義されたホストオブジェクト。", "xpack.observability.threshold.rule.infrastructureDropdownMenu": "インフラストラクチャー", "xpack.observability.threshold.rule.infrastructureDropdownTitle": "インフラストラクチャールール", diff --git a/x-pack/plugins/translations/translations/zh-CN.json b/x-pack/plugins/translations/translations/zh-CN.json index 4481e1ff94d3..b4899f5bd0b4 100644 --- a/x-pack/plugins/translations/translations/zh-CN.json +++ b/x-pack/plugins/translations/translations/zh-CN.json @@ -27681,7 +27681,6 @@ "xpack.observability.threshold.rule.createInventoryRuleButton": "创建库存规则", "xpack.observability.threshold.rule.createThresholdRuleButton": "创建阈值规则", "xpack.observability.threshold.rule.groupByKeysActionVariableDescription": "包含正报告数据的组的对象", - "xpack.observability.threshold.rule.homePage.toolbar.kqlSearchFieldPlaceholder": "搜索基础设施数据……(例如 host.name:host-1)", "xpack.observability.threshold.rule.hostActionVariableDescription": "ECS 定义的主机对象(如果在源中可用)。", "xpack.observability.threshold.rule.infrastructureDropdownMenu": "基础设施", "xpack.observability.threshold.rule.infrastructureDropdownTitle": "基础设施规则", From 340a77a0d81ccc71f8b223d5c6172a68eb0de406 Mon Sep 17 00:00:00 2001 From: Gloria Hornero Date: Thu, 7 Sep 2023 19:10:03 +0200 Subject: [PATCH 22/57] [Security Solution] Fixing threat intelligence tests (#165988) --- .../plugins/threat_intelligence/cypress/cypress.config.ts | 8 +++++++- .../threat_intelligence/cypress/e2e/block_list.cy.ts | 4 ++-- .../plugins/threat_intelligence/cypress/e2e/cases.cy.ts | 4 ++-- .../threat_intelligence/cypress/e2e/empty_page.cy.ts | 2 +- .../threat_intelligence/cypress/e2e/indicators.cy.ts | 2 +- .../threat_intelligence/cypress/e2e/query_bar.cy.ts | 2 +- .../threat_intelligence/cypress/e2e/timeline.cy.ts | 2 +- 7 files changed, 15 insertions(+), 9 deletions(-) diff --git a/x-pack/plugins/threat_intelligence/cypress/cypress.config.ts b/x-pack/plugins/threat_intelligence/cypress/cypress.config.ts index fd438bf8c4d2..611e00f08686 100644 --- a/x-pack/plugins/threat_intelligence/cypress/cypress.config.ts +++ b/x-pack/plugins/threat_intelligence/cypress/cypress.config.ts @@ -38,6 +38,8 @@ export default defineCypressConfig({ viewportHeight: 946, viewportWidth: 1680, env: { + grepFilterSpecs: true, + grepTags: '@ess', protocol: 'http', hostname: 'localhost', configport: '5601', @@ -45,6 +47,10 @@ export default defineCypressConfig({ e2e: { baseUrl: 'http://localhost:5601', experimentalMemoryManagement: true, - specPattern: './cypress/e2e/**/*.cy.ts', + setupNodeEvents(on, config) { + // eslint-disable-next-line @typescript-eslint/no-var-requires + require('@cypress/grep/src/plugin')(config); + return config; + }, }, }); diff --git a/x-pack/plugins/threat_intelligence/cypress/e2e/block_list.cy.ts b/x-pack/plugins/threat_intelligence/cypress/e2e/block_list.cy.ts index ffe13397e0eb..63f58acf9948 100644 --- a/x-pack/plugins/threat_intelligence/cypress/e2e/block_list.cy.ts +++ b/x-pack/plugins/threat_intelligence/cypress/e2e/block_list.cy.ts @@ -35,7 +35,7 @@ const FIRST_BLOCK_LIST_NEW_DESCRIPTION = 'the first description'; const SECOND_BLOCK_LIST_NEW_NAME = 'second blocklist entry'; const SECOND_BLOCK_LIST_NEW_DESCRIPTION = 'the second description'; -describe('Block list with invalid indicators', () => { +describe('Block list with invalid indicators', { tags: '@ess' }, () => { beforeEach(() => { esArchiverLoad('threat_intelligence/invalid_indicators_data'); login(); @@ -56,7 +56,7 @@ describe('Block list with invalid indicators', () => { }); }); -describe('Block list interactions', () => { +describe('Block list interactions', { tags: '@ess' }, () => { beforeEach(() => { esArchiverLoad('threat_intelligence/indicators_data'); login(); diff --git a/x-pack/plugins/threat_intelligence/cypress/e2e/cases.cy.ts b/x-pack/plugins/threat_intelligence/cypress/e2e/cases.cy.ts index 39dffd2da0a3..18caadc01319 100644 --- a/x-pack/plugins/threat_intelligence/cypress/e2e/cases.cy.ts +++ b/x-pack/plugins/threat_intelligence/cypress/e2e/cases.cy.ts @@ -32,7 +32,7 @@ import { esArchiverLoad, esArchiverUnload } from '../tasks/es_archiver'; const THREAT_INTELLIGENCE = '/app/security/threat_intelligence/indicators'; -describe('Cases with invalid indicators', () => { +describe('Cases with invalid indicators', { tags: '@ess' }, () => { beforeEach(() => { esArchiverLoad('threat_intelligence/invalid_indicators_data'); login(); @@ -58,7 +58,7 @@ describe('Cases with invalid indicators', () => { }); }); -describe('Cases interactions', () => { +describe('Cases interactions', { tags: '@ess' }, () => { beforeEach(() => { esArchiverLoad('threat_intelligence/indicators_data'); login(); diff --git a/x-pack/plugins/threat_intelligence/cypress/e2e/empty_page.cy.ts b/x-pack/plugins/threat_intelligence/cypress/e2e/empty_page.cy.ts index ddb688ff6b7c..b7c6083480c3 100644 --- a/x-pack/plugins/threat_intelligence/cypress/e2e/empty_page.cy.ts +++ b/x-pack/plugins/threat_intelligence/cypress/e2e/empty_page.cy.ts @@ -14,7 +14,7 @@ import { const THREAT_INTEL_PATH = '/app/security/threat_intelligence/'; -describe('Empty Page', () => { +describe('Empty Page', { tags: '@ess' }, () => { beforeEach(() => { login(); visit(THREAT_INTEL_PATH); diff --git a/x-pack/plugins/threat_intelligence/cypress/e2e/indicators.cy.ts b/x-pack/plugins/threat_intelligence/cypress/e2e/indicators.cy.ts index 3b7e360813c0..cbb95e9a610f 100644 --- a/x-pack/plugins/threat_intelligence/cypress/e2e/indicators.cy.ts +++ b/x-pack/plugins/threat_intelligence/cypress/e2e/indicators.cy.ts @@ -56,7 +56,7 @@ const THREAT_INTELLIGENCE = '/app/security/threat_intelligence/indicators'; const URL_WITH_CONTRADICTORY_FILTERS = '/app/security/threat_intelligence/indicators?indicators=(filterQuery:(language:kuery,query:%27%27),filters:!((%27$state%27:(store:appState),meta:(alias:!n,disabled:!f,index:%27%27,key:threat.indicator.type,negate:!f,params:(query:file),type:phrase),query:(match_phrase:(threat.indicator.type:file))),(%27$state%27:(store:appState),meta:(alias:!n,disabled:!f,index:%27%27,key:threat.indicator.type,negate:!f,params:(query:url),type:phrase),query:(match_phrase:(threat.indicator.type:url)))),timeRange:(from:now/d,to:now/d))'; -describe('Invalid Indicators', () => { +describe('Invalid Indicators', { tags: '@ess' }, () => { describe('verify the grid loads even with missing fields', () => { beforeEach(() => { esArchiverLoad('threat_intelligence/invalid_indicators_data'); diff --git a/x-pack/plugins/threat_intelligence/cypress/e2e/query_bar.cy.ts b/x-pack/plugins/threat_intelligence/cypress/e2e/query_bar.cy.ts index 379147b900a4..9ee37105d1bc 100644 --- a/x-pack/plugins/threat_intelligence/cypress/e2e/query_bar.cy.ts +++ b/x-pack/plugins/threat_intelligence/cypress/e2e/query_bar.cy.ts @@ -31,7 +31,7 @@ import { esArchiverLoad, esArchiverUnload } from '../tasks/es_archiver'; const THREAT_INTELLIGENCE = '/app/security/threat_intelligence/indicators'; -describe('Indicators query bar interaction', () => { +describe('Indicators query bar interaction', { tags: '@ess' }, () => { beforeEach(() => { esArchiverLoad('threat_intelligence/indicators_data'); login(); diff --git a/x-pack/plugins/threat_intelligence/cypress/e2e/timeline.cy.ts b/x-pack/plugins/threat_intelligence/cypress/e2e/timeline.cy.ts index 7c2fcdc2b98b..51f87abcba5b 100644 --- a/x-pack/plugins/threat_intelligence/cypress/e2e/timeline.cy.ts +++ b/x-pack/plugins/threat_intelligence/cypress/e2e/timeline.cy.ts @@ -26,7 +26,7 @@ import { login, visit } from '../tasks/login'; const THREAT_INTELLIGENCE = '/app/security/threat_intelligence/indicators'; -describe('Timeline', () => { +describe('Timeline', { tags: '@ess' }, () => { beforeEach(() => { esArchiverLoad('threat_intelligence/indicators_data'); login(); From cb62c702a916cf7fbcc503eea6df2cae6efe116c Mon Sep 17 00:00:00 2001 From: Yngrid Coello Date: Thu, 7 Sep 2023 19:16:45 +0200 Subject: [PATCH 23/57] [Logs onboarding] e2e for custom logs onboarding (#165782) Relates to https://github.com/elastic/kibana/issues/164022. --- .../e2e/logs/custom_logs/configure.cy.ts | 358 ++++++++++ .../custom_logs/install_elastic_agent.cy.ts | 634 ++++++++++++++++++ .../e2e/cypress/support/commands.ts | 27 +- .../e2e/cypress/support/types.d.ts | 1 + .../app/custom_logs/wizard/configure_logs.tsx | 36 +- .../wizard/install_elastic_agent.tsx | 11 +- 6 files changed, 1052 insertions(+), 15 deletions(-) create mode 100644 x-pack/plugins/observability_onboarding/e2e/cypress/e2e/logs/custom_logs/configure.cy.ts create mode 100644 x-pack/plugins/observability_onboarding/e2e/cypress/e2e/logs/custom_logs/install_elastic_agent.cy.ts diff --git a/x-pack/plugins/observability_onboarding/e2e/cypress/e2e/logs/custom_logs/configure.cy.ts b/x-pack/plugins/observability_onboarding/e2e/cypress/e2e/logs/custom_logs/configure.cy.ts new file mode 100644 index 000000000000..0178aca04c34 --- /dev/null +++ b/x-pack/plugins/observability_onboarding/e2e/cypress/e2e/logs/custom_logs/configure.cy.ts @@ -0,0 +1,358 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +describe('[Logs onboarding] Custom logs - configure step', () => { + describe('logFilePaths', () => { + beforeEach(() => { + cy.loginAsViewerUser(); + cy.visitKibana('/app/observabilityOnboarding/customLogs'); + }); + + it('Users shouldnt be able to continue if logFilePaths is empty', () => { + cy.getByTestSubj('obltOnboardingLogFilePath-0') + .find('input') + .should('not.have.text'); + cy.getByTestSubj('obltOnboardingCustomLogsContinue').should( + 'be.disabled' + ); + }); + + it('Users should be able to continue if logFilePaths is not empty', () => { + cy.getByTestSubj('obltOnboardingLogFilePath-0') + .find('input') + .first() + .type('myLogs.log'); + cy.getByTestSubj('obltOnboardingCustomLogsContinue').should( + 'not.be.disabled' + ); + }); + + it('Users can add multiple logFilePaths', () => { + cy.getByTestSubj('obltOnboardingCustomLogsAddFilePath').first().click(); + cy.getByTestSubj('obltOnboardingLogFilePath-0').should('exist'); + cy.getByTestSubj('obltOnboardingLogFilePath-1').should('exist'); + }); + + it('Users can delete logFilePaths', () => { + cy.getByTestSubj('obltOnboardingCustomLogsAddFilePath').first().click(); + cy.get('*[data-test-subj^="obltOnboardingLogFilePath-"]').should( + 'have.length', + 2 + ); + + cy.getByTestSubj('obltOnboardingLogFilePathDelete-1').click(); + cy.get('*[data-test-subj^="obltOnboardingLogFilePath-"]').should( + 'have.length', + 1 + ); + }); + + describe('when users fill logFilePaths', () => { + it('datasetname and integration name are auto generated if it is the first path', () => { + cy.getByTestSubj('obltOnboardingLogFilePath-0') + .find('input') + .first() + .type('myLogs.log'); + cy.getByTestSubj('obltOnboardingCustomLogsIntegrationsName').should( + 'have.value', + 'myLogs' + ); + cy.getByTestSubj('obltOnboardingCustomLogsDatasetName').should( + 'have.value', + 'myLogs' + ); + }); + + it('datasetname and integration name are not generated if it is not the first path', () => { + cy.getByTestSubj('obltOnboardingCustomLogsAddFilePath').first().click(); + cy.getByTestSubj('obltOnboardingLogFilePath-1') + .find('input') + .first() + .type('myLogs.log'); + cy.getByTestSubj('obltOnboardingCustomLogsIntegrationsName').should( + 'be.empty' + ); + cy.getByTestSubj('obltOnboardingCustomLogsDatasetName').should( + 'be.empty' + ); + }); + }); + }); + + describe('serviceName', () => { + beforeEach(() => { + cy.loginAsViewerUser(); + cy.visitKibana('/app/observabilityOnboarding/customLogs'); + + cy.getByTestSubj('obltOnboardingLogFilePath-0') + .find('input') + .first() + .type('myLogs.log'); + }); + + it('should be optional allowing user to continue if it is empty', () => { + cy.getByTestSubj('obltOnboardingCustomLogsServiceName').should( + 'not.have.text' + ); + cy.getByTestSubj('obltOnboardingCustomLogsContinue').should('be.enabled'); + }); + }); + + describe('advancedSettings', () => { + beforeEach(() => { + cy.loginAsViewerUser(); + cy.visitKibana('/app/observabilityOnboarding/customLogs'); + + cy.getByTestSubj('obltOnboardingLogFilePath-0') + .find('input') + .first() + .type('myLogs.log'); + }); + + it('Users should expand the content when clicking it', () => { + cy.getByTestSubj('obltOnboardingCustomLogsAdvancedSettings').click(); + + cy.getByTestSubj('obltOnboardingCustomLogsNamespace').should( + 'be.visible' + ); + cy.getByTestSubj('obltOnboardingCustomLogsCustomConfig').should( + 'be.visible' + ); + }); + + it('Users should hide the content when clicking it', () => { + cy.getByTestSubj('obltOnboardingCustomLogsAdvancedSettings').click(); + + cy.getByTestSubj('obltOnboardingCustomLogsNamespace').should( + 'not.be.visible' + ); + cy.getByTestSubj('obltOnboardingCustomLogsCustomConfig').should( + 'not.be.visible' + ); + }); + + describe('Namespace', () => { + beforeEach(() => { + cy.getByTestSubj('obltOnboardingCustomLogsAdvancedSettings').click(); + }); + + afterEach(() => { + cy.getByTestSubj('obltOnboardingCustomLogsAdvancedSettings').click(); + }); + + it('Users should see a default namespace', () => { + cy.getByTestSubj('obltOnboardingCustomLogsNamespace').should( + 'have.value', + 'default' + ); + }); + + it('Users should not be able to continue if they do not specify a namespace', () => { + cy.getByTestSubj('obltOnboardingCustomLogsNamespace').clear(); + + cy.getByTestSubj('obltOnboardingCustomLogsContinue').should( + 'be.disabled' + ); + }); + }); + + describe('customConfig', () => { + beforeEach(() => { + cy.getByTestSubj('obltOnboardingCustomLogsAdvancedSettings').click(); + }); + + afterEach(() => { + cy.getByTestSubj('obltOnboardingCustomLogsAdvancedSettings').click(); + }); + + it('should be optional allowing user to continue if it is empty', () => { + cy.getByTestSubj('obltOnboardingCustomLogsCustomConfig').should( + 'not.have.text' + ); + cy.getByTestSubj('obltOnboardingCustomLogsContinue').should( + 'be.enabled' + ); + }); + }); + }); + + describe('integrationName', () => { + beforeEach(() => { + cy.loginAsViewerUser(); + cy.visitKibana('/app/observabilityOnboarding/customLogs'); + + cy.getByTestSubj('obltOnboardingLogFilePath-0') + .find('input') + .first() + .type('myLogs.log'); + }); + + it('Users should not be able to continue if they do not specify an integrationName', () => { + cy.getByTestSubj('obltOnboardingCustomLogsIntegrationsName').clear(); + + // https://github.com/elastic/kibana/issues/165778 + // cy.getByTestSubj('obltOnboardingCustomLogsContinue').should( + // 'be.disabled' + // ); + }); + + it('value will contain _ instead of special chars', () => { + cy.getByTestSubj('obltOnboardingCustomLogsIntegrationsName') + .clear() + .type('hello$world'); + + cy.getByTestSubj('obltOnboardingCustomLogsIntegrationsName').should( + 'have.value', + 'hello_world' + ); + }); + + it('value will be invalid if it is not lowercase', () => { + cy.getByTestSubj('obltOnboardingCustomLogsIntegrationsName') + .clear() + .type('H3llowOrld'); + + cy.contains('An integration name should be lowercase.'); + }); + }); + + describe('datasetName', () => { + beforeEach(() => { + cy.loginAsViewerUser(); + cy.visitKibana('/app/observabilityOnboarding/customLogs'); + + cy.getByTestSubj('obltOnboardingLogFilePath-0') + .find('input') + .first() + .type('myLogs.log'); + }); + + it('Users should not be able to continue if they do not specify a datasetName', () => { + cy.getByTestSubj('obltOnboardingCustomLogsDatasetName').clear(); + + cy.getByTestSubj('obltOnboardingCustomLogsContinue').should( + 'be.disabled' + ); + }); + + it('value will contain _ instead of special chars', () => { + cy.getByTestSubj('obltOnboardingCustomLogsDatasetName') + .clear() + .type('hello$world'); + + cy.getByTestSubj('obltOnboardingCustomLogsDatasetName').should( + 'have.value', + 'hello_world' + ); + }); + + it('value will be invalid if it is not lowercase', () => { + cy.getByTestSubj('obltOnboardingCustomLogsDatasetName') + .clear() + .type('H3llowOrld'); + + cy.contains('A dataset name should be lowercase.'); + }); + }); + + describe('custom integration', () => { + const CUSTOM_INTEGRATION_NAME = 'mylogs'; + + beforeEach(() => { + cy.deleteIntegration(CUSTOM_INTEGRATION_NAME); + }); + + describe('when user is missing privileges', () => { + beforeEach(() => { + cy.loginAsViewerUser(); + cy.visitKibana('/app/observabilityOnboarding/customLogs'); + + cy.getByTestSubj('obltOnboardingLogFilePath-0') + .find('input') + .first() + .type(`${CUSTOM_INTEGRATION_NAME}.log`); + + cy.getByTestSubj('obltOnboardingCustomLogsContinue').click(); + }); + + it('installation fails', () => { + cy.getByTestSubj('obltOnboardingCustomIntegrationUnauthorized').should( + 'exist' + ); + }); + }); + + describe('when user has proper privileges', () => { + beforeEach(() => { + cy.loginAsEditorUser(); + cy.visitKibana('/app/observabilityOnboarding/customLogs'); + + cy.getByTestSubj('obltOnboardingLogFilePath-0') + .find('input') + .first() + .type(`${CUSTOM_INTEGRATION_NAME}.log`); + + cy.getByTestSubj('obltOnboardingCustomLogsContinue').click(); + }); + + afterEach(() => { + cy.deleteIntegration(CUSTOM_INTEGRATION_NAME); + }); + + it('installation succeed and user is redirected install elastic agent step', () => { + cy.getByTestSubj('obltOnboardingCustomLogsContinue').click(); + + cy.url().should( + 'include', + '/app/observabilityOnboarding/customLogs/installElasticAgent' + ); + }); + }); + + it('installation fails if integration already exists', () => { + cy.loginAsEditorUser(); + cy.visitKibana('/app/observabilityOnboarding/customLogs'); + + cy.installCustomIntegration(CUSTOM_INTEGRATION_NAME); + cy.getByTestSubj('obltOnboardingLogFilePath-0') + .find('input') + .first() + .type(`${CUSTOM_INTEGRATION_NAME}.log`); + cy.getByTestSubj('obltOnboardingCustomLogsContinue').click(); + + cy.contains( + 'Failed to create the integration as an installation with the name mylogs already exists.' + ); + }); + + describe('when an error occurred on creation', () => { + before(() => { + cy.intercept('/api/fleet/epm/custom_integrations', { + statusCode: 500, + body: { + message: 'Internal error', + }, + }); + + cy.loginAsEditorUser(); + cy.visitKibana('/app/observabilityOnboarding/customLogs'); + + cy.getByTestSubj('obltOnboardingLogFilePath-0') + .find('input') + .first() + .type(`${CUSTOM_INTEGRATION_NAME}.log`); + cy.getByTestSubj('obltOnboardingCustomLogsContinue').click(); + }); + + it('user should see the error displayed', () => { + cy.getByTestSubj('obltOnboardingCustomIntegrationUnknownError').should( + 'exist' + ); + }); + }); + }); +}); diff --git a/x-pack/plugins/observability_onboarding/e2e/cypress/e2e/logs/custom_logs/install_elastic_agent.cy.ts b/x-pack/plugins/observability_onboarding/e2e/cypress/e2e/logs/custom_logs/install_elastic_agent.cy.ts new file mode 100644 index 000000000000..c0175455efa8 --- /dev/null +++ b/x-pack/plugins/observability_onboarding/e2e/cypress/e2e/logs/custom_logs/install_elastic_agent.cy.ts @@ -0,0 +1,634 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +describe('[Logs onboarding] Custom logs - install elastic agent', () => { + const CUSTOM_INTEGRATION_NAME = 'mylogs'; + + const configureCustomLogs = ( + loginFn = () => cy.loginAsLogMonitoringUser() + ) => { + loginFn(); + cy.visitKibana('/app/observabilityOnboarding/customLogs'); + + cy.deleteIntegration(CUSTOM_INTEGRATION_NAME); + + cy.getByTestSubj('obltOnboardingLogFilePath-0') + .find('input') + .first() + .type('mylogs.log'); + + cy.getByTestSubj('obltOnboardingCustomLogsContinue').click(); + }; + + describe('custom integration', () => { + beforeEach(() => { + configureCustomLogs(() => cy.loginAsEditorUser()); + }); + + it('Users should be able to see the custom integration success callout', () => { + cy.getByTestSubj('obltOnboardingCustomIntegrationInstalled').should( + 'be.visible' + ); + }); + }); + + describe('ApiKey generation', () => { + describe('when user is missing privileges', () => { + beforeEach(() => { + configureCustomLogs(() => cy.loginAsEditorUser()); + }); + + it('apiKey is not generated', () => { + cy.getByTestSubj('obltOnboardingLogsApiKeyCreationNoPrivileges').should( + 'exist' + ); + }); + }); + + describe('when user has proper privileges', () => { + beforeEach(() => { + configureCustomLogs(); + }); + + it('apiKey is generated', () => { + cy.getByTestSubj('obltOnboardingLogsApiKeyCreated').should('exist'); + }); + }); + + describe('when an error occurred on creation', () => { + before(() => { + cy.intercept('/internal/observability_onboarding/logs/flow', { + statusCode: 500, + body: { + message: 'Internal error', + }, + }); + + configureCustomLogs(); + }); + + it('apiKey is not generated', () => { + cy.getByTestSubj('obltOnboardingLogsApiKeyCreationFailed').should( + 'exist' + ); + }); + }); + }); + + describe('Install the Elastic Agent step', () => { + beforeEach(() => { + cy.intercept('POST', '/internal/observability_onboarding/logs/flow').as( + 'createOnboardingFlow' + ); + configureCustomLogs(); + }); + + describe('When user select Linux OS', () => { + it('Auto download config to host is disabled by default', () => { + cy.get('.euiButtonGroup').contains('Linux').click(); + cy.getByTestSubj('obltOnboardingInstallElasticAgentAutoDownloadConfig') + .should('be.enabled') + .should('not.be.checked'); + }); + + it('Installation script is shown', () => { + cy.getByTestSubj('obltOnboardingInstallElasticAgentStep') + .get('.euiCodeBlock') + .should('exist'); + }); + }); + + describe('When user select Mac OS', () => { + beforeEach(() => { + cy.get('.euiButtonGroup').contains('MacOS').click(); + }); + + it('Auto download config to host is disabled by default', () => { + cy.getByTestSubj('obltOnboardingInstallElasticAgentAutoDownloadConfig') + .should('be.enabled') + .should('not.be.checked'); + }); + + it('Installation script is shown', () => { + cy.getByTestSubj('obltOnboardingInstallElasticAgentStep') + .get('.euiCodeBlock') + .should('exist'); + }); + }); + + describe('When user select Windows OS', () => { + beforeEach(() => { + cy.get('.euiButtonGroup').contains('Windows').click(); + }); + + it('Auto download config to host is disabled by default', () => { + cy.getByTestSubj('obltOnboardingInstallElasticAgentAutoDownloadConfig') + .should('be.disabled') + .should('not.be.checked'); + }); + + it('A link to the documentation is shown instead of installation script', () => { + cy.getByTestSubj( + 'obltOnboardingInstallElasticAgentWindowsDocsLink' + ).should('exist'); + + cy.getByTestSubj('obltOnboardingInstallElasticAgentStep') + .get('.euiCodeBlock') + .should('not.exist'); + }); + }); + + describe('When Auto download config', () => { + describe('is selected', () => { + it('autoDownloadConfig flag is added to installation script', () => { + cy.getByTestSubj( + 'obltOnboardingInstallElasticAgentAutoDownloadConfig' + ) + .first() + .click(); + cy.getByTestSubj( + 'obltOnboardingInstallElasticAgentAutoDownloadConfigCallout' + ).should('exist'); + cy.getByTestSubj('obltOnboardingInstallElasticAgentStep') + .get('.euiCodeBlock') + .should('contain', 'autoDownloadConfig=1'); + }); + + it('Download config button is disabled', () => { + cy.getByTestSubj( + 'obltOnboardingInstallElasticAgentAutoDownloadConfig' + ) + .first() + .click(); + cy.getByTestSubj( + 'obltOnboardingConfigureElasticAgentStepDownloadConfig' + ).should('be.disabled'); + }); + }); + + it('is not selected autoDownloadConfig flag is not added to installation script', () => { + cy.getByTestSubj('obltOnboardingInstallElasticAgentStep') + .get('.euiCodeBlock') + .should('not.contain', 'autoDownloadConfig=1'); + }); + }); + + describe('When user executes the installation script in the host', () => { + let onboardingId: string; + + describe('updates on steps are shown in the flow', () => { + beforeEach(() => { + cy.wait('@createOnboardingFlow') + .its('response.body') + .then((body) => { + onboardingId = body.onboardingId; + }); + }); + + describe('Download elastic Agent step', () => { + it('shows a loading callout when elastic agent is downloading', () => { + cy.updateInstallationStepStatus( + onboardingId, + 'ea-download', + 'loading' + ); + cy.getByTestSubj('obltOnboardingStepStatus-loading') + .contains('Downloading Elastic Agent') + .should('exist'); + }); + + it('shows a success callout when elastic agent is downloaded', () => { + cy.updateInstallationStepStatus( + onboardingId, + 'ea-download', + 'complete' + ); + cy.getByTestSubj('obltOnboardingStepStatus-complete') + .contains('Elastic Agent downloaded') + .should('exist'); + }); + + it('shows a danger callout when elastic agent was not downloaded', () => { + cy.updateInstallationStepStatus( + onboardingId, + 'ea-download', + 'danger' + ); + cy.getByTestSubj('obltOnboardingStepStatus-danger') + .contains('Download Elastic Agent') + .should('exist'); + }); + }); + + describe('Extract elastic Agent step', () => { + beforeEach(() => { + cy.updateInstallationStepStatus( + onboardingId, + 'ea-download', + 'complete' + ); + }); + + it('shows a loading callout when elastic agent is extracting', () => { + cy.updateInstallationStepStatus( + onboardingId, + 'ea-extract', + 'loading' + ); + cy.getByTestSubj('obltOnboardingStepStatus-loading') + .contains('Extracting Elastic Agent') + .should('exist'); + }); + + it('shows a success callout when elastic agent is extracted', () => { + cy.updateInstallationStepStatus( + onboardingId, + 'ea-extract', + 'complete' + ); + cy.getByTestSubj('obltOnboardingStepStatus-complete') + .contains('Elastic Agent extracted') + .should('exist'); + }); + + it('shows a danger callout when elastic agent was not extracted', () => { + cy.updateInstallationStepStatus( + onboardingId, + 'ea-extract', + 'danger' + ); + cy.getByTestSubj('obltOnboardingStepStatus-danger') + .contains('Extract Elastic Agent') + .should('exist'); + }); + }); + + describe('Install elastic Agent step', () => { + beforeEach(() => { + cy.updateInstallationStepStatus( + onboardingId, + 'ea-download', + 'complete' + ); + cy.updateInstallationStepStatus( + onboardingId, + 'ea-extract', + 'complete' + ); + }); + + it('shows a loading callout when elastic agent is installing', () => { + cy.updateInstallationStepStatus( + onboardingId, + 'ea-install', + 'loading' + ); + cy.getByTestSubj('obltOnboardingStepStatus-loading') + .contains('Installing Elastic Agent') + .should('exist'); + }); + + it('shows a success callout when elastic agent is installed', () => { + cy.updateInstallationStepStatus( + onboardingId, + 'ea-install', + 'complete' + ); + cy.getByTestSubj('obltOnboardingStepStatus-complete') + .contains('Elastic Agent installed') + .should('exist'); + }); + + it('shows a danger callout when elastic agent was not installed', () => { + cy.updateInstallationStepStatus( + onboardingId, + 'ea-install', + 'danger' + ); + cy.getByTestSubj('obltOnboardingStepStatus-danger') + .contains('Install Elastic Agent') + .should('exist'); + }); + }); + + describe('Check elastic Agent status step', () => { + beforeEach(() => { + cy.updateInstallationStepStatus( + onboardingId, + 'ea-download', + 'complete' + ); + cy.updateInstallationStepStatus( + onboardingId, + 'ea-extract', + 'complete' + ); + cy.updateInstallationStepStatus( + onboardingId, + 'ea-install', + 'complete' + ); + }); + + it('shows a loading callout when getting elastic agent status', () => { + cy.updateInstallationStepStatus( + onboardingId, + 'ea-status', + 'loading' + ); + cy.getByTestSubj('obltOnboardingStepStatus-loading') + .contains('Connecting to the Elastic Agent') + .should('exist'); + }); + + it('shows a success callout when elastic agent status is healthy', () => { + cy.updateInstallationStepStatus( + onboardingId, + 'ea-status', + 'complete' + ); + cy.getByTestSubj('obltOnboardingStepStatus-complete') + .contains('Connected to the Elastic Agent') + .should('exist'); + }); + + it('shows a warning callout when elastic agent status is not healthy', () => { + cy.updateInstallationStepStatus( + onboardingId, + 'ea-status', + 'warning' + ); + cy.getByTestSubj('obltOnboardingStepStatus-warning') + .contains('Connect to the Elastic Agent') + .should('exist'); + }); + }); + }); + }); + }); + + describe('Configure Elastic Agent step', () => { + let onboardingId: string; + + beforeEach(() => { + cy.intercept('POST', '/internal/observability_onboarding/logs/flow').as( + 'createOnboardingFlow' + ); + configureCustomLogs(); + cy.wait('@createOnboardingFlow') + .its('response.body') + .then((body) => { + onboardingId = body.onboardingId; + }); + }); + + describe('When user select Linux OS', () => { + beforeEach(() => { + cy.getByTestSubj( + 'obltOnboardingInstallElasticAgentAutoDownloadConfig' + ).click(); + cy.updateInstallationStepStatus( + onboardingId, + 'ea-download', + 'complete' + ); + cy.updateInstallationStepStatus(onboardingId, 'ea-extract', 'complete'); + cy.updateInstallationStepStatus(onboardingId, 'ea-install', 'complete'); + cy.updateInstallationStepStatus(onboardingId, 'ea-status', 'complete'); + }); + + it('shows loading callout when config is being downloaded to the host', () => { + cy.updateInstallationStepStatus(onboardingId, 'ea-config', 'loading'); + cy.get( + '[data-test-subj="obltOnboardingConfigureElasticAgentStep"] .euiStep__titleWrapper [class$="euiStepNumber-s-loading"]' + ).should('exist'); + cy.getByTestSubj('obltOnboardingStepStatus-loading') + .contains('Downloading Elastic Agent config') + .should('exist'); + }); + + it('shows success callout when the configuration has been written to the host', () => { + cy.updateInstallationStepStatus(onboardingId, 'ea-config', 'complete'); + cy.get( + '[data-test-subj="obltOnboardingConfigureElasticAgentStep"] .euiStep__titleWrapper [class$="euiStepNumber-s-complete"]' + ).should('exist'); + cy.getByTestSubj('obltOnboardingStepStatus-complete') + .contains( + 'Elastic Agent config written to /opt/Elastic/Agent/elastic-agent.yml' + ) + .should('exist'); + }); + + it('shows warning callout when the configuration was not written in the host', () => { + cy.updateInstallationStepStatus(onboardingId, 'ea-config', 'warning'); + cy.get( + '[data-test-subj="obltOnboardingConfigureElasticAgentStep"] .euiStep__titleWrapper [class$="euiStepNumber-s-warning"]' + ).should('exist'); + cy.getByTestSubj('obltOnboardingStepStatus-warning') + .contains('Configure the agent') + .should('exist'); + }); + }); + + describe('When user select Mac OS', () => { + beforeEach(() => { + cy.get('.euiButtonGroup').contains('MacOS').click(); + cy.getByTestSubj( + 'obltOnboardingInstallElasticAgentAutoDownloadConfig' + ).click(); + cy.updateInstallationStepStatus( + onboardingId, + 'ea-download', + 'complete' + ); + cy.updateInstallationStepStatus(onboardingId, 'ea-extract', 'complete'); + cy.updateInstallationStepStatus(onboardingId, 'ea-install', 'complete'); + cy.updateInstallationStepStatus(onboardingId, 'ea-status', 'complete'); + }); + + it('shows loading callout when config is being downloaded to the host', () => { + cy.updateInstallationStepStatus(onboardingId, 'ea-config', 'loading'); + cy.get( + '[data-test-subj="obltOnboardingConfigureElasticAgentStep"] .euiStep__titleWrapper [class$="euiStepNumber-s-loading"]' + ).should('exist'); + cy.getByTestSubj('obltOnboardingStepStatus-loading') + .contains('Downloading Elastic Agent config') + .should('exist'); + }); + + it('shows success callout when the configuration has been written to the host', () => { + cy.updateInstallationStepStatus(onboardingId, 'ea-config', 'complete'); + cy.get( + '[data-test-subj="obltOnboardingConfigureElasticAgentStep"] .euiStep__titleWrapper [class$="euiStepNumber-s-complete"]' + ).should('exist'); + cy.getByTestSubj('obltOnboardingStepStatus-complete') + .contains( + 'Elastic Agent config written to /Library/Elastic/Agent/elastic-agent.yml' + ) + .should('exist'); + }); + + it('shows warning callout when the configuration was not written in the host', () => { + cy.updateInstallationStepStatus(onboardingId, 'ea-config', 'warning'); + cy.get( + '[data-test-subj="obltOnboardingConfigureElasticAgentStep"] .euiStep__titleWrapper [class$="euiStepNumber-s-warning"]' + ).should('exist'); + cy.getByTestSubj('obltOnboardingStepStatus-warning') + .contains('Configure the agent') + .should('exist'); + }); + }); + + describe('When user select Windows', () => { + beforeEach(() => { + cy.get('.euiButtonGroup').contains('Windows').click(); + }); + + it('step is disabled', () => { + cy.get( + '[data-test-subj="obltOnboardingConfigureElasticAgentStep"] .euiStep__titleWrapper [class$="euiStepNumber-s-disabled"]' + ).should('exist'); + }); + }); + }); + + describe('Check logs step', () => { + let onboardingId: string; + + beforeEach(() => { + cy.intercept('POST', '/internal/observability_onboarding/logs/flow').as( + 'createOnboardingFlow' + ); + configureCustomLogs(); + cy.wait('@createOnboardingFlow') + .its('response.body') + .then((body) => { + onboardingId = body.onboardingId; + }); + }); + + describe('When user select Linux OS or MacOS', () => { + describe('When configure Elastic Agent step is not finished', () => { + beforeEach(() => { + cy.updateInstallationStepStatus( + onboardingId, + 'ea-download', + 'complete' + ); + cy.updateInstallationStepStatus( + onboardingId, + 'ea-extract', + 'complete' + ); + cy.updateInstallationStepStatus( + onboardingId, + 'ea-install', + 'complete' + ); + cy.updateInstallationStepStatus(onboardingId, 'ea-status', 'loading'); + }); + + it('check logs is not triggered', () => { + cy.get( + '[data-test-subj="obltOnboardingCheckLogsStep"] .euiStep__titleWrapper [class$="euiStepNumber-s-incomplete"]' + ).should('exist'); + cy.get('.euiStep__title') + .contains('Ship logs to Elastic Observability') + .should('exist'); + }); + }); + + describe('When configure Elastic Agent step has finished', () => { + beforeEach(() => { + cy.updateInstallationStepStatus( + onboardingId, + 'ea-download', + 'complete' + ); + cy.updateInstallationStepStatus( + onboardingId, + 'ea-extract', + 'complete' + ); + cy.updateInstallationStepStatus( + onboardingId, + 'ea-install', + 'complete' + ); + cy.updateInstallationStepStatus( + onboardingId, + 'ea-status', + 'complete' + ); + cy.updateInstallationStepStatus( + onboardingId, + 'ea-config', + 'complete' + ); + }); + + it('shows loading callout when logs are being checked', () => { + cy.get( + '[data-test-subj="obltOnboardingCheckLogsStep"] .euiStep__titleWrapper [class$="euiStepNumber-s-loading"]' + ).should('exist'); + cy.get('.euiStep__title') + .contains('Waiting for logs to be shipped...') + .should('exist'); + }); + }); + }); + + describe('When user select Windows', () => { + beforeEach(() => { + cy.get('.euiButtonGroup').contains('Windows').click(); + }); + + it('step is disabled', () => { + cy.get( + '[data-test-subj="obltOnboardingCheckLogsStep"] .euiStep__titleWrapper [class$="euiStepNumber-s-disabled"]' + ).should('exist'); + }); + }); + }); + + describe('When logs are being shipped', () => { + beforeEach(() => { + cy.intercept('GET', '**/progress', { + status: 200, + body: { + progress: { + 'ea-download': { status: 'complete' }, + 'ea-extract': { status: 'complete' }, + 'ea-install': { status: 'complete' }, + 'ea-status': { status: 'complete' }, + 'ea-config': { status: 'complete' }, + 'logs-ingest': { status: 'complete' }, + }, + }, + }).as('checkOnboardingProgress'); + configureCustomLogs(); + }); + + it('shows success callout when logs has arrived to elastic', () => { + cy.wait('@checkOnboardingProgress'); + cy.get( + '[data-test-subj="obltOnboardingCheckLogsStep"] .euiStep__titleWrapper [class$="euiStepNumber-s-complete"]' + ).should('exist'); + cy.get('.euiStep__title') + .contains('Logs are being shipped!') + .should('exist'); + }); + + it('when user clicks on Explore Logs it navigates to discover', () => { + cy.wait('@checkOnboardingProgress'); + cy.getByTestSubj('obltOnboardingExploreLogs').should('exist').click(); + cy.url().should('include', '/app/discover'); + + cy.get('button[title="logs-*"]').should('exist'); + }); + }); +}); diff --git a/x-pack/plugins/observability_onboarding/e2e/cypress/support/commands.ts b/x-pack/plugins/observability_onboarding/e2e/cypress/support/commands.ts index ddceaf3325bf..f4a30e896c8d 100644 --- a/x-pack/plugins/observability_onboarding/e2e/cypress/support/commands.ts +++ b/x-pack/plugins/observability_onboarding/e2e/cypress/support/commands.ts @@ -96,6 +96,30 @@ Cypress.Commands.add( } ); +Cypress.Commands.add('installCustomIntegration', (integrationName: string) => { + const kibanaUrl = Cypress.env('KIBANA_URL'); + + cy.request({ + log: false, + method: 'POST', + url: `${kibanaUrl}/api/fleet/epm/custom_integrations`, + body: { + force: true, + integrationName, + datasets: [ + { name: 'access', type: 'logs' }, + { name: 'error', type: 'metrics' }, + { name: 'warning', type: 'logs' }, + ], + }, + headers: { + 'kbn-xsrf': 'e2e_test', + 'Elastic-Api-Version': '2023-10-31', + }, + auth: { user: 'editor', pass: 'changeme' }, + }); +}); + Cypress.Commands.add('deleteIntegration', (integrationName: string) => { const kibanaUrl = Cypress.env('KIBANA_URL'); @@ -107,8 +131,9 @@ Cypress.Commands.add('deleteIntegration', (integrationName: string) => { 'kbn-xsrf': 'e2e_test', }, auth: { user: 'editor', pass: 'changeme' }, + failOnStatusCode: false, }).then((response) => { - const status = response.body.item.status; + const status = response.body.item?.status; if (status === 'installed') { cy.request({ log: false, diff --git a/x-pack/plugins/observability_onboarding/e2e/cypress/support/types.d.ts b/x-pack/plugins/observability_onboarding/e2e/cypress/support/types.d.ts index 6b5695d159d7..dbc28bb442bb 100644 --- a/x-pack/plugins/observability_onboarding/e2e/cypress/support/types.d.ts +++ b/x-pack/plugins/observability_onboarding/e2e/cypress/support/types.d.ts @@ -17,6 +17,7 @@ declare namespace Cypress { loginAsElastic(): Cypress.Chainable>; getByTestSubj(selector: string): Chainable>; visitKibana(url: string, rangeFrom?: string, rangeTo?: string): void; + installCustomIntegration(integrationName: string): void; deleteIntegration(integrationName: string): void; updateInstallationStepStatus( onboardingId: string, diff --git a/x-pack/plugins/observability_onboarding/public/components/app/custom_logs/wizard/configure_logs.tsx b/x-pack/plugins/observability_onboarding/public/components/app/custom_logs/wizard/configure_logs.tsx index cb17a5fa68a4..798614365d6b 100644 --- a/x-pack/plugins/observability_onboarding/public/components/app/custom_logs/wizard/configure_logs.tsx +++ b/x-pack/plugins/observability_onboarding/public/components/app/custom_logs/wizard/configure_logs.tsx @@ -174,7 +174,6 @@ export function ConfigureLogs() { items={[ , {isCreatingIntegration ? i18n.translate( @@ -230,7 +230,10 @@ export function ConfigureLogs() { > <> {logFilePaths.map((filepath, index) => ( -
+
{index > 0 && } @@ -249,10 +252,10 @@ export function ConfigureLogs() { {index > 0 && ( removeLogFilePath(index)} + data-test-subj={`obltOnboardingLogFilePathDelete-${index}`} /> )} @@ -269,9 +272,9 @@ export function ConfigureLogs() { > {i18n.translate( 'xpack.observability_onboarding.configureLogs.logFile.addRow', @@ -320,7 +323,6 @@ export function ConfigureLogs() { } > setServiceName(event.target.value)} + data-test-subj="obltOnboardingCustomLogsServiceName" /> @@ -357,6 +360,7 @@ export function ConfigureLogs() { defaultMessage: 'Advanced settings', } )} + data-test-subj="obltOnboardingCustomLogsAdvancedSettings" > setNamespace(event.target.value)} + data-test-subj="obltOnboardingCustomLogsNamespace" /> @@ -461,11 +465,11 @@ export function ConfigureLogs() { } > setCustomConfigurations(event.target.value) } + data-test-subj="obltOnboardingCustomLogsCustomConfig" /> @@ -526,7 +530,6 @@ export function ConfigureLogs() { error={integrationNameError} > setIntegrationNameTouched(true)} + data-test-subj="obltOnboardingCustomLogsIntegrationsName" /> setDatasetNameTouched(true)} + data-test-subj="obltOnboardingCustomLogsDatasetName" /> @@ -624,13 +628,23 @@ const getIntegrationErrorCallout = (integrationError: IntegrationError) => { } ); return ( - +

{authorizationDescription}

); case 'UnknownError': return ( - +

{integrationError.message}

); diff --git a/x-pack/plugins/observability_onboarding/public/components/app/custom_logs/wizard/install_elastic_agent.tsx b/x-pack/plugins/observability_onboarding/public/components/app/custom_logs/wizard/install_elastic_agent.tsx index 041ec786697c..2457d75d4f54 100644 --- a/x-pack/plugins/observability_onboarding/public/components/app/custom_logs/wizard/install_elastic_agent.tsx +++ b/x-pack/plugins/observability_onboarding/public/components/app/custom_logs/wizard/install_elastic_agent.tsx @@ -211,7 +211,11 @@ export function InstallElasticAgent() { : stepStatus === 'complete' ? CHECK_LOGS_LABELS.completed : CHECK_LOGS_LABELS.incomplete; - return { title, status: stepStatus }; + return { + title, + status: stepStatus, + 'data-test-subj': 'obltOnboardingCheckLogsStep', + }; } return { title: CHECK_LOGS_LABELS.incomplete, @@ -245,7 +249,7 @@ export function InstallElasticAgent() {
@@ -395,7 +400,7 @@ const CHECK_LOGS_LABELS = { ), loading: i18n.translate( 'xpack.observability_onboarding.installElasticAgent.progress.logsIngest.loadingTitle', - { defaultMessage: 'Waiting for Logs to be shipped...' } + { defaultMessage: 'Waiting for logs to be shipped...' } ), completed: i18n.translate( 'xpack.observability_onboarding.installElasticAgent.progress.logsIngest.completedTitle', From 6ce0daaea66fe15ced3844027f832efef44edb5a Mon Sep 17 00:00:00 2001 From: Tiago Costa Date: Thu, 7 Sep 2023 18:26:30 +0100 Subject: [PATCH 24/57] skip flaky suite (#165629) --- .../functional/test_suites/security/ftr/navigation.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/x-pack/test_serverless/functional/test_suites/security/ftr/navigation.ts b/x-pack/test_serverless/functional/test_suites/security/ftr/navigation.ts index 695336b7734f..998ad9a2096c 100644 --- a/x-pack/test_serverless/functional/test_suites/security/ftr/navigation.ts +++ b/x-pack/test_serverless/functional/test_suites/security/ftr/navigation.ts @@ -15,7 +15,8 @@ export default function ({ getPageObject, getService }: FtrProviderContext) { const testSubjects = getService('testSubjects'); const browser = getService('browser'); - describe('navigation', function () { + // FLAKY: https://github.com/elastic/kibana/issues/165629 + describe.skip('navigation', function () { before(async () => { await svlSecNavigation.navigateToLandingPage(); }); From 62559bd19f5bb9b93e1c1df7f4c0f152089f8c43 Mon Sep 17 00:00:00 2001 From: Tiago Costa Date: Thu, 7 Sep 2023 18:28:21 +0100 Subject: [PATCH 25/57] skip flaky suite (#165944) --- .../test_suites/common/data_views/es_errors/errors.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/x-pack/test_serverless/api_integration/test_suites/common/data_views/es_errors/errors.js b/x-pack/test_serverless/api_integration/test_suites/common/data_views/es_errors/errors.js index ddbc88cce804..f8556727d9c1 100644 --- a/x-pack/test_serverless/api_integration/test_suites/common/data_views/es_errors/errors.js +++ b/x-pack/test_serverless/api_integration/test_suites/common/data_views/es_errors/errors.js @@ -22,7 +22,8 @@ export default function ({ getService }) { const es = getService('es'); const esArchiver = getService('esArchiver'); - describe('index_patterns/* error handler', () => { + // FLAKY: https://github.com/elastic/kibana/issues/165944 + describe.skip('index_patterns/* error handler', () => { let indexNotFoundError; let docNotFoundError; before(async () => { From fa6fb06294f7aa3cac9ee2c7960f9719b3ebc5b4 Mon Sep 17 00:00:00 2001 From: Tiago Costa Date: Thu, 7 Sep 2023 18:29:26 +0100 Subject: [PATCH 26/57] skip flaky suite (#165943) --- .../observability/observability_log_explorer/app.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/x-pack/test_serverless/functional/test_suites/observability/observability_log_explorer/app.ts b/x-pack/test_serverless/functional/test_suites/observability/observability_log_explorer/app.ts index 6a9d76a9b594..d78fc15fed8a 100644 --- a/x-pack/test_serverless/functional/test_suites/observability/observability_log_explorer/app.ts +++ b/x-pack/test_serverless/functional/test_suites/observability/observability_log_explorer/app.ts @@ -10,7 +10,8 @@ import { FtrProviderContext } from '../../../ftr_provider_context'; export default function ({ getService, getPageObjects }: FtrProviderContext) { const PageObjects = getPageObjects(['observabilityLogExplorer', 'svlCommonNavigation']); - describe('Application', () => { + // FLAKY: https://github.com/elastic/kibana/issues/165943 + describe.skip('Application', () => { it('is shown in the global search', async () => { await PageObjects.observabilityLogExplorer.navigateTo(); await PageObjects.svlCommonNavigation.search.showSearch(); From b4a4a44b16a5af6a4c14275b3ead1fadfe0f5eab Mon Sep 17 00:00:00 2001 From: Tiago Costa Date: Thu, 7 Sep 2023 18:39:42 +0100 Subject: [PATCH 27/57] chore(NA): update versions after v7.17.14 bump (#165684) This PR is a simple update of our versions file after the recent bumps. --- versions.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/versions.json b/versions.json index aeaf855d329d..00986b06b212 100644 --- a/versions.json +++ b/versions.json @@ -20,7 +20,7 @@ "previousMinor": false }, { - "version": "7.17.13", + "version": "7.17.14", "branch": "7.17", "previousMajor": true } From edde886593523ce730c9d53a13fc322b3d77d268 Mon Sep 17 00:00:00 2001 From: Tiago Costa Date: Thu, 7 Sep 2023 18:40:01 +0100 Subject: [PATCH 28/57] chore(NA): update versions after v8.9.3 bump (#165683) This PR is a simple update of our versions file after the recent bumps. --- versions.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/versions.json b/versions.json index 00986b06b212..ba9e6cc33809 100644 --- a/versions.json +++ b/versions.json @@ -14,7 +14,7 @@ "previousMinor": true }, { - "version": "8.9.2", + "version": "8.9.3", "branch": "8.9", "currentMajor": true, "previousMinor": false From 900194ac7761d655ba43a9aa5b84f0abb46c69e0 Mon Sep 17 00:00:00 2001 From: Tiago Costa Date: Thu, 7 Sep 2023 18:57:43 +0100 Subject: [PATCH 29/57] skip flaky suite (#165915) --- .../observability_log_explorer/columns_selection.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/x-pack/test_serverless/functional/test_suites/observability/observability_log_explorer/columns_selection.ts b/x-pack/test_serverless/functional/test_suites/observability/observability_log_explorer/columns_selection.ts index 92ccb09a27f0..c2f3f06d9320 100644 --- a/x-pack/test_serverless/functional/test_suites/observability/observability_log_explorer/columns_selection.ts +++ b/x-pack/test_serverless/functional/test_suites/observability/observability_log_explorer/columns_selection.ts @@ -16,7 +16,8 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { const retry = getService('retry'); const PageObjects = getPageObjects(['discover', 'observabilityLogExplorer']); - describe('Columns selection initialization and update', () => { + // FLAKY: https://github.com/elastic/kibana/issues/165915 + describe.skip('Columns selection initialization and update', () => { before(async () => { await esArchiver.load( 'x-pack/test/functional/es_archives/observability_log_explorer/data_streams' From 35813337cbd30e9956a20703aed1e029020a0bf1 Mon Sep 17 00:00:00 2001 From: Tiago Costa Date: Thu, 7 Sep 2023 18:59:03 +0100 Subject: [PATCH 30/57] skip flaky suite (#165916) --- .../observability_log_explorer/columns_selection.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/x-pack/test_serverless/functional/test_suites/observability/observability_log_explorer/columns_selection.ts b/x-pack/test_serverless/functional/test_suites/observability/observability_log_explorer/columns_selection.ts index c2f3f06d9320..05edfb9a2935 100644 --- a/x-pack/test_serverless/functional/test_suites/observability/observability_log_explorer/columns_selection.ts +++ b/x-pack/test_serverless/functional/test_suites/observability/observability_log_explorer/columns_selection.ts @@ -17,6 +17,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { const PageObjects = getPageObjects(['discover', 'observabilityLogExplorer']); // FLAKY: https://github.com/elastic/kibana/issues/165915 + // FLAKY: https://github.com/elastic/kibana/issues/165916 describe.skip('Columns selection initialization and update', () => { before(async () => { await esArchiver.load( From 1dad269ec37caaac77e7e50223194afa9f0245d6 Mon Sep 17 00:00:00 2001 From: Tiago Costa Date: Thu, 7 Sep 2023 19:01:10 +0100 Subject: [PATCH 31/57] skip flaky suite (#165972) --- .../common/data_views/fields_for_wildcard_route/conflicts.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/x-pack/test_serverless/api_integration/test_suites/common/data_views/fields_for_wildcard_route/conflicts.ts b/x-pack/test_serverless/api_integration/test_suites/common/data_views/fields_for_wildcard_route/conflicts.ts index d1d08c1e8883..a358bb8a3d46 100644 --- a/x-pack/test_serverless/api_integration/test_suites/common/data_views/fields_for_wildcard_route/conflicts.ts +++ b/x-pack/test_serverless/api_integration/test_suites/common/data_views/fields_for_wildcard_route/conflicts.ts @@ -16,7 +16,8 @@ export default function ({ getService }: FtrProviderContext) { const esArchiver = getService('esArchiver'); const svlCommonApi = getService('svlCommonApi'); - describe('conflicts', () => { + // FLAKY: https://github.com/elastic/kibana/issues/165972 + describe.skip('conflicts', () => { before(() => esArchiver.load('test/api_integration/fixtures/es_archiver/index_patterns/conflicts') ); From 8b92020c181dbe997f0006da9b73da6e98d80c04 Mon Sep 17 00:00:00 2001 From: Clint Andrew Hall Date: Thu, 7 Sep 2023 14:03:07 -0400 Subject: [PATCH 32/57] [easy][storybook] Fix all the fonts in Storybook. (#165327) ## Summary Google's API for loading fonts _might_ be having a problem, (or the syntax changed somewhat). The `slnt` parameter determines the "slant"-- italics-- and while the second portion _should_ state the font for zero slant, it isn't working. As a result, _all fonts_ are slanted. So I've reverted to the pure `ital` value. Before: Screenshot 2023-08-31 at 8 45 32 AM After: Screenshot 2023-08-31 at 8 46 43 AM --- packages/kbn-storybook/templates/index.ejs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/kbn-storybook/templates/index.ejs b/packages/kbn-storybook/templates/index.ejs index 899c6a5897c5..21e1035627ae 100644 --- a/packages/kbn-storybook/templates/index.ejs +++ b/packages/kbn-storybook/templates/index.ejs @@ -46,7 +46,7 @@ From 03423bd7810de6d1672dbe3a68ecb434cef10afc Mon Sep 17 00:00:00 2001 From: Tiago Costa Date: Thu, 7 Sep 2023 19:28:01 +0100 Subject: [PATCH 33/57] skip flaky suite (#165968) --- .../cypress/e2e/explore/pagination/pagination.cy.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/explore/pagination/pagination.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/explore/pagination/pagination.cy.ts index 1e7f7d751440..f7257d4666d6 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/explore/pagination/pagination.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/explore/pagination/pagination.cy.ts @@ -20,7 +20,8 @@ import { ALL_HOSTS_TABLE } from '../../../screens/hosts/all_hosts'; import { ALL_USERS_TABLE } from '../../../screens/users/all_users'; import { goToTablePage, sortFirstTableColumn } from '../../../tasks/table_pagination'; -describe('Pagination', { tags: ['@ess', '@serverless'] }, () => { +// FLAKY: https://github.com/elastic/kibana/issues/165968 +describe('Pagination', { tags: ['@ess', '@serverless', '@brokenInServerless'] }, () => { describe('Host uncommon processes table)', () => { before(() => { cy.task('esArchiverLoad', { archiveName: 'host_uncommon_processes' }); From 66a8179a7f560746ce0b71d817ebe6ff1d54bb1b Mon Sep 17 00:00:00 2001 From: Tiago Costa Date: Thu, 7 Sep 2023 19:49:24 +0100 Subject: [PATCH 34/57] skip flaky suite (#165942) --- .../common/data_views/fields_for_wildcard_route/params.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/x-pack/test_serverless/api_integration/test_suites/common/data_views/fields_for_wildcard_route/params.ts b/x-pack/test_serverless/api_integration/test_suites/common/data_views/fields_for_wildcard_route/params.ts index 035ca1af4b5a..66aa26681053 100644 --- a/x-pack/test_serverless/api_integration/test_suites/common/data_views/fields_for_wildcard_route/params.ts +++ b/x-pack/test_serverless/api_integration/test_suites/common/data_views/fields_for_wildcard_route/params.ts @@ -16,7 +16,8 @@ export default function ({ getService }: FtrProviderContext) { const randomness = getService('randomness'); const svlCommonApi = getService('svlCommonApi'); - describe('params', () => { + // FLAKY https://github.com/elastic/kibana/issues/165942 + describe.skip('params', () => { before(() => esArchiver.load('test/api_integration/fixtures/es_archiver/index_patterns/basic_index') ); From 70a468c380f42d0ffc5085fc75caaa7366cd84a8 Mon Sep 17 00:00:00 2001 From: Tiago Costa Date: Thu, 7 Sep 2023 19:57:22 +0100 Subject: [PATCH 35/57] skip flaky suite (#164420) --- x-pack/test/api_integration/apis/ml/modules/get_module.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/x-pack/test/api_integration/apis/ml/modules/get_module.ts b/x-pack/test/api_integration/apis/ml/modules/get_module.ts index 7c72f18f918e..488714f13c39 100644 --- a/x-pack/test/api_integration/apis/ml/modules/get_module.ts +++ b/x-pack/test/api_integration/apis/ml/modules/get_module.ts @@ -49,7 +49,8 @@ export default ({ getService }: FtrProviderContext) => { return body; } - describe('get_module', function () { + // FLAKY: https://github.com/elastic/kibana/issues/164420 + describe.skip('get_module', function () { before(async () => { await ml.testResources.setKibanaTimeZoneToUTC(); }); From 3151aad37bf42b91358dad02cd4a16a485004c73 Mon Sep 17 00:00:00 2001 From: Lisa Cawley Date: Thu, 7 Sep 2023 12:16:10 -0700 Subject: [PATCH 36/57] [DOCS] Automate screenshots for Elasticsearch query rule actions (#164794) --- .../alerting/create-and-manage-rules.asciidoc | 19 ++-- .../alerting/images/action-alert-summary.png | Bin 71284 -> 0 bytes .../es-query-rule-action-query-matched.png | Bin 0 -> 115088 bytes .../images/es-query-rule-action-summary.png | Bin 0 -> 129186 bytes .../images/es-query-rule-action-variables.png | Bin 0 -> 195294 bytes .../images/es-query-rule-conditions.png | Bin 0 -> 214414 bytes .../images/es-query-rule-recovery-action.png | Bin 0 -> 56443 bytes .../images/rule-flyout-action-details.png | Bin 112218 -> 0 bytes .../images/rule-flyout-action-variables.png | Bin 180174 -> 0 bytes .../images/rule-flyout-rule-conditions.png | Bin 163950 -> 0 bytes ...types-es-query-example-action-variable.png | Bin 113351 -> 0 bytes .../alerting/rule-types/es-query.asciidoc | 88 +++++++++++----- .../stack_alerting/es_query_rule.ts | 57 +++++++++++ .../response_ops_docs/stack_alerting/index.ts | 96 +++++++++++++----- .../stack_alerting/metrics_threshold_rule.ts | 91 ----------------- 15 files changed, 201 insertions(+), 150 deletions(-) delete mode 100644 docs/user/alerting/images/action-alert-summary.png create mode 100644 docs/user/alerting/images/es-query-rule-action-query-matched.png create mode 100644 docs/user/alerting/images/es-query-rule-action-summary.png create mode 100644 docs/user/alerting/images/es-query-rule-action-variables.png create mode 100644 docs/user/alerting/images/es-query-rule-conditions.png create mode 100644 docs/user/alerting/images/es-query-rule-recovery-action.png delete mode 100644 docs/user/alerting/images/rule-flyout-action-details.png delete mode 100644 docs/user/alerting/images/rule-flyout-action-variables.png delete mode 100644 docs/user/alerting/images/rule-flyout-rule-conditions.png delete mode 100644 docs/user/alerting/images/rule-types-es-query-example-action-variable.png delete mode 100644 x-pack/test/screenshot_creation/apps/response_ops_docs/stack_alerting/metrics_threshold_rule.ts diff --git a/docs/user/alerting/create-and-manage-rules.asciidoc b/docs/user/alerting/create-and-manage-rules.asciidoc index 31c43346ef30..aa72b6594446 100644 --- a/docs/user/alerting/create-and-manage-rules.asciidoc +++ b/docs/user/alerting/create-and-manage-rules.asciidoc @@ -1,4 +1,3 @@ -[role="xpack"] [[create-and-manage-rules]] == Create and manage rules :frontmatter-description: Set up alerting in the {kib} {stack-manage-app} app and manage your rules. @@ -52,10 +51,11 @@ For more details, refer to the https://registry.terraform.io/providers/elastic/e Depending on the {kib} app and context, you might be prompted to choose the type of rule to create. Some apps will preselect the type of rule for you. -Each rule type provides its own way of defining the conditions to detect, but an expression formed by a series of clauses is a common pattern. For example, in a metric threshold rule, the `WHEN` clause enables you to select an aggregation operation to apply to a numeric field. +Each rule type provides its own way of defining the conditions to detect, but an expression formed by a series of clauses is a common pattern. +For example, in an {es} query rule, you specify an index, a query, and a threshold, which uses a metric aggregation operation (`count`, `average`, `max`, `min`, or `sum`): [role="screenshot"] -image::images/rule-flyout-rule-conditions.png[UI for defining rule conditions on a metric threshold rule,500] +image::images/es-query-rule-conditions.png[UI for defining rule conditions in an {es} query rule,500] // NOTE: This is an autogenerated screenshot. Do not edit it directly. All rules must have a check interval, which defines how often to evaluate the rule conditions. Checks are queued; they run as close to the defined value as capacity allows. @@ -71,15 +71,16 @@ conditions are met and when they are no longer met. Each action uses a connector, which provides connection information for a {kib} service or third party integration, depending on where you want to send the notifications. If no connectors exist, click **Add connector** to create one. -After you select a connector, set the action frequency. If the rule type supports alert summaries, you can choose to create a summary of alerts on each check interval or on a custom interval. For example, if you create a metrics threshold rule, you can send email notifications that summarize the new, ongoing, and recovered alerts each hour: +After you select a connector, set the action frequency. If the rule type supports alert summaries, you can choose to create a summary of alerts on each check interval or on a custom interval. +For example, if you create an {es} query rule, you can send notifications that summarize the new, ongoing, and recovered alerts on a custom interval: [role="screenshot"] -image::images/action-alert-summary.png[UI for defining rule conditions on a metric threshold rule,500] +image::images/es-query-rule-action-summary.png[UI for defining alert summary action in an {es} query rule,500] // NOTE: This is an autogenerated screenshot. Do not edit it directly. [NOTE] ==== -* The rules that support alert summaries, such as this metric threshold rule, enable you to further refine when actions run by adding time frame and query filters. +* Some rules that support alert summaries, such as metric threshold rules, enable you to further refine when actions run by adding time frame and query filters. * If you choose a custom action interval, it cannot be shorter than the rule's check interval. ==== @@ -87,10 +88,10 @@ Alternatively, you can set the action frequency such that the action runs for ea If the rule type does not support alert summaries, this is your only available option. You must choose when the action runs (for example, at each check interval, only when the alert status changes, or at a custom action interval). You must also choose an action group, which affects whether the action runs. Each rule type has a specific set of valid action groups. -For example, you can set *Run when* to `Alert`, `Warning`, `No data`, or `Recovered` for the metric threshold rule: +For example, you can set *Run when* to `Query matched` or `Recovered` for the {es} query rule: [role="screenshot"] -image::images/rule-flyout-action-details.png[UI for defining an email action,500] +image::images/es-query-rule-recovery-action.png[UI for defining a recovery action,500] // NOTE: This is an autogenerated screenshot. Do not edit it directly. Each connector enables different action properties. For example, an email connector enables you to set the recipients, the subject, and a message body in markdown format. For more information about connectors, refer to <>. @@ -123,7 +124,7 @@ You can pass rule values to an action at the time a condition is detected. To view the list of variables available for your rule, click the "add rule variable" button: [role="screenshot"] -image::images/rule-flyout-action-variables.png[Passing rule values to an action,500] +image::images/es-query-rule-action-variables.png[Passing rule values to an action,500] // NOTE: This is an autogenerated screenshot. Do not edit it directly. For more information about common action variables, refer to <>. diff --git a/docs/user/alerting/images/action-alert-summary.png b/docs/user/alerting/images/action-alert-summary.png deleted file mode 100644 index 038e346a72725ed9e5b108246b7688fde835e91c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 71284 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

WKiwX>i z4Xd(ElS9CZFc3d3_ys!@J$uIs3oJ+8nXQ}Ws`8Kkp6#JN1-FOCKg(}!t08jmmfvm}0lrTv8Fjc<@}Qe%V5ZUWmGus4ktUA)PC!z8v(9qn*L=a< zA{#-rw>oFfRF}`Eq^vww`RSX}0~3QP#c>I*)M-H^$n2|TEnI^CKI@_;BHpS{(R*^u zx?4`*yjxzuTgyLsJ@pfKNmi^$o&^MD515X?WoTHBZtK6sMaK!t_ldJ1>u()Up-K4J z+3lt5vp7dRhL&aob+njR>++xl*B&heWb5xaEj`H2m*n;GaaeTbIBrWbtTi z@n+4h3th#{~eTZX;(`mRaBfA;{gTkX3abDIL#$fnPW%QMv;swvRqMLitd zpJRbModz7RADr&_SLdNPErSjy0hM6A)v_w8<}x6t`bEpREUI&#bVRMpV2vzO9G;+o zvN*qS{szh*oF8_9kpmNGgT>TcdA?IogeDhq5TRuT;SP z)u8N_3}=fawZ{_Jt?9Z5sp-8U-;72ctK}1CxQMGx zLr)BqL1rFr%{ww0m$I=|?j<+beC4=)eP1Ag*369=8q4HuN8!zzm1HJUv^cVSGGnBj z3Sf$&1mXK5X}_wL2b*6>kCM^*7nA+~=eWX89I1aEo#p7>Y&EtipPh-}^bWtCY4hoh z2y|B^z5<4eifx+cjtN;IwIGt9+k5R5J)rnG|0dhM+LQdX=bp;7%^uG=#&bHorfb%F zl|x@AiB3+hH)O<-)pm>Qs9Is>kZ97A0_fF@x*Rf?03-c-~5c` zhb3@onA7P6KIZh<=Y*7DY*m<>W{7~Q>#A9K6~a*_)*n#KEMzHyn$#(8vIc4;*yKz5 zl-0kQ=(F`wjNK@|yh35d<21*lq|7j(ri69kiY%J$_nW+-9Iiy_oI(HS!E4{QPZ2Le zyapeSf6D`9Pzhk2SL;Jc7@2lx-5T)P@qu;$@)%?CTZ5F-F?%;Sa#@f^dz16AKR=Tv zZDjC0!Yzs@3-!rajYkXuaYl2-fTQc6@%pl&B!J)#A9CR39sbyWl#=yMm;AB((yRI8 z-K?q5`1%oz;G#_l!Yqqocg$VF$A+92-G++?H0wQ=H1`P4FQqQ?P?8%Tj<*=AppK;gJhBEdSZHaR28es^t6)_KGIO%k74ygWma7z-{&j zGb|LU?$*3UhFbupm|_*NN0~1l4H&w+B@AbHgN&!G2J+*iX?#-C{oR15@L?~V`@DC@ z{%OYQxbl8#Q&T4Yo!TK4^E$g>Ph|*=@2W>fOKTYYUabD7N>`Kd;`pzw6XsbnqoY7! zXiAxW_f7uRhnD=uq+9tpVT@8OTibUmZ&*X*BSRa%AZ~z=^>nL1$hLo4KpwWMA-N*C z^SJ{8WUvh%Wv~oCoiSiO#RF#MqfNdHfetbtWE$tl#%Kx4?2crj$kv>FPGj_l)P{!G zPWhyF#kwZ*B6ROcbBf^KWJlPP4BNY043{{*OWT`Dbu!AQ7FH*wiW8la7K9KE+!=F(Lpuind$% zP6>t4o?kbZs#Z0};H^S9zfq1kTo=<4&<@W99Id z3xwrmKfJ1SJvGUv`^RS}orYs}7$e#ow79;0=)cz>V*9n@a_;3cNf}efnX$BpdB%~c zFRwUjorucnUivSI-2Rb*tO*E68@BJ>QBlJZ@9>PpXk14>R){?HS9ZDLveXd)e{<0H z>5U`F+_W#}CZ6fX2l_lgpEu0zjx&!S*u3?ZDw^tv@`1i0!Qu0;uLujjIU8fwmM;#B zB*E{e&3Kh>G1{EoX%wy?x=48&-JZfUEao&$f^eKH@(10S*|M;E?*MT?TpJFXtg>{E zjEfU&7BGOHrCRz{Mb~BHu-^wZ(zAYZ9?`#eCoMhZU!K^*p8L(G zZh|@4?!a% z@X`g1R}s>|8qpTs6;cGN{Ol;8<&|=lo0zOVl1q|6~XVaPpM26&1BalR6^_OOkkm;IjX){}Ab<4EGdi-x*qOh`Aw(sEuK?XcjLo(#+@wJP){m zso+Df)kGo~pM~4gE~Wr%f)CgOcCLP=LL*L2Wxdf-b*^J_pn97v0X#+1BoO3)QyQ9W ziA?P1taDWd+vy6g{rwIgm9?C;rnU3+a96@T88ZT#4Iz6f`<+M?D2aTNjn4uN z2~`+>Z>`%q@~7DJI`rDajx+J19$hT7uVdqgsf*GIx+5d!_rhyWfoSfZ;ix4k~* z=RaxFd70a}pCpta>l^7<^8MCM`SsUNH%Niy@#~uo)!$1XjPW-|Wcs9=h%MD!7;gj@ zXF4%53!(q4)}0eX&G#^SEN*gInn}$PdM&qvp?!_ol$n6wSEQ}gI7ud8&oFQcC;>M# zWH2|3P?#nOG9NWP3JdN9B$j4h_O;Xz##u7et`CDJi0y?`?ivY=4hG}Wb4Q!)X_zi$ z+-XJqm&0J1TJKgCgC2&>?|_44gEl{dZDMFB*^FpxO>`vB#@e84O3R0@XAKWmCnqA- zta_S-yHeJkqQBf6iFdAQ7AW4Ep5zm`k}tS8+}8JPXv*2+^4!}s8W;?iQh0rGl3&-2 zr{&+rU&bcU*_+v$=n#zte{aj~lI{@KR`wm=XI!c@9eLsq{RWI~76iHnjXlZ2lq)^5arqj< zAr`UPzHa-y@}A9~Rn2>lE@o#Y;W;23hfETS56cp6_0w?|^P7Fgegt{K=p@d9}6e>GghE=_A8K{i) zmMz`7K*}x0cW4Gwhh`;FS3LL~eSqR^(Xp6ERF!%87n}VY0I2@NT*MFghuqh9q`PCi zA86NDQ^*hpSNB1q*;4FV`&9D`auJp@a|BotE*4qvYr|Lh{aXBhEOQ)TvHU@TCVDJYj3CFr)!Wg3-%d|AWLaLtvb>?I2HX)(2A>Q43H>(+=W)Zv?v#KhncI*X`;}7=Ak8*8!G}7@g6a%m z48QSEzgW&2yPBGfBux78ggggN#@l&58J~_9_MdNhtp0bC{naHOGk0&6clUHBi7TZ! z*4$-6-z>MWe_Lhwykw{D|4=4QkquOOS5RO#D_&|ahj7R@dP?QCA^_}gX_=hkBw1MW zthvXX3O!Qe8-B-ei~R}2X~*^#9TU>mi44B0F?=2(GO&J`UpUyltY#3H{+zu@cbkdW z@BMGRD9d^sAR1J^kJy0wr%St4kJ`^F3IoV&0oahkyhF%Xm{s+!6>pQ!lqnhEU`rstj-eiQ!OicMHpjdrHYk#s^+F#A)v2A3X*5z;W?{9iBq zs~lPA)@2=7yVM2QqJF%uSqBHsd!VE9Es{AY#DH2RcER20d0gVrP-$(ja;<|$VFFEv z*o+NUGvE1{+oSdWB@qA9_Rqrp@;Y?{0agm1Z zn%{?hz%wX7#>Mr|6TR6=6BP7g6V%uVl5JlX?y7nDuQz%&lmIEf1}D<49op`Kh)O@EeAOM^Z=ZOsxG|Q6PxM&jMcAjnWO9?&rp%=Nyl} zZ|`_NJkR)#u^j`)-uvG7TK8IW&UMW>uj?5hX6>JPrrhT*b99{x`S|_e)7k~WH6*}t zF?c|(w^Gn+tJ%RbA{coiNNMn__>a};$$j?lO9UO$)mlIDf9DZcz8x1(B`-JThU3;}==VG3D&)tV zx2dx}sipGSP}6O4SJp_j_>*itX0^s3 zF$af8xcy!w@WT?KrlyhS_CzyRJO1J8>pes@ZEupUo$u$o{&}lCpFJ1i^>lTG>Wo_B zqs(`EMJ+)ct_P9YyTit^fz_u%-`J;w;o;$@V~I9p>cu}=;t0epoK|7i>s^Z5*q8`c z)TS1y5hP*F(7AQ=?6o2*k~U99(UaE$t?t@4j@iBDK*PK~47n1~Vp^v8PM&mUh5Gax z(6lX+*utc6W|E+&svGnk8W&9UYH9Fch!WAUXz>K$z(I4p(04A>1>#(bqSwH&?acs z8q{AAZdG?9OWUtvB1?@WrYhnWVf<@xdTApX?uA|0<;O*}XZ2QWsHJHL^T!s=%zR;b zooUPJ@4M6|teNa0GYZ19iZ0B}dL-8u#J~ea@ytX3mKH9|!-`w;pv{Ak9Ctf^$Z3!u zuXcF9m$Y~p= z@xE#Tt2l?=7i$*pt(a|L@vpN$Uyq&=Ntsy@PQU!Q#>nD4SLOW~ofMALh4*rW>j5Tq zyrjqk^Js7Kb1}a*?H|lu+!)Ay!2#jM8jc&>_cGOh=m%*sm7&t|BNmL`Uw4H*Bu{>Dsa%k;4P4_j%AJmMlomL!t?Snn zBzYbtxa1tUoyul*1Ed??_V!W58ZYNPdGFEwu;?vMKQMdH2fX`!1eb*+Y4zftVdQz* zJYSiU0cSn%0=rgJhP?cdvlbBYNZlg@;D1g85qGHSrxC>Gw%V6RR{`E*C@9e4U_SWF^ zpQe@;2%BF#2od|!a%%%jB)LslHMFO0d_8ou8Bb@j@BfKAuue6xUAml&M65tbo z;92?!JLB(CDZoPY`r-JrH9Q7z{s?;m?xe9_Ihy_$*Kdvy?auLaG~FcJ)yn+#&f^#F zfVXJ(r+%aR_-jYpIlch5>%Tg_fBQ9(Pj^0Xv6S?W%gNq3KD5gVo0I?k5U%8tJD=F1 z^M~jIQqG;@BRe@>+x{`LWHBv30*4~KQ?!H&IN23y8VqjyJ$oQ(BsHjlCZF@hPEWvf1){ua?=Jngd078bBfFq}He<;#)4geJg9Vux1oqQts z@|2nUy%W|`o^2Ug>7RHeb%00bbFAi?sN%yS}Gw4 zB}y-;loeA50KGQy<*`xm=pL|8TGN%s>NJBeAU7qIb{tjN1GK4El7|l-^d+(>d|%4%Iv`F69gL%R57fMiL{UU+ z(CZ6ZL)BGy;wK7qTRd-|SBQs!@^~tEp4@zo4e@7>w{F9uC{+a0c`JfNg@nSMVlfJ9 zYp0!GzMy`J`8JeD4AX~wt*?(lNa*1DHqB#@cg1w1L40GwNIF+qFITxTKt;pezUusz zbh;@dFfd}>5K<_r{hd*%{zM{Iy|M1KtEGU0+h5HsfF-xMzq9GFBvw5Q4vx3{ESl(C zdVZ-wx)%gh%JV2T7;F+)a9?w)UsWr&s2qH8Zu+t`5WXO?Rpb;(UOa=S2)U<^MN!|PTFm$y6tdnnc*-KNRHzeu%#HN zj@QQyx;Iw}x@{g<^91<-Z^LH}=ZXY}1tmO-g79$r?ue}XMF1IFF<%okYeB3)| zefI4mAAy&K+d*cA!Nq&~^@T#0B6f=A0%g#x`IKh0*<41c?as)!I57y+J(4N1V{2;r z`3a7-x1o9vM4>nejl3x$CPvW+($r|XH%zb`RO!OaLxfUI)B|0C0Qd-2e|6A!hRI~n z$iUc|Ykf}q`c2ctrpRHOo{8aTR^_w-9NW&d!OAH)p%$bh<)VK@%lGLK6(htwE9Tyq z^!X{o17M1I$7;80+EmIuwOySDalZKK0+3KCgac{1-eBz6mH3Xp{_4uD6+ePcQ}R3} zH;PNZY|zZh+pqjsYjyDoh;(OYb}ALfb)glmtN3HHDFCig^0 zaKxKXVl%AQI#EyErZd!FDgtz5E1M=+Kq=(ai<+*cN!-q-qXs>NtMj3FAN!kG_;1b8 zG8`un847O=xR~~wm|m%dIxE5bGSBKg zAvM?Y z^U=^dz16~Mp+@J27I=sI@1FMnx$RwrkVE~ipRx3=yx~s@R|9I-cI(Z!`3zp$Pia9@ zSl}#%{nl2ZHFj|(OH$jeV8}IGZ))c(+n%mQdxSX9vvIgzIo9r8U|rq3+fS-4I_jez z1WL6NjV32OFd0n=@1U+*Jk_NEmxGSzkAxw z15x%4=C^)hGK)3H+$o+gn6kqYq^J^H{B^dRif@-oEr+$wn{QpZCsNez!97_gp0BgB zG8yAO>x*@$<3Te^1Uk?kZw#mBn=;%#wuts1wrD&qQq%ZI{(PcH?fZ3Q;>SC+ydB+J zcel*q^X7cL-qqRp;s?ey&xbu2Ld`7E7XJ@5XfYyQ`)Tcq3k%TgqAs2 z1Q>yx8_&btGwUz(qSXnBlh$2MYz(5>;9q)93X7)lw#&=-l1Q7JsG%$9E@j6BP6Y3!CVw2SpD3;|ea2 znGHacan51^5bFEzNIn5PgJbDwyB=Df8C1?5u5OfxBBT(g!=K^^GsC*m3b!g8&saDg z0JO9S=Eckr4+M=DHy52C7BpP$!a+Nt5w|a%VvR-n;?xNkPZq71b2;vF105rYeN9_9 zY!)-)OkJ0IjaueC+Vgh8*53iblpY|rrXDUQ{Zs1*O?nYvg#iQI7hMUpr_+a%_qu@< z8hyD}Pi`o2k9q`Xk?KdkQRt;^zFHkJUY(T!tDU`dhz{A>j>{1eebmV^mn9a* z905A1I~nB4w9B8MbAooz84hVSJ9FJEqbfC=nD*={O*T%E-<9WwJ z%3b4mm!nA0(ZaRHQ&+Ke4Yy;o4U0Mqqr^luyQpM^^G_#g`{OVeob1F?(C*GRwRWE| z8AgIxQ|TL8pFOQ%H&^ai_j>_Uaf$<5bU7>DylhXyc>`3t_ytjHA?DTP!sXz%2hXEt z&70?o!JnzPpg9Bpp9G{l|E6ix;T-5)$^f#6CylGY2T|Ydx8m*5WdX6AR~gw*uFU?h zO@&LS%nfaAenOg4X+i_p%nYb_*unN~>0t9&kNL%tM80VCh`Trg=w!x&YfMQSPJsWf zh>b6&C5ASA+h(-C`Yh=oAbv>Gsc7P;ceuR%{3;feW;hHlfo^p@Jy9tBIT4W5Z@OLE zYvxxOVb&W96JUvej)rj6jdtR=6zIlXyPPr^?j!G7?`$4b=aMVd8bX)vD4mKWlA9Pe zipu-7N5#5H17A|v5{d14CYiT%BzD6BaWv9>nEtr)4;`(~AcDPi*wNnN=9S7EIB-UnU>~?_tE3_T4I33p$rhhwUB(lVUalD z1oWs*HZGmSldDSdQyP}0As|av$bIEFoih`FpLyduw-x&CD$i^xC)Ma!YLdFyAA)e- zqQWG&dKrAlH#w>)AS|3`q=!QMPK`1|q}P|Hm3!nfTt4;b zd4{Z7tdIx^RwZ%H>C+_+Z+jw=p=^t8rcC=2WVOE14yIkKk?GuG++vqgqS!x!$CI!&h;xRfLv!OnHaS5gcTvQ+^u9%ckqFigOlE&6cXXHASy?;n_8*! z`!d+~7}C##Jff~}J^Kb{eUbs_ss_Ff?t`};D^lw$W(Xom+*xRhmysKqwBKQcO-!Eb z1FXIf0sU23#G?IlStj&yb9|SG^{D)r$osoI9@z(ON(s+promgE)&aNqy5_m*8-BqI|zqZu%p;U02JE zH;NcD1YTe|TiOrUJ?-=ZC2CR$FHsyI914%(Qauw13ue?hR9?ol7ta)aCGB=OsS(mj zbh_NCb89!enk_~^O4eEEDxlIxY#X=AYb*g?ui zAeyxI>>ysDyT2Uy|BU} znQfl;)ic_H`V4YO#q&c*ZPlkC!Yc9e$+6O_yWPkDL6b%A7av4E)NZ0! zedW=tl_%hpvC?MsW0kIjMwj|=fY7dJhjpoMsDXq@)gkc-yQ!z`-h|u$+v#hAFtNTIwgspSnx{|T)X4($dB@%ML>uldM;utv%|Uwa@Z2&Scy{_QTKdd?)6k9jjdgA(6)8`LlHwr+d`J zO&578dzsOy-zTlx)g%#6BL-r1n=-F@c7=Q;aF|XEUQMdyKTL>I=4yPvIB~#hKC*|ksOCjAD*%G!Y=?%~x@&WBrIRVrz zHz}g8al>A#eX&c`xen_F%?}&yEJRPK=YphIJfj>6YIQG@NR;pgqf+SA;o--mQulZ} zfY)zTnNjD0!FpmEeX6CW?${&tHr?Q&aJ0Y(6$mIQXE!@6@GSn?F@TexBjQ#_p|j`V z#U21cI=;it%qw96I8|zHM{d`Tj#q#KPZbZmLG2?{BGDLJo4)-%xqNv$eGyyHVI8BH z>Ly%%n?ysP4HDmrKV++iyg1TjuYT~^JX+1%GppA$t_Lyc@17d~^5v*bUkFdJS+w~y zjMeIIQ(=fZ- z*@GdJW4)5#T^%RWOS)iWfb(}AjoS!OR#;H5YoM<$a>fob@}#Nv=w{-kvI9q>?V@Ry zQSU;N11>r|+*sM4P&k4}EFhs|Tt=;w*kOAPPXz@f!+M2;eoo&kSEf2RcA%D&>f{+a znqgTREPVi(DgE?*hx&8pcGF-a3IOu$t# z+L1XuoHo$t{*2`YA%QS2v0|`T17;}64No%bp?tAeN#|sh+`&ySk@>9ImeClEf#4FI z+xN?7;(K_&!|xtQ6gs&*1-PB2Za*SAZ`T1lQa1)R9~n$0ys4rd`si@{G>l!K5*DrK zM1^AW4bD#V#&g~x8O`@fNPZz9<>!1oUrN_$4Qcp2gwqXs6DG`NBG-#-WizL0n4Qj2 z;jTA1dMa@91ofs$TGP1hd@HUbw@UHd=L4i|F98y(7kV;Pe-)tItxazL#-y{tVD>8` zDFJB(K6#T=ulF^hoLC5G8SeRxXCwLxH~fhSW>S=RT+ez#mPD#3JpyM!R~ zbn9<)^RM5F)B%vvm9y{G#vQ1yxZE4opZ^7a|AZxg-QXn&WBU*R)aLqg&i<7<#eD;O z`TSn#tA9TI>#xTk0ELfya`*>+eb37kfVP((v}^y5>qP>SBuUrz2eN%17K)5p68;=1 z@PAxS5y0QZhy4FY}VCd zk?AN3|2xC#g+Q>l@J^2G#!X3U_%1IJ7!X`0Qf9b@&HE!Wat{V$qp3w$79Lg}2+cjh z0T9~jA0VG31ITU2!Bp${%#}X|@;$mhafiK-{-geecSt|dB02joKmx3QM^#j`lrk;d z6;hP3hdA+~{$Ck#vQXd}XxM5OTEQa_9dFgCGe-^04u5Cl-jVDVX*a0~p9q5l{dUy*(2_G;Irq zklJnvtcDbAgms9I8d1*otNX>uprR?HQrae}9MW8j@K~WFu=dBl6XUY4?l(G&xR6i| zaL5@Yu>(V!DJ>nA*3+=mTPuo0GWjd#lY);xxF;521`vtnD$w(Q*WH|I19VbZESuitbe-`C|QY# zL)_h6=WLFDZ?lerm4|9h8Y;A1Fl=KA36VBs@!KNyy!(828s$DmE1CDO&+Y=)$aRa2 zO4Bm68Zp0rUX?*Hz|ljQnkZ23kOwCu=-bo`VOJ9B=Kf-y?}_(ZAlP|3xY6C+M4fId z9}+FB^~zXDEil=vxIrz^^DtKnUwy{c{W4hB=3_j*i|D6stPJ@vtNfW5vyVNp181a-58^XgDvMj27{Y# zufNJ=xA$m4Xw=C&-`isF8|xDOcC~q-F^T~lqJ{XJUi>Sw`6>bJzNhA{suk^V?#GzA z@Cv#GkF(o|ek>-Z$LrN^l!zR|!C=r`NlGUyW4Nd!$V7v8T6p#Lis;y6W>ElV{Dp~> zoQ(|&jeDN*K{Tpq(a@wC3lJ7G&kXwh((iMt>&&kNj ztUuLT<(aEG3G#=xFi7|-4IUdS4Wz;Sc%DvrZ4UKfst(^A|2Qsr1rQ^>c|#B+dYT+A zD6fLV@pRYF64W*)_*W+P$J4cjO%tQxcZu;PP%;~kI?Do%P9))-E{$R46FF5+3kb9C z>It57cL_4JX(PO&Tl@C)u7VC12*;yV=-zsD;{RV0;TOF8aZ=~@a__jzc%1q!J9#Ha1Jq!24-AxLgA)s>!P~Y` zPW=N#6c?EAASx>PJcVMSO5?FmAg3gp{^@Ck(&$%|H*em+`wr6n6Mg@MYDnV2;?tFc z*HB8mq*SHw_m3AVX@4*ALA^kj@zZw|9MEc|bd-_?Avv3H8JS$wC=V0G19};mQ9cjg zXnBb(c70)&Y1bPyat^RO0@*2G!K(?k|=OvWl{epwT2jJ`?cjsAAHAzj-eV6_|Vg6-la%fREpdY>g;f4%o+toQ}~DVZFjBXzi=!P_sldnEkdz? z5&4A`|8tfi;qan+qd43^YSDC_MF`p{A?uH4iU7{BJ zx4@#K{3OyMYaiKqJa60x$;hk+@uYWH%zso|kUM>n#K zhUqwUZv)^@@mDVdlY4{~qkHIV_0bi|)0tX==v0c|nvY4o55Xh?$iqR#e0u-P_|LzP zR8#t%RRgLl-yX?n>*(lRl`aXh=cEw=9oP|8Iw6d$eu}xOq$=8EdU3VLF}5AAkF)yW zp{i&IXDP$?x7yKI^JYOJ} zoGM64k&eJ}1soYa$n+D8AQMDH%8Oi%H~2C)H@{6(A3v`f&Awz&Yqoj2P_LiFVIzKX zWj)Bz53*Qbzi$ebi?|0L`kxo~2+Cttt(E0&8SDK;cd=CdLw)HIZZARt=@LzzyGFcV z?iX1F@@cS5^1P#vp07X+6iP?n1;-0|?`!}BBtIane1gf$4JhI@@zgu)g?WAa)H7X9 z`^>lhxPCV;iSSF$q{d(*hs&vO(wq}e@X(ayWd1IpW!qwH(@=f7TrUD$!W?3U^tDnz$Q+%>5^V zbicXS(x2}{BUkvkp&^~jY`0mlJ$2xFquPiWtss3$EV+Y6ScgIU^|fDx(Nf4oQ;}LV zC(?MiI129l-(LIv+>-F*0wFg9=v3{BEMvtQgW31b($$()6gD^mAFKG1v<>!~oA)X3{6uj}pslXo9cXZMVN z0>|v*)MvnvZt$O~09=Y-kbPFeBlyiN)2q4{p`5Q-ZKp8TLbygcCAe|RrGL9IT(1;D zB-t-OO%APANH3U@oW*8YkWq7ALORRV$gC1&HGRCN!AE4}>Krkgz=d&RBDYZ?iu}DS zkJ1>e#W%WS#TMh0NlFzrvMrNTj-KoQp`F=Euy)7pkgtE~9PP1{2n-?je_yTdadW)U zbP8cae3!+uo|h;efLe`pz9#r6zv@on$Y-Cb{m4xtM1mm&QkkHrqu8W*i3<<5v%8*Z z7BT@@ExkA8%M1sJ)NG;*hW%%`0{?9>dxvY7Fu4o4t>zODFfqt)MPecHxN)7KCBM?n zkVgI>n}AzvQHQL6o5!u%T9y)P^RgRY8dRNFv5KG^7IPL|!yR-ET^;X4Ba4g%DwtFz*{5rr=!F^0=Lp$urbusrTq)ms^`R!^o@i>~ z{#|pjTI-dg49sXJ$y1=LjAFmjdV9($k(j-q2KqoonT5ujL`zG{s^{Bz0_%=QZCaFq zT&}dz=6F6q^KFyZCgfN85s{Kxe3E$$YVPznQr!IHl4lkP0>&QQzxJ}M1`*Q z#|d|bJJcC}Vf8h5DOJ1Ad2={Oi-tii3|;Les5BlAzc}7%x03(N>A93UTIw$Ml3Iz# z_xYP)yC@Q5DnQzyY?F!2{zefWEs97~IGQZ8Q?gK5t~-YIWA~=L%c`iiDWvJ0M++td z3#j;yoG4TQDK0EDWuHP8!fe(CfGk9F?}FQRN zKLXkY1%Jp4>kN4_*@yU&0vE{0OAo4nc9>@->!h9yWGaxn5fVTv??Ob+;B&OH^Dq%^ z`*i$J)SxdWGv5M8aL?r?VMS~YetY+vgJic!Mt?Agz>+tZ(_z!LnRK`0*rz#r4+28- zF^zMU2tz=lBE;Tno=i2n^m1#c@xW$VFlg>``)!Nt`*9CFCI>*=5$q-zvGxz3RBE={ zxlBT^AsRtfwQf6@3VT+lC}Da&fZSdR#Ose&zUG!pB7){(@%%OWwmpjOV06s&`5}7y z#$Fu5Rsk6sS$5UJV{#;l1=mAt7RU8aIp1lor8$6)l3N|?Fb@!0YDqY843r$YzGy_s z-c5GD;h&_{(I>@7NgIeHSC~j0$jLE0{~ow;p$dpA+1e8F<_p zaV0&3E6C=J)Nptv*Sf*__31)5K7W9sozCYhi`C`i&BRtXc&VxcA2f$6CR0Bp1jPnL zS_~%h$aid6=H)(?qifySYA44g3o~#s+L>!X9V%eHab;yNAGP4l8LH_G9 zO?C+7mAZ0uoq!LYh1R@;pPju{$Ia^n2MxGt2x)m_2@KrVk_#J9!C4Pv^z=E*nlZVTWMFbR`d_WP8VvHU6G2Hu!Zd}>p&dsc zWG>FFRBqK+28S?inpTuIibYe=4_N}qx&rBLgtG?|4ix0fw_2%>OTLg8$J;8%yu@Jk zmFNgSn~Sn*vfQ4c#h|mT`M577=<~&V;mX|CABU)V;Jc5F+CXQF>N70PkyLY094$Rf zZ{#z7AX{m$(%wv*5UA2A5=B)`q)Xx}6O&O2us)P4Kq9JVEsf?q8ORTP(6=b8X`X}r^D6ZX<8|_rdtsh zlcx~@FDcVH{SV?`wc6)Sjpg#=Mx7CF-uVVuE{51|=C5@sa&wDrUGr(^!J}*ycdEl* z&{{4^&MO=})!SKW&u~9lxB5_(Afvr^JCNvMOx&nH5`1~@J*7%jNm8=i783$RRD)PD zNj|k7@ri7xWm3qa#3RMM`XHpR(ludT8?Kzos3vQu|CkC%J+xEq)lz$f$I7OMKk2U2 zG;;Bi@pJwDID$Qo{jh~SNOQ8cFZ$$V(hVva8YumJP$kjX+41d0cCu_Q1%i@XOBoFQ zJrtsV6QN3QcgHiL=m?_b-00v%I-)kWsCVTpm zR(iv;{RM6~1@}E3Q1sAjyFMhoH+$RK=+ohi+=h$!wA?$FOWrw$2jOeL=zw1?zbVBReCod8NF|0<)y^SC)*h5;CnsWaL%OXLqAdn=oW35 z;dtybnGqe`@DS4OwF5y}BuJcIW^6_~7F=5J;jwB8_x&wQhktf4u%lbBV0d&&QP9xJ zr-($NG*RR~mru7NlGl(TiRuqts}JxcjPeRAfO2f*CdiTGEY0oj@u5|?oC}Y9Qhgua zL`0FiUMLDJrMNFo7~?q0k2V%4)U1@|nW>yabcW@{>7wRt0tkPPa|vo>Jz#+%>$>>ynb%s*L|aIlu{4PzGLz| zj-WZH&Mw$IcS*fHgxT^bQhO6BfU}|HPu7)P%RV|u2J;5HiI4(B`-Lx47)|f$j5aFg z!v!ur`(d9<6xy?0aOo2(^Sx357vlpWyUnTMlKuVfbS;bn&9|J3l6`MZJ;pZ~>ckcG zD@~{8>Yg*lQmQZ>H$0p8fXx^Enx$;3A?fM?glRCZG@43Hm|Dj;2bP~8FU56tu6DVb z*hNKdXSNzLbE>4QZ&6+-l2=NpqQAU2UD&pWF3P5BN-);q!-0GXA-C$CqH4q;Q#WSu(pPuzh z5lc&)Z0yjGRz+`3m-}k6z@bF-w;UANe97ofeExi`;fCFO2)9TgwxncCy2up6ti!Wv zv2TJ!uP0K7dh|n%^-&ksv*>RTF!=X5cf+q6uXzs`wmN4HK$t=IAAvbZDXmHr$%vGtbsxNr97Lw;;?uw>$9>b;~fTXamx|E2(2Zi$( zrIuJ|t};_r(eXkxT{F;+E&EOj&r6Q_+ZpUk7}wAnJas=KU|wvMGXu_OsUQ4Y$u$S^4nRhOgjBuEXGQHDSOS=%VUdfihSOgK`#9I2y~qrg@~s`8bE%~ zIR=jiG9U-p^qb=G)d-g?dOl?W|^xLPD@wJJEf~Du+I5RwUvbr2Eltgz{(Xv zQTe9u`e=i`OjwLip-|oAoJY_UF=je{!jWiFSK0=d5FFJJ2{P2jXvAAqk~AxHfY zr_WzjxF5^vch3P)qnI2kO1NDM_V0nI7k9x&m^TQQ<$kd=k0Q82MWVI6 z!Rv;%qG@<}n(&glsw{-iFZ{8&u6c_e-4faumJb|yB8M-9lA13U#oX9rmm_eVbCK;e z-b%fe0;p?A1S0H9Nt%SJ8r3w2^3bW($`q_-cL^|`wm_(lj&BS`!PRf-HovfVTG>{CUrr1Qi5@zJUTKbUT`=Q#9}T zn|g;IS&8^?T2BJM^?|nNHT^gzFU=BWJDP{Uqn;Q%qB22l-1FKIfP!e#vMNiNITrx& z3M1u2C`;JenPJ@kS)M`=29X7?N;x0wtWX3IVWgUdgn^3ol9U%xUj-mcc3&a_H|-9y z5(bmy5@fzY-U50uf(Ytj=#osI-s<#t2wM}5x@+%o6-Xh0H>6gU(d9W6<4)qs-YS*r zC*r*H&h>RU34eIlY-bt#8WIDXV$4`h_?yJB_acD9;6{$}wA(LEPWOD+m;KC920ov)oCgT6@8IE&@g%@9xAofJv@+#v<< z`GJd*Q_kI5=V=_1{Qo>e|sO*=`~!fzsEs*fPnjtb@zAl`j$aiwKJ zdFz!KAST=T3a^AYkX-TQGIe&jlXd-xK-iqCTIKCz(fouF^EBTp0|gN_@tLS&#fKToC~f2r9S^{}D*+zaigRb&$_wV4@+K@Sj5Q!w z0gaHZym^l+NrYLd11>C2oP>+JxS3W7sqWRrq(*i77Sa@F0;P&}&*I!I=k-v4q0XR= z#)uAA@{s$kYHb0;4o>wCGT{tyP+5(9OvVEw{E|gb2tw)Tc zBfbWy2E4IkM{I^CYOR1o=!T?~xt^0%^X~^QVl2o$7!zaCh{a%u-=nP3WA8V9=b6p2>{)HHY4_FT_bCZVRy=trH2#~*DlB!W?0 zZt(kDM2ro*+>jR%uP7@(1#aiqTMm5{GCE-*X4)^uc z8INNsmFebkz9%fy?%-XkAI60JEg<_4e0O37344?KM&_;nC8e9u2Y$M6b{9uRdP3Gx zGzK9rAv6HI0~kQ7sM{LM6g5>I3=cnY7O>zFmGI|$PQue#0O3(oW48L9QE6enxM%}i zuI@`!m?a9rQaOh>Ut&kQ(;%7Yo$ZIw9R!h%T&D^Ex}-0a^jxP)soSO+*=V#(-8P~d zMPo-Y3*S+oS&6R=3iK?KTCgSCGY>>j#@m^u-6|5B?{JgQ8_ld~^aSsC#Jn>Jw7I=B zjk|*{#L2zL9d;E>5XmD#*!&xBu^6vNB#xYv7o0CSVwtVVtgEomvWfi`bi&n!Xx8S; z$mMfVsPW#Gk!vA*7^oO*wp3tWINXm1%KQ)$;l5986-xw+o&x=Dz4d!;NERF=%yb*0 zw_-sARAzH$>22Y35tF8Z=?wR2 z`cd6!aAc&^^W+N)(rdP5o9Olf8Ka)y^1Kq+wozx#8UbH6l zfot1$i2?v9CA()B7Xh{nZ*Dm95WWQI@HT6<; z@yW#31Iuw&8q3)YxEhmAV4-&Q_CD}kUoyBjZtiFfNLnXA8A#)&MYa$9c5}Hm?lu&A zy)OY+R$j`bSWjjz68iM_A>j8Es0Z>{%i{!SbfDO}Mx4V|~ z1{c7v!UNEHw)UPd+a%H2L=8gjuk-Dxhuldm+j$I$Lz=ELVwE3#JbfBP1|U#lIswIP zC0V5E1u^a~TNYb)IWk3}2g23Q@p#vvLGkXNi)#p@JQ~2AHpl~ovy~>4$*!#9cnUi4 zLu-~^aKHJhMUYntioEe;Ug6D|2E|!NeVp}NjLf;3Q1FXX3VqGZXC`1Q&I^SNTMHA) z&j}ppxosrzkKZMI?(`#9W32+eo-P;ad{(%eAA86_x)}<`iJT`Nd=8rX#*6eOLnz|? zqo%90s#iQr1|Dn*9trhN=-mlC9Wl`!+i9|VS!|{5_J)tJ1(zgPMiYJZ5G&K~|Grx$ zu!cv}f>EGUr#th}BN!l$bCDHDp$C)62?KabXTbZz>9N5T`c9Ud7nIU`mx`_4GirQs z;)#3F4v?TyXT^*tX*@jGQe=5cz?X|T9r_QdZkN-Am9ta<=iQ$3TtjjSPDw?ci_ zzRkg51fNW_p1CO(@_H>Tkv+wx>(c40B!M(I(VuIb3-2hR^%m`0i34q%BT?+kd%HNy z(X^e4S>9_-`=Q@1UMyfA-o&s^;m-`CYlv1Smz^B+eP7_1^zgJZKiOuP;Is$QMyZq< zbClnNpLqCwYGC*D(?yp@ddXIQVXlY&8zAq2v~Ly^$fayA1>_6(2@Q(aFM5DtQnh8l zI2n_PqS2=viuoDPTqz1vKW3K&6RD23kF4}g8g3(Oj4?jtgWv!uvsvLy^u5m*^k1Vp z_9jR2)CRY%5I!$DHSfG|k?0hPnHbA2g z&CUt;hAG+gs%b3GNg;vG^3~0Gg+yjW04$nDULHlsqAGf?$u|7y>)sg4}HgMxjcjZ8UgI=r^d%1SVHJi5=r<_GcFB)#Ex#T!fZRpg)h^cH9p^Ce`(v z`|VQI0Cvx|`%c~QjPi=}+b7PhsPc1+p?v5_NtFhtRAi$0ON6Zcai=Qu$jAmO`>Acl zLQ#eS5iy<@^xvZGyki>ecj7J{vegHuhC?!I7DE`n>7LdE2*QfwxSm5Fi82d{Y7BSk zbjmIh9(O0OM7*F@7d_}&wgVds@O1(EnNT8W&b;>>4Z9sQGJ(_Py=E?~)_8PP!)`($ zH!y#$g9*%5ye0gRq@oMg$aUxgvCnfe6|yA+48ssquPEuh-MnVA7o`^YC^G}JDj1V( zOiWuXH*_R>*&RhbqzFlQj>{-nUDykD4nc<_I)Nh$2zwHg*VtZSiQAP8gDhY zY?7k%IDa$uej(hFln;3Y4g{RfpC}^(Xt# zi%%g4p!p&-l>jn(<~ibjZ7adIUMb25y6+!E9J2$srp8J7%H^#}ng=rDBuu4`%y0+U z6XKbM+^amk^H=aBlGle>3&wI}xk5@cO#Cs?cX6q?2uw);ZIcI0%Slfd<$sRC5!^#c z1u?C5>q9(Q63J9FOv%?f)gwh_DrV*uMVB^+BH#{@sGO=IQY{eprTmqWhxCM!X=@Ur{ShRt=Vh3 zB$Ugep>*s^WYR!-HVN4XNo3Qz`LJh;B_%9di~Pl1u1t4;;`FUaT8z&w3XumyV?qFi zFckV2*LggyatoUejd{*3_11>;`6B_*e_@$OmM}afr60oDVhw>bh~CYW6AFftx(}lo zfyb>IH|AJzb|Q%A)3d0XmgJsqZ34CoQpV>Y#i?M_(dQmuN{y15ED`lFKIV+@2mV{3B4lu zaM#mdYCkq>cObAh?pthGcOal;I0qSDgy?T&z_9_LIdp54vJA*L%J0Va2(M(7$-{TR zZbcG3-4bE}70~>T1l&D%LQ1btWO>hrc!EskbGXse8f7Fa-H9pzxuGTefiJ=Un<@C| z35IOURNsft%>BU+8dSxqwfMdvufgx&o_ELkJvOH z)2g=N!_3R$fAgq+Wfv_~kROw3b%a9d9YU_I4ylFT)|!etRr;i$WWs_aE2IGssZdsO zf>e%7VF)H%;emnvZ`#{l0PGWSv>Ac-j+In4#S?&&Bd&VjV18e{KNIWRmPn6{ zv_Q;AW$6E76x=YRVD6z$D&o0J-b+OP+F8Hu59Kj7%nNzmHTBZ$|M_*E_nu#bL+6p~ zeScfhKfzL5+sBfM@QE%RN#Vd=_~QkOaUX%4$Nt^a?(sqHT>p}J5YtNhNt z7Kg|9kaZ~RH9!qHRZ4o>t@KL*Uu_X4|j5BNp!49Y%p-h(Ovq{Il zALzgT2(5sXPGonY!<5GXytmj)l$+ts_H=m}AZ@OfXgx!gNUlHy|D2lY=k7KPe5NyQ zb-XFpx(1-5*30W$)&RSP9HV?rO)jNkHWOUoy07%cLuX`4K2u?QN#s z{4qkW7w>Qhy}d;9v2 z0U536+Zs|JTjS&-E9NN_QeZ@uwDbM1B^zoB`$1jN3le#LxF({z%p#Tvzy%{UQtyED zzd;&Fq79=BA7qgXsAE8@+|AV;Agzd2b5($Y$0`y{D1=>DI&6ku0nsKW42 z7N|;2fPic_7>lWBgKeyY$1PVnvrJ=eVxn+Xx9zJ~-2jPRrS-c&@>HWnXf9()Y6Br&W^YgDkSW!9QRBEgnj<=2O=yIMJ#^Yqx7QQFKp9P6?W%xyA zWSPdNk!P95G2KUbObf$mc4i9tu9=}j~C~A^qq zd&Z5s?hTIkf7(0GsHV2A-z$PN>7t-iY0^ay=>Y_#Bfa;gBE6S@Gyz3GO6Ww9PUs@i z0-^UPReJ9w^q%D1JkL2E-*M0VbiZCcF~%MV?6vk02Lbz>#FGTW>m+oa zT8zX8ffCu68+1b2{h1$JL|&K7c<3FnQs}}lzPX!Yb$|_XKMVTo@KIm*rssTX*IwZJ zq;*WAlm%?4*ht*Eqd7X9Gzf&9WUI7A{-oc=nCo$B<$j$J4^)gSp_)m~+9=kmF8KSwrsc(QopG*3x%83xK;tm*dsO1lXf3C_6oiR-ol$4B~7&K z*+yxa2csU$m^Lp^5j;OsFj!&L!Fc9&_{!Kc^T6&fwMzG!YFfb8qZ+q!iU-JU=0k3O z*E~VHdk21@$CCHvUrX1zZH;>reYl2CiknTM&ecFaEuap!7j}H-GDOO5KLjRe!*!W4 z&_;*=`~%&)77OU_vxXxTjtm>DN$#{cjD|ZL*lXGD&YvAx^+syFOrxHm8w0GFb%AY_ zWlF3%sW(N?M-swg@NlEzG=b@(6xgt|=gSocE@DxfbCAy_6@0o!J!K7GVb*6!S~hEO z@~^~I`L~q1;kZwX0HW`sUFKFPs3Qiup_Nn%`lXr_A|1A*ty0Z@bswgZan!aY-pNEa zwzU)Ovu830H-Rb4#CX)AU7J$z9!8pxez2eQ{XwKQTu=Gr9IH?sh{w2x(V_3Zr?|ymIjH_12pNEMt{+ z!}o}B<3r;r^XES>Efj8BVb5&Y<_h`L`=`EB+|?+s?xM`RX~9570K5Wq2)WlJJG*#* zUY_4j9(Y3&R+l1GX-xWPC%C#`3D~yp*^`D?0 z02xiOvMx=j#8^~S%hXBZ5AMrE>M!oAc-ZMb+}C>RzNp7|lB+y#X(8}t0N~GO0a$Qa z$u+p$L+ef^r$$MGr1R}Mc~?16t*`sZN2f`*Vy=^{D*|BG{MWg4+zUsTNu8;g@9Jm# zw&4Z|ukHHRV|#U*Q`PE6_mzvjz8okdU&7O2+#pK7&e9AiB}DG-Epg-at6+8J>IKxI zu-mz+*?`7Z;lAcNmN(v)A)X|WpPpW;gqfWxvjAUG0GBdoz&W_cSQGU#!wd3!p@{i} zP3m)~3rxR8$+N)4+~C%9wK%F?3+Pxhe`MN(?2MwVbRRzPsDJaW`=EzE?Xa@a4#s$ ze5H3B~F+6+9-Sebcrv_d=6 z;px(hksPc$wyG_S*t|~sF(QHhojLUUxNn==9*aR&IGi)4w&^Un6@~gTraiXjVpE=8 zn^XRTzMpZgwc9VT>X4PIGcACL;m0zem)W{~bqAG>Sv3fJ+ALatwS5A5k}~vgPF&}1 zL_qQnEVABa`G*F>?=T-X{cnmbq(MuS=sy(OFr!gHB8<{Le9i>56D|Z(t95^!*Suuw z#a;4CK9PX!ZExmrLx*xW<@(Q{kZ=>Vb}FuwzQaFIHnBp`{RRqMCjI);WpUT%s;TKz zbSv;n2dVL7y&R1%*ZY&GB%a=14M3YlXaUOso7K~wY@l?#{-oZ#!dhKJ7 zn%C>e;!Z(An(>PQ?-Kdvi9(~`>c{WhoC3A8hLQ#wDdji~Yu!_Bi9MKe1;B&%$G~1t zOz_awzwy4s>-OHU?#AY+hu%MW;`lP`1Lcy18br*^(_LUjjT*UNzOym^qZGJ{oQXB97vobiwYUc`+_BgNYv#XMe#8}BcfkHAFtF!+pZ zoJ0ZyTQ_JgG}G;uL($+Tfs^t##vA;gZA6%Iy0FAwc2p?3X)3=nz#r+r!XE`dg>TD# zoD+5^ST%Al6DNER^4h8rU`agDZJG|PLdAG>7508x==1u3_IZ2%VGQLbZ$S5uN8x)N7Oh@ z)&2^lMsACDql;i-GyeM~2(MJP=HqMd{W?#ubf(Xl;z|$c4EO|#mpn$5>6VSm0~bPj zC|I8Lyd^0o4Rs;Gnk55jJBBaJe2eR}xmQP00#Hl-d(a>k!I@68z|H5sWbsn>|77uw z{$cTgW^U@2NGk|*8EDIxChY2oftRBi3tf%Kcv#HCG`=cq%2lRTbT*0lbLqlnzrpsy zfUdt?v7cM$Lt|vQZVIy_lW!!4DpIlsPqV7r4<}(|}7 zg4`ECTzrm+Cmh=@eU2I!{7}SHnq@SoDqiSv44GZhI19Lkh?YF{Xn#- zbbOj!F4$*n2|ira-gdw+Be{y(>e;Vkm^i__UK*apLT{9~IE^sao3@0_x z4;6XOM~nFRAj-8`4rLc zvi<(Gc=bH72(DFi6Sh$E_n|8m2gxoKrc-_^xXQ75Lv;&0g|nj`S^-@HjEjNTv}NO= zA}jr~%fIE>D;{6)R{sE4lu77sqMQGw@WCC(u zEh|nEsDlSEO2ZzaLJEd3(X--63|2dyDOAE{WIS=d#w)EO*Oa+z%Hw{8{%9pvspWe1&9f(QNU3TqOIGlSbI?w( zL`gFZM=qLM538)=64M>+ZIj>sxaWx21K7A(ffuzDY7KP47BG}w4zOG!x73Twh_4J9NP7HpYd>eygAf$VDWJkq3|Bie&t-7u?P2VU{k=^njOUap-=Zjx2#2a z&-w$GHpZiq!*75%?Xo8^w&DWjE0>tp-gIx45@ir}FQbH}8uldLV>wrvfg`&p9u?r0 zrmn{T;j2~HmApbaQiSDd8O1m&!|m~JFWF)a{Pp?K2my#jlO;}Ys5r$BXuW!dSTP4$ zzt&>=ac1Hv*8vy1i$e11R3Ns&w;)dHGX}AjoMd{(^03^jF)s(;EO9_o3i)1}zX-?Y zug8CJO2nfKIQ2|)M*ckd6m*Rab}#m^0FoEN^5L$y;p4G<7q^DChvgcj@T}tu>?!8F zZJg`M3NvYxhAw5hqEJ7tX@xdmjuL8uu3yk|J|PnzROX60yvpwL#gzUt#7Dad1};0W zI^kwHbhGOAu4{`U5Zrw_hCzagGW%?GK}?==@Yykych;F22Mg1F6Go_rYKH|{Y1UNT z?%;O)Hx4=@9wCY3QNm5sJ)u!25ohRKzP3@MwEyTV{9yH`2?Odd!WIwVvOdIbeWo|F zTGE>$4zx&b5OArl5+XnigfoII2|a<6j?N4S3@hPSKL4baVb~p92r21__i7bN{Q-V< zz*~Q;Kpyk-gReaCqJ@P(qbPGXy__fOMPQy$HU0s-DDcO~_j0R*E82Qy?Ow=yjZ#9` zdee0Xr#ByvZn8jw0Pi-k&Z1IyZWzXDJ>%D<645#|1f{XfC3XCLE{S_9-D^gsIH+4+ z%%pTx6T*XFh0zqn0gxiiUEKIFx5gwvij}Xi13H9UCW(hc0BV>hv`3itLeJN@yh3a!z9Ph>gm|&Yz*{xWn+QrU~Qww}d z*_^$okLJvK&BREfETVn{vb&R_g^oQ|#7P~qjP5RD2Czg=%{;Z@q`T7of?X#)0v&F{ zxIa{;p}O()_+nnbMz@G4?O7NC3-uI9o$OErG2-eG`Zy!ElvP#W(o)sAB(Eu?!1H&t z4meeC^Hfq+nF?oRf%Mqd*dQ>$RdUPCwMzyuJmfk&8)|V*$yM+59|UpN#_qG>vef{3 z9lZ5xS4vqMaT;8R0y^D6y5d+T>@owCj$1I%-V+Z(ub+$yWD#}i=}7sWNl>t4&(kOe zY<67+aPaJ3P6OXR-_hdVILGbvJ@g%_cp=M}=~G+ERya$88c@D=W~IlmKb>L~7|59H zOEuo^HDh$2yK{T0ZVd}nNfk2fPT(wVr#rW!fE=6Cl2e9~ot(NR?K}yl&;gRM(Wc&W zqT!nWSL=QfNP596nFmo#If$tk`I@(AX^Xmc{QGf`U?D%h9cp)a4Z>|G8X@m$(|@<@ zDOLWj2#EsC(`WiJZb_wpL4lTeMw|)yUAhi0VTFI;{W&)Bu8UWJ*CkGP4M;WaO+W9n`di-$3MItt)BN z4~h@Vi(T=)#L7f4A#QR^U^u7x#fMGSjOUt zIRi+YH(X}@RKcl6Pc^?>@f zv&OCu1i^EVzqNuUaU3|ZzTTb#F6eCz6M4*SYE%zo%5-FWVD*M>{3@5b0N)2)yMAgDU~HH zJVK3N*Ol(irFhLg4!Kd&s)drY%1ry0wT#j5xmSc#a#;^^lzX-TxDfPWhe(83VL()zJFrb!;(@@%PS(o6^rLhC`5gW_`~C zS_oemWSuoXfbeqTu@sP`dhr~nr2K;|1yrE)2pD1((^1H?WJNm9ABg>}` z-ZZ$2+G^6*DKs6Mwo<^TfTsZM6<9IAXpOg__?twk1ZU{X-cjqbeP+uA|)sX@))wRV~2EhM66HP^}jR~ zEPshPh((`cM{Y?qqTxE^VK{{G!M{n*bQ&|gIkGED(U^r*4n)n3UNmAz2N);O3cKps zVME>+-;=rU%g1f@!~8vr;9j>J3nt4PB!&(sAnsb z{u)?jq*tI{9&Ab!k>k0;9nxvXVn)AE=-q_GW2t;YmP+!Md>|b`NpQ!44XEgOMcXUC z_3T>wnz;gpdMgh-@UUg%Z_knm+nN742yiwUjoTW|H`{jPQ+Rkl0!m%^*1YeFP}ezD!>8&K;vf#b`Kx36GIS8 z=(CMmTdgDUGB-Ij^@+Ll=daX}sWJ5NwpQSL5*_o!B!-xgTeoH#i%H=C!P;XfvbyxR)|2$~OK zkb`ix~?XWxL1Z;l9->#$%))ntynO(f>>X(d-C_OH5ivNkLJXs zX{ozSPJgV@3(9D(YOLdT3{;VgBo-VWu9+dkync+__dSh?&$oOfG*7hGCzlSx$YgnbkDti{)i^PKqVC@F0y^x z?+F+xj>e@uh6$|?mE@dX^pvJmN#C@)Qmw`W6Anm`0>r~Qp54sjW4HH9_$8WssgGcT zN3rcAT}I;G&j25Rj~9odjzF#J(OuYUpoi-Sn{rak!H19=`uED+*T{5Dojl7H2{giD z%@1*9kUGtN;^z}JC46gc`t#w0`~yey;;ryj1*kUGxG}(FWCA!I?<2k*cGN9yd0(JS z797q?_Bbxb9EvG7SU}uPbo%b707I zt{G1>KB|#C#n1aMvXq>M)zH7iS}qaDPAd6ly?Z&xSMn(e)S8&ClpTp&%X%rU{|yih z%W7Tc<)W_XY=n*@SX}_LbTdz48i)+b6OW6lXIw;owl6yTftDUD4sk8EM1$Abwx|5S z`3Nx3&LSXz<4l6rsR5m-k}hH(e&3_tAtuxcsx7|aCgu3!6Z}yDdM=zgwMO#Z^?)t< z#{pRv2mAc}^2G~_vks2}>^m4q$VlJa8DMhQo|&6g^A$~WlO&`+->7+n z;tIuG$>&;qGFD-e?OkqJE3TZdb5)>I=WM4%-DWSLItLk#>|7PFD(3kwX9~XY{`;sI z^yW$p0vvGMKn8mV-xP8RsMgu6Dqk=m(w*Vbz*8QbS8mrN0;6Z_pyCJAaObx-eA=8K z;N3$OfzgXyKA(XArbc^-m!QuQh#jyw%If1i`Qj&D5G|nRhg*cS9koJM2Cx9+T5JXX zUI1~p!M2>_t2W4wTKyT4EEC@xjIr*6e++!~Uo{lDc;uy=I!5YqObwH`?q&cu95fJzjNua9=Ra6MYN) z*cESKD8=J*cC^I-tju8) z1CI{i37ik*2$wZw_*$PAR*`+C7H;4EFtfuC#93@O{bj~R()8W;OM z>UwEZ1WkB+#lFx&mhAsRwzm95wsIY~|4FtoOBd;u%sTV^A{)q7WVvP*pkWmCsZ^h9 z_En9v=wVMo%A_B_wH_kA`tHmoSvQ9&iX;HV@dec-n3M;YM_s9p-WMq|Kzs5oYK2}r zM*^+o#zQ~}mvpOfOi@%aO%$DgF|qu2(hWSXTQ{DB-`M-*Qv9;Wc}{k(y>)kQa-ZL@ zxg}GwT=#ME54FsL+6v#~*P?HPZ2E)?e9}C(COCXS>~;y#_{3x?dmJ_8-ob30Wfmb@ z@{-fXqi%kHrAD#y*bdg*U%CmW_2drM^G|P!p7YKmDQ6fcc&*MHe3u4@3m(?-s%(E zw2HhAp{51NOjM)D{Z*Qer6)Wc5(HlzdnDI))c|{I!gK7kQiogh00VUt;y=U6m33BO@sH%L+!r<=@{id;9HTxe)mr={L z91}{^-OBAznBBp7MZZp|FqRjUffvgul(HK7`1GrrJ z1}wLIr%@f0pj&JS2^29?U!}RlwZGgyV5x^sok2(%hT8g}#;A^UP1Sym)R*Nf@DV@8 zZ=UE;f^F=}@hA1nGm%T4b++tf&abYgxRoHM%0Zb%5~JVEW*ya^C6-e91-Fr8;mqCk z(j$aC)?!yr;4?9P?*+Jy{9LjhuIE;B(cko!+R~yPk@!YN9$l|0uWelr1M)T7nH1sR z@wp@UDipAh8Lv%XcbG(xPKxWN9QtljgdgLFF$n{%22USmBh7~?dc}c7NO{K$ScE@3 z#cm&Wnm`9Q=SFpuwt2;i=U+HZz}s2xb9K#dIhdY;Ob)r}o#Td`4mV=Pd+X;0l1ZY*M6$O2 zJ9qbibO#Y^o{4e^pn#??a?{5w4f@KhIu0lw>9?4#y=$ZjwfyP=6pFH$E)63a`5k6Y zgBV!}%%@fK!7sT*yS?`T&9G5AaI|&w+vCy8_;*^5r*Q(X#W)K@cyMaxzrh4vg-qia z5wY7M+TWu8LePR1S;^g-iOesn(l1U|JePWf6W!~vrjjx$L<$kGirKm_UmSlHE|n~Q zcf+)sVAcE&kiOLWW)yRTHVYn<&dOJ)J^&n14|<(mNKGe0kWtEC&R60hS&D@DCPezO ziY*%VgimyDmf{~CWzrEh7_~wpPh-381N802={N>VOt3hNFLs={YQ4KOrUFM6#Y-&pJYQ~=*1CYCI-A#769()%nJB~ ze8i9WjpHfIda{xy+~U4M!pJt5r>>W~faQ!wxnIJx4M6Vx@l^;HU>l{uzC4;x7N=D5 zEWE&0){XE7y*#n9(UN-0-SCni^KP*xX-xpCZ}V%10y6kK>N?zRHt<@2A8Emo!3=iB zvZsKT$I#Y)KgaN09Oqa3{^|HPP{JLPJ;CR?zq3BlI5I#)7e-ws7Ko__c#LO}^p79a z=5l4fz`L!sOxbdH$=mj&(%4m9^0oju+ys4gKbI#(P`Mg^o7kt3>vJc@b5qdYAc{s{ zoXBg#G0ORkn0x-QM)>4#$3Clb9mQ;&d)<^q^dCGV9U*R2S#U}7*xbeGKI_B1`fVQp zYRW1Zw67yrN`w@Nrhs68ETGIR3l66eFE)~}m@XBMb) z>Xw>vfG*06kG3cBTByGW-Ahl<{P+@Z`n?alg;@}*i$C`@9&!-kW?q@eX%e(0{wrhx z5?-;!m*|;*Igk-##wWu#kmgv15otC&ebfaRt|PehCw6O6rdd+}(~%Xh=u(e=dzhV0 zshh08^aJ;SsNAXv-y>q7mm`67RF}6oV-X$mx2(d%MnOPpf%kanG6(LmaD8cXF3uwc zfRK3G-rbJRl7Dx9hK!c=$=e%o2E36qE(>o-dwc+353sCxMetw>Dfi(YWp1jg(7WokY~ycrG65CnwH!H`tEfCZ9V!p zOTUq8XC-{1e5cC=*sv!Ob&KUFEfEN#s*|{;vYc{$-3AM3zKK_}B_)S=ocFP+@Sbdp8kB#!as0(tz@& zi1GL7+o@suH>Om<7KfP^#wsW-{0Bqw#{@MKW~`Ql$MOHq9)n->(j#rm)R*BZdlW*>08S@@Hz|IPpIq+AK3hW;#P z`e)Plo#Bs_R^k8<-5k(WI?%seeuD(Q`XnkE?_cjpQw*SgInji(C;xicpIzFb&CZ=i z;qQd)ANR`|J3#ncUvW+SO2@wr=Byy_)ly%qWd7Dw|Ge>_1T}zJRtm%s`QL?Zf8R0` z`08C+dg6b1*Z|hj9he8rGpeTD|C7T6#^priP4heCs($R>%i=c)2mHd61I$C*0Q5>U o^xrQ3|0(`o5AXlu6whL>R?YSIzb}08;0o}gD6b}0B5NM}KbZb{nE(I) diff --git a/docs/user/alerting/images/es-query-rule-action-query-matched.png b/docs/user/alerting/images/es-query-rule-action-query-matched.png new file mode 100644 index 0000000000000000000000000000000000000000..cafa6e82e2ab240251cb6f430465df94e0faa5e1 GIT binary patch literal 115088 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
K4fn07cCL$c~b|6-L+ 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 literal 0 HcmV?d00001 diff --git a/docs/user/alerting/images/es-query-rule-action-summary.png b/docs/user/alerting/images/es-query-rule-action-summary.png new file mode 100644 index 0000000000000000000000000000000000000000..1e098d77fc5f3940c73654ab12b06be737c17622 GIT binary patch literal 129186 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�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 E0Fk{z%m4rY literal 0 HcmV?d00001 diff --git a/docs/user/alerting/images/es-query-rule-action-variables.png b/docs/user/alerting/images/es-query-rule-action-variables.png new file mode 100644 index 0000000000000000000000000000000000000000..685f455b986ab3b5924117ff923292699162cbca GIT binary patch literal 195294 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 z%0AJ);B^j=YMgQW>eR@VVqg$~2Q^!!pafv*r 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 literal 0 HcmV?d00001 diff --git a/docs/user/alerting/images/es-query-rule-conditions.png b/docs/user/alerting/images/es-query-rule-conditions.png new file mode 100644 index 0000000000000000000000000000000000000000..c9572afc3dc26ae8de245ee66e8f783b8b45df09 GIT binary patch literal 214414 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%0D#hNFA2YS*{JPw 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%0D5bH13fbJ4(a%h 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 KoFE&y$NvS*dGdh( diff --git a/docs/user/alerting/images/rule-types-es-query-example-action-variable.png b/docs/user/alerting/images/rule-types-es-query-example-action-variable.png deleted file mode 100644 index 8cb5c07543ddcb362f9af93b60008a27120193af..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 113351 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�wC9 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 diff --git a/docs/user/alerting/rule-types/es-query.asciidoc b/docs/user/alerting/rule-types/es-query.asciidoc index f8310eefa790..f1a391a9e87b 100644 --- a/docs/user/alerting/rule-types/es-query.asciidoc +++ b/docs/user/alerting/rule-types/es-query.asciidoc @@ -1,7 +1,7 @@ [[rule-type-es-query]] == {es} query -:frontmatter-description: An {es} query rule generates alerts when your query meets a threshold. +:frontmatter-description: Create an {es} query rule, which generates alerts when your query meets a threshold. :frontmatter-tags-products: [kibana,alerting] :frontmatter-tags-content-type: [overview] :frontmatter-tags-user-goals: [analyze] @@ -10,18 +10,15 @@ The {es} query rule type runs a user-configured query, compares the number of matches to a configured threshold, and schedules actions to run when the threshold condition is met. - [float] === Create the rule -Fill in the name and optional tags, then select -*{es} query*. {es} query rule can be defined using KQL/Lucene or Query DSL. +In *{stack-manage-app}* > *{rules-ui}*, click *Create rule*, fill in the name and optional tags, then select *{es} query*. +An {es} query rule can be defined using KQL/Lucene or Query DSL. [float] === Define the conditions -Define properties to detect the condition. - [role="screenshot"] image::user/alerting/images/rule-types-es-query-conditions.png[Define the condition to detect] // NOTE: This is an autogenerated screenshot. Do not edit it directly. @@ -46,13 +43,48 @@ Exclude matches from previous run:: Turn on to avoid alert duplication by excluding documents that have already been detected by the previous rule run. This option is not available when a grouping field is specified. +[float] +=== Add actions + +You can optionally send notifications when the rule conditions are met and when they are no longer met. +In particular, this rule type supports: + +* alert summaries +* actions that run when the query is matched +* recovery actions that run when the rule conditions are no longer met + +For each action, you must choose a connector, which provides connection information for a {kib} service or third party integration. For more information about all the supported connectors, go to <>. + +After you select a connector, you must set the action frequency. +You can choose to create a summary of alerts on each check interval or on a custom interval. +For example, send email notifications that summarize the new, ongoing, and recovered alerts at a custom interval: + +[role="screenshot"] +image::images/es-query-rule-action-summary.png[UI for defining alert summary action in an {es} query rule] +// NOTE: This is an autogenerated screenshot. Do not edit it directly. + +Alternatively, you can set the action frequency such that actions run for each alert. +Choose how often the action runs (at each check interval, only when the alert status changes, or at a custom action interval). +You must also choose an action group, which indicates whether the action runs when the query is matched or when the alert is recovered. +For example: + +[role="screenshot"] +image::images/es-query-rule-action-query-matched.png[UI for defining a recovery action] +// NOTE: This is an autogenerated screenshot. Do not edit it directly. + [float] === Add action variables -<> to run when the rule condition -is met. The following variables are specific to the {es} query rule. You can -also specify -<>. +You can pass rule values to an action to provide contextual details. +To view the list of variables available for each action, click the "add rule variable" button. +For example: + +[role="screenshot"] +image::images/es-query-rule-action-variables.png[Passing rule values to an action] +// NOTE: This is an autogenerated screenshot. Do not edit it directly. + +The following variables are specific to the {es} query rule. +You can also specify <>. `context.title`:: A preconstructed title for the rule. Example: `rule term match alert query matched`. @@ -76,17 +108,26 @@ Example: `2022-02-03T20:29:27.732Z`. `context.hits`:: The most recent documents that matched the query. Using the https://mustache.github.io/[Mustache] template array syntax, you can iterate -over these hits to get values from the ES documents into your actions. -+ -[role="screenshot"] -image::images/rule-types-es-query-example-action-variable.png[Iterate over hits using Mustache template syntax] +over these hits to get values from the {es} documents into your actions. +For example, the message in an email connector action might contain: + +-- +[source,sh] +-------------------------------------------------- +Elasticsearch query rule '{{rule.name}}' is active: + +{{#context.hits}} +Document with {{_id}} and hostname {{_source.host.name}} has +{{_source.system.memory.actual.free}} bytes of memory free +{{/context.hits}} +-------------------------------------------------- + The documents returned by `context.hits` include the {ref}/mapping-source-field.html[`_source`] field. If the {es} query search API's {ref}/search-fields.html#search-fields-param[`fields`] parameter is used, documents will also return the `fields` field, -which can be used to access any runtime fields defined by the {ref}/runtime-search-request.html[`runtime_mappings`] parameter as the following example shows: -+ --- -[source] +which can be used to access any runtime fields defined by the {ref}/runtime-search-request.html[`runtime_mappings`] parameter. +For example: + +[source,sh] -------------------------------------------------- {{#context.hits}} timestamp: {{_source.@timestamp}} @@ -95,13 +136,12 @@ day of the week: {{fields.day_of_week}} <1> -------------------------------------------------- // NOTCONSOLE <1> The `fields` parameter here is used to access the `day_of_week` runtime field. --- -+ + As the {ref}/search-fields.html#search-fields-response[`fields`] response always returns an array of values for each field, -the https://mustache.github.io/[Mustache] template array syntax is used to iterate over these values in your actions as the following example shows: -+ --- -[source] +the https://mustache.github.io/[Mustache] template array syntax is used to iterate over these values in your actions. +For example: + +[source,sh] -------------------------------------------------- {{#context.hits}} Labels: diff --git a/x-pack/test/screenshot_creation/apps/response_ops_docs/stack_alerting/es_query_rule.ts b/x-pack/test/screenshot_creation/apps/response_ops_docs/stack_alerting/es_query_rule.ts index f6f41a61f1bb..3a4cae246d46 100644 --- a/x-pack/test/screenshot_creation/apps/response_ops_docs/stack_alerting/es_query_rule.ts +++ b/x-pack/test/screenshot_creation/apps/response_ops_docs/stack_alerting/es_query_rule.ts @@ -6,6 +6,7 @@ */ import { FtrProviderContext } from '../../../ftr_provider_context'; +import { esQueryRuleName } from '.'; export default function ({ getService, getPageObjects }: FtrProviderContext) { const browser = getService('browser'); @@ -106,7 +107,63 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { 1400, 1500 ); + // Create an email connector action + await testSubjects.click('.email-alerting-ActionTypeSelectOption'); + await testSubjects.scrollIntoView('addAlertActionButton'); + await commonScreenshots.takeScreenshot( + 'es-query-rule-action-query-matched', + screenshotDirectories, + 1400, + 1024 + ); + await testSubjects.click('messageAddVariableButton'); + await commonScreenshots.takeScreenshot( + 'es-query-rule-action-variables', + screenshotDirectories, + 1400, + 1024 + ); + await browser.pressKeys(browser.keys.ESCAPE); await testSubjects.click('cancelSaveRuleButton'); }); + + it('example elasticsearch query rule conditions and actions', async () => { + await pageObjects.common.navigateToApp('triggersActions'); + await pageObjects.header.waitUntilLoadingHasFinished(); + // Edit the rule that was created as part of startup + await testSubjects.setValue('ruleSearchField', esQueryRuleName); + await browser.pressKeys(browser.keys.ENTER); + const actionPanel = await testSubjects.find('collapsedItemActions'); + await actionPanel.click(); + const editRuleMenu = await testSubjects.find('editRule'); + await editRuleMenu.click(); + await pageObjects.header.waitUntilLoadingHasFinished(); + await commonScreenshots.takeScreenshot( + 'es-query-rule-conditions', + screenshotDirectories, + 1400, + 1700 + ); + /* Reposition so that the details are visible for the first action */ + await testSubjects.scrollIntoView('alertActionAccordion-0'); + await commonScreenshots.takeScreenshot( + 'es-query-rule-action-summary', + screenshotDirectories, + 1400, + 1024 + ); + /* Reposition so that the details are visible for the second action */ + await testSubjects.scrollIntoView('alertActionAccordion-1'); + await commonScreenshots.takeScreenshot( + 'es-query-rule-recovery-action', + screenshotDirectories, + 1400, + 1024 + ); + const cancelEditButton = await testSubjects.find('cancelSaveEditedRuleButton'); + await cancelEditButton.click(); + const confirmCancelButton = await testSubjects.find('confirmModalConfirmButton'); + await confirmCancelButton.click(); + }); }); } diff --git a/x-pack/test/screenshot_creation/apps/response_ops_docs/stack_alerting/index.ts b/x-pack/test/screenshot_creation/apps/response_ops_docs/stack_alerting/index.ts index e4a287717383..43596aa81d67 100644 --- a/x-pack/test/screenshot_creation/apps/response_ops_docs/stack_alerting/index.ts +++ b/x-pack/test/screenshot_creation/apps/response_ops_docs/stack_alerting/index.ts @@ -8,18 +8,34 @@ import { FtrProviderContext } from '../../../ftr_provider_context'; export const indexThresholdRuleName = 'kibana sites - low bytes'; -export const metricThresholdRuleName = 'network metric packets'; +export const esQueryRuleName = 'sample logs query rule'; export default function ({ loadTestFile, getService }: FtrProviderContext) { const browser = getService('browser'); const actions = getService('actions'); const rules = getService('rules'); + const emailConnectorName = 'Email connector 1'; + const validQueryJson = JSON.stringify({ + query: { + bool: { + filter: [ + { + term: { + 'host.keyword': 'www.elastic.co', + }, + }, + ], + }, + }, + }); describe('stack alerting', function () { let itRuleId: string; - let mtRuleId: string; + let esRuleId: string; let serverLogConnectorId: string; + let emailConnectorId: string; before(async () => { + // Create server log connector await browser.setWindowSize(1920, 1080); ({ id: serverLogConnectorId } = await actions.api.createConnector({ name: 'my-server-log-connector', @@ -27,6 +43,22 @@ export default function ({ loadTestFile, getService }: FtrProviderContext) { secrets: {}, connectorTypeId: '.server-log', })); + // Create email connector + ({ id: emailConnectorId } = await actions.api.createConnector({ + name: emailConnectorName, + config: { + service: 'other', + from: 'bob@example.com', + host: 'some.non.existent.com', + port: 25, + }, + secrets: { + user: 'bob', + password: 'supersecret', + }, + connectorTypeId: '.email', + })); + // Create index threshold rule ({ id: itRuleId } = await rules.api.createRule({ consumer: 'alerts', name: indexThresholdRuleName, @@ -57,35 +89,48 @@ export default function ({ loadTestFile, getService }: FtrProviderContext) { }, ], })); - ({ id: mtRuleId } = await rules.api.createRule({ - consumer: 'infrastructure', - name: metricThresholdRuleName, - notifyWhen: 'onActionGroupChange', + // Create Elasticsearch query rule + ({ id: esRuleId } = await rules.api.createRule({ + consumer: 'alerts', + name: esQueryRuleName, params: { - criteria: [ - { - aggType: 'max', - comparator: '>', - threshold: [0], - timeSize: 3, - timeUnit: 's', - metric: 'network.packets', - }, - ], - sourceId: 'default', - alertOnNoData: false, - alertOnGroupDisappear: false, - groupBy: ['network.name'], + index: ['kibana_sample_data_logs'], + timeField: '@timestamp', + timeWindowSize: 1, + timeWindowUnit: 'd', + thresholdComparator: '>', + threshold: [100], + size: 100, + esQuery: validQueryJson, }, - ruleTypeId: 'metrics.alert.threshold', - schedule: { interval: '1m' }, + ruleTypeId: '.es-query', + schedule: { interval: '1d' }, actions: [ { - group: 'metrics.threshold.fired', + group: 'query matched', + id: emailConnectorId, + frequency: { + throttle: '2d', + summary: true, + notify_when: 'onThrottleInterval', + }, + params: { + to: ['test@example.com'], + subject: 'Alert summary', + message: + 'The system has detected {{alerts.new.count}} new, {{alerts.ongoing.count}} ongoing, and {{alerts.recovered.count}} recovered alerts.', + }, + }, + { + group: 'recovered', id: serverLogConnectorId, + frequency: { + summary: false, + notify_when: 'onActionGroupChange', + }, params: { level: 'info', - message: 'Test Metric Threshold rule', + message: '{{alert.id}} has recovered.', }, }, ], @@ -94,7 +139,7 @@ export default function ({ loadTestFile, getService }: FtrProviderContext) { after(async () => { await rules.api.deleteRule(itRuleId); - await rules.api.deleteRule(mtRuleId); + await rules.api.deleteRule(esRuleId); await rules.api.deleteAllRules(); await actions.api.deleteConnector(serverLogConnectorId); await actions.api.deleteAllConnectors(); @@ -103,7 +148,6 @@ export default function ({ loadTestFile, getService }: FtrProviderContext) { loadTestFile(require.resolve('./es_query_rule')); loadTestFile(require.resolve('./index_threshold_rule')); loadTestFile(require.resolve('./list_view')); - loadTestFile(require.resolve('./metrics_threshold_rule')); loadTestFile(require.resolve('./tracking_containment_rule')); }); } diff --git a/x-pack/test/screenshot_creation/apps/response_ops_docs/stack_alerting/metrics_threshold_rule.ts b/x-pack/test/screenshot_creation/apps/response_ops_docs/stack_alerting/metrics_threshold_rule.ts deleted file mode 100644 index e091ab4da27e..000000000000 --- a/x-pack/test/screenshot_creation/apps/response_ops_docs/stack_alerting/metrics_threshold_rule.ts +++ /dev/null @@ -1,91 +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 { FtrProviderContext } from '../../../ftr_provider_context'; -import { metricThresholdRuleName } from '.'; - -export default function ({ getService, getPageObjects }: FtrProviderContext) { - const actions = getService('actions'); - const browser = getService('browser'); - const commonScreenshots = getService('commonScreenshots'); - const testSubjects = getService('testSubjects'); - const pageObjects = getPageObjects(['common', 'header']); - const screenshotDirectories = ['response_ops_docs', 'stack_alerting']; - const emailConnectorName = 'Email connector 1'; - - describe('metric threshold rule', function () { - let emailConnectorId: string; - before(async () => { - ({ id: emailConnectorId } = await actions.api.createConnector({ - name: emailConnectorName, - config: { - service: 'other', - from: 'bob@example.com', - host: 'some.non.existent.com', - port: 25, - }, - secrets: { - user: 'bob', - password: 'supersecret', - }, - connectorTypeId: '.email', - })); - }); - - after(async () => { - await actions.api.deleteConnector(emailConnectorId); - }); - - it('example metric threshold rule conditions and actions', async () => { - await pageObjects.common.navigateToApp('triggersActions'); - await pageObjects.header.waitUntilLoadingHasFinished(); - await testSubjects.setValue('ruleSearchField', metricThresholdRuleName); - await browser.pressKeys(browser.keys.ENTER); - const actionPanel = await testSubjects.find('collapsedItemActions'); - await actionPanel.click(); - const editRuleMenu = await testSubjects.find('editRule'); - await editRuleMenu.click(); - const expandExpression = await testSubjects.find('expandRow'); - await expandExpression.click(); - await pageObjects.header.waitUntilLoadingHasFinished(); - await commonScreenshots.takeScreenshot( - 'rule-flyout-rule-conditions', - screenshotDirectories, - 1400, - 1500 - ); - - const serverLogAction = await testSubjects.find('alertActionAccordion-0'); - const removeConnectorButton = await serverLogAction.findByCssSelector( - '[aria-label="Delete"]' - ); - await removeConnectorButton.click(); - - await testSubjects.click('.email-alerting-ActionTypeSelectOption'); - await testSubjects.scrollIntoView('addAlertActionButton'); - await commonScreenshots.takeScreenshot( - 'rule-flyout-action-details', - screenshotDirectories, - 1400, - 1024 - ); - await testSubjects.scrollIntoView('addAlertActionButton'); - await testSubjects.click('messageAddVariableButton'); - await commonScreenshots.takeScreenshot( - 'rule-flyout-action-variables', - screenshotDirectories, - 1400, - 1024 - ); - - const cancelEditButton = await testSubjects.find('cancelSaveEditedRuleButton'); - await cancelEditButton.click(); - const confirmCancelButton = await testSubjects.find('confirmModalConfirmButton'); - await confirmCancelButton.click(); - }); - }); -} From 79c3fae5d1a586f7d30620d6c5dde0299d736aa9 Mon Sep 17 00:00:00 2001 From: Maxim Palenov Date: Thu, 7 Sep 2023 22:11:53 +0200 Subject: [PATCH 37/57] [Security Solution] Get rid of `goToRuleDetails()` in favor of `goToRuleDetailsOf()` (#165011) **Addresses:** https://github.com/elastic/kibana/issues/164513 ## Summary This PR gets rid of Rules Management `goToRuleDetails()` Cypress helper replacing it with `goToRuleDetailsOf()`. ## Details The following has been done - `goToRuleDetails()` replaced with `goToRuleDetailsOf()` where it makes sense (rule creation, scenarios validating something on the rules management table and then on the rule details page and etc). - For quite a number of tests expectations are done on the rule details page but it's opened via rules management table page. In fact this unnecessary step may be flaky as rules table has auto resfresh feature and it should be ideally disabled as well as this requires loading of lazy UI resources and increases test's execution time. It can be avoided by directly opening the details page via ```ts createRule(getNewRule()).then((rule) => visitWithoutDateRange(ruleDetailsUrl(rule.body.id)) ); ``` `goToRuleDetails()` was removed from such tests in favor of opening the rule details page directly. ## Does opening rule detail page directly make the tests less stable? Yes, it can give such side effect but it will help to either find and fix some bugs in our code or make our tests more robust by adding an universal page ready expectation. While working on this PR I had to fix a few problems on the rule details page caused by getting rid of unnecessary opening rule details page via rules management table but it fact it revealed rule details page's problems - If a test needs first thing to enable a rule like editing test for custom query rule the test may fail as `-1` is sent as rule id. In fact it's a page loading problem. Rule switch become available while the rule isn't loaded yet and it can be easily reproduced in prod if the connection is slow. Disabling rule switch while rule isn't loaded yet solves the problem. - Rule exceptions tests turned to be flaky. Edit exception list item context menu closes on its own sometimes. In fact `useEffect` causing HTTP request fired much more often than it should due to exception list types defined in place and regenerated each render causing the list item to be in loading state while the request is in progress. It was fixed by moving the arrays to stable constants. ## Flaky test runner [Security Solution Cypress tests (150 runs)](https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/3017) (there is no indication of negative impact) --- .../pages/rule_details/index.tsx | 15 +- ...ts_detection_callouts_index_outdated.cy.ts | 24 +- .../detection_alerts/cti_enrichments.cy.ts | 16 +- .../missing_privileges_callout.cy.ts | 17 +- .../rule_actions/rule_actions.cy.ts | 7 +- .../rule_creation/custom_query_rule.cy.ts | 200 +++++++------- .../custom_query_rule_data_view.cy.ts | 6 +- .../custom_saved_query_rule.cy.ts | 99 ++++--- .../event_correlation_rule.cy.ts | 10 +- .../rule_creation/indicator_match_rule.cy.ts | 93 ++++--- .../rule_creation/machine_learning_rule.cy.ts | 4 +- .../rule_creation/new_terms_rule.cy.ts | 4 +- .../rule_creation/override.cy.ts | 4 +- .../rule_creation/threshold_rule.cy.ts | 4 +- .../bulk_actions/bulk_duplicate_rules.cy.ts | 6 +- .../bulk_actions/bulk_edit_rules.cy.ts | 18 +- .../bulk_edit_rules_data_view.cy.ts | 152 ++++++----- .../rules_table_persistent_state.cy.ts | 4 +- .../value_lists/value_lists.cy.ts | 71 ++--- .../endpoint_exceptions.cy.ts | 11 +- .../auto_populate_with_alert_data.cy.ts | 10 +- .../closing_all_matching_alerts.cy.ts | 22 +- .../exceptions/entry/flyout_validation.cy.ts | 20 +- .../entry/multiple_conditions.cy.ts | 16 +- .../e2e/exceptions/entry/use_value_list.cy.ts | 62 ++--- .../add_edit_endpoint_exception.cy.ts | 257 ++++++++++-------- .../add_edit_exception.cy.ts | 57 ++-- .../add_edit_exception_data_view.cy.ts | 9 +- .../rule_details_flow/read_only_view.cy.ts | 4 +- .../manage_exceptions.cy.ts | 24 +- .../alerts/alerts_details.cy.ts | 19 +- .../alerts/building_block_alerts.cy.ts | 19 +- .../cypress/objects/rule.ts | 2 - .../cypress/tasks/alerts_detection_rules.ts | 16 +- .../cypress/tasks/api_calls/exceptions.ts | 18 +- .../cypress/tasks/lists.ts | 6 + .../cypress/tasks/rule_details.ts | 4 +- .../cypress/tsconfig.json | 19 +- .../cypress/urls/navigation.ts | 5 +- 39 files changed, 694 insertions(+), 660 deletions(-) diff --git a/x-pack/plugins/security_solution/public/detection_engine/rule_details_ui/pages/rule_details/index.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_details_ui/pages/rule_details/index.tsx index 44e41f0f9ebd..674d29b12841 100644 --- a/x-pack/plugins/security_solution/public/detection_engine/rule_details_ui/pages/rule_details/index.tsx +++ b/x-pack/plugins/security_solution/public/detection_engine/rule_details_ui/pages/rule_details/index.tsx @@ -144,6 +144,13 @@ import { useBoolState } from '../../../../common/hooks/use_bool_state'; import { useLegacyUrlRedirect } from './use_redirect_legacy_url'; import { RuleDetailTabs, useRuleDetailsTabs } from './use_rule_details_tabs'; +const RULE_EXCEPTION_LIST_TYPES = [ + ExceptionListTypeEnum.DETECTION, + ExceptionListTypeEnum.RULE_DEFAULT, +]; + +const RULE_ENDPOINT_EXCEPTION_LIST_TYPE = [ExceptionListTypeEnum.ENDPOINT]; + /** * Need a 100% height here to account for the graph/analyze tool, which sets no explicit height parameters, but fills the available space. */ @@ -603,6 +610,7 @@ const RuleDetailsPageComponent: React.FC = ({ = ({ = ({ > { beforeEach(() => { - createRule(getNewRule({ rule_id: 'rule_testing' })); - loadPageAsPlatformEngineerUser(DETECTIONS_RULE_MANAGEMENT_URL); - waitForPageTitleToBeShown(); - goToRuleDetails(); + createRule(getNewRule({ rule_id: 'rule_testing' })).then((rule) => + loadPageAsPlatformEngineerUser(ruleDetailsUrl(rule.body.id)) + ); }); afterEach(() => { @@ -130,10 +128,9 @@ describe( context('On Rule Details page', () => { beforeEach(() => { - createRule(getNewRule({ rule_id: 'rule_testing' })); - loadPageAsPlatformEngineerUser(DETECTIONS_RULE_MANAGEMENT_URL); - waitForPageTitleToBeShown(); - goToRuleDetails(); + createRule(getNewRule({ rule_id: 'rule_testing' })).then((rule) => + loadPageAsPlatformEngineerUser(ruleDetailsUrl(rule.body.id)) + ); }); afterEach(() => { @@ -180,10 +177,9 @@ describe( context('On Rule Details page', () => { beforeEach(() => { - createRule(getNewRule({ rule_id: 'rule_testing' })); - loadPageAsPlatformEngineerUser(DETECTIONS_RULE_MANAGEMENT_URL); - waitForPageTitleToBeShown(); - goToRuleDetails(); + createRule(getNewRule({ rule_id: 'rule_testing' })).then((rule) => + loadPageAsPlatformEngineerUser(ruleDetailsUrl(rule.body.id)) + ); }); afterEach(() => { diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/detection_alerts/cti_enrichments.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/detection_alerts/cti_enrichments.cy.ts index 2057a7db3363..9ab88f2802be 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/detection_alerts/cti_enrichments.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/detection_alerts/cti_enrichments.cy.ts @@ -20,12 +20,11 @@ import { THREAT_DETAILS_ACCORDION, } from '../../screens/alerts_details'; import { TIMELINE_FIELD } from '../../screens/rule_details'; -import { goToRuleDetails } from '../../tasks/alerts_detection_rules'; import { expandFirstAlert, setEnrichmentDates, viewThreatIntelTab } from '../../tasks/alerts'; import { createRule } from '../../tasks/api_calls/rules'; import { openJsonView, openThreatIndicatorDetails } from '../../tasks/alerts_details'; -import { DETECTIONS_RULE_MANAGEMENT_URL } from '../../urls/navigation'; +import { ruleDetailsUrl } from '../../urls/navigation'; import { addsFieldsToTimeline } from '../../tasks/rule_details'; describe('CTI Enrichment', { tags: ['@ess', '@serverless', '@brokenInServerless'] }, () => { @@ -35,7 +34,7 @@ describe('CTI Enrichment', { tags: ['@ess', '@serverless', '@brokenInServerless' cy.task('esArchiverLoad', { archiveName: 'threat_indicator' }); cy.task('esArchiverLoad', { archiveName: 'suspicious_source_event' }); login(); - createRule({ ...getNewThreatIndicatorRule(), rule_id: 'rule_testing', enabled: true }); + disableExpandableFlyout(); }); @@ -46,8 +45,9 @@ describe('CTI Enrichment', { tags: ['@ess', '@serverless', '@brokenInServerless' beforeEach(() => { login(); - visitWithoutDateRange(DETECTIONS_RULE_MANAGEMENT_URL); - goToRuleDetails(); + createRule({ ...getNewThreatIndicatorRule(), rule_id: 'rule_testing', enabled: true }).then( + (rule) => visitWithoutDateRange(ruleDetailsUrl(rule.body.id)) + ); }); // Skipped: https://github.com/elastic/kibana/issues/162818 @@ -159,12 +159,6 @@ describe('CTI Enrichment', { tags: ['@ess', '@serverless', '@brokenInServerless' cy.task('esArchiverLoad', { archiveName: 'threat_indicator2' }); }); - beforeEach(() => { - login(); - visitWithoutDateRange(DETECTIONS_RULE_MANAGEMENT_URL); - goToRuleDetails(); - }); - after(() => { cy.task('esArchiverUnload', 'threat_indicator2'); }); diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/detection_alerts/missing_privileges_callout.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/detection_alerts/missing_privileges_callout.cy.ts index 0568037b5c69..30e0383ff3fa 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/detection_alerts/missing_privileges_callout.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/detection_alerts/missing_privileges_callout.cy.ts @@ -7,12 +7,11 @@ import { ROLES } from '@kbn/security-solution-plugin/common/test'; -import { DETECTIONS_RULE_MANAGEMENT_URL, ALERTS_URL } from '../../urls/navigation'; +import { DETECTIONS_RULE_MANAGEMENT_URL, ALERTS_URL, ruleDetailsUrl } from '../../urls/navigation'; import { getNewRule } from '../../objects/rule'; import { PAGE_TITLE } from '../../screens/common/page'; import { login, visitWithoutDateRange, waitForPageWithoutDateRange } from '../../tasks/login'; -import { goToRuleDetails } from '../../tasks/alerts_detection_rules'; import { createRule, deleteCustomRule } from '../../tasks/api_calls/rules'; import { getCallOut, @@ -75,10 +74,9 @@ describe('Detections > Callouts', { tags: '@ess' }, () => { context('On Rule Details page', () => { beforeEach(() => { - createRule(getNewRule()); - loadPageAsReadOnlyUser(DETECTIONS_RULE_MANAGEMENT_URL); - waitForPageTitleToBeShown(); - goToRuleDetails(); + createRule(getNewRule()).then((rule) => + loadPageAsReadOnlyUser(ruleDetailsUrl(rule.body.id)) + ); }); afterEach(() => { @@ -126,10 +124,9 @@ describe('Detections > Callouts', { tags: '@ess' }, () => { context('On Rule Details page', () => { beforeEach(() => { - createRule(getNewRule()); - loadPageAsPlatformEngineer(DETECTIONS_RULE_MANAGEMENT_URL); - waitForPageTitleToBeShown(); - goToRuleDetails(); + createRule(getNewRule()).then((rule) => + loadPageAsPlatformEngineer(ruleDetailsUrl(rule.body.id)) + ); }); afterEach(() => { diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_actions/rule_actions.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_actions/rule_actions.cy.ts index a4b15f68cdcb..fef7df04844e 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_actions/rule_actions.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_actions/rule_actions.cy.ts @@ -8,7 +8,7 @@ import { getIndexConnector } from '../../../objects/connector'; import { getSimpleCustomQueryRule } from '../../../objects/rule'; -import { goToRuleDetails } from '../../../tasks/alerts_detection_rules'; +import { goToRuleDetailsOf } from '../../../tasks/alerts_detection_rules'; import { deleteIndex, waitForNewDocumentToBeIndexed } from '../../../tasks/api_calls/elasticsearch'; import { cleanKibana, @@ -51,14 +51,15 @@ describe( const initialNumberOfDocuments = 0; const expectedJson = JSON.parse(actions.connectors[0].document); - it('Indexes a new document after the index action is triggered ', function () { + it('Indexes a new document after the index action is triggered', function () { visit(RULE_CREATION); fillDefineCustomRuleAndContinue(rule); fillAboutRuleAndContinue(rule); fillScheduleRuleAndContinue(rule); fillRuleAction(actions); createAndEnableRule(); - goToRuleDetails(); + + goToRuleDetailsOf(rule.name); /* When the rule is executed, the action is triggered. We wait for the new document to be indexed */ waitForNewDocumentToBeIndexed(index, initialNumberOfDocuments); diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_creation/custom_query_rule.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_creation/custom_query_rule.cy.ts index 7bb89b35ca83..18455fb11673 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_creation/custom_query_rule.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_creation/custom_query_rule.cy.ts @@ -73,11 +73,9 @@ import { import { deleteFirstRule, deleteRuleFromDetailsPage, - editFirstRule, expectManagementTableRules, getRulesManagementTableRows, - goToRuleDetails, - goToTheRuleDetailsOf, + goToRuleDetailsOf, selectRulesByName, } from '../../../tasks/alerts_detection_rules'; import { deleteSelectedRules } from '../../../tasks/rules_bulk_actions'; @@ -108,10 +106,14 @@ import { waitForAlertsToPopulate, } from '../../../tasks/create_new_rule'; import { saveEditedRule } from '../../../tasks/edit_rule'; -import { login, visit, visitSecurityDetectionRulesPage } from '../../../tasks/login'; +import { + login, + visit, + visitSecurityDetectionRulesPage, + visitWithoutDateRange, +} from '../../../tasks/login'; import { enablesRule, getDetails, waitForTheRuleToBeExecuted } from '../../../tasks/rule_details'; - -import { RULE_CREATION } from '../../../urls/navigation'; +import { ruleDetailsUrl, ruleEditUrl, RULE_CREATION } from '../../../urls/navigation'; describe('Custom query rules', { tags: ['@ess', '@brokenInServerless'] }, () => { beforeEach(() => { @@ -180,7 +182,7 @@ describe('Custom query rules', { tags: ['@ess', '@brokenInServerless'] }, () => }); cy.get(RULE_SWITCH).should('have.attr', 'aria-checked', 'true'); - goToRuleDetails(); + goToRuleDetailsOf(ruleFields.ruleName); cy.log('Asserting rule details'); cy.get(RULE_NAME_HEADER).should('contain', ruleFields.ruleName); @@ -236,10 +238,15 @@ describe('Custom query rules', { tags: ['@ess', '@brokenInServerless'] }, () => describe('Custom detection rules deletion and edition', () => { context('Deletion', () => { + const TESTED_RULE_DATA = getNewRule({ + rule_id: 'rule1', + name: 'New Rule Test', + enabled: false, + max_signals: 500, + }); + beforeEach(() => { - createRule( - getNewRule({ rule_id: 'rule1', name: 'New Rule Test', enabled: false, max_signals: 500 }) - ); + createRule(TESTED_RULE_DATA); createRule( getNewOverrideRule({ rule_id: 'rule2', @@ -279,7 +286,7 @@ describe('Custom query rules', { tags: ['@ess', '@brokenInServerless'] }, () => it('Deletes more than one rule', () => { getRulesManagementTableRows().then((rules) => { - const rulesToDelete = ['New Rule Test', 'Override Rule'] as const; + const rulesToDelete = [TESTED_RULE_DATA.name, 'Override Rule'] as const; const initialNumberOfRules = rules.length; const numberOfRulesToBeDeleted = 2; const expectedNumberOfRulesAfterDeletion = @@ -316,7 +323,7 @@ describe('Custom query rules', { tags: ['@ess', '@brokenInServerless'] }, () => const initialNumberOfRules = rules.length; const expectedNumberOfRulesAfterDeletion = initialNumberOfRules - 1; - goToTheRuleDetailsOf('New Rule Test'); + goToRuleDetailsOf(TESTED_RULE_DATA.name); cy.intercept('POST', '/api/detection_engine/rules/_bulk_delete').as('deleteRule'); deleteRuleFromDetailsPage(); @@ -339,108 +346,119 @@ describe('Custom query rules', { tags: ['@ess', '@brokenInServerless'] }, () => }); context('Edition', () => { - const rule = getEditedRule(); - const expectedEditedtags = rule.tags?.join(''); - const expectedEditedIndexPatterns = rule.index; - - beforeEach(() => { - deleteConnectors(); - createRule(getExistingRule({ rule_id: 'rule1', enabled: true })); - login(); - visitSecurityDetectionRulesPage(); - }); - - it('Only modifies rule active status on enable/disable', () => { - enablesRule(); + const editedRuleData = getEditedRule(); + const expectedEditedTags = editedRuleData.tags?.join(''); + const expectedEditedIndexPatterns = editedRuleData.index; + + describe('on rule details page', () => { + beforeEach(() => { + deleteConnectors(); + login(); + createRule(getExistingRule({ rule_id: 'rule1', enabled: true })).then((rule) => + visitWithoutDateRange(ruleDetailsUrl(rule.body.id)) + ); + }); - cy.intercept('GET', `/api/detection_engine/rules?id=*`).as('fetchRuleDetails'); + it('Only modifies rule active status on enable/disable', () => { + enablesRule(); - goToRuleDetails(); + cy.intercept('GET', `/api/detection_engine/rules?id=*`).as('fetchRuleDetails'); - cy.wait('@fetchRuleDetails').then(({ response }) => { - cy.wrap(response?.statusCode).should('eql', 200); + cy.wait('@fetchRuleDetails').then(({ response }) => { + cy.wrap(response?.statusCode).should('eql', 200); - cy.wrap(response?.body.max_signals).should('eql', getExistingRule().max_signals); - cy.wrap(response?.body.enabled).should('eql', false); + cy.wrap(response?.body.max_signals).should('eql', getExistingRule().max_signals); + cy.wrap(response?.body.enabled).should('eql', false); + }); }); }); - it('Allows a rule to be edited', () => { - const existingRule = getExistingRule(); + describe('on rule editing page', () => { + beforeEach(() => { + deleteConnectors(); + login(); + createRule(getExistingRule({ rule_id: 'rule1', enabled: true })).then((rule) => + visitWithoutDateRange(ruleEditUrl(rule.body.id)) + ); + }); - editFirstRule(); + it('Allows a rule to be edited', () => { + const existingRule = getExistingRule(); - // expect define step to populate - cy.get(CUSTOM_QUERY_INPUT).should('have.value', existingRule.query); + // expect define step to populate + cy.get(CUSTOM_QUERY_INPUT).should('have.value', existingRule.query); - cy.get(DEFINE_INDEX_INPUT).should('have.text', existingRule.index?.join('')); + cy.get(DEFINE_INDEX_INPUT).should('have.text', existingRule.index?.join('')); - goToAboutStepTab(); + goToAboutStepTab(); - // expect about step to populate - cy.get(RULE_NAME_INPUT).invoke('val').should('eql', existingRule.name); - cy.get(RULE_DESCRIPTION_INPUT).should('have.text', existingRule.description); - cy.get(TAGS_FIELD).should('have.text', existingRule.tags?.join('')); - cy.get(SEVERITY_DROPDOWN).should('have.text', 'High'); - cy.get(DEFAULT_RISK_SCORE_INPUT).invoke('val').should('eql', `${existingRule.risk_score}`); + // expect about step to populate + cy.get(RULE_NAME_INPUT).invoke('val').should('eql', existingRule.name); + cy.get(RULE_DESCRIPTION_INPUT).should('have.text', existingRule.description); + cy.get(TAGS_FIELD).should('have.text', existingRule.tags?.join('')); + cy.get(SEVERITY_DROPDOWN).should('have.text', 'High'); + cy.get(DEFAULT_RISK_SCORE_INPUT) + .invoke('val') + .should('eql', `${existingRule.risk_score}`); - goToScheduleStepTab(); + goToScheduleStepTab(); - // expect schedule step to populate - const interval = existingRule.interval; - const intervalParts = interval != null && interval.match(/[0-9]+|[a-zA-Z]+/g); - if (intervalParts) { - const [amount, unit] = intervalParts; - cy.get(SCHEDULE_INTERVAL_AMOUNT_INPUT).invoke('val').should('eql', amount); - cy.get(SCHEDULE_INTERVAL_UNITS_INPUT).invoke('val').should('eql', unit); - } else { - throw new Error('Cannot assert scheduling info on a rule without an interval'); - } + // expect schedule step to populate + const interval = existingRule.interval; + const intervalParts = interval != null && interval.match(/[0-9]+|[a-zA-Z]+/g); + if (intervalParts) { + const [amount, unit] = intervalParts; + cy.get(SCHEDULE_INTERVAL_AMOUNT_INPUT).invoke('val').should('eql', amount); + cy.get(SCHEDULE_INTERVAL_UNITS_INPUT).invoke('val').should('eql', unit); + } else { + throw new Error('Cannot assert scheduling info on a rule without an interval'); + } - goToActionsStepTab(); + goToActionsStepTab(); - addEmailConnectorAndRuleAction('test@example.com', 'Subject'); + addEmailConnectorAndRuleAction('test@example.com', 'Subject'); - cy.get(ACTIONS_SUMMARY_BUTTON).should('have.text', 'Summary of alerts'); - cy.get(ACTIONS_NOTIFY_WHEN_BUTTON).should('have.text', 'Per rule run'); + cy.get(ACTIONS_SUMMARY_BUTTON).should('have.text', 'Summary of alerts'); + cy.get(ACTIONS_NOTIFY_WHEN_BUTTON).should('have.text', 'Per rule run'); - goToAboutStepTab(); - cy.get(TAGS_CLEAR_BUTTON).click(); - fillAboutRule(getEditedRule()); + goToAboutStepTab(); + cy.get(TAGS_CLEAR_BUTTON).click(); + fillAboutRule(getEditedRule()); - cy.intercept('GET', '/api/detection_engine/rules?id*').as('getRule'); + cy.intercept('GET', '/api/detection_engine/rules?id*').as('getRule'); - saveEditedRule(); + saveEditedRule(); - cy.wait('@getRule').then(({ response }) => { - cy.wrap(response?.statusCode).should('eql', 200); - // ensure that editing rule does not modify max_signals - cy.wrap(response?.body.max_signals).should('eql', existingRule.max_signals); - }); + cy.wait('@getRule').then(({ response }) => { + cy.wrap(response?.statusCode).should('eql', 200); + // ensure that editing rule does not modify max_signals + cy.wrap(response?.body.max_signals).should('eql', existingRule.max_signals); + }); - cy.get(RULE_NAME_HEADER).should('contain', `${getEditedRule().name}`); - cy.get(ABOUT_RULE_DESCRIPTION).should('have.text', getEditedRule().description); - cy.get(ABOUT_DETAILS).within(() => { - getDetails(SEVERITY_DETAILS).should('have.text', 'Medium'); - getDetails(RISK_SCORE_DETAILS).should('have.text', `${getEditedRule().risk_score}`); - getDetails(TAGS_DETAILS).should('have.text', expectedEditedtags); - }); - cy.get(INVESTIGATION_NOTES_TOGGLE).click(); - cy.get(ABOUT_INVESTIGATION_NOTES).should('have.text', getEditedRule().note); - cy.get(DEFINITION_DETAILS).within(() => { - getDetails(INDEX_PATTERNS_DETAILS).should( - 'have.text', - expectedEditedIndexPatterns?.join('') - ); - getDetails(CUSTOM_QUERY_DETAILS).should('have.text', getEditedRule().query); - getDetails(RULE_TYPE_DETAILS).should('have.text', 'Query'); - getDetails(TIMELINE_TEMPLATE_DETAILS).should('have.text', 'None'); - }); - if (getEditedRule().interval) { - cy.get(SCHEDULE_DETAILS).within(() => { - getDetails(RUNS_EVERY_DETAILS).should('have.text', getEditedRule().interval); + cy.get(RULE_NAME_HEADER).should('contain', `${getEditedRule().name}`); + cy.get(ABOUT_RULE_DESCRIPTION).should('have.text', getEditedRule().description); + cy.get(ABOUT_DETAILS).within(() => { + getDetails(SEVERITY_DETAILS).should('have.text', 'Medium'); + getDetails(RISK_SCORE_DETAILS).should('have.text', `${getEditedRule().risk_score}`); + getDetails(TAGS_DETAILS).should('have.text', expectedEditedTags); }); - } + cy.get(INVESTIGATION_NOTES_TOGGLE).click(); + cy.get(ABOUT_INVESTIGATION_NOTES).should('have.text', getEditedRule().note); + cy.get(DEFINITION_DETAILS).within(() => { + getDetails(INDEX_PATTERNS_DETAILS).should( + 'have.text', + expectedEditedIndexPatterns?.join('') + ); + getDetails(CUSTOM_QUERY_DETAILS).should('have.text', getEditedRule().query); + getDetails(RULE_TYPE_DETAILS).should('have.text', 'Query'); + getDetails(TIMELINE_TEMPLATE_DETAILS).should('have.text', 'None'); + }); + if (getEditedRule().interval) { + cy.get(SCHEDULE_DETAILS).within(() => { + getDetails(RUNS_EVERY_DETAILS).should('have.text', getEditedRule().interval); + }); + } + }); }); }); }); diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_creation/custom_query_rule_data_view.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_creation/custom_query_rule_data_view.cy.ts index 2c2f44024e7a..da838f54457c 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_creation/custom_query_rule_data_view.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_creation/custom_query_rule_data_view.cy.ts @@ -50,7 +50,7 @@ import { import { getRulesManagementTableRows, - goToRuleDetails, + goToRuleDetailsOf, } from '../../../tasks/alerts_detection_rules'; import { postDataView } from '../../../tasks/common'; import { @@ -104,7 +104,7 @@ describe('Custom query rules', { tags: ['@ess', '@brokenInServerless'] }, () => cy.get(SEVERITY).should('have.text', 'High'); cy.get(RULE_SWITCH).should('have.attr', 'aria-checked', 'true'); - goToRuleDetails(); + goToRuleDetailsOf(rule.name); cy.get(RULE_NAME_HEADER).should('contain', `${rule.name}`); cy.get(ABOUT_RULE_DESCRIPTION).should('have.text', rule.description); @@ -160,7 +160,7 @@ describe('Custom query rules', { tags: ['@ess', '@brokenInServerless'] }, () => fillScheduleRuleAndContinue(rule); createRuleWithoutEnabling(); - goToRuleDetails(); + goToRuleDetailsOf(rule.name); cy.get(EDIT_RULE_SETTINGS_LINK).click(); diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_creation/custom_saved_query_rule.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_creation/custom_saved_query_rule.cy.ts index fc9dd511aa21..747725c88aaa 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_creation/custom_saved_query_rule.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_creation/custom_saved_query_rule.cy.ts @@ -22,7 +22,7 @@ import { CUSTOM_QUERY_DETAILS, } from '../../../screens/rule_details'; -import { goToRuleDetails, editFirstRule } from '../../../tasks/alerts_detection_rules'; +import { editFirstRule, goToRuleDetailsOf } from '../../../tasks/alerts_detection_rules'; import { createSavedQuery, deleteSavedQueries } from '../../../tasks/api_calls/saved_queries'; import { cleanKibana, deleteAlertsAndRules } from '../../../tasks/common'; import { @@ -35,11 +35,16 @@ import { uncheckLoadQueryDynamically, } from '../../../tasks/create_new_rule'; import { saveEditedRule } from '../../../tasks/edit_rule'; -import { login, visit } from '../../../tasks/login'; +import { login, visit, visitWithoutDateRange } from '../../../tasks/login'; import { assertDetailsNotExist, getDetails } from '../../../tasks/rule_details'; import { createRule } from '../../../tasks/api_calls/rules'; -import { RULE_CREATION, SECURITY_DETECTIONS_RULES_URL } from '../../../urls/navigation'; +import { + ruleDetailsUrl, + ruleEditUrl, + RULE_CREATION, + SECURITY_DETECTIONS_RULES_URL, +} from '../../../urls/navigation'; const savedQueryName = 'custom saved query'; const savedQueryQuery = 'process.name: test'; @@ -86,7 +91,7 @@ describe('Custom saved_query rules', { tags: ['@ess', '@brokenInServerless'] }, cy.wrap(response?.body.type).should('equal', 'saved_query'); }); - goToRuleDetails(); + goToRuleDetailsOf(rule.name); cy.get(RULE_NAME_HEADER).should('contain', `${rule.name}`); @@ -99,50 +104,59 @@ describe('Custom saved_query rules', { tags: ['@ess', '@brokenInServerless'] }, context('Non existent saved query', () => { const FAILED_TO_LOAD_ERROR = 'Failed to load the saved query'; - beforeEach(() => { - createRule(getSavedQueryRule({ saved_id: 'non-existent', query: undefined })); - visit(SECURITY_DETECTIONS_RULES_URL); - }); - it('Shows error toast on details page when saved query can not be loaded', function () { - goToRuleDetails(); - - cy.get(TOASTER).should('contain', FAILED_TO_LOAD_ERROR); - }); - it('Shows validation error on rule edit when saved query can not be loaded', function () { - editFirstRule(); + describe('on rule details page', () => { + beforeEach(() => { + createRule( + getSavedQueryRule({ + saved_id: 'non-existent', + query: undefined, + }) + ).then((rule) => visitWithoutDateRange(ruleDetailsUrl(rule.body.id))); + }); - cy.get(TOASTER).should('contain', FAILED_TO_LOAD_ERROR); + it('Shows error toast on details page when saved query can not be loaded', function () { + cy.get(TOASTER).should('contain', FAILED_TO_LOAD_ERROR); + }); }); - it('Allows to update saved_query rule with non-existent query', () => { - editFirstRule(); + describe('on rule editing page', () => { + beforeEach(() => { + createRule( + getSavedQueryRule({ + saved_id: 'non-existent', + query: undefined, + }) + ).then((rule) => visitWithoutDateRange(ruleEditUrl(rule.body.id))); + }); - cy.get(LOAD_QUERY_DYNAMICALLY_CHECKBOX).should('exist'); + it('Shows validation error on rule edit when saved query can not be loaded', function () { + cy.get(TOASTER).should('contain', FAILED_TO_LOAD_ERROR); + }); - cy.intercept('PUT', '/api/detection_engine/rules').as('editedRule'); - saveEditedRule(); + it('Allows to update saved_query rule with non-existent query', () => { + cy.get(LOAD_QUERY_DYNAMICALLY_CHECKBOX).should('exist'); - cy.wait('@editedRule').then(({ response }) => { - // updated rule type shouldn't change - cy.wrap(response?.body.type).should('equal', 'saved_query'); - }); + cy.intercept('PUT', '/api/detection_engine/rules').as('editedRule'); + saveEditedRule(); - cy.get(DEFINE_RULE_PANEL_PROGRESS).should('not.exist'); + cy.wait('@editedRule').then(({ response }) => { + // updated rule type shouldn't change + cy.wrap(response?.body.type).should('equal', 'saved_query'); + }); - assertDetailsNotExist(SAVED_QUERY_NAME_DETAILS); - assertDetailsNotExist(SAVED_QUERY_DETAILS); + cy.get(DEFINE_RULE_PANEL_PROGRESS).should('not.exist'); + + assertDetailsNotExist(SAVED_QUERY_NAME_DETAILS); + assertDetailsNotExist(SAVED_QUERY_DETAILS); + }); }); }); context('Editing', () => { it('Allows to update query rule as saved_query rule type', () => { createSavedQuery(savedQueryName, savedQueryQuery); - createRule(getNewRule()); - - visit(SECURITY_DETECTIONS_RULES_URL); - - editFirstRule(); + createRule(getNewRule()).then((rule) => visitWithoutDateRange(ruleEditUrl(rule.body.id))); selectAndLoadSavedQuery(savedQueryName, savedQueryQuery); checkLoadQueryDynamically(); @@ -165,13 +179,11 @@ describe('Custom saved_query rules', { tags: ['@ess', '@brokenInServerless'] }, const expectedCustomTestQuery = 'random test query'; createSavedQuery(savedQueryName, savedQueryQuery).then((response) => { cy.log(JSON.stringify(response.body, null, 2)); - createRule(getSavedQueryRule({ saved_id: response.body.id, query: undefined })); + createRule(getSavedQueryRule({ saved_id: response.body.id, query: undefined })).then( + (rule) => visitWithoutDateRange(ruleEditUrl(rule.body.id)) + ); }); - visit(SECURITY_DETECTIONS_RULES_URL); - - editFirstRule(); - // query input should be disabled and has value of saved query getCustomQueryInput().should('have.value', savedQueryQuery).should('be.disabled'); @@ -192,11 +204,10 @@ describe('Custom saved_query rules', { tags: ['@ess', '@brokenInServerless'] }, it('Allows to update saved_query rule with non-existent query by adding custom query', () => { const expectedCustomTestQuery = 'random test query'; - createRule(getSavedQueryRule({ saved_id: 'non-existent', query: undefined })); + createRule(getSavedQueryRule({ saved_id: 'non-existent', query: undefined })).then((rule) => + visitWithoutDateRange(ruleEditUrl(rule.body.id)) + ); - visit(SECURITY_DETECTIONS_RULES_URL); - - editFirstRule(); uncheckLoadQueryDynamically(); // type custom query, ensure Load dynamically checkbox is absent, as rule can't be saved win non valid saved query @@ -216,7 +227,9 @@ describe('Custom saved_query rules', { tags: ['@ess', '@brokenInServerless'] }, it('Allows to update saved_query rule with non-existent query by selecting another saved query', () => { createSavedQuery(savedQueryName, savedQueryQuery); - createRule(getSavedQueryRule({ saved_id: 'non-existent', query: undefined })); + createRule(getSavedQueryRule({ saved_id: 'non-existent', query: undefined })).then((rule) => + visitWithoutDateRange(ruleEditUrl(rule.body.id)) + ); visit(SECURITY_DETECTIONS_RULES_URL); diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_creation/event_correlation_rule.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_creation/event_correlation_rule.cy.ts index a558ac6ccedb..35957cc31938 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_creation/event_correlation_rule.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_creation/event_correlation_rule.cy.ts @@ -42,11 +42,7 @@ import { } from '../../../screens/rule_details'; import { getDetails, waitForTheRuleToBeExecuted } from '../../../tasks/rule_details'; -import { - expectNumberOfRules, - goToRuleDetails, - goToTheRuleDetailsOf, -} from '../../../tasks/alerts_detection_rules'; +import { expectNumberOfRules, goToRuleDetailsOf } from '../../../tasks/alerts_detection_rules'; import { cleanKibana, deleteAlertsAndRules } from '../../../tasks/common'; import { createAndEnableRule, @@ -97,7 +93,7 @@ describe('EQL rules', { tags: ['@ess', '@brokenInServerless'] }, () => { cy.get(SEVERITY).should('have.text', 'High'); cy.get(RULE_SWITCH).should('have.attr', 'aria-checked', 'true'); - goToRuleDetails(); + goToRuleDetailsOf(rule.name); cy.get(RULE_NAME_HEADER).should('contain', `${rule.name}`); cy.get(ABOUT_RULE_DESCRIPTION).should('have.text', rule.description); @@ -164,7 +160,7 @@ describe('EQL rules', { tags: ['@ess', '@brokenInServerless'] }, () => { fillAboutRuleAndContinue(rule); fillScheduleRuleAndContinue(rule); createAndEnableRule(); - goToTheRuleDetailsOf(rule.name); + goToRuleDetailsOf(rule.name); waitForTheRuleToBeExecuted(); waitForAlertsToPopulate(); diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_creation/indicator_match_rule.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_creation/indicator_match_rule.cy.ts index 9e896fa6861f..42dbf0ac0182 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_creation/indicator_match_rule.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_creation/indicator_match_rule.cy.ts @@ -59,15 +59,16 @@ import { investigateFirstAlertInTimeline } from '../../../tasks/alerts'; import { duplicateFirstRule, duplicateRuleFromMenu, - goToRuleDetails, checkDuplicatedRule, expectNumberOfRules, selectAllRules, + goToRuleDetailsOf, + disableAutoRefresh, } from '../../../tasks/alerts_detection_rules'; import { duplicateSelectedRulesWithExceptions } from '../../../tasks/rules_bulk_actions'; import { createRule } from '../../../tasks/api_calls/rules'; import { loadPrepackagedTimelineTemplates } from '../../../tasks/api_calls/timelines'; -import { cleanKibana, deleteAlertsAndRules } from '../../../tasks/common'; +import { cleanKibana } from '../../../tasks/common'; import { createAndEnableRule, fillAboutRuleAndContinue, @@ -100,14 +101,18 @@ import { SCHEDULE_LOOKBACK_UNITS_INPUT, } from '../../../screens/create_new_rule'; import { goBackToRuleDetails } from '../../../tasks/edit_rule'; -import { login, visit, visitWithoutDateRange } from '../../../tasks/login'; +import { login, visitWithoutDateRange } from '../../../tasks/login'; import { goBackToRulesTable, getDetails, waitForTheRuleToBeExecuted, } from '../../../tasks/rule_details'; -import { DETECTIONS_RULE_MANAGEMENT_URL, RULE_CREATION } from '../../../urls/navigation'; +import { + DETECTIONS_RULE_MANAGEMENT_URL, + ruleDetailsUrl, + RULE_CREATION, +} from '../../../urls/navigation'; const DEFAULT_THREAT_MATCH_QUERY = '@timestamp >= "now-30d/d"'; @@ -121,21 +126,13 @@ describe('indicator match', { tags: ['@ess', '@brokenInServerless'] }, () => { const expectedNumberOfRules = 1; const expectedNumberOfAlerts = '1 alert'; - before(() => { + beforeEach(() => { cleanKibana(); cy.task('esArchiverLoad', { archiveName: 'threat_indicator' }); cy.task('esArchiverLoad', { archiveName: 'suspicious_source_event' }); - }); - - beforeEach(() => { login(); }); - after(() => { - cy.task('esArchiverUnload', 'threat_indicator'); - cy.task('esArchiverUnload', 'suspicious_source_event'); - }); - describe('Creating new indicator match rules', () => { describe('Index patterns', () => { beforeEach(() => { @@ -430,11 +427,6 @@ describe('indicator match', { tags: ['@ess', '@brokenInServerless'] }, () => { }); describe('Generating signals', () => { - beforeEach(() => { - login(); - deleteAlertsAndRules(); - }); - it('Creates and enables a new Indicator Match rule', () => { const rule = getNewThreatIndicatorRule(); visitWithoutDateRange(RULE_CREATION); @@ -453,7 +445,7 @@ describe('indicator match', { tags: ['@ess', '@brokenInServerless'] }, () => { cy.get(SEVERITY).should('have.text', 'Critical'); cy.get(RULE_SWITCH).should('have.attr', 'aria-checked', 'true'); - goToRuleDetails(); + goToRuleDetailsOf(rule.name); cy.get(RULE_NAME_HEADER).should('contain', `${rule.name}`); cy.get(ABOUT_RULE_DESCRIPTION).should('have.text', rule.description); @@ -510,9 +502,10 @@ describe('indicator match', { tags: ['@ess', '@brokenInServerless'] }, () => { const accessibilityText = `Press enter for options, or press space to begin dragging.`; loadPrepackagedTimelineTemplates(); - createRule(getNewThreatIndicatorRule({ rule_id: 'rule_testing', enabled: true })); - visit(DETECTIONS_RULE_MANAGEMENT_URL); - goToRuleDetails(); + createRule(getNewThreatIndicatorRule({ rule_id: 'rule_testing', enabled: true })).then( + (rule) => visitWithoutDateRange(ruleDetailsUrl(rule.body.id)) + ); + waitForAlertsToPopulate(); investigateFirstAlertInTimeline(); @@ -541,32 +534,46 @@ describe('indicator match', { tags: ['@ess', '@brokenInServerless'] }, () => { }); describe('Duplicates the indicator rule', () => { - beforeEach(() => { - login(); - deleteAlertsAndRules(); - createRule(getNewThreatIndicatorRule({ rule_id: 'rule_testing', enabled: true })); - visitWithoutDateRange(DETECTIONS_RULE_MANAGEMENT_URL); + const TESTED_RULE_DATA = getNewThreatIndicatorRule({ + name: 'Indicator rule duplicate test', + rule_id: 'rule_testing', + enabled: false, }); - it('Allows the rule to be duplicated from the table', () => { - duplicateFirstRule(); - goBackToRuleDetails(); - goBackToRulesTable(); - checkDuplicatedRule(); - }); + describe('on rule editing page', () => { + beforeEach(() => { + createRule(TESTED_RULE_DATA); + visitWithoutDateRange(DETECTIONS_RULE_MANAGEMENT_URL); + disableAutoRefresh(); + }); - it("Allows the rule to be duplicated from the table's bulk actions", () => { - selectAllRules(); - duplicateSelectedRulesWithExceptions(); - checkDuplicatedRule(); + it('Allows the rule to be duplicated from the table', () => { + duplicateFirstRule(); + goBackToRuleDetails(); + goBackToRulesTable(); + checkDuplicatedRule(TESTED_RULE_DATA.name); + }); + + it("Allows the rule to be duplicated from the table's bulk actions", () => { + selectAllRules(); + duplicateSelectedRulesWithExceptions(); + checkDuplicatedRule(`${TESTED_RULE_DATA.name} [Duplicate]`); + }); }); - it('Allows the rule to be duplicated from the edit screen', () => { - goToRuleDetails(); - duplicateRuleFromMenu(); - goBackToRuleDetails(); - goBackToRulesTable(); - checkDuplicatedRule(); + describe('on rule details page', () => { + beforeEach(() => { + createRule(getNewThreatIndicatorRule(TESTED_RULE_DATA)).then((rule) => + visitWithoutDateRange(ruleDetailsUrl(rule.body.id)) + ); + }); + + it('Allows the rule to be duplicated', () => { + duplicateRuleFromMenu(); + goBackToRuleDetails(); + goBackToRulesTable(); + checkDuplicatedRule(`${TESTED_RULE_DATA.name} [Duplicate]`); + }); }); }); }); diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_creation/machine_learning_rule.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_creation/machine_learning_rule.cy.ts index e65764dff620..f258ff6c804b 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_creation/machine_learning_rule.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_creation/machine_learning_rule.cy.ts @@ -40,7 +40,7 @@ import { } from '../../../screens/rule_details'; import { getDetails } from '../../../tasks/rule_details'; -import { expectNumberOfRules, goToRuleDetails } from '../../../tasks/alerts_detection_rules'; +import { expectNumberOfRules, goToRuleDetailsOf } from '../../../tasks/alerts_detection_rules'; import { cleanKibana } from '../../../tasks/common'; import { createAndEnableRule, @@ -86,7 +86,7 @@ describe('Detection rules, machine learning', { tags: ['@ess', '@brokenInServerl cy.get(SEVERITY).should('have.text', 'Critical'); cy.get(RULE_SWITCH).should('have.attr', 'aria-checked', 'true'); - goToRuleDetails(); + goToRuleDetailsOf(mlRule.name); cy.get(RULE_NAME_HEADER).should('contain', `${mlRule.name}`); cy.get(ABOUT_RULE_DESCRIPTION).should('have.text', mlRule.description); diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_creation/new_terms_rule.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_creation/new_terms_rule.cy.ts index 2b840111b97b..ffcda7468bb6 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_creation/new_terms_rule.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_creation/new_terms_rule.cy.ts @@ -44,7 +44,7 @@ import { } from '../../../screens/rule_details'; import { getDetails, waitForTheRuleToBeExecuted } from '../../../tasks/rule_details'; -import { expectNumberOfRules, goToRuleDetails } from '../../../tasks/alerts_detection_rules'; +import { expectNumberOfRules, goToRuleDetailsOf } from '../../../tasks/alerts_detection_rules'; import { cleanKibana, deleteAlertsAndRules } from '../../../tasks/common'; import { createAndEnableRule, @@ -94,7 +94,7 @@ describe('New Terms rules', { tags: ['@ess', '@brokenInServerless'] }, () => { cy.get(SEVERITY).should('have.text', 'High'); cy.get(RULE_SWITCH).should('have.attr', 'aria-checked', 'true'); - goToRuleDetails(); + goToRuleDetailsOf(rule.name); cy.get(RULE_NAME_HEADER).should('contain', `${rule.name}`); cy.get(ABOUT_RULE_DESCRIPTION).should('have.text', rule.description); diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_creation/override.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_creation/override.cy.ts index 4aa1bb9e5672..837d0621cbe6 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_creation/override.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_creation/override.cy.ts @@ -47,8 +47,8 @@ import { TIMESTAMP_OVERRIDE_DETAILS, } from '../../../screens/rule_details'; -import { expectNumberOfRules, goToRuleDetails } from '../../../tasks/alerts_detection_rules'; import { deleteAlertsAndRules } from '../../../tasks/common'; +import { expectNumberOfRules, goToRuleDetailsOf } from '../../../tasks/alerts_detection_rules'; import { createAndEnableRule, fillAboutRuleWithOverrideAndContinue, @@ -90,7 +90,7 @@ describe('Detection rules, override', { tags: ['@ess', '@brokenInServerless'] }, cy.get(SEVERITY).should('have.text', 'High'); cy.get(RULE_SWITCH).should('have.attr', 'aria-checked', 'true'); - goToRuleDetails(); + goToRuleDetailsOf(rule.name); cy.get(RULE_NAME_HEADER).should('contain', `${rule.name}`); cy.get(ABOUT_RULE_DESCRIPTION).should('have.text', rule.description); diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_creation/threshold_rule.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_creation/threshold_rule.cy.ts index 078be723c39a..1f93d745884e 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_creation/threshold_rule.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_creation/threshold_rule.cy.ts @@ -44,7 +44,7 @@ import { } from '../../../screens/rule_details'; import { getDetails, waitForTheRuleToBeExecuted } from '../../../tasks/rule_details'; -import { expectNumberOfRules, goToRuleDetails } from '../../../tasks/alerts_detection_rules'; +import { expectNumberOfRules, goToRuleDetailsOf } from '../../../tasks/alerts_detection_rules'; import { cleanKibana, deleteAlertsAndRules } from '../../../tasks/common'; import { createAndEnableRule, @@ -92,7 +92,7 @@ describe('Detection rules, threshold', { tags: ['@ess', '@brokenInServerless'] } cy.get(SEVERITY).should('have.text', 'High'); cy.get(RULE_SWITCH).should('have.attr', 'aria-checked', 'true'); - goToRuleDetails(); + goToRuleDetailsOf(rule.name); cy.get(RULE_NAME_HEADER).should('contain', `${rule.name}`); cy.get(ABOUT_RULE_DESCRIPTION).should('have.text', rule.description); diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/rule_actions/bulk_actions/bulk_duplicate_rules.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/rule_actions/bulk_actions/bulk_duplicate_rules.cy.ts index b95741083a06..96dd999b6e95 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/rule_actions/bulk_actions/bulk_duplicate_rules.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/rule_actions/bulk_actions/bulk_duplicate_rules.cy.ts @@ -6,7 +6,7 @@ */ import { - goToTheRuleDetailsOf, + goToRuleDetailsOf, expectManagementTableRules, selectAllRules, disableAutoRefresh, @@ -117,7 +117,7 @@ describe( selectAllRules(); duplicateSelectedRulesWithExceptions(); expectManagementTableRules([`${RULE_NAME} [Duplicate]`]); - goToTheRuleDetailsOf(`${RULE_NAME} [Duplicate]`); + goToRuleDetailsOf(`${RULE_NAME} [Duplicate]`); goToExceptionsTab(); assertExceptionItemsExists(EXCEPTION_CARD_ITEM_NAME, [NON_EXPIRED_EXCEPTION_ITEM_NAME]); viewExpiredExceptionItems(); @@ -128,7 +128,7 @@ describe( selectAllRules(); duplicateSelectedRulesWithNonExpiredExceptions(); expectManagementTableRules([`${RULE_NAME} [Duplicate]`]); - goToTheRuleDetailsOf(`${RULE_NAME} [Duplicate]`); + goToRuleDetailsOf(`${RULE_NAME} [Duplicate]`); goToExceptionsTab(); assertExceptionItemsExists(EXCEPTION_CARD_ITEM_NAME, [NON_EXPIRED_EXCEPTION_ITEM_NAME]); viewExpiredExceptionItems(); diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/rule_actions/bulk_actions/bulk_edit_rules.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/rule_actions/bulk_actions/bulk_edit_rules.cy.ts index 4b86a8344836..6b2d3a530cca 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/rule_actions/bulk_actions/bulk_edit_rules.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/rule_actions/bulk_actions/bulk_edit_rules.cy.ts @@ -27,7 +27,7 @@ import { EUI_CHECKBOX, EUI_FILTER_SELECT_ITEM } from '../../../../../screens/com import { selectAllRules, - goToTheRuleDetailsOf, + goToRuleDetailsOf, testAllTagsBadges, testTagsBadge, testMultipleSelectedRulesLabel, @@ -401,7 +401,7 @@ describe('Detection rules, bulk edit', { tags: ['@ess', '@brokenInServerless'] } }); // check if rule has been updated - goToTheRuleDetailsOf(RULE_NAME); + goToRuleDetailsOf(RULE_NAME); hasIndexPatterns(resultingIndexPatterns.join('')); }); }); @@ -440,7 +440,7 @@ describe('Detection rules, bulk edit', { tags: ['@ess', '@brokenInServerless'] } }); // check if rule has been updated - goToTheRuleDetailsOf(RULE_NAME); + goToRuleDetailsOf(RULE_NAME); hasIndexPatterns(resultingIndexPatterns.join('')); }); }); @@ -496,7 +496,7 @@ describe('Detection rules, bulk edit', { tags: ['@ess', '@brokenInServerless'] } waitForBulkEditActionToFinish({ updatedCount: rulesToSelect.length }); // check if rule has been updated - goToTheRuleDetailsOf(RULE_NAME); + goToRuleDetailsOf(RULE_NAME); hasIndexPatterns(indexPattersToWrite.join('')); }); @@ -521,7 +521,7 @@ describe('Detection rules, bulk edit', { tags: ['@ess', '@brokenInServerless'] } waitForBulkEditActionToFinish({ updatedCount: rulesToSelect.length }); // check if rule has been updated - goToTheRuleDetailsOf(RULE_NAME); + goToRuleDetailsOf(RULE_NAME); hasIndexPatterns(resultingIndexPatterns.join('')); }); @@ -572,7 +572,7 @@ describe('Detection rules, bulk edit', { tags: ['@ess', '@brokenInServerless'] } waitForBulkEditActionToFinish({ updatedCount: rows.length }); // check if timeline template has been updated to selected one - goToTheRuleDetailsOf(RULE_NAME); + goToRuleDetailsOf(RULE_NAME); getDetails(TIMELINE_TEMPLATE_DETAILS).should('have.text', timelineTemplateName); }); }); @@ -590,7 +590,7 @@ describe('Detection rules, bulk edit', { tags: ['@ess', '@brokenInServerless'] } waitForBulkEditActionToFinish({ updatedCount: rows.length }); // check if timeline template has been updated to selected one, by opening rule that have had timeline prior to editing - goToTheRuleDetailsOf(RULE_NAME); + goToRuleDetailsOf(RULE_NAME); getDetails(TIMELINE_TEMPLATE_DETAILS).should('have.text', noneTimelineTemplate); }); }); @@ -627,7 +627,7 @@ describe('Detection rules, bulk edit', { tags: ['@ess', '@brokenInServerless'] } submitBulkEditForm(); waitForBulkEditActionToFinish({ updatedCount: rows.length }); - goToTheRuleDetailsOf(RULE_NAME); + goToRuleDetailsOf(RULE_NAME); assertRuleScheduleValues({ interval: '20h', @@ -651,7 +651,7 @@ describe('Detection rules, bulk edit', { tags: ['@ess', '@brokenInServerless'] } submitBulkEditForm(); waitForBulkEditActionToFinish({ updatedCount: rows.length }); - goToTheRuleDetailsOf(RULE_NAME); + goToRuleDetailsOf(RULE_NAME); assertRuleScheduleValues({ interval: '1h', diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/rule_actions/bulk_actions/bulk_edit_rules_data_view.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/rule_actions/bulk_actions/bulk_edit_rules_data_view.cy.ts index 32e96dd8f3cf..b8b26df371ed 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/rule_actions/bulk_actions/bulk_edit_rules_data_view.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/rule_actions/bulk_actions/bulk_edit_rules_data_view.cy.ts @@ -13,8 +13,7 @@ import { import { DATA_VIEW_DETAILS, INDEX_PATTERNS_DETAILS } from '../../../../../screens/rule_details'; import { - goToRuleDetails, - goToTheRuleDetailsOf, + goToRuleDetailsOf, expectManagementTableRules, selectAllRules, getRulesManagementTableRows, @@ -57,6 +56,50 @@ describe( 'Bulk editing index patterns of rules with a data view only', { tags: ['@ess', '@brokenInServerless'] }, () => { + const TESTED_CUSTOM_QUERY_RULE_DATA = getNewRule({ + index: undefined, + data_view_id: DATA_VIEW_ID, + rule_id: '1', + name: 'New Rule Test 1', + enabled: false, + }); + const TESTED_CUSTOM_QUERY_RULE_DATA_2 = getNewRule({ + index: undefined, + data_view_id: DATA_VIEW_ID, + saved_id: 'mocked', + rule_id: '6', + name: 'New Rule Test 2', + enabled: false, + }); + const TESTED_EQL_RULE_DATA = getEqlRule({ + index: undefined, + data_view_id: DATA_VIEW_ID, + rule_id: '2', + name: 'New EQL Rule', + enabled: false, + }); + const TESTED_THREAT_INDICATOR_RULE_DATA = getNewThreatIndicatorRule({ + index: undefined, + data_view_id: DATA_VIEW_ID, + rule_id: '3', + name: 'Threat Indicator Rule Test', + enabled: false, + }); + const TESTED_THRESHOLD_RULE_DATA = getNewThresholdRule({ + index: undefined, + data_view_id: DATA_VIEW_ID, + rule_id: '4', + name: 'Threshold Rule', + enabled: false, + }); + const TESTED_TERMS_RULE_DATA = getNewTermsRule({ + index: undefined, + data_view_id: DATA_VIEW_ID, + rule_id: '5', + name: 'New Terms Rule', + enabled: false, + }); + before(() => { cleanKibana(); }); @@ -68,72 +111,23 @@ describe( postDataView(DATA_VIEW_ID); - createRule( - getNewRule({ - index: undefined, - data_view_id: DATA_VIEW_ID, - rule_id: '1', - name: 'New Rule Test 1', - enabled: false, - }) - ); - createRule( - getEqlRule({ - index: undefined, - data_view_id: DATA_VIEW_ID, - rule_id: '2', - name: 'New EQL Rule', - enabled: false, - }) - ); - createRule( - getNewThreatIndicatorRule({ - index: undefined, - data_view_id: DATA_VIEW_ID, - rule_id: '3', - name: 'Threat Indicator Rule Test', - enabled: false, - }) - ); - createRule( - getNewThresholdRule({ - index: undefined, - data_view_id: DATA_VIEW_ID, - rule_id: '4', - name: 'Threshold Rule', - enabled: false, - }) - ); - createRule( - getNewTermsRule({ - index: undefined, - data_view_id: DATA_VIEW_ID, - rule_id: '5', - name: 'New Terms Rule', - enabled: false, - }) - ); - createRule( - getNewRule({ - index: undefined, - data_view_id: DATA_VIEW_ID, - saved_id: 'mocked', - rule_id: '6', - name: 'New Rule Test 2', - enabled: false, - }) - ); + createRule(TESTED_CUSTOM_QUERY_RULE_DATA); + createRule(TESTED_EQL_RULE_DATA); + createRule(TESTED_THREAT_INDICATOR_RULE_DATA); + createRule(TESTED_THRESHOLD_RULE_DATA); + createRule(TESTED_TERMS_RULE_DATA); + createRule(TESTED_CUSTOM_QUERY_RULE_DATA_2); visitSecurityDetectionRulesPage(); disableAutoRefresh(); expectManagementTableRules([ - 'New Rule Test 1', - 'New EQL Rule', - 'Threat Indicator Rule Test', - 'Threshold Rule', - 'New Terms Rule', - 'New Rule Test 2', + TESTED_CUSTOM_QUERY_RULE_DATA.name, + TESTED_EQL_RULE_DATA.name, + TESTED_THREAT_INDICATOR_RULE_DATA.name, + TESTED_THRESHOLD_RULE_DATA.name, + TESTED_TERMS_RULE_DATA.name, + TESTED_CUSTOM_QUERY_RULE_DATA_2.name, ]); }); @@ -151,7 +145,7 @@ describe( }); // check if rule still has data view and index patterns field does not exist - goToRuleDetails(); + goToRuleDetailsOf(TESTED_CUSTOM_QUERY_RULE_DATA.name); getDetails(DATA_VIEW_DETAILS).contains(DATA_VIEW_ID); assertDetailsNotExist(INDEX_PATTERNS_DETAILS); }); @@ -174,7 +168,7 @@ describe( waitForBulkEditActionToFinish({ updatedCount: rows.length }); // check if rule has been updated with index patterns and data view does not exist - goToRuleDetails(); + goToRuleDetailsOf(TESTED_CUSTOM_QUERY_RULE_DATA.name); hasIndexPatterns(expectedIndexPatterns.join('')); assertDetailsNotExist(DATA_VIEW_DETAILS); }); @@ -195,7 +189,7 @@ describe( }); // check if rule still has data view and index patterns field does not exist - goToRuleDetails(); + goToRuleDetailsOf(TESTED_CUSTOM_QUERY_RULE_DATA.name); getDetails(DATA_VIEW_DETAILS).contains(DATA_VIEW_ID); assertDetailsNotExist(INDEX_PATTERNS_DETAILS); }); @@ -215,7 +209,7 @@ describe( waitForBulkEditActionToFinish({ updatedCount: rows.length }); // check if rule has been overwritten with index patterns and data view does not exist - goToRuleDetails(); + goToRuleDetailsOf(TESTED_CUSTOM_QUERY_RULE_DATA.name); hasIndexPatterns(expectedIndexPatterns.join('')); assertDetailsNotExist(DATA_VIEW_DETAILS); }); @@ -239,7 +233,7 @@ describe( }); // check if rule still has data view and index patterns field does not exist - goToRuleDetails(); + goToRuleDetailsOf(TESTED_CUSTOM_QUERY_RULE_DATA.name); getDetails(DATA_VIEW_DETAILS).contains(DATA_VIEW_ID); }); }); @@ -250,6 +244,18 @@ describe( 'Bulk editing index patterns of rules with index patterns and rules with a data view', { tags: ['@ess', '@brokenInServerless'] }, () => { + const TESTED_CUSTOM_QUERY_RULE_DATA_WITH_DATAVIEW = getNewRule({ + name: 'with dataview', + index: [], + data_view_id: DATA_VIEW_ID, + rule_id: '1', + }); + const TESTED_CUSTOM_QUERY_RULE_DATA_WITHOUT_DATAVIEW = getNewRule({ + name: 'no data view', + index: ['test-index-1-*'], + rule_id: '2', + }); + before(() => { cleanKibana(); }); @@ -261,10 +267,8 @@ describe( postDataView(DATA_VIEW_ID); - createRule( - getNewRule({ name: 'with dataview', index: [], data_view_id: DATA_VIEW_ID, rule_id: '1' }) - ); - createRule(getNewRule({ name: 'no data view', index: ['test-index-1-*'], rule_id: '2' })); + createRule(TESTED_CUSTOM_QUERY_RULE_DATA_WITH_DATAVIEW); + createRule(TESTED_CUSTOM_QUERY_RULE_DATA_WITHOUT_DATAVIEW); visitSecurityDetectionRulesPage(); disableAutoRefresh(); @@ -286,7 +290,7 @@ describe( }); // check if rule still has data view and index patterns field does not exist - goToTheRuleDetailsOf('with dataview'); + goToRuleDetailsOf(TESTED_CUSTOM_QUERY_RULE_DATA_WITH_DATAVIEW.name); getDetails(DATA_VIEW_DETAILS).contains(DATA_VIEW_ID); assertDetailsNotExist(INDEX_PATTERNS_DETAILS); }); @@ -304,7 +308,7 @@ describe( }); // check if rule still has data view and index patterns field does not exist - goToRuleDetails(); + goToRuleDetailsOf(TESTED_CUSTOM_QUERY_RULE_DATA_WITH_DATAVIEW.name); assertDetailsNotExist(DATA_VIEW_DETAILS); }); } diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/rules_table/rules_table_persistent_state.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/rules_table/rules_table_persistent_state.cy.ts index 30c35ba44288..d2b2f93200e2 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/rules_table/rules_table_persistent_state.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/rules_table/rules_table_persistent_state.cy.ts @@ -21,7 +21,6 @@ import { filterByCustomRules, filterBySearchTerm, filterByTags, - goToRuleDetails, expectFilterSearchTerm, expectFilterByTags, expectFilterByCustomRules, @@ -35,6 +34,7 @@ import { expectFilterByPrebuiltRules, expectFilterByEnabledRules, expectManagementTableRules, + goToRuleDetailsOf, } from '../../../../tasks/alerts_detection_rules'; import { createRule } from '../../../../tasks/api_calls/rules'; import { @@ -228,7 +228,7 @@ describe('Rules table: persistent state', { tags: ['@ess', '@serverless'] }, () changeRulesTableState(); goToTablePage(2); - goToRuleDetails(); + goToRuleDetailsOf('rule 6'); cy.go('back'); expectRulesManagementTab(); diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/value_lists/value_lists.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/value_lists/value_lists.cy.ts index 4cacc2ddeb24..552f1c4f109e 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/value_lists/value_lists.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/value_lists/value_lists.cy.ts @@ -22,6 +22,7 @@ import { exportValueList, waitForListsIndex, deleteValueLists, + KNOWN_VALUE_LIST_FILES, } from '../../../tasks/lists'; import { VALUE_LISTS_TABLE, @@ -39,7 +40,11 @@ describe('value lists', () => { describe('management modal', { tags: ['@ess', '@serverless', '@brokenInServerless'] }, () => { beforeEach(() => { login(); - deleteValueLists([TEXT_LIST_FILE_NAME, IPS_LIST_FILE_NAME, CIDRS_LIST_FILE_NAME]); + deleteValueLists([ + KNOWN_VALUE_LIST_FILES.TEXT, + KNOWN_VALUE_LIST_FILES.IPs, + KNOWN_VALUE_LIST_FILES.CIDRs, + ]); createListsIndex(); visitWithoutDateRange(DETECTIONS_RULE_MANAGEMENT_URL); waitForListsIndex(); @@ -59,52 +64,52 @@ describe('value lists', () => { it('creates a "keyword" list from an uploaded file', () => { selectValueListType('keyword'); - selectValueListsFile(TEXT_LIST_FILE_NAME); + selectValueListsFile(KNOWN_VALUE_LIST_FILES.TEXT); uploadValueList(); cy.get(VALUE_LISTS_TABLE) .find(VALUE_LISTS_ROW) .should(($row) => { - expect($row.text()).to.contain(TEXT_LIST_FILE_NAME); + expect($row.text()).to.contain(KNOWN_VALUE_LIST_FILES.TEXT); expect($row.text()).to.contain('Keywords'); }); }); it('creates a "text" list from an uploaded file', () => { selectValueListType('text'); - selectValueListsFile(TEXT_LIST_FILE_NAME); + selectValueListsFile(KNOWN_VALUE_LIST_FILES.TEXT); uploadValueList(); cy.get(VALUE_LISTS_TABLE) .find(VALUE_LISTS_ROW) .should(($row) => { - expect($row.text()).to.contain(TEXT_LIST_FILE_NAME); + expect($row.text()).to.contain(KNOWN_VALUE_LIST_FILES.TEXT); expect($row.text()).to.contain('Text'); }); }); it('creates a "ip" list from an uploaded file', () => { selectValueListType('ip'); - selectValueListsFile(IPS_LIST_FILE_NAME); + selectValueListsFile(KNOWN_VALUE_LIST_FILES.IPs); uploadValueList(); cy.get(VALUE_LISTS_TABLE) .find(VALUE_LISTS_ROW) .should(($row) => { - expect($row.text()).to.contain(IPS_LIST_FILE_NAME); + expect($row.text()).to.contain(KNOWN_VALUE_LIST_FILES.IPs); expect($row.text()).to.contain('IP addresses'); }); }); it('creates a "ip_range" list from an uploaded file', () => { selectValueListType('ip_range'); - selectValueListsFile(CIDRS_LIST_FILE_NAME); + selectValueListsFile(KNOWN_VALUE_LIST_FILES.CIDRs); uploadValueList(); cy.get(VALUE_LISTS_TABLE) .find(VALUE_LISTS_ROW) .should(($row) => { - expect($row.text()).to.contain(CIDRS_LIST_FILE_NAME); + expect($row.text()).to.contain(KNOWN_VALUE_LIST_FILES.CIDRs); expect($row.text()).to.contain('IP ranges'); }); }); @@ -113,46 +118,46 @@ describe('value lists', () => { // Flaky in serverless tests describe('delete list types', { tags: ['@brokenInServerless'] }, () => { it('deletes a "keyword" list from an uploaded file', () => { - importValueList(TEXT_LIST_FILE_NAME, 'keyword'); + importValueList(KNOWN_VALUE_LIST_FILES.TEXT, 'keyword'); openValueListsModal(); - deleteValueListsFile(TEXT_LIST_FILE_NAME); + deleteValueListsFile(KNOWN_VALUE_LIST_FILES.TEXT); cy.get(VALUE_LISTS_TABLE) .find(VALUE_LISTS_ROW) .should(($row) => { - expect($row.text()).not.to.contain(TEXT_LIST_FILE_NAME); + expect($row.text()).not.to.contain(KNOWN_VALUE_LIST_FILES.TEXT); }); }); it('deletes a "text" list from an uploaded file', () => { - importValueList(TEXT_LIST_FILE_NAME, 'text'); + importValueList(KNOWN_VALUE_LIST_FILES.TEXT, 'text'); openValueListsModal(); - deleteValueListsFile(TEXT_LIST_FILE_NAME); + deleteValueListsFile(KNOWN_VALUE_LIST_FILES.TEXT); cy.get(VALUE_LISTS_TABLE) .find(VALUE_LISTS_ROW) .should(($row) => { - expect($row.text()).not.to.contain(TEXT_LIST_FILE_NAME); + expect($row.text()).not.to.contain(KNOWN_VALUE_LIST_FILES.TEXT); }); }); it('deletes a "ip" from an uploaded file', () => { - importValueList(IPS_LIST_FILE_NAME, 'ip'); + importValueList(KNOWN_VALUE_LIST_FILES.IPs, 'ip'); openValueListsModal(); - deleteValueListsFile(IPS_LIST_FILE_NAME); + deleteValueListsFile(KNOWN_VALUE_LIST_FILES.IPs); cy.get(VALUE_LISTS_TABLE) .find(VALUE_LISTS_ROW) .should(($row) => { - expect($row.text()).not.to.contain(IPS_LIST_FILE_NAME); + expect($row.text()).not.to.contain(KNOWN_VALUE_LIST_FILES.IPs); }); }); it('deletes a "ip_range" from an uploaded file', () => { - importValueList(CIDRS_LIST_FILE_NAME, 'ip_range', ['192.168.100.0']); + importValueList(KNOWN_VALUE_LIST_FILES.CIDRs, 'ip_range', ['192.168.100.0']); openValueListsModal(); - deleteValueListsFile(CIDRS_LIST_FILE_NAME); + deleteValueListsFile(KNOWN_VALUE_LIST_FILES.CIDRs); cy.get(VALUE_LISTS_TABLE) .find(VALUE_LISTS_ROW) .should(($row) => { - expect($row.text()).not.to.contain(CIDRS_LIST_FILE_NAME); + expect($row.text()).not.to.contain(KNOWN_VALUE_LIST_FILES.CIDRs); }); }); }); @@ -160,10 +165,10 @@ describe('value lists', () => { // Flaky in serverless tests describe('export list types', { tags: ['@brokenInServerless'] }, () => { it('exports a "keyword" list from an uploaded file', () => { - cy.intercept('POST', `/api/lists/items/_export?list_id=${TEXT_LIST_FILE_NAME}`).as( + cy.intercept('POST', `/api/lists/items/_export?list_id=${KNOWN_VALUE_LIST_FILES.TEXT}`).as( 'exportList' ); - importValueList(TEXT_LIST_FILE_NAME, 'keyword'); + importValueList(KNOWN_VALUE_LIST_FILES.TEXT, 'keyword'); // Importing value lists includes bulk creation of list items with refresh=wait_for // While it should wait for data update and return after that it's not always a case with bulk operations. @@ -175,7 +180,7 @@ describe('value lists', () => { exportValueList(); cy.wait('@exportList').then(({ response }) => { - cy.fixture(TEXT_LIST_FILE_NAME).then((list: string) => { + cy.fixture(KNOWN_VALUE_LIST_FILES.TEXT).then((list: string) => { const [lineOne, lineTwo] = list.split('\n'); expect(response?.body).to.contain(lineOne); expect(response?.body).to.contain(lineTwo); @@ -184,10 +189,10 @@ describe('value lists', () => { }); it('exports a "text" list from an uploaded file', () => { - cy.intercept('POST', `/api/lists/items/_export?list_id=${TEXT_LIST_FILE_NAME}`).as( + cy.intercept('POST', `/api/lists/items/_export?list_id=${KNOWN_VALUE_LIST_FILES.TEXT}`).as( 'exportList' ); - importValueList(TEXT_LIST_FILE_NAME, 'text'); + importValueList(KNOWN_VALUE_LIST_FILES.TEXT, 'text'); // Importing value lists includes bulk creation of list items with refresh=wait_for // While it should wait for data update and return after that it's not always a case with bulk operations. @@ -199,7 +204,7 @@ describe('value lists', () => { exportValueList(); cy.wait('@exportList').then(({ response }) => { - cy.fixture(TEXT_LIST_FILE_NAME).then((list: string) => { + cy.fixture(KNOWN_VALUE_LIST_FILES.TEXT).then((list: string) => { const [lineOne, lineTwo] = list.split('\n'); expect(response?.body).to.contain(lineOne); expect(response?.body).to.contain(lineTwo); @@ -208,10 +213,10 @@ describe('value lists', () => { }); it('exports a "ip" list from an uploaded file', () => { - cy.intercept('POST', `/api/lists/items/_export?list_id=${IPS_LIST_FILE_NAME}`).as( + cy.intercept('POST', `/api/lists/items/_export?list_id=${KNOWN_VALUE_LIST_FILES.IPs}`).as( 'exportList' ); - importValueList(IPS_LIST_FILE_NAME, 'ip'); + importValueList(KNOWN_VALUE_LIST_FILES.IPs, 'ip'); // Importing value lists includes bulk creation of list items with refresh=wait_for // While it should wait for data update and return after that it's not always a case with bulk operations. @@ -222,7 +227,7 @@ describe('value lists', () => { openValueListsModal(); exportValueList(); cy.wait('@exportList').then(({ response }) => { - cy.fixture(IPS_LIST_FILE_NAME).then((list: string) => { + cy.fixture(KNOWN_VALUE_LIST_FILES.IPs).then((list: string) => { const [lineOne, lineTwo] = list.split('\n'); expect(response?.body).to.contain(lineOne); expect(response?.body).to.contain(lineTwo); @@ -231,10 +236,10 @@ describe('value lists', () => { }); it('exports a "ip_range" list from an uploaded file', () => { - cy.intercept('POST', `/api/lists/items/_export?list_id=${CIDRS_LIST_FILE_NAME}`).as( + cy.intercept('POST', `/api/lists/items/_export?list_id=${KNOWN_VALUE_LIST_FILES.CIDRs}`).as( 'exportList' ); - importValueList(CIDRS_LIST_FILE_NAME, 'ip_range', ['192.168.100.0']); + importValueList(KNOWN_VALUE_LIST_FILES.CIDRs, 'ip_range', ['192.168.100.0']); // Importing value lists includes bulk creation of list items with refresh=wait_for // While it should wait for data update and return after that it's not always a case with bulk operations. @@ -245,7 +250,7 @@ describe('value lists', () => { openValueListsModal(); exportValueList(); cy.wait('@exportList').then(({ response }) => { - cy.fixture(CIDRS_LIST_FILE_NAME).then((list: string) => { + cy.fixture(KNOWN_VALUE_LIST_FILES.CIDRs).then((list: string) => { const [lineOne] = list.split('\n'); expect(response?.body).to.contain(lineOne); }); diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/alerts_table_flow/endpoint_exceptions.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/alerts_table_flow/endpoint_exceptions.cy.ts index e9c07294e62d..3ca8b633e656 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/alerts_table_flow/endpoint_exceptions.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/alerts_table_flow/endpoint_exceptions.cy.ts @@ -15,10 +15,9 @@ import { } from '../../../tasks/alerts'; import { login, visitWithoutDateRange } from '../../../tasks/login'; import { getEndpointRule } from '../../../objects/rule'; -import { goToRuleDetails } from '../../../tasks/alerts_detection_rules'; import { createRule } from '../../../tasks/api_calls/rules'; import { waitForAlertsToPopulate } from '../../../tasks/create_new_rule'; -import { DETECTIONS_RULE_MANAGEMENT_URL } from '../../../urls/navigation'; +import { ruleDetailsUrl } from '../../../urls/navigation'; import { addExceptionEntryFieldValueAndSelectSuggestion, addExceptionEntryFieldValueValue, @@ -51,10 +50,12 @@ describe.skip( cy.task('esArchiverResetKibana'); login(); deleteAlertsAndRules(); + cy.task('esArchiverLoad', { archiveName: 'endpoint' }); - createRule(getEndpointRule()); - visitWithoutDateRange(DETECTIONS_RULE_MANAGEMENT_URL); - goToRuleDetails(); + createRule(getEndpointRule()).then((rule) => + visitWithoutDateRange(ruleDetailsUrl(rule.body.id)) + ); + waitForTheRuleToBeExecuted(); waitForAlertsToPopulate(); }); diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/alerts_table_flow/rule_exceptions/auto_populate_with_alert_data.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/alerts_table_flow/rule_exceptions/auto_populate_with_alert_data.cy.ts index 14d002b96b7b..afd1f6c36e29 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/alerts_table_flow/rule_exceptions/auto_populate_with_alert_data.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/alerts_table_flow/rule_exceptions/auto_populate_with_alert_data.cy.ts @@ -7,7 +7,6 @@ import { LOADING_INDICATOR } from '../../../../screens/security_header'; import { getEndpointRule } from '../../../../objects/rule'; import { createRule } from '../../../../tasks/api_calls/rules'; -import { goToRuleDetails } from '../../../../tasks/alerts_detection_rules'; import { addExceptionFromFirstAlert, expandFirstAlert, @@ -27,7 +26,7 @@ import { import { login, visitWithoutDateRange } from '../../../../tasks/login'; import { goToExceptionsTab } from '../../../../tasks/rule_details'; -import { DETECTIONS_RULE_MANAGEMENT_URL } from '../../../../urls/navigation'; +import { ruleDetailsUrl } from '../../../../urls/navigation'; import { deleteAlertsAndRules } from '../../../../tasks/common'; import { ADD_AND_BTN, @@ -52,9 +51,10 @@ describe.skip( cy.task('esArchiverResetKibana'); cy.task('esArchiverLoad', { archiveName: 'endpoint' }); login(); - createRule(getEndpointRule()); - visitWithoutDateRange(DETECTIONS_RULE_MANAGEMENT_URL); - goToRuleDetails(); + createRule(getEndpointRule()).then((rule) => + visitWithoutDateRange(ruleDetailsUrl(rule.body.id)) + ); + waitForAlertsToPopulate(); }); after(() => { diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/alerts_table_flow/rule_exceptions/closing_all_matching_alerts.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/alerts_table_flow/rule_exceptions/closing_all_matching_alerts.cy.ts index 9c4a575dccb4..f85e57216079 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/alerts_table_flow/rule_exceptions/closing_all_matching_alerts.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/alerts_table_flow/rule_exceptions/closing_all_matching_alerts.cy.ts @@ -12,8 +12,7 @@ import { } from '../../../../tasks/alerts'; import { deleteAlertsAndRules, postDataView } from '../../../../tasks/common'; import { login, visitWithoutDateRange } from '../../../../tasks/login'; -import { DETECTIONS_RULE_MANAGEMENT_URL } from '../../../../urls/navigation'; -import { goToRuleDetails } from '../../../../tasks/alerts_detection_rules'; +import { ruleDetailsUrl } from '../../../../urls/navigation'; import { createRule } from '../../../../tasks/api_calls/rules'; import { getNewRule } from '../../../../objects/rule'; import { LOADING_INDICATOR } from '../../../../screens/security_header'; @@ -29,7 +28,6 @@ import { // See https://github.com/elastic/kibana/issues/163967 describe('Close matching Alerts ', () => { - const newRule = getNewRule(); const ITEM_NAME = 'Sample Exception Item'; beforeEach(() => { @@ -40,15 +38,15 @@ describe('Close matching Alerts ', () => { login(); postDataView('exceptions-*'); - createRule({ - ...newRule, - query: 'agent.name:*', - data_view_id: 'exceptions-*', - interval: '10s', - rule_id: 'rule_testing', - }); - visitWithoutDateRange(DETECTIONS_RULE_MANAGEMENT_URL); - goToRuleDetails(); + createRule( + getNewRule({ + query: 'agent.name:*', + data_view_id: 'exceptions-*', + interval: '10s', + rule_id: 'rule_testing', + }) + ).then((rule) => visitWithoutDateRange(ruleDetailsUrl(rule.body.id))); + waitForAlertsToPopulate(); }); after(() => { diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/entry/flyout_validation.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/entry/flyout_validation.cy.ts index e11cace87d8e..04ef2368a7e1 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/entry/flyout_validation.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/entry/flyout_validation.cy.ts @@ -10,7 +10,6 @@ import { getNewRule } from '../../../objects/rule'; import { RULE_STATUS } from '../../../screens/create_new_rule'; import { createRule } from '../../../tasks/api_calls/rules'; -import { goToRuleDetails } from '../../../tasks/alerts_detection_rules'; import { login, visitWithoutDateRange } from '../../../tasks/login'; import { openExceptionFlyoutFromEmptyViewerPrompt, @@ -47,8 +46,8 @@ import { FIELD_INPUT_PARENT, } from '../../../screens/exceptions'; -import { DETECTIONS_RULE_MANAGEMENT_URL } from '../../../urls/navigation'; -import { reload } from '../../../tasks/common'; +import { ruleDetailsUrl } from '../../../urls/navigation'; +import { deleteAlertsAndRules, reload } from '../../../tasks/common'; import { createExceptionList, createExceptionListItem, @@ -75,7 +74,11 @@ describe.skip('Exceptions flyout', { tags: ['@ess', '@serverless'] }, () => { // Comment the Conflicts here as they are skipped // cy.task('esArchiverLoad',{ archiveName: 'conflicts_1' }); // cy.task('esArchiverLoad',{ archiveName: 'conflicts_2' }); + }); + + beforeEach(() => { login(); + deleteAlertsAndRules(); createExceptionList(getExceptionList(), getExceptionList().list_id).then((response) => createRule( getNewRule({ @@ -90,18 +93,9 @@ describe.skip('Exceptions flyout', { tags: ['@ess', '@serverless'] }, () => { }, ], }) - ) + ).then((rule) => visitWithoutDateRange(ruleDetailsUrl(rule.body.id, 'rule_exceptions'))) ); - login(); - visitWithoutDateRange(DETECTIONS_RULE_MANAGEMENT_URL); - }); - - beforeEach(() => { - login(); - visitWithoutDateRange(DETECTIONS_RULE_MANAGEMENT_URL); - goToRuleDetails(); cy.get(RULE_STATUS).should('have.text', '—'); - goToExceptionsTab(); }); after(() => { diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/entry/multiple_conditions.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/entry/multiple_conditions.cy.ts index e1e396af156b..2cf577d41e16 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/entry/multiple_conditions.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/entry/multiple_conditions.cy.ts @@ -8,12 +8,8 @@ import { getNewRule } from '../../../objects/rule'; import { createRule } from '../../../tasks/api_calls/rules'; -import { goToRuleDetails } from '../../../tasks/alerts_detection_rules'; import { login, visitWithoutDateRange } from '../../../tasks/login'; -import { - openExceptionFlyoutFromEmptyViewerPrompt, - goToExceptionsTab, -} from '../../../tasks/rule_details'; +import { openExceptionFlyoutFromEmptyViewerPrompt } from '../../../tasks/rule_details'; import { addExceptionFlyoutItemName, addTwoAndedConditions, @@ -26,7 +22,8 @@ import { EXCEPTION_ITEM_VIEWER_CONTAINER, } from '../../../screens/exceptions'; -import { DETECTIONS_RULE_MANAGEMENT_URL } from '../../../urls/navigation'; +import { ruleDetailsUrl } from '../../../urls/navigation'; +import { deleteAlertsAndRules } from '../../../tasks/common'; // FLAKY: https://github.com/elastic/kibana/issues/165651 // FLAKY: https://github.com/elastic/kibana/issues/165734 @@ -38,6 +35,7 @@ describe( beforeEach(() => { cy.task('esArchiverResetKibana'); login(); + deleteAlertsAndRules(); // At least create Rule with exceptions_list to be able to view created exceptions createRule({ ...getNewRule(), @@ -45,15 +43,13 @@ describe( index: ['exceptions*'], exceptions_list: [], rule_id: '2', - }); - visitWithoutDateRange(DETECTIONS_RULE_MANAGEMENT_URL); - goToRuleDetails(); - goToExceptionsTab(); + }).then((rule) => visitWithoutDateRange(ruleDetailsUrl(rule.body.id, 'rule_exceptions'))); }); after(() => { cy.task('esArchiverUnload', 'exceptions'); }); + const exceptionName = 'My item name'; it('Use multipe AND conditions and validate it generates one exception', () => { diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/entry/use_value_list.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/entry/use_value_list.cy.ts index b1e2c81b4c42..0969b53d8cee 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/entry/use_value_list.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/entry/use_value_list.cy.ts @@ -12,26 +12,19 @@ import { addExceptionFlyoutItemName, submitNewExceptionItem, } from '../../../tasks/exceptions'; -import { goToRuleDetails } from '../../../tasks/alerts_detection_rules'; -import { - goToExceptionsTab, - openExceptionFlyoutFromEmptyViewerPrompt, -} from '../../../tasks/rule_details'; -import { VALUE_LISTS_TABLE, VALUE_LISTS_ROW } from '../../../screens/lists'; +import { openExceptionFlyoutFromEmptyViewerPrompt } from '../../../tasks/rule_details'; import { getNewRule } from '../../../objects/rule'; import { cleanKibana } from '../../../tasks/common'; import { login, visitWithoutDateRange } from '../../../tasks/login'; -import { DETECTIONS_RULE_MANAGEMENT_URL } from '../../../urls/navigation'; +import { DETECTIONS_RULE_MANAGEMENT_URL, ruleDetailsUrl } from '../../../urls/navigation'; import { createListsIndex, waitForListsIndex, waitForValueListsModalToBeLoaded, - selectValueListType, - selectValueListsFile, - uploadValueList, openValueListsModal, deleteValueListsFile, - closeValueListsModal, + importValueList, + KNOWN_VALUE_LIST_FILES, } from '../../../tasks/lists'; import { createRule } from '../../../tasks/api_calls/rules'; import { @@ -55,21 +48,22 @@ describe( 'Use Value list in exception entry', { tags: ['@ess', '@serverless', '@brokenInServerless'] }, () => { - before(() => { + beforeEach(() => { cleanKibana(); login(); - cy.task('esArchiverLoad', { archiveName: 'exceptions' }); - createRule({ - ...getNewRule(), - query: 'user.name:*', - index: ['exceptions*'], - exceptions_list: [], - rule_id: '2', - }); - visitWithoutDateRange(DETECTIONS_RULE_MANAGEMENT_URL); - }); - beforeEach(() => { createListsIndex(); + cy.task('esArchiverLoad', { archiveName: 'exceptions' }); + importValueList(KNOWN_VALUE_LIST_FILES.TEXT, 'keyword'); + + createRule( + getNewRule({ + query: 'user.name:*', + index: ['exceptions*'], + exceptions_list: [], + rule_id: '2', + enabled: false, + }) + ).then((rule) => visitWithoutDateRange(ruleDetailsUrl(rule.body.id, 'rule_exceptions'))); }); afterEach(() => { @@ -80,24 +74,6 @@ describe( const ITEM_NAME = 'Exception item with value list'; const ITEM_FIELD = 'agent.name'; - goToRulesAndOpenValueListModal(); - - // Add new value list of type keyword - const listName = 'value_list.txt'; - selectValueListType('keyword'); - selectValueListsFile(listName); - uploadValueList(); - - cy.get(VALUE_LISTS_TABLE) - .find(VALUE_LISTS_ROW) - .should(($row) => { - expect($row.text()).to.contain(listName); - expect($row.text()).to.contain('Keywords'); - }); - closeValueListsModal(); - goToRuleDetails(); - goToExceptionsTab(); - // open add exception modal openExceptionFlyoutFromEmptyViewerPrompt(); @@ -107,7 +83,7 @@ describe( addExceptionEntryFieldValue(ITEM_FIELD, 0); addExceptionEntryOperatorValue('is in list', 0); - addExceptionEntryFieldMatchIncludedValue('value_list.txt', 0); + addExceptionEntryFieldMatchIncludedValue(KNOWN_VALUE_LIST_FILES.TEXT, 0); // The Close all alerts that match attributes in this exception option is disabled cy.get(CLOSE_ALERTS_CHECKBOX).should('exist'); @@ -128,7 +104,7 @@ describe( // Go back to value list to delete the existing one goToRulesAndOpenValueListModal(); - deleteValueListsFile(listName); + deleteValueListsFile(KNOWN_VALUE_LIST_FILES.TEXT); // Toast should be shown because of exception reference cy.get(EXCEPTIONS_TABLE_MODAL).should('exist'); diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/rule_details_flow/add_edit_endpoint_exception.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/rule_details_flow/add_edit_endpoint_exception.cy.ts index f3b84ebb98f7..170530f8c804 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/rule_details_flow/add_edit_endpoint_exception.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/rule_details_flow/add_edit_endpoint_exception.cy.ts @@ -8,13 +8,12 @@ import { getNewRule } from '../../../objects/rule'; import { createRule } from '../../../tasks/api_calls/rules'; -import { goToRuleDetails } from '../../../tasks/alerts_detection_rules'; import { login, visitWithoutDateRange } from '../../../tasks/login'; import { - goToEndpointExceptionsTab, openEditException, openExceptionFlyoutFromEmptyViewerPrompt, searchForExceptionItem, + waitForPageToBeLoaded as waitForRuleDetailsPageToBeLoaded, } from '../../../tasks/rule_details'; import { addExceptionConditions, @@ -26,7 +25,7 @@ import { submitNewExceptionItem, } from '../../../tasks/exceptions'; -import { DETECTIONS_RULE_MANAGEMENT_URL } from '../../../urls/navigation'; +import { ruleDetailsUrl } from '../../../urls/navigation'; import { deleteAlertsAndRules } from '../../../tasks/common'; import { NO_EXCEPTIONS_EXIST_PROMPT, @@ -42,156 +41,190 @@ import { EXCEPTION_CARD_ITEM_CONDITIONS, FIELD_INPUT_PARENT, } from '../../../screens/exceptions'; -import { createEndpointExceptionList } from '../../../tasks/api_calls/exceptions'; +import { + createEndpointExceptionList, + createEndpointExceptionListItem, +} from '../../../tasks/api_calls/exceptions'; // FLAKY: https://github.com/elastic/kibana/issues/165736 describe( 'Add endpoint exception from rule details', - { tags: ['@ess', '@serverless', '@brokenInServerless'] }, + { tags: ['@ess', '@brokenInServerless'] }, () => { const ITEM_NAME = 'Sample Exception List Item'; + const NEW_ITEM_NAME = 'Exception item-EDITED'; + const ITEM_FIELD = 'event.code'; + const FIELD_DIFFERENT_FROM_EXISTING_ITEM_FIELD = 'agent.type'; - before(() => { + beforeEach(() => { cy.task('esArchiverResetKibana'); cy.task('esArchiverLoad', { archiveName: 'auditbeat' }); login(); deleteAlertsAndRules(); - // create rule with exception - createEndpointExceptionList<{ - id: string; - list_id: string; - type: - | 'detection' - | 'rule_default' - | 'endpoint' - | 'endpoint_trusted_apps' - | 'endpoint_events' - | 'endpoint_host_isolation_exceptions' - | 'endpoint_blocklists'; - namespace_type: 'agnostic' | 'single'; - }>().then((response) => { - createRule( - getNewRule({ - query: 'event.code:*', - index: ['auditbeat*'], - exceptions_list: [ - { - id: response.body.id, - list_id: response.body.list_id, - type: response.body.type, - namespace_type: response.body.namespace_type, - }, - ], - rule_id: '2', - }) - ); - }); }); - beforeEach(() => { - login(); - visitWithoutDateRange(DETECTIONS_RULE_MANAGEMENT_URL); - goToRuleDetails(); - goToEndpointExceptionsTab(); - }); - - after(() => { + afterEach(() => { cy.task('esArchiverUnload', 'auditbeat'); }); - it('creates an exception item', () => { - // when no exceptions exist, empty component shows with action to add exception - cy.get(NO_EXCEPTIONS_EXIST_PROMPT).should('exist'); + describe('without exception items', () => { + beforeEach(() => { + createEndpointExceptionList().then((response) => { + createRule( + getNewRule({ + query: 'event.code:*', + index: ['auditbeat*'], + exceptions_list: [ + { + id: response.body.id, + list_id: response.body.list_id, + type: response.body.type, + namespace_type: response.body.namespace_type, + }, + ], + rule_id: '2', + enabled: false, + }) + ).then((rule) => + visitWithoutDateRange(ruleDetailsUrl(rule.body.id, 'endpoint_exceptions')) + ); + }); + }); - // open add exception modal - openExceptionFlyoutFromEmptyViewerPrompt(); + it('creates an exception item', () => { + // when no exceptions exist, empty component shows with action to add exception + cy.get(NO_EXCEPTIONS_EXIST_PROMPT).should('exist'); - // submit button is disabled if no paramerters were added - cy.get(CONFIRM_BTN).should('have.attr', 'disabled'); + // open add exception modal + openExceptionFlyoutFromEmptyViewerPrompt(); - // for endpoint exceptions, must specify OS - selectOs('windows'); + // submit button is disabled if no paramerters were added + cy.get(CONFIRM_BTN).should('have.attr', 'disabled'); - // add exception item conditions - addExceptionConditions({ - field: 'event.code', - operator: 'is', - values: ['foo'], - }); + // for endpoint exceptions, must specify OS + selectOs('windows'); + + // add exception item conditions + addExceptionConditions({ + field: 'event.code', + operator: 'is', + values: ['foo'], + }); - // Name is required so want to check that submit is still disabled - cy.get(CONFIRM_BTN).should('have.attr', 'disabled'); + // Name is required so want to check that submit is still disabled + cy.get(CONFIRM_BTN).should('have.attr', 'disabled'); - // add exception item name - addExceptionFlyoutItemName(ITEM_NAME); + // add exception item name + addExceptionFlyoutItemName(ITEM_NAME); - // Option to add to rule or add to list should NOT appear - cy.get(ADD_TO_RULE_OR_LIST_SECTION).should('not.exist'); + // Option to add to rule or add to list should NOT appear + cy.get(ADD_TO_RULE_OR_LIST_SECTION).should('not.exist'); - // not testing close alert functionality here, just ensuring that the options appear as expected - cy.get(CLOSE_SINGLE_ALERT_CHECKBOX).should('not.exist'); - cy.get(CLOSE_ALERTS_CHECKBOX).should('exist'); + // not testing close alert functionality here, just ensuring that the options appear as expected + cy.get(CLOSE_SINGLE_ALERT_CHECKBOX).should('not.exist'); + cy.get(CLOSE_ALERTS_CHECKBOX).should('exist'); - // submit - submitNewExceptionItem(); + // submit + submitNewExceptionItem(); - // new exception item displays - cy.get(EXCEPTION_ITEM_VIEWER_CONTAINER).should('have.length', 1); + // new exception item displays + cy.get(EXCEPTION_ITEM_VIEWER_CONTAINER).should('have.length', 1); + }); }); - it('edits an endpoint exception item', () => { - const NEW_ITEM_NAME = 'Exception item-EDITED'; - const ITEM_FIELD = 'event.code'; - const FIELD_DIFFERENT_FROM_EXISTING_ITEM_FIELD = 'agent.type'; + describe('with exception items', () => { + beforeEach(() => { + createEndpointExceptionList().then((response) => { + createEndpointExceptionListItem({ + comments: [], + description: 'Exception list item', + entries: [ + { + field: ITEM_FIELD, + operator: 'included', + type: 'match', + value: 'foo', + }, + ], + name: ITEM_NAME, + tags: [], + type: 'simple', + os_types: ['windows'], + }); + + createRule( + getNewRule({ + name: 'Rule with exceptions', + query: 'event.code:*', + index: ['auditbeat*'], + exceptions_list: [ + { + id: response.body.id, + list_id: response.body.list_id, + type: response.body.type, + namespace_type: response.body.namespace_type, + }, + ], + rule_id: '2', + enabled: false, + }) + ).then((rule) => { + visitWithoutDateRange(ruleDetailsUrl(rule.body.id, 'endpoint_exceptions')); + waitForRuleDetailsPageToBeLoaded('Rule with exceptions'); + }); + }); + }); - // displays existing exception items - cy.get(EXCEPTION_ITEM_VIEWER_CONTAINER).should('have.length', 1); - cy.get(NO_EXCEPTIONS_EXIST_PROMPT).should('not.exist'); - cy.get(EXCEPTION_CARD_ITEM_NAME).should('have.text', ITEM_NAME); - cy.get(EXCEPTION_CARD_ITEM_CONDITIONS).should('have.text', ` ${ITEM_FIELD}IS foo`); + it('edits an endpoint exception item', () => { + // displays existing exception items + cy.get(EXCEPTION_ITEM_VIEWER_CONTAINER).should('have.length', 1); + cy.get(NO_EXCEPTIONS_EXIST_PROMPT).should('not.exist'); + cy.get(EXCEPTION_CARD_ITEM_NAME).should('have.text', ITEM_NAME); + cy.get(EXCEPTION_CARD_ITEM_CONDITIONS).should('have.text', ` ${ITEM_FIELD}IS foo`); - // open edit exception modal - openEditException(); + // open edit exception modal + openEditException(); - // edit exception item name - editExceptionFlyoutItemName(NEW_ITEM_NAME); + // edit exception item name + editExceptionFlyoutItemName(NEW_ITEM_NAME); - // check that the existing item's field is being populated - cy.get(EXCEPTION_ITEM_CONTAINER) - .eq(0) - .find(FIELD_INPUT_PARENT) - .eq(0) - .should('have.text', ITEM_FIELD); - cy.get(VALUES_INPUT).should('have.text', 'foo'); + // check that the existing item's field is being populated + cy.get(EXCEPTION_ITEM_CONTAINER) + .eq(0) + .find(FIELD_INPUT_PARENT) + .eq(0) + .should('have.text', ITEM_FIELD); + cy.get(VALUES_INPUT).should('have.text', 'foo'); - // edit conditions - editException(FIELD_DIFFERENT_FROM_EXISTING_ITEM_FIELD, 0, 0); + // edit conditions + editException(FIELD_DIFFERENT_FROM_EXISTING_ITEM_FIELD, 0, 0); - // submit - submitEditedExceptionItem(); + // submit + submitEditedExceptionItem(); - // new exception item displays - cy.get(EXCEPTION_ITEM_VIEWER_CONTAINER).should('have.length', 1); + // new exception item displays + cy.get(EXCEPTION_ITEM_VIEWER_CONTAINER).should('have.length', 1); - // check that updates stuck - cy.get(EXCEPTION_CARD_ITEM_NAME).should('have.text', NEW_ITEM_NAME); - cy.get(EXCEPTION_CARD_ITEM_CONDITIONS).should('have.text', ' agent.typeIS foo'); - }); + // check that updates stuck + cy.get(EXCEPTION_CARD_ITEM_NAME).should('have.text', NEW_ITEM_NAME); + cy.get(EXCEPTION_CARD_ITEM_CONDITIONS).should('have.text', ' agent.typeIS foo'); + }); - it('allows user to search for items', () => { - cy.get(EXCEPTION_ITEM_VIEWER_CONTAINER).should('have.length', 1); + it('allows user to search for items', () => { + cy.get(EXCEPTION_ITEM_VIEWER_CONTAINER).should('have.length', 1); - // can search for an exception value - searchForExceptionItem('foo'); + // can search for an exception value + searchForExceptionItem('foo'); - // new exception item displays - cy.get(EXCEPTION_ITEM_VIEWER_CONTAINER).should('have.length', 1); + // new exception item displays + cy.get(EXCEPTION_ITEM_VIEWER_CONTAINER).should('have.length', 1); - // displays empty search result view if no matches found - searchForExceptionItem('abc'); + // displays empty search result view if no matches found + searchForExceptionItem('abc'); - // new exception item displays - cy.get(NO_EXCEPTIONS_SEARCH_RESULTS_PROMPT).should('exist'); + // new exception item displays + cy.get(NO_EXCEPTIONS_SEARCH_RESULTS_PROMPT).should('exist'); + }); }); } ); diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/rule_details_flow/add_edit_exception.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/rule_details_flow/add_edit_exception.cy.ts index 18537145ec58..11f5a5867940 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/rule_details_flow/add_edit_exception.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/rule_details_flow/add_edit_exception.cy.ts @@ -10,7 +10,6 @@ import { getNewRule } from '../../../objects/rule'; import { ALERTS_COUNT, EMPTY_ALERT_TABLE } from '../../../screens/alerts'; import { createRule } from '../../../tasks/api_calls/rules'; -import { goToRuleDetails } from '../../../tasks/alerts_detection_rules'; import { goToClosedAlertsOnRuleDetailsPage, goToOpenedAlertsOnRuleDetailsPage, @@ -37,7 +36,7 @@ import { submitEditedExceptionItem, submitNewExceptionItem, } from '../../../tasks/exceptions'; -import { DETECTIONS_RULE_MANAGEMENT_URL } from '../../../urls/navigation'; +import { ruleDetailsUrl } from '../../../urls/navigation'; import { deleteAlertsAndRules } from '../../../tasks/common'; import { NO_EXCEPTIONS_EXIST_PROMPT, @@ -67,35 +66,25 @@ describe('Add/edit exception from rule details', { tags: ['@ess', '@brokenInServ before(() => { cy.task('esArchiverResetKibana'); cy.task('esArchiverLoad', { archiveName: 'exceptions' }); - login(); }); after(() => { cy.task('esArchiverUnload', 'exceptions'); }); + beforeEach(() => { + login(); + deleteAlertsAndRules(); + + const exceptionList = getExceptionList(); + deleteExceptionList(exceptionList.list_id, exceptionList.namespace_type); + }); + describe('existing list and items', () => { const exceptionList = getExceptionList(); beforeEach(() => { - deleteAlertsAndRules(); - deleteExceptionList(exceptionList.list_id, exceptionList.namespace_type); // create rule with exceptions createExceptionList(exceptionList, exceptionList.list_id).then((response) => { - createRule( - getNewRule({ - query: 'agent.name:*', - index: ['exceptions*'], - exceptions_list: [ - { - id: response.body.id, - list_id: exceptionList.list_id, - type: exceptionList.type, - namespace_type: exceptionList.namespace_type, - }, - ], - rule_id: '2', - }) - ); createExceptionListItem(exceptionList.list_id, { list_id: exceptionList.list_id, item_id: 'simple_list_item', @@ -113,12 +102,23 @@ describe('Add/edit exception from rule details', { tags: ['@ess', '@brokenInServ }, ], }); - }); - login(); - visitWithoutDateRange(DETECTIONS_RULE_MANAGEMENT_URL); - goToRuleDetails(); - goToExceptionsTab(); + createRule( + getNewRule({ + query: 'agent.name:*', + index: ['exceptions*'], + exceptions_list: [ + { + id: response.body.id, + list_id: exceptionList.list_id, + type: exceptionList.type, + namespace_type: exceptionList.namespace_type, + }, + ], + rule_id: '2', + }) + ).then((rule) => visitWithoutDateRange(ruleDetailsUrl(rule.body.id, 'rule_exceptions'))); + }); }); it('Edits an exception item', () => { @@ -245,7 +245,6 @@ describe('Add/edit exception from rule details', { tags: ['@ess', '@brokenInServ describe('rule without existing exceptions', () => { beforeEach(() => { - deleteAlertsAndRules(); createRule( getNewRule({ query: 'agent.name:*', @@ -253,11 +252,7 @@ describe('Add/edit exception from rule details', { tags: ['@ess', '@brokenInServ interval: '10s', rule_id: 'rule_testing', }) - ); - login(); - visitWithoutDateRange(DETECTIONS_RULE_MANAGEMENT_URL); - goToRuleDetails(); - goToExceptionsTab(); + ).then((rule) => visitWithoutDateRange(ruleDetailsUrl(rule.body.id, 'rule_exceptions'))); }); afterEach(() => { diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/rule_details_flow/add_edit_exception_data_view.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/rule_details_flow/add_edit_exception_data_view.cy.ts index 229cfce25b9f..a1e3e17db597 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/rule_details_flow/add_edit_exception_data_view.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/rule_details_flow/add_edit_exception_data_view.cy.ts @@ -8,7 +8,6 @@ import { getNewRule } from '../../../objects/rule'; import { ALERTS_COUNT, EMPTY_ALERT_TABLE } from '../../../screens/alerts'; import { createRule } from '../../../tasks/api_calls/rules'; -import { goToRuleDetails } from '../../../tasks/alerts_detection_rules'; import { goToClosedAlertsOnRuleDetailsPage, goToOpenedAlertsOnRuleDetailsPage, @@ -28,7 +27,7 @@ import { waitForTheRuleToBeExecuted, } from '../../../tasks/rule_details'; -import { DETECTIONS_RULE_MANAGEMENT_URL } from '../../../urls/navigation'; +import { ruleDetailsUrl } from '../../../urls/navigation'; import { postDataView, deleteAlertsAndRules } from '../../../tasks/common'; import { NO_EXCEPTIONS_EXIST_PROMPT, @@ -60,6 +59,7 @@ describe( }); beforeEach(() => { + login(); deleteAlertsAndRules(); createRule( getNewRule({ @@ -68,10 +68,7 @@ describe( interval: '10s', rule_id: 'rule_testing', }) - ); - login(); - visitWithoutDateRange(DETECTIONS_RULE_MANAGEMENT_URL); - goToRuleDetails(); + ).then((rule) => visitWithoutDateRange(ruleDetailsUrl(rule.body.id))); waitForAlertsToPopulate(); }); diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/rule_details_flow/read_only_view.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/rule_details_flow/read_only_view.cy.ts index 6ecb3c1e4060..d6e5637e1737 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/rule_details_flow/read_only_view.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/rule_details_flow/read_only_view.cy.ts @@ -11,7 +11,7 @@ import { getNewRule } from '../../../objects/rule'; import { createRule } from '../../../tasks/api_calls/rules'; import { login, visitSecurityDetectionRulesPage } from '../../../tasks/login'; import { goToExceptionsTab, goToAlertsTab } from '../../../tasks/rule_details'; -import { goToTheRuleDetailsOf } from '../../../tasks/alerts_detection_rules'; +import { goToRuleDetailsOf } from '../../../tasks/alerts_detection_rules'; import { deleteAlertsAndRules } from '../../../tasks/common'; import { NO_EXCEPTIONS_EXIST_PROMPT, @@ -55,7 +55,7 @@ describe('Exceptions viewer read only', { tags: '@ess' }, () => { login(ROLES.reader); visitSecurityDetectionRulesPage(ROLES.reader); - goToTheRuleDetailsOf('Test exceptions rule'); + goToRuleDetailsOf('Test exceptions rule'); goToExceptionsTab(); }); diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/shared_exception_lists_management/manage_exceptions.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/shared_exception_lists_management/manage_exceptions.cy.ts index e0f932d81ac8..c5cf8a5de942 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/shared_exception_lists_management/manage_exceptions.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/shared_exception_lists_management/manage_exceptions.cy.ts @@ -5,6 +5,7 @@ * 2.0. */ +import type { RuleResponse } from '@kbn/security-solution-plugin/common/api/detection_engine'; import { getNewRule } from '../../../objects/rule'; import { login, visitWithoutDateRange } from '../../../tasks/login'; import { createRule } from '../../../tasks/api_calls/rules'; @@ -19,7 +20,7 @@ import { submitNewExceptionItem, deleteFirstExceptionItemInListDetailPage, } from '../../../tasks/exceptions'; -import { DETECTIONS_RULE_MANAGEMENT_URL, EXCEPTIONS_URL } from '../../../urls/navigation'; +import { EXCEPTIONS_URL, ruleDetailsUrl } from '../../../urls/navigation'; import { CONFIRM_BTN, @@ -29,8 +30,6 @@ import { EXECPTION_ITEM_CARD_HEADER_TITLE, EMPTY_EXCEPTIONS_VIEWER, } from '../../../screens/exceptions'; -import { goToRuleDetails } from '../../../tasks/alerts_detection_rules'; -import { goToExceptionsTab } from '../../../tasks/rule_details'; import { addExceptionListFromSharedExceptionListHeaderMenu, createSharedExceptionList, @@ -43,19 +42,17 @@ describe( 'Add, edit and delete exception', { tags: ['@ess', '@serverless', '@brokenInServerless'] }, () => { - before(() => { + beforeEach(() => { cy.task('esArchiverResetKibana'); cy.task('esArchiverLoad', { archiveName: 'exceptions' }); + createRule(getNewRule()).as('createdRule'); - createRule(getNewRule()); - }); - - beforeEach(() => { login(); visitWithoutDateRange(EXCEPTIONS_URL); waitForExceptionsTableToBeLoaded(); }); - after(() => { + + afterEach(() => { cy.task('esArchiverUnload', 'exceptions'); }); @@ -87,11 +84,10 @@ describe( submitNewExceptionItem(); - // Navigate to Rule page - visitWithoutDateRange(DETECTIONS_RULE_MANAGEMENT_URL); - goToRuleDetails(); - - goToExceptionsTab(); + // Navigate to Rule details page + cy.get>('@createdRule').then((rule) => + visitWithoutDateRange(ruleDetailsUrl(rule.body.id, 'rule_exceptions')) + ); // Only one Exception should generated cy.get(EXCEPTION_ITEM_VIEWER_CONTAINER).should('have.length', 1); diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/alerts_details.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/alerts_details.cy.ts index 1604d1fdbe69..de204fd08f62 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/alerts_details.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/alerts_details.cy.ts @@ -29,12 +29,12 @@ import { cleanKibana } from '../../../tasks/common'; import { waitForAlertsToPopulate } from '../../../tasks/create_new_rule'; import { login, visit, visitWithoutDateRange } from '../../../tasks/login'; import { getNewRule, getUnmappedRule } from '../../../objects/rule'; -import { ALERTS_URL } from '../../../urls/navigation'; +import { ALERTS_URL, ruleDetailsUrl } from '../../../urls/navigation'; import { tablePageSelector } from '../../../screens/table_pagination'; import { ALERTS_TABLE_COUNT } from '../../../screens/timeline'; import { ALERT_SUMMARY_SEVERITY_DONUT_CHART } from '../../../screens/alerts'; import { getLocalstorageEntryAsObject } from '../../../helpers/common'; -import { goToRuleDetails } from '../../../tasks/alerts_detection_rules'; +import { waitForPageToBeLoaded as waitForRuleDetailsPageToBeLoaded } from '../../../tasks/rule_details'; describe('Alert details flyout', { tags: ['@ess', '@serverless', '@brokenInServerless'] }, () => { describe('Basic functions', () => { @@ -179,8 +179,13 @@ describe('Alert details flyout', { tags: ['@ess', '@serverless', '@brokenInServe }); describe('Localstorage management', () => { + const ARCHIVED_RULE_ID = '7015a3e2-e4ea-11ed-8c11-49608884878f'; + const ARCHIVED_RULE_NAME = 'Endpoint Security'; + before(() => { cleanKibana(); + + // It just imports an alert without a rule but rule details page should work anyway cy.task('esArchiverLoad', { archiveName: 'query_alert', useCreate: true, docsOnly: true }); }); @@ -230,7 +235,10 @@ describe('Alert details flyout', { tags: ['@ess', '@serverless', '@brokenInServe it('should remove the flyout state from localstorage when navigating away without closing the flyout', () => { cy.get(OVERVIEW_RULE).should('be.visible'); - goToRuleDetails(); + + visitWithoutDateRange(ruleDetailsUrl(ARCHIVED_RULE_ID)); + waitForRuleDetailsPageToBeLoaded(ARCHIVED_RULE_NAME); + const localStorageCheck = () => cy.getAllLocalStorage().then((storage) => { const securityDataTable = getLocalstorageEntryAsObject(storage, 'securityDataTable'); @@ -242,7 +250,10 @@ describe('Alert details flyout', { tags: ['@ess', '@serverless', '@brokenInServe it('should not reopen the flyout when navigating away from the alerts page and returning to it', () => { cy.get(OVERVIEW_RULE).should('be.visible'); - goToRuleDetails(); + + visitWithoutDateRange(ruleDetailsUrl(ARCHIVED_RULE_ID)); + waitForRuleDetailsPageToBeLoaded(ARCHIVED_RULE_NAME); + visit(ALERTS_URL); cy.get(OVERVIEW_RULE).should('not.exist'); }); diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/building_block_alerts.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/building_block_alerts.cy.ts index d57ab19a0f4f..6b869268fa15 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/building_block_alerts.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/building_block_alerts.cy.ts @@ -9,14 +9,13 @@ import { getBuildingBlockRule } from '../../../objects/rule'; import { OVERVIEW_ALERTS_HISTOGRAM_EMPTY } from '../../../screens/overview'; import { HIGHLIGHTED_ROWS_IN_TABLE } from '../../../screens/rule_details'; import { OVERVIEW } from '../../../screens/security_header'; -import { goToRuleDetails } from '../../../tasks/alerts_detection_rules'; import { createRule } from '../../../tasks/api_calls/rules'; import { cleanKibana } from '../../../tasks/common'; import { waitForAlertsToPopulate } from '../../../tasks/create_new_rule'; import { login, visitWithoutDateRange } from '../../../tasks/login'; import { waitForTheRuleToBeExecuted } from '../../../tasks/rule_details'; import { navigateFromHeaderTo } from '../../../tasks/security_header'; -import { DETECTIONS_RULE_MANAGEMENT_URL } from '../../../urls/navigation'; +import { ruleDetailsUrl } from '../../../urls/navigation'; const EXPECTED_NUMBER_OF_ALERTS = 5; @@ -26,19 +25,21 @@ describe( () => { before(() => { cy.task('esArchiverLoad', { archiveName: 'auditbeat_big' }); - cleanKibana(); - login(); - }); - beforeEach(() => { - createRule(getBuildingBlockRule()); }); + after(() => { cy.task('esArchiverUnload', 'auditbeat_big'); }); + beforeEach(() => { + cleanKibana(); + login(); + createRule(getBuildingBlockRule()).then((rule) => + visitWithoutDateRange(ruleDetailsUrl(rule.body.id)) + ); + }); + it('Alerts should be visible on the Rule Detail page and not visible on the Overview page', () => { - visitWithoutDateRange(DETECTIONS_RULE_MANAGEMENT_URL); - goToRuleDetails(); waitForTheRuleToBeExecuted(); // Check that generated events are visible on the Details page diff --git a/x-pack/test/security_solution_cypress/cypress/objects/rule.ts b/x-pack/test/security_solution_cypress/cypress/objects/rule.ts index 586a4188b84b..13ff441e64ee 100644 --- a/x-pack/test/security_solution_cypress/cypress/objects/rule.ts +++ b/x-pack/test/security_solution_cypress/cypress/objects/rule.ts @@ -491,8 +491,6 @@ export const indicatorRuleMatchingDoc = { matchedIndex: 'logs-ti_abusech.malware', }; -export const duplicatedRuleName = `${getNewThreatIndicatorRule().name} [Duplicate]`; - export const getSeveritiesOverride = (): string[] => ['Low', 'Medium', 'High', 'Critical']; export const getEditedRule = (): QueryRuleCreateProps => diff --git a/x-pack/test/security_solution_cypress/cypress/tasks/alerts_detection_rules.ts b/x-pack/test/security_solution_cypress/cypress/tasks/alerts_detection_rules.ts index 5f66f5513ed1..cb920e8093be 100644 --- a/x-pack/test/security_solution_cypress/cypress/tasks/alerts_detection_rules.ts +++ b/x-pack/test/security_solution_cypress/cypress/tasks/alerts_detection_rules.ts @@ -5,7 +5,6 @@ * 2.0. */ -import { duplicatedRuleName } from '../objects/rule'; import { COLLAPSED_ACTION_BTN, CUSTOM_RULES_BTN, @@ -107,8 +106,8 @@ export const duplicateRuleFromMenu = () => { * Check that the duplicated rule is on the table * and it is disabled (default) */ -export const checkDuplicatedRule = () => { - cy.contains(RULE_NAME, duplicatedRuleName) +export const checkDuplicatedRule = (ruleName: string): void => { + cy.contains(RULE_NAME, ruleName) .parents(RULES_ROW) .find(RULE_SWITCH) .should('have.attr', 'aria-checked', 'false'); @@ -193,14 +192,7 @@ export const filterByDisabledRules = () => { cy.get(DISABLED_RULES_BTN).click(); }; -/** - * @deprecated use goToTheRuleDetailsOf - */ -export const goToRuleDetails = () => { - cy.get(RULE_NAME).first().click(); -}; - -export const goToTheRuleDetailsOf = (ruleName: string) => { +export const goToRuleDetailsOf = (ruleName: string) => { cy.contains(RULE_NAME, ruleName).click(); cy.get(PAGE_CONTENT_SPINNER).should('be.visible'); @@ -502,7 +494,7 @@ export const closeErrorToast = () => { }; export const goToEditRuleActionsSettingsOf = (name: string) => { - goToTheRuleDetailsOf(name); + goToRuleDetailsOf(name); goToRuleEditSettings(); // wait until first step loads completely. Otherwise cypress stuck at the first edit page cy.get(EDIT_SUBMIT_BUTTON).should('be.enabled'); diff --git a/x-pack/test/security_solution_cypress/cypress/tasks/api_calls/exceptions.ts b/x-pack/test/security_solution_cypress/cypress/tasks/api_calls/exceptions.ts index 622e311fa0fd..2d5bf00b3c38 100644 --- a/x-pack/test/security_solution_cypress/cypress/tasks/api_calls/exceptions.ts +++ b/x-pack/test/security_solution_cypress/cypress/tasks/api_calls/exceptions.ts @@ -5,19 +5,29 @@ * 2.0. */ +import { CreateEndpointListItemResponse } from '@kbn/lists-plugin/common/api'; import type { ExceptionListSchema, ExceptionListItemSchema, + CreateEndpointListItemSchema, } from '@kbn/securitysolution-io-ts-list-types'; +import { ENDPOINT_LIST_ITEM_URL, ENDPOINT_LIST_URL } from '@kbn/securitysolution-list-constants'; import type { ExceptionList, ExceptionListItem, RuleExceptionItem } from '../../objects/exception'; import { rootRequest } from '../common'; -export const createEndpointExceptionList = () => - rootRequest({ +export const createEndpointExceptionList = () => + rootRequest({ method: 'POST', - url: '/api/endpoint_list', + url: ENDPOINT_LIST_URL, + headers: { 'kbn-xsrf': 'cypress-creds', 'x-elastic-internal-origin': 'security-solution' }, + }); + +export const createEndpointExceptionListItem = (item: CreateEndpointListItemSchema) => + rootRequest({ + method: 'POST', + url: ENDPOINT_LIST_ITEM_URL, + body: item, headers: { 'kbn-xsrf': 'cypress-creds', 'x-elastic-internal-origin': 'security-solution' }, - failOnStatusCode: false, }); export const createExceptionList = ( diff --git a/x-pack/test/security_solution_cypress/cypress/tasks/lists.ts b/x-pack/test/security_solution_cypress/cypress/tasks/lists.ts index e9dd3d882b42..fcae40e1e854 100644 --- a/x-pack/test/security_solution_cypress/cypress/tasks/lists.ts +++ b/x-pack/test/security_solution_cypress/cypress/tasks/lists.ts @@ -15,6 +15,12 @@ import { VALUE_LIST_TYPE_SELECTOR, } from '../screens/lists'; +export const KNOWN_VALUE_LIST_FILES = { + TEXT: 'value_list.txt', + IPs: 'ip_list.txt', + CIDRs: 'cidr_list.txt', +}; + export const createListsIndex = () => { cy.request({ method: 'POST', diff --git a/x-pack/test/security_solution_cypress/cypress/tasks/rule_details.ts b/x-pack/test/security_solution_cypress/cypress/tasks/rule_details.ts index 871cbcb82ab7..b18905b44367 100644 --- a/x-pack/test/security_solution_cypress/cypress/tasks/rule_details.ts +++ b/x-pack/test/security_solution_cypress/cypress/tasks/rule_details.ts @@ -106,8 +106,8 @@ export const goToEndpointExceptionsTab = () => { }; export const openEditException = (index = 0) => { - cy.get(EXCEPTION_ITEM_ACTIONS_BUTTON).eq(index).click({ force: true }); - cy.get(EDIT_EXCEPTION_BTN).eq(index).click({ force: true }); + cy.get(EXCEPTION_ITEM_ACTIONS_BUTTON).eq(index).click(); + cy.get(EDIT_EXCEPTION_BTN).eq(index).click(); }; export const removeException = () => { diff --git a/x-pack/test/security_solution_cypress/cypress/tsconfig.json b/x-pack/test/security_solution_cypress/cypress/tsconfig.json index ff1d9c7551f7..e24946f40a3f 100644 --- a/x-pack/test/security_solution_cypress/cypress/tsconfig.json +++ b/x-pack/test/security_solution_cypress/cypress/tsconfig.json @@ -1,21 +1,10 @@ { "extends": "../../../../tsconfig.base.json", - "include": [ - "**/*", - "fixtures/**/*.json" - ], - "exclude": [ - "target/**/*" - ], + "include": ["**/*", "fixtures/**/*.json"], + "exclude": ["target/**/*"], "compilerOptions": { "outDir": "target/types", - "types": [ - "cypress", - "cypress-file-upload", - "cypress-real-events", - "cypress-recurse", - "node", - ], + "types": ["cypress", "cypress-file-upload", "cypress-real-events", "cypress-recurse", "node"] }, "kbn_references": [ "@kbn/securitysolution-io-ts-alerting-types", @@ -46,5 +35,7 @@ "@kbn/dev-utils", "@kbn/expandable-flyout", "@kbn/config-schema", + "@kbn/lists-plugin", + "@kbn/securitysolution-list-constants" ] } diff --git a/x-pack/test/security_solution_cypress/cypress/urls/navigation.ts b/x-pack/test/security_solution_cypress/cypress/urls/navigation.ts index aa13d43a23ab..eca48ae6faff 100644 --- a/x-pack/test/security_solution_cypress/cypress/urls/navigation.ts +++ b/x-pack/test/security_solution_cypress/cypress/urls/navigation.ts @@ -57,7 +57,10 @@ export const DISCOVER_WITH_FILTER_URL = export const DISCOVER_WITH_PINNED_FILTER_URL = "/app/discover#/?_g=(filters:!(('$state':(store:globalState),meta:(alias:!n,disabled:!f,index:security-solution-default,key:host.name,negate:!f,params:(query:test-host),type:phrase),query:(match_phrase:(host.name:test-host)))),refreshInterval:(pause:!t,value:0),time:(from:now-15m,to:now))&_a=(columns:!(),filters:!(),index:security-solution-default,interval:auto,query:(language:kuery,query:''),sort:!(!('@timestamp',desc)))"; -export const ruleDetailsUrl = (ruleId: string) => `app/security/rules/id/${ruleId}`; +export const ruleDetailsUrl = ( + ruleId: string, + section?: 'alerts' | 'rule_exceptions' | 'endpoint_exceptions' | 'execution_results' +) => `app/security/rules/id/${ruleId}${section ? `/${section}` : ''}`; export const detectionsRuleDetailsUrl = (ruleId: string) => `app/security/detections/rules/id/${ruleId}`; From 985da3f6685d18714922e42e9104c903e7839b3b Mon Sep 17 00:00:00 2001 From: Tiago Costa Date: Thu, 7 Sep 2023 21:26:46 +0100 Subject: [PATCH 38/57] skip flaky suite (#166016) --- .../observability_log_explorer/dataset_selection_state.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/x-pack/test_serverless/functional/test_suites/observability/observability_log_explorer/dataset_selection_state.ts b/x-pack/test_serverless/functional/test_suites/observability/observability_log_explorer/dataset_selection_state.ts index 5652843c3fc0..2715685d21a2 100644 --- a/x-pack/test_serverless/functional/test_suites/observability/observability_log_explorer/dataset_selection_state.ts +++ b/x-pack/test_serverless/functional/test_suites/observability/observability_log_explorer/dataset_selection_state.ts @@ -14,7 +14,8 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { const retry = getService('retry'); const PageObjects = getPageObjects(['common', 'observabilityLogExplorer']); - describe('DatasetSelection initialization and update', () => { + // FLAKY: https://github.com/elastic/kibana/issues/166016 + describe.skip('DatasetSelection initialization and update', () => { describe('when the "index" query param does not exist', () => { it('should initialize the "All log datasets" selection', async () => { await PageObjects.observabilityLogExplorer.navigateTo(); From 0f9b0fd613725bcd2cb507debfe049dd0e3b4a9d Mon Sep 17 00:00:00 2001 From: Tiago Costa Date: Thu, 7 Sep 2023 21:31:47 +0100 Subject: [PATCH 39/57] skip flaky suite (#166027) --- .../test/functional_with_es_ssl/apps/cases/group2/list_view.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/x-pack/test/functional_with_es_ssl/apps/cases/group2/list_view.ts b/x-pack/test/functional_with_es_ssl/apps/cases/group2/list_view.ts index 38dbc575ae49..efe2da04fea5 100644 --- a/x-pack/test/functional_with_es_ssl/apps/cases/group2/list_view.ts +++ b/x-pack/test/functional_with_es_ssl/apps/cases/group2/list_view.ts @@ -76,7 +76,8 @@ export default ({ getPageObject, getService }: FtrProviderContext) => { }); }); - describe('status', () => { + // FLAKY: https://github.com/elastic/kibana/issues/166027 + describe.skip('status', () => { before(async () => { await cases.api.createNthRandomCases(2); await header.waitUntilLoadingHasFinished(); From 4eb45e67c013630edf0b8b2f5b0e9b033774def6 Mon Sep 17 00:00:00 2001 From: "Quynh Nguyen (Quinn)" <43350163+qn895@users.noreply.github.com> Date: Thu, 7 Sep 2023 16:40:42 -0500 Subject: [PATCH 40/57] [ML] Add new performance journey for Index data visualizer (#164787) ## Summary This PR adds a performance journey test for the Index data visualizer, using the Kibana TSDB logs. To run test: ``` node scripts/run_performance.js --journey-path x-pack/performance/journeys/tsdb_logs_data_visualizer.ts --skip-warmup ``` ### Checklist Delete any items that are not applicable to this PR. - [ ] Any text added follows [EUI's writing guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses sentence case text and includes [i18n support](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/README.md) - [ ] [Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html) was added for features that require explanation or tutorials - [x] [Unit or functional tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html) were updated or added to match the most common scenarios - [ ] Any UI touched in this PR is usable by keyboard only (learn more about [keyboard accessibility](https://webaim.org/techniques/keyboard/)) - [ ] Any UI touched in this PR does not create any new axe failures (run axe in browser: [FF](https://addons.mozilla.org/en-US/firefox/addon/axe-devtools/), [Chrome](https://chrome.google.com/webstore/detail/axe-web-accessibility-tes/lhdoppojpmngadmnindnejefpokejbdd?hl=en-US)) - [ ] If a plugin configuration key changed, check if it needs to be allowlisted in the cloud and added to the [docker list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker) - [ ] This renders correctly on smaller devices using a responsive layout. (You can test this [in your browser](https://www.browserstack.com/guide/responsive-testing-on-local-server)) - [ ] This was checked for [cross-browser compatibility](https://www.elastic.co/support/matrix#matrix_browsers) ### Risk Matrix Delete this section if it is not applicable to this PR. Before closing this PR, invite QA, stakeholders, and other developers to identify risks that should be tested prior to the change/feature release. When forming the risk matrix, consider some of the following examples and how they may potentially impact the change: | Risk | Probability | Severity | Mitigation/Notes | |---------------------------|-------------|----------|-------------------------| | Multiple Spaces—unexpected behavior in non-default Kibana Space. | Low | High | Integration tests will verify that all features are still supported in non-default Kibana Space and when user switches between spaces. | | Multiple nodes—Elasticsearch polling might have race conditions when multiple Kibana nodes are polling for the same tasks. | High | Low | Tasks are idempotent, so executing them multiple times will not result in logical error, but will degrade performance. To test for this case we add plenty of unit tests around this logic and document manual testing procedure. | | Code should gracefully handle cases when feature X or plugin Y are disabled. | Medium | High | Unit tests will verify that any feature flag or plugin combination still results in our service operational. | | [See more potential risk examples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx) | ### For maintainers - [ ] This was checked for breaking API changes and was [labeled appropriately](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process) --------- Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> Co-authored-by: Walter Rafelsberger Co-authored-by: Dzmitry Lemechko --- .buildkite/ftr_configs.yml | 1 + .../journeys/tsdb_logs_data_visualizer.ts | 32 +++++++++++++++++++ .../data_visualizer_stats_table.tsx | 2 +- .../hooks/use_data_visualizer_grid_data.ts | 19 ++++++++++- .../plugins/data_visualizer/public/plugin.ts | 3 +- x-pack/plugins/data_visualizer/tsconfig.json | 3 +- .../data_visualizer/index_data_visualizer.ts | 4 +-- .../ml/data_visualizer_index_based.ts | 2 +- .../services/ml/data_visualizer_table.ts | 8 ++--- 9 files changed, 63 insertions(+), 11 deletions(-) create mode 100644 x-pack/performance/journeys/tsdb_logs_data_visualizer.ts diff --git a/.buildkite/ftr_configs.yml b/.buildkite/ftr_configs.yml index c838c83e5253..8d7b3fee2900 100644 --- a/.buildkite/ftr_configs.yml +++ b/.buildkite/ftr_configs.yml @@ -417,6 +417,7 @@ enabled: - x-pack/performance/journeys/many_fields_discover.ts - x-pack/performance/journeys/many_fields_lens_editor.ts - x-pack/performance/journeys/many_fields_transform.ts + - x-pack/performance/journeys/tsdb_logs_data_visualizer.ts - x-pack/performance/journeys/promotion_tracking_dashboard.ts - x-pack/performance/journeys/web_logs_dashboard.ts - x-pack/performance/journeys/data_stress_test_lens.ts diff --git a/x-pack/performance/journeys/tsdb_logs_data_visualizer.ts b/x-pack/performance/journeys/tsdb_logs_data_visualizer.ts new file mode 100644 index 000000000000..1c398e8511cd --- /dev/null +++ b/x-pack/performance/journeys/tsdb_logs_data_visualizer.ts @@ -0,0 +1,32 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { Journey } from '@kbn/journeys'; +import { subj } from '@kbn/test-subj-selector'; + +export const journey = new Journey({ + kbnArchives: ['test/functional/fixtures/kbn_archiver/kibana_sample_data_logs_tsdb'], + esArchives: ['test/functional/fixtures/es_archiver/kibana_sample_data_logs_tsdb'], +}) + .step('Go to Data Visualizer', async ({ page, kbnUrl, kibanaPage }) => { + await page.goto(kbnUrl.get(`app/ml/datavisualizer`)); + await kibanaPage.waitForHeader(); + await page.waitForSelector(subj('mlDataVisualizerCardIndexData')); + await page.waitForSelector(subj('globalLoadingIndicator-hidden')); + }) + .step('Go to data view selection', async ({ page }) => { + const createButtons = page.locator(subj('mlDataVisualizerSelectIndexButton')); + await createButtons.first().click(); + await page.waitForSelector(subj('savedObjectsFinderTable')); + }) + .step('Go to Index data visualizer', async ({ page, kibanaPage }) => { + await page.click(subj('savedObjectTitlekibana_sample_data_logstsdb')); + await page.click(subj('mlDatePickerButtonUseFullData')); + await kibanaPage.waitForHeader(); + await page.waitForSelector(subj('dataVisualizerTable-loaded'), { timeout: 60000 }); + await page.waitForSelector(subj('globalLoadingIndicator-hidden'), { timeout: 60000 }); + }); diff --git a/x-pack/plugins/data_visualizer/public/application/common/components/stats_table/data_visualizer_stats_table.tsx b/x-pack/plugins/data_visualizer/public/application/common/components/stats_table/data_visualizer_stats_table.tsx index 696c4b0cef01..419bf9a886f5 100644 --- a/x-pack/plugins/data_visualizer/public/application/common/components/stats_table/data_visualizer_stats_table.tsx +++ b/x-pack/plugins/data_visualizer/public/application/common/components/stats_table/data_visualizer_stats_table.tsx @@ -485,7 +485,7 @@ export const DataVisualizerTable = ({ itemIdToExpandedRowMap={itemIdToExpandedRowMap} isSelectable={false} onTableChange={onTableChange} - data-test-subj={'dataVisualizerTable'} + data-test-subj={`dataVisualizerTable-${loading ? 'loading' : 'loaded'}`} rowProps={(item) => ({ 'data-test-subj': `dataVisualizerRow row-${item.fieldName}`, })} diff --git a/x-pack/plugins/data_visualizer/public/application/index_data_visualizer/hooks/use_data_visualizer_grid_data.ts b/x-pack/plugins/data_visualizer/public/application/index_data_visualizer/hooks/use_data_visualizer_grid_data.ts index 87e88e3555b1..e4ba7c1ee905 100644 --- a/x-pack/plugins/data_visualizer/public/application/index_data_visualizer/hooks/use_data_visualizer_grid_data.ts +++ b/x-pack/plugins/data_visualizer/public/application/index_data_visualizer/hooks/use_data_visualizer_grid_data.ts @@ -19,6 +19,7 @@ import { mlTimefilterRefresh$, useTimefilter } from '@kbn/ml-date-picker'; import useObservable from 'react-use/lib/useObservable'; import type { KibanaExecutionContext } from '@kbn/core-execution-context-common'; import { useExecutionContext } from '@kbn/kibana-react-plugin/public'; +import { reportPerformanceMetricEvent } from '@kbn/ebt-tools'; import { useTimeBuckets } from '../../common/hooks/use_time_buckets'; import { DATA_VISUALIZER_GRID_EMBEDDABLE_TYPE } from '../embeddables/grid_embeddable/constants'; import { filterFields } from '../../common/components/fields_stats_grid/filter_fields'; @@ -61,8 +62,9 @@ export const useDataVisualizerGridData = ( savedRandomSamplerPreference?: RandomSamplerOption, onUpdate?: (params: Dictionary) => void ) => { + const loadIndexDataStartTime = useRef(window.performance.now()); const { services } = useDataVisualizerKibana(); - const { uiSettings, data, security, executionContext } = services; + const { uiSettings, data, security, executionContext, analytics } = services; const parentExecutionContext = useObservable(executionContext?.context$); @@ -499,6 +501,21 @@ export const useDataVisualizerGridData = ( // eslint-disable-next-line react-hooks/exhaustive-deps }, [overallStats, showEmptyFields]); + useEffect(() => { + if (combinedProgress === 100 && loadIndexDataStartTime.current !== undefined) { + const loadIndexDataDuration = window.performance.now() - loadIndexDataStartTime.current; + + // Set this to undefined so reporting the metric gets triggered only once. + loadIndexDataStartTime.current = undefined; + + reportPerformanceMetricEvent(analytics, { + eventName: 'dataVisualizerDataLoaded', + duration: loadIndexDataDuration, + }); + } + // eslint-disable-next-line react-hooks/exhaustive-deps + }, [combinedProgress]); + const configs = useMemo( () => { const fieldStats = strategyResponse.fieldStats; diff --git a/x-pack/plugins/data_visualizer/public/plugin.ts b/x-pack/plugins/data_visualizer/public/plugin.ts index 38ebe18091e0..05b06c484322 100644 --- a/x-pack/plugins/data_visualizer/public/plugin.ts +++ b/x-pack/plugins/data_visualizer/public/plugin.ts @@ -5,7 +5,7 @@ * 2.0. */ -import { CoreSetup, CoreStart } from '@kbn/core/public'; +import type { AnalyticsServiceStart, CoreSetup, CoreStart } from '@kbn/core/public'; import { ChartsPluginStart } from '@kbn/charts-plugin/public'; import type { CloudStart } from '@kbn/cloud-plugin/public'; import type { EmbeddableSetup, EmbeddableStart } from '@kbn/embeddable-plugin/public'; @@ -42,6 +42,7 @@ export interface DataVisualizerSetupDependencies { discover: DiscoverSetup; } export interface DataVisualizerStartDependencies { + analytics: AnalyticsServiceStart; data: DataPublicPluginStart; unifiedSearch: UnifiedSearchPublicPluginStart; fileUpload: FileUploadPluginStart; diff --git a/x-pack/plugins/data_visualizer/tsconfig.json b/x-pack/plugins/data_visualizer/tsconfig.json index 5221ef48b5ef..5d50d27043b9 100644 --- a/x-pack/plugins/data_visualizer/tsconfig.json +++ b/x-pack/plugins/data_visualizer/tsconfig.json @@ -68,7 +68,8 @@ "@kbn/ml-string-hash", "@kbn/ml-random-sampler-utils", "@kbn/data-service", - "@kbn/core-notifications-browser" + "@kbn/core-notifications-browser", + "@kbn/ebt-tools" ], "exclude": [ "target/**/*", diff --git a/x-pack/test/functional/apps/ml/data_visualizer/index_data_visualizer.ts b/x-pack/test/functional/apps/ml/data_visualizer/index_data_visualizer.ts index 15533e95e587..794fad083be2 100644 --- a/x-pack/test/functional/apps/ml/data_visualizer/index_data_visualizer.ts +++ b/x-pack/test/functional/apps/ml/data_visualizer/index_data_visualizer.ts @@ -246,7 +246,7 @@ export default function ({ getPageObject, getService }: FtrProviderContext) { lensMetricField.fieldName, 'legacyMtrVis' ); - await ml.navigation.browserBackTo('dataVisualizerTable'); + await ml.navigation.browserBackTo('dataVisualizerTableContainer'); } const lensNonMetricField = testData.expected.nonMetricFields?.find( (f) => f.type === ML_JOB_FIELD_TYPES.KEYWORD @@ -257,7 +257,7 @@ export default function ({ getPageObject, getService }: FtrProviderContext) { lensNonMetricField.fieldName, 'legacyMtrVis' ); - await ml.navigation.browserBackTo('dataVisualizerTable'); + await ml.navigation.browserBackTo('dataVisualizerTableContainer'); } }); }); diff --git a/x-pack/test/functional/services/ml/data_visualizer_index_based.ts b/x-pack/test/functional/services/ml/data_visualizer_index_based.ts index 9fd49091300e..09566d96f12b 100644 --- a/x-pack/test/functional/services/ml/data_visualizer_index_based.ts +++ b/x-pack/test/functional/services/ml/data_visualizer_index_based.ts @@ -136,7 +136,7 @@ export function MachineLearningDataVisualizerIndexBasedProvider({ async assertDataVisualizerTableExist() { await retry.tryForTime(5000, async () => { - await testSubjects.existOrFail(`dataVisualizerTable`); + await testSubjects.existOrFail(`~dataVisualizerTable-loaded`); }); }, diff --git a/x-pack/test/functional/services/ml/data_visualizer_table.ts b/x-pack/test/functional/services/ml/data_visualizer_table.ts index dd9de598e3e5..ac6b1309d1d3 100644 --- a/x-pack/test/functional/services/ml/data_visualizer_table.ts +++ b/x-pack/test/functional/services/ml/data_visualizer_table.ts @@ -24,7 +24,7 @@ export function MachineLearningDataVisualizerTableProvider( return new (class DataVisualizerTable { public async parseDataVisualizerTable() { - const table = await testSubjects.find('~dataVisualizerTable'); + const table = await testSubjects.find('~dataVisualizerTable-loaded'); const $ = await table.parseDomContent(); const rows = []; @@ -74,7 +74,7 @@ export function MachineLearningDataVisualizerTableProvider( } public rowSelector(fieldName: string, subSelector?: string) { - const row = `~dataVisualizerTable > ~row-${fieldName}`; + const row = `~dataVisualizerTableContainer > ~row-${fieldName}`; return !subSelector ? row : `${row} > ${subSelector}`; } @@ -102,7 +102,7 @@ export function MachineLearningDataVisualizerTableProvider( } public detailsSelector(fieldName: string, subSelector?: string) { - const row = `~dataVisualizerTable > ~dataVisualizerFieldExpandedRow-${fieldName}`; + const row = `~dataVisualizerTableContainer > ~dataVisualizerFieldExpandedRow-${fieldName}`; return !subSelector ? row : `${row} > ${subSelector}`; } @@ -566,7 +566,7 @@ export function MachineLearningDataVisualizerTableProvider( } public async ensureNumRowsPerPage(n: 10 | 25 | 50) { - const paginationButton = 'dataVisualizerTable > tablePaginationPopoverButton'; + const paginationButton = 'dataVisualizerTableContainer > tablePaginationPopoverButton'; await retry.tryForTime(10000, async () => { await testSubjects.existOrFail(paginationButton); await testSubjects.click(paginationButton); From 2490b5dec695535e5129f485a1abe3438a99de1d Mon Sep 17 00:00:00 2001 From: Rodney Norris Date: Thu, 7 Sep 2023 17:26:23 -0500 Subject: [PATCH 41/57] [Serverless Search] Disable Grok debugger & Painless Lab (#165772) ## Summary Updated the grok debugger and painless lab plugins to handle the `enabled` config flag so they can easily be disabled for serverless search. ### Screenshots Before: ![image](https://github.com/elastic/kibana/assets/1972968/7552954b-11f1-4c6f-9007-148a8c765c3f) After: image --- config/serverless.es.yml | 4 ++++ x-pack/plugins/grokdebugger/server/index.js | 8 +++++--- x-pack/plugins/grokdebugger/server/plugin.js | 6 ++++-- x-pack/plugins/painless_lab/server/index.ts | 14 +++++++++++++- x-pack/plugins/serverless_search/kibana.jsonc | 2 -- 5 files changed, 26 insertions(+), 8 deletions(-) diff --git a/config/serverless.es.yml b/config/serverless.es.yml index ed56156858a4..896251c0f7bc 100644 --- a/config/serverless.es.yml +++ b/config/serverless.es.yml @@ -31,3 +31,7 @@ xpack.actions.enabledActionTypes: ['.email', '.index', '.slack', '.jira', '.webh # Customize empty page state for analytics apps no_data_page.analyticsNoDataPageFlavor: 'serverless_search' + +# Disable Dev tools +xpack.grokdebugger.enabled: false +xpack.painless_lab.enabled: false diff --git a/x-pack/plugins/grokdebugger/server/index.js b/x-pack/plugins/grokdebugger/server/index.js index 360d42321afa..418959762f9a 100644 --- a/x-pack/plugins/grokdebugger/server/index.js +++ b/x-pack/plugins/grokdebugger/server/index.js @@ -5,8 +5,10 @@ * 2.0. */ -import { Plugin } from './plugin'; +import { Plugin, config } from './plugin'; -export function plugin(initializerContext) { - return new Plugin(initializerContext); +export function plugin() { + return new Plugin(); } + +export { config }; diff --git a/x-pack/plugins/grokdebugger/server/plugin.js b/x-pack/plugins/grokdebugger/server/plugin.js index 58644e2faa2a..f591608d5bed 100644 --- a/x-pack/plugins/grokdebugger/server/plugin.js +++ b/x-pack/plugins/grokdebugger/server/plugin.js @@ -5,13 +5,15 @@ * 2.0. */ -import { schema } from '@kbn/config-schema'; +import { offeringBasedSchema, schema } from '@kbn/config-schema'; import { KibanaFramework } from './lib/kibana_framework'; import { registerGrokdebuggerRoutes } from './routes/api/grokdebugger'; export const config = { schema: schema.object({ - enabled: schema.boolean({ defaultValue: true }), + enabled: offeringBasedSchema({ + serverless: schema.boolean({ defaultValue: true }), + }), }), }; diff --git a/x-pack/plugins/painless_lab/server/index.ts b/x-pack/plugins/painless_lab/server/index.ts index b94cccf8480c..d81147ed9e39 100644 --- a/x-pack/plugins/painless_lab/server/index.ts +++ b/x-pack/plugins/painless_lab/server/index.ts @@ -5,9 +5,21 @@ * 2.0. */ -import { PluginInitializerContext } from '@kbn/core/server'; +import { offeringBasedSchema, schema, TypeOf } from '@kbn/config-schema'; +import { PluginInitializerContext, PluginConfigDescriptor } from '@kbn/core/server'; import { PainlessLabServerPlugin } from './plugin'; +export const configSchema = schema.object({ + enabled: offeringBasedSchema({ + serverless: schema.boolean({ defaultValue: true }), + }), +}); +export type ConfigType = TypeOf; + +export const config: PluginConfigDescriptor = { + schema: configSchema, +}; + export const plugin = (ctx: PluginInitializerContext) => { return new PainlessLabServerPlugin(ctx); }; diff --git a/x-pack/plugins/serverless_search/kibana.jsonc b/x-pack/plugins/serverless_search/kibana.jsonc index bcf4cc540df1..f50f595bbf48 100644 --- a/x-pack/plugins/serverless_search/kibana.jsonc +++ b/x-pack/plugins/serverless_search/kibana.jsonc @@ -18,10 +18,8 @@ "dashboard", "devTools", "discover", - "grokdebugger", "management", "ml", - "painlessLab", "searchprofiler", "security", "serverless", From 649dc49437419e9969d2fc233ba72c3589f1b79f Mon Sep 17 00:00:00 2001 From: Zacqary Adam Xeper Date: Thu, 7 Sep 2023 18:17:42 -0500 Subject: [PATCH 42/57] [RAM][Security Solution] Fix rule snooze toast copy (#166030) ## Summary Fixes #156143 Updates toasts saying `Rule successfully snoozed` to `Rules notification successfully snoozed`. Does the same for `unsnoozed`. ### Checklist Delete any items that are not applicable to this PR. - [x] Any text added follows [EUI's writing guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses sentence case text and includes [i18n support](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/README.md) --------- Co-authored-by: Lisa Cawley --- .../rules_list/components/notify_badge/translations.tsx | 4 ++-- .../security_solution_cypress/cypress/tasks/rule_snoozing.ts | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/x-pack/plugins/triggers_actions_ui/public/application/sections/rules_list/components/notify_badge/translations.tsx b/x-pack/plugins/triggers_actions_ui/public/application/sections/rules_list/components/notify_badge/translations.tsx index ae215742bc40..db535acf1b3c 100644 --- a/x-pack/plugins/triggers_actions_ui/public/application/sections/rules_list/components/notify_badge/translations.tsx +++ b/x-pack/plugins/triggers_actions_ui/public/application/sections/rules_list/components/notify_badge/translations.tsx @@ -10,14 +10,14 @@ import { i18n } from '@kbn/i18n'; export const SNOOZE_SUCCESS_MESSAGE = i18n.translate( 'xpack.triggersActionsUI.sections.rulesList.rulesListSnoozePanel.snoozeSuccess', { - defaultMessage: 'Rule successfully snoozed', + defaultMessage: 'Rules notification successfully snoozed', } ); export const UNSNOOZE_SUCCESS_MESSAGE = i18n.translate( 'xpack.triggersActionsUI.sections.rulesList.rulesListSnoozePanel.unsnoozeSuccess', { - defaultMessage: 'Rule successfully unsnoozed', + defaultMessage: 'Rules notification successfully unsnoozed', } ); diff --git a/x-pack/test/security_solution_cypress/cypress/tasks/rule_snoozing.ts b/x-pack/test/security_solution_cypress/cypress/tasks/rule_snoozing.ts index 35b98d940459..33ade4482951 100644 --- a/x-pack/test/security_solution_cypress/cypress/tasks/rule_snoozing.ts +++ b/x-pack/test/security_solution_cypress/cypress/tasks/rule_snoozing.ts @@ -36,7 +36,7 @@ export function snoozeRule(duration: SnoozeDuration): void { } export function expectSnoozeSuccessToast(): void { - cy.get(TOASTER).should('contain', 'Rule successfully snoozed'); + cy.get(TOASTER).should('contain', 'Rules notification successfully snoozed'); } export function expectSnoozeErrorToast(): void { @@ -72,7 +72,7 @@ export function unsnoozeRule(): void { } export function expectUnsnoozeSuccessToast(): void { - cy.get(TOASTER).should('contain', 'Rule successfully unsnoozed'); + cy.get(TOASTER).should('contain', 'Rules notification successfully unsnoozed'); } export function expectRuleUnsnoozed(): void { From 973f9505e1b76b359b1381c1e1d7371a6805af1a Mon Sep 17 00:00:00 2001 From: "Quynh Nguyen (Quinn)" <43350163+qn895@users.noreply.github.com> Date: Thu, 7 Sep 2023 22:20:04 -0500 Subject: [PATCH 43/57] [Fleet] Fix transforms not updating aliases for unsupported format (#165857) ## Summary A [recent update in the package-spec](https://github.com/elastic/package-spec/pull/574) for packages containing transforms allows official support for aliases in transforms' config. However, the format that went in https://github.com/elastic/package-spec/pull/574 was different from when the aliases support was initially added in Fleet, so the shape of the JSON parsed in Fleet ends up being an array of object. This PR updates the `getDestinationIndexAliases` util to support the newly added format (which is array of object). ### Checklist Delete any items that are not applicable to this PR. - [ ] Any text added follows [EUI's writing guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses sentence case text and includes [i18n support](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/README.md) - [ ] [Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html) was added for features that require explanation or tutorials - [x] [Unit or functional tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html) were updated or added to match the most common scenarios - [ ] Any UI touched in this PR is usable by keyboard only (learn more about [keyboard accessibility](https://webaim.org/techniques/keyboard/)) - [ ] Any UI touched in this PR does not create any new axe failures (run axe in browser: [FF](https://addons.mozilla.org/en-US/firefox/addon/axe-devtools/), [Chrome](https://chrome.google.com/webstore/detail/axe-web-accessibility-tes/lhdoppojpmngadmnindnejefpokejbdd?hl=en-US)) - [ ] If a plugin configuration key changed, check if it needs to be allowlisted in the cloud and added to the [docker list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker) - [ ] This renders correctly on smaller devices using a responsive layout. (You can test this [in your browser](https://www.browserstack.com/guide/responsive-testing-on-local-server)) - [ ] This was checked for [cross-browser compatibility](https://www.elastic.co/support/matrix#matrix_browsers) ### Risk Matrix Delete this section if it is not applicable to this PR. Before closing this PR, invite QA, stakeholders, and other developers to identify risks that should be tested prior to the change/feature release. When forming the risk matrix, consider some of the following examples and how they may potentially impact the change: | Risk | Probability | Severity | Mitigation/Notes | |---------------------------|-------------|----------|-------------------------| | Multiple Spaces—unexpected behavior in non-default Kibana Space. | Low | High | Integration tests will verify that all features are still supported in non-default Kibana Space and when user switches between spaces. | | Multiple nodes—Elasticsearch polling might have race conditions when multiple Kibana nodes are polling for the same tasks. | High | Low | Tasks are idempotent, so executing them multiple times will not result in logical error, but will degrade performance. To test for this case we add plenty of unit tests around this logic and document manual testing procedure. | | Code should gracefully handle cases when feature X or plugin Y are disabled. | Medium | High | Unit tests will verify that any feature flag or plugin combination still results in our service operational. | | [See more potential risk examples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx) | ### For maintainers - [ ] This was checked for breaking API changes and was [labeled appropriately](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process) Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- .../transform/transform_utils.test.ts | 29 +++++++++++++++++++ .../transform/transform_utils.ts | 12 +++++--- 2 files changed, 37 insertions(+), 4 deletions(-) diff --git a/x-pack/plugins/fleet/server/services/epm/elasticsearch/transform/transform_utils.test.ts b/x-pack/plugins/fleet/server/services/epm/elasticsearch/transform/transform_utils.test.ts index 7458f49ed826..755b472a0677 100644 --- a/x-pack/plugins/fleet/server/services/epm/elasticsearch/transform/transform_utils.test.ts +++ b/x-pack/plugins/fleet/server/services/epm/elasticsearch/transform/transform_utils.test.ts @@ -47,6 +47,35 @@ describe('test transform_utils', () => { ]); }); + test('return transform alias settings when input is an array of object', () => { + const aliasSettings = [ + { alias: 'alias1', move_on_creation: true }, + { alias: 'alias2' }, + { alias: 'alias3', move_on_creation: false }, + ]; + expect(getDestinationIndexAliases(aliasSettings)).toStrictEqual([ + { alias: 'alias1', move_on_creation: true }, + { alias: 'alias2', move_on_creation: false }, + { alias: 'alias3', move_on_creation: false }, + ]); + + expect( + getDestinationIndexAliases([ + ...aliasSettings, + undefined, + {}, + { invalid_object: true }, + null, + 'alias3.all', + ]) + ).toStrictEqual([ + { alias: 'alias1', move_on_creation: true }, + { alias: 'alias2', move_on_creation: false }, + { alias: 'alias3', move_on_creation: false }, + { alias: 'alias3.all', move_on_creation: false }, + ]); + }); + test('return transform alias settings when input is a string', () => { expect(getDestinationIndexAliases('alias1.latest')).toStrictEqual([ { alias: 'alias1.latest', move_on_creation: true }, diff --git a/x-pack/plugins/fleet/server/services/epm/elasticsearch/transform/transform_utils.ts b/x-pack/plugins/fleet/server/services/epm/elasticsearch/transform/transform_utils.ts index a0dac305e23a..8a24e6fb7814 100644 --- a/x-pack/plugins/fleet/server/services/epm/elasticsearch/transform/transform_utils.ts +++ b/x-pack/plugins/fleet/server/services/epm/elasticsearch/transform/transform_utils.ts @@ -13,16 +13,15 @@ interface TransformAliasSetting { // ensuring that the alias points at only one index (i.e.: the destination index of the current transform). move_on_creation?: boolean; } +function isTransformAliasSetting(arg: unknown): arg is TransformAliasSetting { + return isPopulatedObject(arg, ['alias']) && typeof arg.alias === 'string'; +} export const getDestinationIndexAliases = (aliasSettings: unknown): TransformAliasSetting[] => { let aliases: TransformAliasSetting[] = []; if (!aliasSettings) return aliases; - // Can be in form of { - // 'alias1': null, - // 'alias2': { move_on_creation: false } - // } if (isPopulatedObject(aliasSettings)) { Object.keys(aliasSettings).forEach((alias) => { if (aliasSettings.hasOwnProperty(alias) && typeof alias === 'string') { @@ -31,11 +30,16 @@ export const getDestinationIndexAliases = (aliasSettings: unknown): TransformAli } }); } + if (Array.isArray(aliasSettings)) { aliases = aliasSettings.reduce((acc, alias) => { if (typeof alias === 'string') { acc.push({ alias, move_on_creation: alias.endsWith('.latest') ? true : false }); } + + if (isTransformAliasSetting(alias)) { + acc.push({ alias: alias.alias, move_on_creation: alias.move_on_creation ?? false }); + } return acc; }, []); } From a023598cfabf781d597fca588d7c963b0f7688ad Mon Sep 17 00:00:00 2001 From: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> Date: Fri, 8 Sep 2023 00:58:13 -0400 Subject: [PATCH 44/57] [api-docs] 2023-09-08 Daily api_docs build (#166039) Generated by https://buildkite.com/elastic/kibana-api-docs-daily/builds/454 --- api_docs/actions.devdocs.json | 12 +- api_docs/actions.mdx | 4 +- api_docs/advanced_settings.mdx | 2 +- api_docs/aiops.mdx | 2 +- api_docs/alerting.devdocs.json | 4 +- api_docs/alerting.mdx | 2 +- api_docs/apm.mdx | 2 +- api_docs/apm_data_access.mdx | 2 +- api_docs/asset_manager.mdx | 2 +- api_docs/banners.mdx | 2 +- api_docs/bfetch.mdx | 2 +- api_docs/canvas.mdx | 2 +- api_docs/cases.mdx | 2 +- api_docs/charts.mdx | 2 +- api_docs/cloud.mdx | 2 +- api_docs/cloud_chat.mdx | 2 +- api_docs/cloud_chat_provider.mdx | 2 +- api_docs/cloud_data_migration.mdx | 2 +- api_docs/cloud_defend.mdx | 2 +- api_docs/cloud_experiments.mdx | 2 +- api_docs/cloud_security_posture.mdx | 2 +- api_docs/console.mdx | 2 +- api_docs/content_management.mdx | 2 +- api_docs/controls.mdx | 2 +- api_docs/custom_integrations.mdx | 2 +- api_docs/dashboard.mdx | 2 +- api_docs/dashboard_enhanced.mdx | 2 +- api_docs/data.mdx | 2 +- api_docs/data_query.mdx | 2 +- api_docs/data_search.mdx | 2 +- api_docs/data_view_editor.mdx | 2 +- api_docs/data_view_field_editor.mdx | 2 +- api_docs/data_view_management.mdx | 2 +- api_docs/data_views.mdx | 2 +- api_docs/data_visualizer.mdx | 2 +- api_docs/deprecations_by_api.mdx | 4 +- api_docs/deprecations_by_plugin.mdx | 2 +- api_docs/deprecations_by_team.mdx | 2 +- api_docs/dev_tools.mdx | 2 +- api_docs/discover.mdx | 2 +- api_docs/discover_enhanced.mdx | 2 +- api_docs/ecs_data_quality_dashboard.mdx | 2 +- api_docs/elastic_assistant.mdx | 2 +- api_docs/embeddable.mdx | 2 +- api_docs/embeddable_enhanced.mdx | 2 +- api_docs/encrypted_saved_objects.mdx | 2 +- api_docs/enterprise_search.mdx | 2 +- api_docs/es_ui_shared.mdx | 2 +- api_docs/event_annotation.mdx | 2 +- api_docs/event_log.mdx | 2 +- api_docs/exploratory_view.mdx | 2 +- api_docs/expression_error.mdx | 2 +- api_docs/expression_gauge.mdx | 2 +- api_docs/expression_heatmap.mdx | 2 +- api_docs/expression_image.mdx | 2 +- api_docs/expression_legacy_metric_vis.mdx | 2 +- api_docs/expression_metric.mdx | 2 +- api_docs/expression_metric_vis.mdx | 2 +- api_docs/expression_partition_vis.mdx | 2 +- api_docs/expression_repeat_image.mdx | 2 +- api_docs/expression_reveal_image.mdx | 2 +- api_docs/expression_shape.mdx | 2 +- api_docs/expression_tagcloud.mdx | 2 +- api_docs/expression_x_y.mdx | 2 +- api_docs/expressions.mdx | 2 +- api_docs/features.mdx | 2 +- api_docs/field_formats.mdx | 2 +- api_docs/file_upload.mdx | 2 +- api_docs/files.mdx | 2 +- api_docs/files_management.mdx | 2 +- api_docs/fleet.mdx | 2 +- api_docs/global_search.mdx | 2 +- api_docs/guided_onboarding.mdx | 2 +- api_docs/home.mdx | 2 +- api_docs/image_embeddable.mdx | 2 +- api_docs/index_lifecycle_management.mdx | 2 +- api_docs/index_management.mdx | 2 +- api_docs/infra.mdx | 2 +- api_docs/inspector.mdx | 2 +- api_docs/interactive_setup.mdx | 2 +- api_docs/kbn_ace.mdx | 2 +- api_docs/kbn_aiops_components.mdx | 2 +- api_docs/kbn_aiops_utils.mdx | 2 +- .../kbn_alerting_api_integration_helpers.mdx | 2 +- api_docs/kbn_alerting_state_types.mdx | 2 +- api_docs/kbn_alerts_as_data_utils.mdx | 2 +- api_docs/kbn_alerts_ui_shared.mdx | 2 +- api_docs/kbn_analytics.mdx | 2 +- api_docs/kbn_analytics_client.mdx | 2 +- ..._analytics_shippers_elastic_v3_browser.mdx | 2 +- ...n_analytics_shippers_elastic_v3_common.mdx | 2 +- ...n_analytics_shippers_elastic_v3_server.mdx | 2 +- api_docs/kbn_analytics_shippers_fullstory.mdx | 2 +- api_docs/kbn_analytics_shippers_gainsight.mdx | 2 +- api_docs/kbn_apm_config_loader.mdx | 2 +- api_docs/kbn_apm_synthtrace.mdx | 2 +- api_docs/kbn_apm_synthtrace_client.mdx | 2 +- api_docs/kbn_apm_utils.mdx | 2 +- api_docs/kbn_axe_config.mdx | 2 +- api_docs/kbn_cases_components.mdx | 2 +- api_docs/kbn_cell_actions.mdx | 2 +- api_docs/kbn_chart_expressions_common.mdx | 2 +- api_docs/kbn_chart_icons.mdx | 2 +- api_docs/kbn_ci_stats_core.mdx | 2 +- api_docs/kbn_ci_stats_performance_metrics.mdx | 2 +- api_docs/kbn_ci_stats_reporter.mdx | 2 +- api_docs/kbn_cli_dev_mode.mdx | 2 +- api_docs/kbn_code_editor.mdx | 2 +- api_docs/kbn_code_editor_mocks.mdx | 2 +- api_docs/kbn_coloring.mdx | 2 +- api_docs/kbn_config.mdx | 2 +- api_docs/kbn_config_mocks.mdx | 2 +- api_docs/kbn_config_schema.devdocs.json | 200 +++++++++++++++++- api_docs/kbn_config_schema.mdx | 2 +- .../kbn_content_management_content_editor.mdx | 2 +- ...tent_management_tabbed_table_list_view.mdx | 2 +- ...kbn_content_management_table_list_view.mdx | 2 +- ...ntent_management_table_list_view_table.mdx | 2 +- api_docs/kbn_content_management_utils.mdx | 2 +- api_docs/kbn_core_analytics_browser.mdx | 2 +- .../kbn_core_analytics_browser_internal.mdx | 2 +- api_docs/kbn_core_analytics_browser_mocks.mdx | 2 +- api_docs/kbn_core_analytics_server.mdx | 2 +- .../kbn_core_analytics_server_internal.mdx | 2 +- api_docs/kbn_core_analytics_server_mocks.mdx | 2 +- api_docs/kbn_core_application_browser.mdx | 2 +- .../kbn_core_application_browser_internal.mdx | 2 +- .../kbn_core_application_browser_mocks.mdx | 2 +- api_docs/kbn_core_application_common.mdx | 2 +- api_docs/kbn_core_apps_browser_internal.mdx | 2 +- api_docs/kbn_core_apps_browser_mocks.mdx | 2 +- api_docs/kbn_core_apps_server_internal.mdx | 2 +- api_docs/kbn_core_base_browser_mocks.mdx | 2 +- api_docs/kbn_core_base_common.mdx | 2 +- api_docs/kbn_core_base_server_internal.mdx | 2 +- api_docs/kbn_core_base_server_mocks.mdx | 2 +- .../kbn_core_capabilities_browser_mocks.mdx | 2 +- api_docs/kbn_core_capabilities_common.mdx | 2 +- api_docs/kbn_core_capabilities_server.mdx | 2 +- .../kbn_core_capabilities_server_mocks.mdx | 2 +- api_docs/kbn_core_chrome_browser.mdx | 2 +- api_docs/kbn_core_chrome_browser_mocks.mdx | 2 +- api_docs/kbn_core_config_server_internal.mdx | 2 +- api_docs/kbn_core_custom_branding_browser.mdx | 2 +- ..._core_custom_branding_browser_internal.mdx | 2 +- ...kbn_core_custom_branding_browser_mocks.mdx | 2 +- api_docs/kbn_core_custom_branding_common.mdx | 2 +- api_docs/kbn_core_custom_branding_server.mdx | 2 +- ...n_core_custom_branding_server_internal.mdx | 2 +- .../kbn_core_custom_branding_server_mocks.mdx | 2 +- api_docs/kbn_core_deprecations_browser.mdx | 2 +- ...kbn_core_deprecations_browser_internal.mdx | 2 +- .../kbn_core_deprecations_browser_mocks.mdx | 2 +- api_docs/kbn_core_deprecations_common.mdx | 2 +- api_docs/kbn_core_deprecations_server.mdx | 2 +- .../kbn_core_deprecations_server_internal.mdx | 2 +- .../kbn_core_deprecations_server_mocks.mdx | 2 +- api_docs/kbn_core_doc_links_browser.mdx | 2 +- api_docs/kbn_core_doc_links_browser_mocks.mdx | 2 +- api_docs/kbn_core_doc_links_server.mdx | 2 +- api_docs/kbn_core_doc_links_server_mocks.mdx | 2 +- ...e_elasticsearch_client_server_internal.mdx | 2 +- ...core_elasticsearch_client_server_mocks.mdx | 2 +- api_docs/kbn_core_elasticsearch_server.mdx | 2 +- ...kbn_core_elasticsearch_server_internal.mdx | 2 +- .../kbn_core_elasticsearch_server_mocks.mdx | 2 +- .../kbn_core_environment_server_internal.mdx | 2 +- .../kbn_core_environment_server_mocks.mdx | 2 +- .../kbn_core_execution_context_browser.mdx | 2 +- ...ore_execution_context_browser_internal.mdx | 2 +- ...n_core_execution_context_browser_mocks.mdx | 2 +- .../kbn_core_execution_context_common.mdx | 2 +- .../kbn_core_execution_context_server.mdx | 2 +- ...core_execution_context_server_internal.mdx | 2 +- ...bn_core_execution_context_server_mocks.mdx | 2 +- api_docs/kbn_core_fatal_errors_browser.mdx | 2 +- .../kbn_core_fatal_errors_browser_mocks.mdx | 2 +- api_docs/kbn_core_http_browser.mdx | 2 +- api_docs/kbn_core_http_browser_internal.mdx | 2 +- api_docs/kbn_core_http_browser_mocks.mdx | 2 +- api_docs/kbn_core_http_common.mdx | 2 +- .../kbn_core_http_context_server_mocks.mdx | 2 +- ...re_http_request_handler_context_server.mdx | 2 +- api_docs/kbn_core_http_resources_server.mdx | 2 +- ...bn_core_http_resources_server_internal.mdx | 2 +- .../kbn_core_http_resources_server_mocks.mdx | 2 +- .../kbn_core_http_router_server_internal.mdx | 2 +- .../kbn_core_http_router_server_mocks.mdx | 2 +- api_docs/kbn_core_http_server.devdocs.json | 4 + api_docs/kbn_core_http_server.mdx | 2 +- api_docs/kbn_core_http_server_internal.mdx | 2 +- api_docs/kbn_core_http_server_mocks.mdx | 2 +- api_docs/kbn_core_i18n_browser.mdx | 2 +- api_docs/kbn_core_i18n_browser_mocks.mdx | 2 +- api_docs/kbn_core_i18n_server.mdx | 2 +- api_docs/kbn_core_i18n_server_internal.mdx | 2 +- api_docs/kbn_core_i18n_server_mocks.mdx | 2 +- ...n_core_injected_metadata_browser_mocks.mdx | 2 +- ...kbn_core_integrations_browser_internal.mdx | 2 +- .../kbn_core_integrations_browser_mocks.mdx | 2 +- api_docs/kbn_core_lifecycle_browser.mdx | 2 +- api_docs/kbn_core_lifecycle_browser_mocks.mdx | 2 +- api_docs/kbn_core_lifecycle_server.mdx | 2 +- api_docs/kbn_core_lifecycle_server_mocks.mdx | 2 +- api_docs/kbn_core_logging_browser_mocks.mdx | 2 +- api_docs/kbn_core_logging_common_internal.mdx | 2 +- api_docs/kbn_core_logging_server.mdx | 2 +- api_docs/kbn_core_logging_server_internal.mdx | 2 +- api_docs/kbn_core_logging_server_mocks.mdx | 2 +- ...ore_metrics_collectors_server_internal.mdx | 2 +- ...n_core_metrics_collectors_server_mocks.mdx | 2 +- api_docs/kbn_core_metrics_server.mdx | 2 +- api_docs/kbn_core_metrics_server_internal.mdx | 2 +- api_docs/kbn_core_metrics_server_mocks.mdx | 2 +- api_docs/kbn_core_mount_utils_browser.mdx | 2 +- api_docs/kbn_core_node_server.mdx | 2 +- api_docs/kbn_core_node_server_internal.mdx | 2 +- api_docs/kbn_core_node_server_mocks.mdx | 2 +- api_docs/kbn_core_notifications_browser.mdx | 2 +- ...bn_core_notifications_browser_internal.mdx | 2 +- .../kbn_core_notifications_browser_mocks.mdx | 2 +- api_docs/kbn_core_overlays_browser.mdx | 2 +- .../kbn_core_overlays_browser_internal.mdx | 2 +- api_docs/kbn_core_overlays_browser_mocks.mdx | 2 +- api_docs/kbn_core_plugins_browser.mdx | 2 +- api_docs/kbn_core_plugins_browser_mocks.mdx | 2 +- api_docs/kbn_core_plugins_server.mdx | 2 +- api_docs/kbn_core_plugins_server_mocks.mdx | 2 +- api_docs/kbn_core_preboot_server.mdx | 2 +- api_docs/kbn_core_preboot_server_mocks.mdx | 2 +- api_docs/kbn_core_rendering_browser_mocks.mdx | 2 +- .../kbn_core_rendering_server_internal.mdx | 2 +- api_docs/kbn_core_rendering_server_mocks.mdx | 2 +- api_docs/kbn_core_root_server_internal.mdx | 2 +- .../kbn_core_saved_objects_api_browser.mdx | 2 +- .../kbn_core_saved_objects_api_server.mdx | 2 +- ...bn_core_saved_objects_api_server_mocks.mdx | 2 +- ...ore_saved_objects_base_server_internal.mdx | 2 +- ...n_core_saved_objects_base_server_mocks.mdx | 2 +- api_docs/kbn_core_saved_objects_browser.mdx | 2 +- ...bn_core_saved_objects_browser_internal.mdx | 2 +- .../kbn_core_saved_objects_browser_mocks.mdx | 2 +- api_docs/kbn_core_saved_objects_common.mdx | 2 +- ..._objects_import_export_server_internal.mdx | 2 +- ...ved_objects_import_export_server_mocks.mdx | 2 +- ...aved_objects_migration_server_internal.mdx | 2 +- ...e_saved_objects_migration_server_mocks.mdx | 2 +- ...kbn_core_saved_objects_server.devdocs.json | 32 +-- api_docs/kbn_core_saved_objects_server.mdx | 2 +- ...kbn_core_saved_objects_server_internal.mdx | 2 +- .../kbn_core_saved_objects_server_mocks.mdx | 2 +- .../kbn_core_saved_objects_utils_server.mdx | 2 +- api_docs/kbn_core_status_common.mdx | 2 +- api_docs/kbn_core_status_common_internal.mdx | 2 +- api_docs/kbn_core_status_server.mdx | 2 +- api_docs/kbn_core_status_server_internal.mdx | 2 +- api_docs/kbn_core_status_server_mocks.mdx | 2 +- ...core_test_helpers_deprecations_getters.mdx | 2 +- ...n_core_test_helpers_http_setup_browser.mdx | 2 +- api_docs/kbn_core_test_helpers_kbn_server.mdx | 2 +- ...n_core_test_helpers_so_type_serializer.mdx | 2 +- api_docs/kbn_core_test_helpers_test_utils.mdx | 2 +- api_docs/kbn_core_theme_browser.mdx | 2 +- api_docs/kbn_core_theme_browser_mocks.mdx | 2 +- api_docs/kbn_core_ui_settings_browser.mdx | 2 +- .../kbn_core_ui_settings_browser_internal.mdx | 2 +- .../kbn_core_ui_settings_browser_mocks.mdx | 2 +- api_docs/kbn_core_ui_settings_common.mdx | 2 +- api_docs/kbn_core_ui_settings_server.mdx | 2 +- .../kbn_core_ui_settings_server_internal.mdx | 2 +- .../kbn_core_ui_settings_server_mocks.mdx | 2 +- api_docs/kbn_core_usage_data_server.mdx | 2 +- .../kbn_core_usage_data_server_internal.mdx | 2 +- api_docs/kbn_core_usage_data_server_mocks.mdx | 2 +- api_docs/kbn_core_user_settings_server.mdx | 2 +- ...kbn_core_user_settings_server_internal.mdx | 2 +- .../kbn_core_user_settings_server_mocks.mdx | 2 +- api_docs/kbn_crypto.mdx | 2 +- api_docs/kbn_crypto_browser.mdx | 2 +- api_docs/kbn_cypress_config.mdx | 2 +- api_docs/kbn_data_service.mdx | 2 +- api_docs/kbn_datemath.mdx | 2 +- api_docs/kbn_deeplinks_analytics.mdx | 2 +- api_docs/kbn_deeplinks_devtools.mdx | 2 +- api_docs/kbn_deeplinks_management.mdx | 2 +- api_docs/kbn_deeplinks_ml.mdx | 2 +- api_docs/kbn_deeplinks_observability.mdx | 2 +- api_docs/kbn_deeplinks_search.mdx | 2 +- api_docs/kbn_default_nav_analytics.mdx | 2 +- api_docs/kbn_default_nav_devtools.mdx | 2 +- api_docs/kbn_default_nav_management.mdx | 2 +- api_docs/kbn_default_nav_ml.mdx | 2 +- api_docs/kbn_dev_cli_errors.mdx | 2 +- api_docs/kbn_dev_cli_runner.mdx | 2 +- api_docs/kbn_dev_proc_runner.mdx | 2 +- api_docs/kbn_dev_utils.mdx | 2 +- api_docs/kbn_discover_utils.mdx | 2 +- api_docs/kbn_doc_links.mdx | 2 +- api_docs/kbn_docs_utils.mdx | 2 +- api_docs/kbn_dom_drag_drop.mdx | 2 +- api_docs/kbn_ebt_tools.mdx | 2 +- api_docs/kbn_ecs.mdx | 2 +- api_docs/kbn_ecs_data_quality_dashboard.mdx | 2 +- api_docs/kbn_elastic_assistant.mdx | 2 +- api_docs/kbn_es.mdx | 2 +- api_docs/kbn_es_archiver.mdx | 2 +- api_docs/kbn_es_errors.mdx | 2 +- api_docs/kbn_es_query.mdx | 2 +- api_docs/kbn_es_types.mdx | 2 +- api_docs/kbn_eslint_plugin_imports.mdx | 2 +- api_docs/kbn_event_annotation_common.mdx | 2 +- api_docs/kbn_event_annotation_components.mdx | 2 +- api_docs/kbn_expandable_flyout.mdx | 2 +- api_docs/kbn_field_types.mdx | 2 +- api_docs/kbn_find_used_node_modules.mdx | 2 +- .../kbn_ftr_common_functional_services.mdx | 2 +- api_docs/kbn_generate.mdx | 2 +- api_docs/kbn_generate_console_definitions.mdx | 2 +- api_docs/kbn_generate_csv.mdx | 2 +- api_docs/kbn_generate_csv_types.mdx | 2 +- api_docs/kbn_guided_onboarding.mdx | 2 +- api_docs/kbn_handlebars.mdx | 2 +- api_docs/kbn_hapi_mocks.mdx | 2 +- api_docs/kbn_health_gateway_server.mdx | 2 +- api_docs/kbn_home_sample_data_card.mdx | 2 +- api_docs/kbn_home_sample_data_tab.mdx | 2 +- api_docs/kbn_i18n.mdx | 2 +- api_docs/kbn_i18n_react.mdx | 2 +- api_docs/kbn_import_resolver.mdx | 2 +- api_docs/kbn_infra_forge.mdx | 2 +- api_docs/kbn_interpreter.mdx | 2 +- api_docs/kbn_io_ts_utils.mdx | 2 +- api_docs/kbn_jest_serializers.mdx | 2 +- api_docs/kbn_journeys.mdx | 2 +- api_docs/kbn_json_ast.mdx | 2 +- api_docs/kbn_kibana_manifest_schema.mdx | 2 +- .../kbn_language_documentation_popover.mdx | 2 +- api_docs/kbn_lens_embeddable_utils.mdx | 2 +- api_docs/kbn_logging.mdx | 2 +- api_docs/kbn_logging_mocks.mdx | 2 +- api_docs/kbn_managed_vscode_config.mdx | 2 +- api_docs/kbn_management_cards_navigation.mdx | 2 +- ...n_management_settings_section_registry.mdx | 2 +- api_docs/kbn_management_storybook_config.mdx | 2 +- api_docs/kbn_mapbox_gl.mdx | 2 +- api_docs/kbn_maps_vector_tile_utils.mdx | 2 +- api_docs/kbn_ml_agg_utils.mdx | 2 +- api_docs/kbn_ml_anomaly_utils.mdx | 2 +- api_docs/kbn_ml_category_validator.mdx | 2 +- .../kbn_ml_data_frame_analytics_utils.mdx | 2 +- api_docs/kbn_ml_data_grid.mdx | 2 +- api_docs/kbn_ml_date_picker.mdx | 2 +- api_docs/kbn_ml_date_utils.mdx | 2 +- api_docs/kbn_ml_error_utils.mdx | 2 +- api_docs/kbn_ml_in_memory_table.mdx | 2 +- api_docs/kbn_ml_is_defined.mdx | 2 +- api_docs/kbn_ml_is_populated_object.mdx | 2 +- api_docs/kbn_ml_kibana_theme.mdx | 2 +- api_docs/kbn_ml_local_storage.mdx | 2 +- api_docs/kbn_ml_nested_property.mdx | 2 +- api_docs/kbn_ml_number_utils.mdx | 2 +- api_docs/kbn_ml_query_utils.mdx | 2 +- api_docs/kbn_ml_random_sampler_utils.mdx | 2 +- api_docs/kbn_ml_route_utils.mdx | 2 +- api_docs/kbn_ml_runtime_field_utils.mdx | 2 +- api_docs/kbn_ml_string_hash.mdx | 2 +- api_docs/kbn_ml_trained_models_utils.mdx | 2 +- api_docs/kbn_ml_url_state.mdx | 2 +- api_docs/kbn_monaco.mdx | 2 +- api_docs/kbn_object_versioning.mdx | 2 +- api_docs/kbn_observability_alert_details.mdx | 2 +- api_docs/kbn_optimizer.mdx | 2 +- api_docs/kbn_optimizer_webpack_helpers.mdx | 2 +- api_docs/kbn_osquery_io_ts_types.mdx | 2 +- ..._performance_testing_dataset_extractor.mdx | 2 +- api_docs/kbn_plugin_generator.mdx | 2 +- api_docs/kbn_plugin_helpers.mdx | 2 +- api_docs/kbn_random_sampling.mdx | 2 +- api_docs/kbn_react_field.mdx | 2 +- api_docs/kbn_react_kibana_context_common.mdx | 2 +- api_docs/kbn_react_kibana_context_render.mdx | 2 +- api_docs/kbn_react_kibana_context_root.mdx | 2 +- api_docs/kbn_react_kibana_context_styled.mdx | 2 +- api_docs/kbn_react_kibana_context_theme.mdx | 2 +- api_docs/kbn_react_kibana_mount.mdx | 2 +- api_docs/kbn_repo_file_maps.mdx | 2 +- api_docs/kbn_repo_linter.mdx | 2 +- api_docs/kbn_repo_path.mdx | 2 +- api_docs/kbn_repo_source_classifier.mdx | 2 +- api_docs/kbn_reporting_common.mdx | 2 +- api_docs/kbn_rison.mdx | 2 +- api_docs/kbn_rrule.mdx | 2 +- api_docs/kbn_rule_data_utils.mdx | 2 +- api_docs/kbn_saved_objects_settings.mdx | 2 +- api_docs/kbn_search_api_panels.devdocs.json | 17 +- api_docs/kbn_search_api_panels.mdx | 2 +- api_docs/kbn_search_connectors.mdx | 2 +- api_docs/kbn_search_response_warnings.mdx | 2 +- api_docs/kbn_security_solution_features.mdx | 2 +- api_docs/kbn_security_solution_navigation.mdx | 2 +- api_docs/kbn_security_solution_side_nav.mdx | 2 +- ...kbn_security_solution_storybook_config.mdx | 2 +- .../kbn_securitysolution_autocomplete.mdx | 2 +- api_docs/kbn_securitysolution_data_table.mdx | 2 +- api_docs/kbn_securitysolution_ecs.mdx | 2 +- api_docs/kbn_securitysolution_es_utils.mdx | 2 +- ...ritysolution_exception_list_components.mdx | 2 +- api_docs/kbn_securitysolution_grouping.mdx | 2 +- api_docs/kbn_securitysolution_hook_utils.mdx | 2 +- ..._securitysolution_io_ts_alerting_types.mdx | 2 +- .../kbn_securitysolution_io_ts_list_types.mdx | 2 +- api_docs/kbn_securitysolution_io_ts_types.mdx | 2 +- api_docs/kbn_securitysolution_io_ts_utils.mdx | 2 +- api_docs/kbn_securitysolution_list_api.mdx | 2 +- .../kbn_securitysolution_list_constants.mdx | 2 +- api_docs/kbn_securitysolution_list_hooks.mdx | 2 +- api_docs/kbn_securitysolution_list_utils.mdx | 2 +- api_docs/kbn_securitysolution_rules.mdx | 2 +- api_docs/kbn_securitysolution_t_grid.mdx | 2 +- api_docs/kbn_securitysolution_utils.mdx | 2 +- api_docs/kbn_server_http_tools.mdx | 2 +- api_docs/kbn_server_route_repository.mdx | 2 +- api_docs/kbn_serverless_project_switcher.mdx | 2 +- api_docs/kbn_serverless_storybook_config.mdx | 2 +- api_docs/kbn_shared_svg.mdx | 2 +- api_docs/kbn_shared_ux_avatar_solution.mdx | 2 +- ...ared_ux_avatar_user_profile_components.mdx | 2 +- .../kbn_shared_ux_button_exit_full_screen.mdx | 2 +- ...hared_ux_button_exit_full_screen_mocks.mdx | 2 +- api_docs/kbn_shared_ux_button_toolbar.mdx | 2 +- api_docs/kbn_shared_ux_card_no_data.mdx | 2 +- api_docs/kbn_shared_ux_card_no_data_mocks.mdx | 2 +- api_docs/kbn_shared_ux_chrome_navigation.mdx | 2 +- api_docs/kbn_shared_ux_file_context.mdx | 2 +- api_docs/kbn_shared_ux_file_image.mdx | 2 +- api_docs/kbn_shared_ux_file_image_mocks.mdx | 2 +- api_docs/kbn_shared_ux_file_mocks.mdx | 2 +- api_docs/kbn_shared_ux_file_picker.mdx | 2 +- api_docs/kbn_shared_ux_file_types.mdx | 2 +- api_docs/kbn_shared_ux_file_upload.mdx | 2 +- api_docs/kbn_shared_ux_file_util.mdx | 2 +- api_docs/kbn_shared_ux_link_redirect_app.mdx | 2 +- .../kbn_shared_ux_link_redirect_app_mocks.mdx | 2 +- api_docs/kbn_shared_ux_markdown.mdx | 2 +- api_docs/kbn_shared_ux_markdown_mocks.mdx | 2 +- .../kbn_shared_ux_page_analytics_no_data.mdx | 2 +- ...shared_ux_page_analytics_no_data_mocks.mdx | 2 +- .../kbn_shared_ux_page_kibana_no_data.mdx | 2 +- ...bn_shared_ux_page_kibana_no_data_mocks.mdx | 2 +- .../kbn_shared_ux_page_kibana_template.mdx | 2 +- ...n_shared_ux_page_kibana_template_mocks.mdx | 2 +- api_docs/kbn_shared_ux_page_no_data.mdx | 2 +- .../kbn_shared_ux_page_no_data_config.mdx | 2 +- ...bn_shared_ux_page_no_data_config_mocks.mdx | 2 +- api_docs/kbn_shared_ux_page_no_data_mocks.mdx | 2 +- api_docs/kbn_shared_ux_page_solution_nav.mdx | 2 +- .../kbn_shared_ux_prompt_no_data_views.mdx | 2 +- ...n_shared_ux_prompt_no_data_views_mocks.mdx | 2 +- api_docs/kbn_shared_ux_prompt_not_found.mdx | 2 +- api_docs/kbn_shared_ux_router.mdx | 2 +- api_docs/kbn_shared_ux_router_mocks.mdx | 2 +- api_docs/kbn_shared_ux_storybook_config.mdx | 2 +- api_docs/kbn_shared_ux_storybook_mock.mdx | 2 +- api_docs/kbn_shared_ux_utility.mdx | 2 +- api_docs/kbn_slo_schema.mdx | 2 +- api_docs/kbn_some_dev_log.mdx | 2 +- api_docs/kbn_std.mdx | 2 +- api_docs/kbn_stdio_dev_helpers.mdx | 2 +- api_docs/kbn_storybook.mdx | 2 +- api_docs/kbn_telemetry_tools.mdx | 2 +- api_docs/kbn_test.mdx | 2 +- api_docs/kbn_test_jest_helpers.mdx | 2 +- api_docs/kbn_test_subj_selector.mdx | 2 +- api_docs/kbn_text_based_editor.mdx | 2 +- api_docs/kbn_tooling_log.mdx | 2 +- api_docs/kbn_ts_projects.mdx | 2 +- api_docs/kbn_typed_react_router_config.mdx | 2 +- api_docs/kbn_ui_actions_browser.mdx | 2 +- api_docs/kbn_ui_shared_deps_src.mdx | 2 +- api_docs/kbn_ui_theme.mdx | 2 +- api_docs/kbn_unified_data_table.mdx | 2 +- api_docs/kbn_unified_doc_viewer.mdx | 2 +- api_docs/kbn_unified_field_list.mdx | 2 +- api_docs/kbn_url_state.mdx | 2 +- api_docs/kbn_use_tracked_promise.mdx | 2 +- api_docs/kbn_user_profile_components.mdx | 2 +- api_docs/kbn_utility_types.mdx | 2 +- api_docs/kbn_utility_types_jest.mdx | 2 +- api_docs/kbn_utils.mdx | 2 +- api_docs/kbn_visualization_ui_components.mdx | 2 +- api_docs/kbn_yarn_lock_validator.mdx | 2 +- api_docs/kibana_overview.mdx | 2 +- api_docs/kibana_react.mdx | 2 +- api_docs/kibana_utils.mdx | 2 +- api_docs/kubernetes_security.mdx | 2 +- api_docs/lens.mdx | 2 +- api_docs/license_api_guard.mdx | 2 +- api_docs/license_management.mdx | 2 +- api_docs/licensing.mdx | 2 +- api_docs/lists.mdx | 2 +- api_docs/log_explorer.mdx | 2 +- api_docs/logs_shared.mdx | 2 +- api_docs/management.mdx | 2 +- api_docs/maps.mdx | 2 +- api_docs/maps_ems.mdx | 2 +- api_docs/ml.mdx | 2 +- api_docs/monitoring.mdx | 2 +- api_docs/monitoring_collection.mdx | 2 +- api_docs/navigation.mdx | 2 +- api_docs/newsfeed.mdx | 2 +- api_docs/no_data_page.mdx | 2 +- api_docs/notifications.mdx | 2 +- api_docs/observability.mdx | 2 +- api_docs/observability_a_i_assistant.mdx | 2 +- api_docs/observability_onboarding.mdx | 2 +- api_docs/observability_shared.mdx | 2 +- api_docs/osquery.mdx | 2 +- api_docs/painless_lab.devdocs.json | 74 +++++++ api_docs/painless_lab.mdx | 33 +++ api_docs/plugin_directory.mdx | 10 +- api_docs/presentation_util.mdx | 2 +- api_docs/profiling.mdx | 2 +- api_docs/profiling_data_access.mdx | 2 +- api_docs/remote_clusters.mdx | 2 +- api_docs/reporting.mdx | 2 +- api_docs/rollup.mdx | 2 +- api_docs/rule_registry.mdx | 2 +- api_docs/runtime_fields.mdx | 2 +- api_docs/saved_objects.mdx | 2 +- api_docs/saved_objects_finder.mdx | 2 +- api_docs/saved_objects_management.mdx | 2 +- api_docs/saved_objects_tagging.mdx | 2 +- api_docs/saved_objects_tagging_oss.mdx | 2 +- api_docs/saved_search.mdx | 2 +- api_docs/screenshot_mode.mdx | 2 +- api_docs/screenshotting.mdx | 2 +- api_docs/security.mdx | 2 +- api_docs/security_solution.mdx | 2 +- api_docs/security_solution_ess.mdx | 2 +- api_docs/security_solution_serverless.mdx | 2 +- api_docs/serverless.mdx | 2 +- api_docs/serverless_observability.mdx | 2 +- api_docs/serverless_search.mdx | 2 +- api_docs/session_view.mdx | 2 +- api_docs/share.mdx | 2 +- api_docs/snapshot_restore.mdx | 2 +- api_docs/spaces.mdx | 2 +- api_docs/stack_alerts.mdx | 2 +- api_docs/stack_connectors.mdx | 2 +- api_docs/task_manager.mdx | 2 +- api_docs/telemetry.mdx | 2 +- api_docs/telemetry_collection_manager.mdx | 2 +- api_docs/telemetry_collection_xpack.mdx | 2 +- api_docs/telemetry_management_section.mdx | 2 +- api_docs/text_based_languages.mdx | 2 +- api_docs/threat_intelligence.mdx | 2 +- api_docs/timelines.mdx | 2 +- api_docs/transform.mdx | 2 +- api_docs/triggers_actions_ui.mdx | 2 +- api_docs/ui_actions.mdx | 2 +- api_docs/ui_actions_enhanced.mdx | 2 +- api_docs/unified_doc_viewer.mdx | 2 +- api_docs/unified_histogram.mdx | 2 +- api_docs/unified_search.mdx | 2 +- api_docs/unified_search_autocomplete.mdx | 2 +- api_docs/uptime.mdx | 2 +- api_docs/url_forwarding.mdx | 2 +- api_docs/usage_collection.mdx | 2 +- api_docs/ux.mdx | 2 +- api_docs/vis_default_editor.mdx | 2 +- api_docs/vis_type_gauge.mdx | 2 +- api_docs/vis_type_heatmap.mdx | 2 +- api_docs/vis_type_pie.mdx | 2 +- api_docs/vis_type_table.mdx | 2 +- api_docs/vis_type_timelion.mdx | 2 +- api_docs/vis_type_timeseries.mdx | 2 +- api_docs/vis_type_vega.mdx | 2 +- api_docs/vis_type_vislib.mdx | 2 +- api_docs/vis_type_xy.mdx | 2 +- api_docs/visualizations.mdx | 2 +- 580 files changed, 926 insertions(+), 606 deletions(-) create mode 100644 api_docs/painless_lab.devdocs.json create mode 100644 api_docs/painless_lab.mdx diff --git a/api_docs/actions.devdocs.json b/api_docs/actions.devdocs.json index 68e7723fc7fa..4e648524c704 100644 --- a/api_docs/actions.devdocs.json +++ b/api_docs/actions.devdocs.json @@ -2094,7 +2094,9 @@ "signature": [ "(requesterId: string, actionsToExecute: ", "ExecuteOptions", - "[]) => Promise" + "[]) => Promise<", + "ExecutionResponse", + ">" ], "path": "x-pack/plugins/actions/server/unsecured_actions_client/unsecured_actions_client.ts", "deprecated": false, @@ -2967,7 +2969,9 @@ "signature": [ "(requesterId: string, actionsToExecute: ", "ExecuteOptions", - "[]) => Promise" + "[]) => Promise<", + "ExecutionResponse", + ">" ], "path": "x-pack/plugins/actions/server/unsecured_actions_client/unsecured_actions_client.ts", "deprecated": false, @@ -3249,7 +3253,9 @@ }, ">; bulkEnqueueExecution: (options: ", "ExecuteOptions", - "[]) => Promise; ephemeralEnqueuedExecution: (options: ", + "[]) => Promise<", + "ExecutionResponse", + ">; ephemeralEnqueuedExecution: (options: ", "ExecuteOptions", ") => Promise<", { diff --git a/api_docs/actions.mdx b/api_docs/actions.mdx index 0e911e138826..b9e0ea3bd2a0 100644 --- a/api_docs/actions.mdx +++ b/api_docs/actions.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/actions title: "actions" image: https://source.unsplash.com/400x175/?github description: API docs for the actions plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'actions'] --- import actionsObj from './actions.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/response-ops](https://github.com/orgs/elastic/teams/response-o | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 269 | 0 | 263 | 30 | +| 269 | 0 | 263 | 31 | ## Client diff --git a/api_docs/advanced_settings.mdx b/api_docs/advanced_settings.mdx index 950786cd3b4f..2c2850e645dc 100644 --- a/api_docs/advanced_settings.mdx +++ b/api_docs/advanced_settings.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/advancedSettings title: "advancedSettings" image: https://source.unsplash.com/400x175/?github description: API docs for the advancedSettings plugin -date: 2023-09-07 +date: 2023-09-08 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 eec6749c64c7..bd656f15d0ab 100644 --- a/api_docs/aiops.mdx +++ b/api_docs/aiops.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/aiops title: "aiops" image: https://source.unsplash.com/400x175/?github description: API docs for the aiops plugin -date: 2023-09-07 +date: 2023-09-08 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 4f8b13c4cf84..9be8b8f4a38c 100644 --- a/api_docs/alerting.devdocs.json +++ b/api_docs/alerting.devdocs.json @@ -2820,7 +2820,7 @@ "label": "monitoring", "description": [], "signature": [ - "Readonly<{} & { run: Readonly<{} & { history: Readonly<{ outcome?: Readonly<{ warning?: \"execute\" | \"license\" | \"validate\" | \"timeout\" | \"unknown\" | \"read\" | \"decrypt\" | \"disabled\" | \"maxExecutableActions\" | \"maxAlerts\" | null | undefined; outcomeOrder?: number | undefined; outcomeMsg?: string[] | null | undefined; } & { outcome: \"warning\" | \"succeeded\" | \"failed\"; alertsCount: Readonly<{ recovered?: number | null | undefined; active?: number | null | undefined; new?: number | null | undefined; ignored?: number | null | undefined; } & {}>; }> | undefined; duration?: number | undefined; } & { timestamp: number; success: boolean; }>[]; calculated_metrics: Readonly<{ p50?: number | undefined; p95?: number | undefined; p99?: number | undefined; } & { success_ratio: number; }>; last_run: Readonly<{} & { timestamp: string; metrics: Readonly<{ duration?: number | undefined; total_search_duration_ms?: number | null | undefined; total_indexing_duration_ms?: number | null | undefined; total_alerts_detected?: number | null | undefined; total_alerts_created?: number | null | undefined; gap_duration_s?: number | null | undefined; } & {}>; }>; }>; }> | undefined" + "Readonly<{} & { run: Readonly<{} & { history: Readonly<{ outcome?: Readonly<{ warning?: \"execute\" | \"license\" | \"validate\" | \"timeout\" | \"unknown\" | \"read\" | \"decrypt\" | \"disabled\" | \"maxExecutableActions\" | \"maxAlerts\" | \"maxQueuedActions\" | null | undefined; outcomeOrder?: number | undefined; outcomeMsg?: string[] | null | undefined; } & { outcome: \"warning\" | \"succeeded\" | \"failed\"; alertsCount: Readonly<{ recovered?: number | null | undefined; active?: number | null | undefined; new?: number | null | undefined; ignored?: number | null | undefined; } & {}>; }> | undefined; duration?: number | undefined; } & { timestamp: number; success: boolean; }>[]; calculated_metrics: Readonly<{ p50?: number | undefined; p95?: number | undefined; p99?: number | undefined; } & { success_ratio: number; }>; last_run: Readonly<{} & { timestamp: string; metrics: Readonly<{ duration?: number | undefined; total_search_duration_ms?: number | null | undefined; total_indexing_duration_ms?: number | null | undefined; total_alerts_detected?: number | null | undefined; total_alerts_created?: number | null | undefined; gap_duration_s?: number | null | undefined; } & {}>; }>; }>; }> | undefined" ], "path": "x-pack/plugins/alerting/server/application/rule/types/rule.ts", "deprecated": false, @@ -2876,7 +2876,7 @@ "label": "lastRun", "description": [], "signature": [ - "Readonly<{ warning?: \"execute\" | \"license\" | \"validate\" | \"timeout\" | \"unknown\" | \"read\" | \"decrypt\" | \"disabled\" | \"maxExecutableActions\" | \"maxAlerts\" | null | undefined; outcomeOrder?: number | undefined; outcomeMsg?: string[] | null | undefined; } & { outcome: \"warning\" | \"succeeded\" | \"failed\"; alertsCount: Readonly<{ recovered?: number | null | undefined; active?: number | null | undefined; new?: number | null | undefined; ignored?: number | null | undefined; } & {}>; }> | null | undefined" + "Readonly<{ warning?: \"execute\" | \"license\" | \"validate\" | \"timeout\" | \"unknown\" | \"read\" | \"decrypt\" | \"disabled\" | \"maxExecutableActions\" | \"maxAlerts\" | \"maxQueuedActions\" | null | undefined; outcomeOrder?: number | undefined; outcomeMsg?: string[] | null | undefined; } & { outcome: \"warning\" | \"succeeded\" | \"failed\"; alertsCount: Readonly<{ recovered?: number | null | undefined; active?: number | null | undefined; new?: number | null | undefined; ignored?: number | null | undefined; } & {}>; }> | null | undefined" ], "path": "x-pack/plugins/alerting/server/application/rule/types/rule.ts", "deprecated": false, diff --git a/api_docs/alerting.mdx b/api_docs/alerting.mdx index d9179b60a456..4f9441fe039f 100644 --- a/api_docs/alerting.mdx +++ b/api_docs/alerting.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/alerting title: "alerting" image: https://source.unsplash.com/400x175/?github description: API docs for the alerting plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'alerting'] --- import alertingObj from './alerting.devdocs.json'; diff --git a/api_docs/apm.mdx b/api_docs/apm.mdx index 70247d54ed18..4f53bd10a280 100644 --- a/api_docs/apm.mdx +++ b/api_docs/apm.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/apm title: "apm" image: https://source.unsplash.com/400x175/?github description: API docs for the apm plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'apm'] --- import apmObj from './apm.devdocs.json'; diff --git a/api_docs/apm_data_access.mdx b/api_docs/apm_data_access.mdx index fd59d9c3ea43..15ffcff9abc2 100644 --- a/api_docs/apm_data_access.mdx +++ b/api_docs/apm_data_access.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/apmDataAccess title: "apmDataAccess" image: https://source.unsplash.com/400x175/?github description: API docs for the apmDataAccess plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'apmDataAccess'] --- import apmDataAccessObj from './apm_data_access.devdocs.json'; diff --git a/api_docs/asset_manager.mdx b/api_docs/asset_manager.mdx index 7246565be88f..6d78302f57c7 100644 --- a/api_docs/asset_manager.mdx +++ b/api_docs/asset_manager.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/assetManager title: "assetManager" image: https://source.unsplash.com/400x175/?github description: API docs for the assetManager plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'assetManager'] --- import assetManagerObj from './asset_manager.devdocs.json'; diff --git a/api_docs/banners.mdx b/api_docs/banners.mdx index d5c3222b5559..c5e933991766 100644 --- a/api_docs/banners.mdx +++ b/api_docs/banners.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/banners title: "banners" image: https://source.unsplash.com/400x175/?github description: API docs for the banners plugin -date: 2023-09-07 +date: 2023-09-08 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 ffc745e80bce..a125c9e3bc8f 100644 --- a/api_docs/bfetch.mdx +++ b/api_docs/bfetch.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/bfetch title: "bfetch" image: https://source.unsplash.com/400x175/?github description: API docs for the bfetch plugin -date: 2023-09-07 +date: 2023-09-08 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 6666facbefa2..418ef78fe36d 100644 --- a/api_docs/canvas.mdx +++ b/api_docs/canvas.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/canvas title: "canvas" image: https://source.unsplash.com/400x175/?github description: API docs for the canvas plugin -date: 2023-09-07 +date: 2023-09-08 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 5fee0ae6cc0d..a592c4bfad9f 100644 --- a/api_docs/cases.mdx +++ b/api_docs/cases.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cases title: "cases" image: https://source.unsplash.com/400x175/?github description: API docs for the cases plugin -date: 2023-09-07 +date: 2023-09-08 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 fd9d2db8180c..220ce7b79489 100644 --- a/api_docs/charts.mdx +++ b/api_docs/charts.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/charts title: "charts" image: https://source.unsplash.com/400x175/?github description: API docs for the charts plugin -date: 2023-09-07 +date: 2023-09-08 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 c1dc9279cd53..de64b15cb76c 100644 --- a/api_docs/cloud.mdx +++ b/api_docs/cloud.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloud title: "cloud" image: https://source.unsplash.com/400x175/?github description: API docs for the cloud plugin -date: 2023-09-07 +date: 2023-09-08 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 4376a5d93093..5440ae863e79 100644 --- a/api_docs/cloud_chat.mdx +++ b/api_docs/cloud_chat.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudChat title: "cloudChat" image: https://source.unsplash.com/400x175/?github description: API docs for the cloudChat plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudChat'] --- import cloudChatObj from './cloud_chat.devdocs.json'; diff --git a/api_docs/cloud_chat_provider.mdx b/api_docs/cloud_chat_provider.mdx index 2bd7a50cded9..8998256b5ce6 100644 --- a/api_docs/cloud_chat_provider.mdx +++ b/api_docs/cloud_chat_provider.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudChatProvider title: "cloudChatProvider" image: https://source.unsplash.com/400x175/?github description: API docs for the cloudChatProvider plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudChatProvider'] --- import cloudChatProviderObj from './cloud_chat_provider.devdocs.json'; diff --git a/api_docs/cloud_data_migration.mdx b/api_docs/cloud_data_migration.mdx index 621475c23489..73720f0f5e7a 100644 --- a/api_docs/cloud_data_migration.mdx +++ b/api_docs/cloud_data_migration.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudDataMigration title: "cloudDataMigration" image: https://source.unsplash.com/400x175/?github description: API docs for the cloudDataMigration plugin -date: 2023-09-07 +date: 2023-09-08 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 b4bc426ec27f..c8bb28ae40d2 100644 --- a/api_docs/cloud_defend.mdx +++ b/api_docs/cloud_defend.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudDefend title: "cloudDefend" image: https://source.unsplash.com/400x175/?github description: API docs for the cloudDefend plugin -date: 2023-09-07 +date: 2023-09-08 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 f63c1e23364b..c5913e684785 100644 --- a/api_docs/cloud_experiments.mdx +++ b/api_docs/cloud_experiments.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudExperiments title: "cloudExperiments" image: https://source.unsplash.com/400x175/?github description: API docs for the cloudExperiments plugin -date: 2023-09-07 +date: 2023-09-08 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 52c0e2cb60a2..c5b04814190f 100644 --- a/api_docs/cloud_security_posture.mdx +++ b/api_docs/cloud_security_posture.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudSecurityPosture title: "cloudSecurityPosture" image: https://source.unsplash.com/400x175/?github description: API docs for the cloudSecurityPosture plugin -date: 2023-09-07 +date: 2023-09-08 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 f2c725ae8eb9..58e89dc822ad 100644 --- a/api_docs/console.mdx +++ b/api_docs/console.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/console title: "console" image: https://source.unsplash.com/400x175/?github description: API docs for the console plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'console'] --- import consoleObj from './console.devdocs.json'; diff --git a/api_docs/content_management.mdx b/api_docs/content_management.mdx index 987b34a2c2fc..eb698c55484d 100644 --- a/api_docs/content_management.mdx +++ b/api_docs/content_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/contentManagement title: "contentManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the contentManagement plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'contentManagement'] --- import contentManagementObj from './content_management.devdocs.json'; diff --git a/api_docs/controls.mdx b/api_docs/controls.mdx index 0ca1d3881a93..24c9a3a9b9cb 100644 --- a/api_docs/controls.mdx +++ b/api_docs/controls.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/controls title: "controls" image: https://source.unsplash.com/400x175/?github description: API docs for the controls plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'controls'] --- import controlsObj from './controls.devdocs.json'; diff --git a/api_docs/custom_integrations.mdx b/api_docs/custom_integrations.mdx index 5b53bb97d7da..ab4992596016 100644 --- a/api_docs/custom_integrations.mdx +++ b/api_docs/custom_integrations.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/customIntegrations title: "customIntegrations" image: https://source.unsplash.com/400x175/?github description: API docs for the customIntegrations plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'customIntegrations'] --- import customIntegrationsObj from './custom_integrations.devdocs.json'; diff --git a/api_docs/dashboard.mdx b/api_docs/dashboard.mdx index 8b9ba774d9a7..30e6b76d6e09 100644 --- a/api_docs/dashboard.mdx +++ b/api_docs/dashboard.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dashboard title: "dashboard" image: https://source.unsplash.com/400x175/?github description: API docs for the dashboard plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dashboard'] --- import dashboardObj from './dashboard.devdocs.json'; diff --git a/api_docs/dashboard_enhanced.mdx b/api_docs/dashboard_enhanced.mdx index 44a1aa471004..3f686f8ccaf8 100644 --- a/api_docs/dashboard_enhanced.mdx +++ b/api_docs/dashboard_enhanced.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dashboardEnhanced title: "dashboardEnhanced" image: https://source.unsplash.com/400x175/?github description: API docs for the dashboardEnhanced plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dashboardEnhanced'] --- import dashboardEnhancedObj from './dashboard_enhanced.devdocs.json'; diff --git a/api_docs/data.mdx b/api_docs/data.mdx index 1d0ec20339e5..ab9fe1acf38b 100644 --- a/api_docs/data.mdx +++ b/api_docs/data.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/data title: "data" image: https://source.unsplash.com/400x175/?github description: API docs for the data plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'data'] --- import dataObj from './data.devdocs.json'; diff --git a/api_docs/data_query.mdx b/api_docs/data_query.mdx index 5557fd59c7bb..b40d23731df9 100644 --- a/api_docs/data_query.mdx +++ b/api_docs/data_query.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/data-query title: "data.query" image: https://source.unsplash.com/400x175/?github description: API docs for the data.query plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'data.query'] --- import dataQueryObj from './data_query.devdocs.json'; diff --git a/api_docs/data_search.mdx b/api_docs/data_search.mdx index 1823366e7947..ad9b6a84efa6 100644 --- a/api_docs/data_search.mdx +++ b/api_docs/data_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/data-search title: "data.search" image: https://source.unsplash.com/400x175/?github description: API docs for the data.search plugin -date: 2023-09-07 +date: 2023-09-08 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 99fb909a07f7..8a487529aeab 100644 --- a/api_docs/data_view_editor.mdx +++ b/api_docs/data_view_editor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataViewEditor title: "dataViewEditor" image: https://source.unsplash.com/400x175/?github description: API docs for the dataViewEditor plugin -date: 2023-09-07 +date: 2023-09-08 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 21a077f7e9b9..8cc70599758b 100644 --- a/api_docs/data_view_field_editor.mdx +++ b/api_docs/data_view_field_editor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataViewFieldEditor title: "dataViewFieldEditor" image: https://source.unsplash.com/400x175/?github description: API docs for the dataViewFieldEditor plugin -date: 2023-09-07 +date: 2023-09-08 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 fdf6650d5838..19179bcd857c 100644 --- a/api_docs/data_view_management.mdx +++ b/api_docs/data_view_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataViewManagement title: "dataViewManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the dataViewManagement plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dataViewManagement'] --- import dataViewManagementObj from './data_view_management.devdocs.json'; diff --git a/api_docs/data_views.mdx b/api_docs/data_views.mdx index d71177038547..cd8385997d9b 100644 --- a/api_docs/data_views.mdx +++ b/api_docs/data_views.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataViews title: "dataViews" image: https://source.unsplash.com/400x175/?github description: API docs for the dataViews plugin -date: 2023-09-07 +date: 2023-09-08 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 72d35ccf434d..b0e19ec63cac 100644 --- a/api_docs/data_visualizer.mdx +++ b/api_docs/data_visualizer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataVisualizer title: "dataVisualizer" image: https://source.unsplash.com/400x175/?github description: API docs for the dataVisualizer plugin -date: 2023-09-07 +date: 2023-09-08 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 dac134691fe5..9c19d9425602 100644 --- a/api_docs/deprecations_by_api.mdx +++ b/api_docs/deprecations_by_api.mdx @@ -7,7 +7,7 @@ id: kibDevDocsDeprecationsByApi slug: /kibana-dev-docs/api-meta/deprecated-api-list-by-api title: Deprecated API usage by API description: A list of deprecated APIs, which plugins are still referencing them, and when they need to be removed by. -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- @@ -45,7 +45,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | securitySolution | - | | | securitySolution | - | | | @kbn/core-saved-objects-api-browser, @kbn/core-saved-objects-browser-internal, @kbn/core, savedObjectsTaggingOss, savedObjectsTagging, securitySolution, lists, upgradeAssistant, savedObjectsManagement, @kbn/core-saved-objects-api-server, @kbn/core-saved-objects-import-export-server-internal, home, canvas, savedObjects, @kbn/core-saved-objects-browser-mocks, @kbn/core-ui-settings-server-internal | - | -| | @kbn/core-saved-objects-migration-server-internal, actions, dataViews, data, alerting, lens, lists, savedObjectsTagging, securitySolution, cases, visualizations, savedSearch, canvas, graph, maps, dashboard, @kbn/core-test-helpers-so-type-serializer | - | +| | @kbn/core-saved-objects-migration-server-internal, actions, dataViews, data, alerting, lens, lists, cases, savedObjectsTagging, securitySolution, visualizations, savedSearch, canvas, graph, maps, dashboard, @kbn/core-test-helpers-so-type-serializer | - | | | lists, securitySolution, @kbn/securitysolution-io-ts-list-types | - | | | lists, securitySolution, @kbn/securitysolution-io-ts-list-types | - | | | lists, securitySolution, @kbn/securitysolution-io-ts-list-types | - | diff --git a/api_docs/deprecations_by_plugin.mdx b/api_docs/deprecations_by_plugin.mdx index 10b4958afbe0..105960f2baeb 100644 --- a/api_docs/deprecations_by_plugin.mdx +++ b/api_docs/deprecations_by_plugin.mdx @@ -7,7 +7,7 @@ id: kibDevDocsDeprecationsByPlugin slug: /kibana-dev-docs/api-meta/deprecated-api-list-by-plugin title: Deprecated API usage by plugin description: A list of deprecated APIs, which plugins are still referencing them, and when they need to be removed by. -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- diff --git a/api_docs/deprecations_by_team.mdx b/api_docs/deprecations_by_team.mdx index 4900f1cfbc6f..66cb187a5062 100644 --- a/api_docs/deprecations_by_team.mdx +++ b/api_docs/deprecations_by_team.mdx @@ -7,7 +7,7 @@ id: kibDevDocsDeprecationsDueByTeam slug: /kibana-dev-docs/api-meta/deprecations-due-by-team title: Deprecated APIs due to be removed, by team description: Lists the teams that are referencing deprecated APIs with a remove by date. -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- diff --git a/api_docs/dev_tools.mdx b/api_docs/dev_tools.mdx index a4fbd9e05ac5..2899ab82c4f3 100644 --- a/api_docs/dev_tools.mdx +++ b/api_docs/dev_tools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/devTools title: "devTools" image: https://source.unsplash.com/400x175/?github description: API docs for the devTools plugin -date: 2023-09-07 +date: 2023-09-08 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 2bc37b574845..44a37c29c05e 100644 --- a/api_docs/discover.mdx +++ b/api_docs/discover.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/discover title: "discover" image: https://source.unsplash.com/400x175/?github description: API docs for the discover plugin -date: 2023-09-07 +date: 2023-09-08 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 af34f5f5d592..e845dab4f5d4 100644 --- a/api_docs/discover_enhanced.mdx +++ b/api_docs/discover_enhanced.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/discoverEnhanced title: "discoverEnhanced" image: https://source.unsplash.com/400x175/?github description: API docs for the discoverEnhanced plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'discoverEnhanced'] --- import discoverEnhancedObj from './discover_enhanced.devdocs.json'; diff --git a/api_docs/ecs_data_quality_dashboard.mdx b/api_docs/ecs_data_quality_dashboard.mdx index b3df60c604ff..fd3c723717a2 100644 --- a/api_docs/ecs_data_quality_dashboard.mdx +++ b/api_docs/ecs_data_quality_dashboard.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/ecsDataQualityDashboard title: "ecsDataQualityDashboard" image: https://source.unsplash.com/400x175/?github description: API docs for the ecsDataQualityDashboard plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'ecsDataQualityDashboard'] --- import ecsDataQualityDashboardObj from './ecs_data_quality_dashboard.devdocs.json'; diff --git a/api_docs/elastic_assistant.mdx b/api_docs/elastic_assistant.mdx index 4dc9076452bd..29f288b9ccc2 100644 --- a/api_docs/elastic_assistant.mdx +++ b/api_docs/elastic_assistant.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/elasticAssistant title: "elasticAssistant" image: https://source.unsplash.com/400x175/?github description: API docs for the elasticAssistant plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'elasticAssistant'] --- import elasticAssistantObj from './elastic_assistant.devdocs.json'; diff --git a/api_docs/embeddable.mdx b/api_docs/embeddable.mdx index 9efe6bbde92d..3dd86a1699e6 100644 --- a/api_docs/embeddable.mdx +++ b/api_docs/embeddable.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/embeddable title: "embeddable" image: https://source.unsplash.com/400x175/?github description: API docs for the embeddable plugin -date: 2023-09-07 +date: 2023-09-08 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 29581b584024..89ac3f34d57a 100644 --- a/api_docs/embeddable_enhanced.mdx +++ b/api_docs/embeddable_enhanced.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/embeddableEnhanced title: "embeddableEnhanced" image: https://source.unsplash.com/400x175/?github description: API docs for the embeddableEnhanced plugin -date: 2023-09-07 +date: 2023-09-08 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 43a8b841a437..ae9ef108a819 100644 --- a/api_docs/encrypted_saved_objects.mdx +++ b/api_docs/encrypted_saved_objects.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/encryptedSavedObjects title: "encryptedSavedObjects" image: https://source.unsplash.com/400x175/?github description: API docs for the encryptedSavedObjects plugin -date: 2023-09-07 +date: 2023-09-08 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 c32daf9c7593..4ba6b1b59828 100644 --- a/api_docs/enterprise_search.mdx +++ b/api_docs/enterprise_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/enterpriseSearch title: "enterpriseSearch" image: https://source.unsplash.com/400x175/?github description: API docs for the enterpriseSearch plugin -date: 2023-09-07 +date: 2023-09-08 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 c219fe71fa10..7871fc44e2c5 100644 --- a/api_docs/es_ui_shared.mdx +++ b/api_docs/es_ui_shared.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/esUiShared title: "esUiShared" image: https://source.unsplash.com/400x175/?github description: API docs for the esUiShared plugin -date: 2023-09-07 +date: 2023-09-08 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 70155bbdc431..f3c3aba720f6 100644 --- a/api_docs/event_annotation.mdx +++ b/api_docs/event_annotation.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/eventAnnotation title: "eventAnnotation" image: https://source.unsplash.com/400x175/?github description: API docs for the eventAnnotation plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'eventAnnotation'] --- import eventAnnotationObj from './event_annotation.devdocs.json'; diff --git a/api_docs/event_log.mdx b/api_docs/event_log.mdx index dc30b3cbe84e..db2178a379d0 100644 --- a/api_docs/event_log.mdx +++ b/api_docs/event_log.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/eventLog title: "eventLog" image: https://source.unsplash.com/400x175/?github description: API docs for the eventLog plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'eventLog'] --- import eventLogObj from './event_log.devdocs.json'; diff --git a/api_docs/exploratory_view.mdx b/api_docs/exploratory_view.mdx index e90935caffef..e41f09638c47 100644 --- a/api_docs/exploratory_view.mdx +++ b/api_docs/exploratory_view.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/exploratoryView title: "exploratoryView" image: https://source.unsplash.com/400x175/?github description: API docs for the exploratoryView plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'exploratoryView'] --- import exploratoryViewObj from './exploratory_view.devdocs.json'; diff --git a/api_docs/expression_error.mdx b/api_docs/expression_error.mdx index 5660e6626be0..722dbf00719a 100644 --- a/api_docs/expression_error.mdx +++ b/api_docs/expression_error.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionError title: "expressionError" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionError plugin -date: 2023-09-07 +date: 2023-09-08 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 fcd4815db7c2..9b99ef71fe03 100644 --- a/api_docs/expression_gauge.mdx +++ b/api_docs/expression_gauge.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionGauge title: "expressionGauge" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionGauge plugin -date: 2023-09-07 +date: 2023-09-08 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 eb6bccba953d..d7ae0c3b14a8 100644 --- a/api_docs/expression_heatmap.mdx +++ b/api_docs/expression_heatmap.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionHeatmap title: "expressionHeatmap" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionHeatmap plugin -date: 2023-09-07 +date: 2023-09-08 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 850488dff140..d6f835788669 100644 --- a/api_docs/expression_image.mdx +++ b/api_docs/expression_image.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionImage title: "expressionImage" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionImage plugin -date: 2023-09-07 +date: 2023-09-08 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 3a1d3f08cf58..77e022ab5456 100644 --- a/api_docs/expression_legacy_metric_vis.mdx +++ b/api_docs/expression_legacy_metric_vis.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionLegacyMetricVis title: "expressionLegacyMetricVis" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionLegacyMetricVis plugin -date: 2023-09-07 +date: 2023-09-08 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 3ad066d09a41..6c6b7d5dcd85 100644 --- a/api_docs/expression_metric.mdx +++ b/api_docs/expression_metric.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionMetric title: "expressionMetric" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionMetric plugin -date: 2023-09-07 +date: 2023-09-08 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 50f8eb0cc041..5cebde5950fc 100644 --- a/api_docs/expression_metric_vis.mdx +++ b/api_docs/expression_metric_vis.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionMetricVis title: "expressionMetricVis" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionMetricVis plugin -date: 2023-09-07 +date: 2023-09-08 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 231a4e040b80..b5af00049d0f 100644 --- a/api_docs/expression_partition_vis.mdx +++ b/api_docs/expression_partition_vis.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionPartitionVis title: "expressionPartitionVis" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionPartitionVis plugin -date: 2023-09-07 +date: 2023-09-08 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 da3dfe67bdc6..266c8c7db0ff 100644 --- a/api_docs/expression_repeat_image.mdx +++ b/api_docs/expression_repeat_image.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionRepeatImage title: "expressionRepeatImage" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionRepeatImage plugin -date: 2023-09-07 +date: 2023-09-08 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 51dcf3903022..4f8117542c74 100644 --- a/api_docs/expression_reveal_image.mdx +++ b/api_docs/expression_reveal_image.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionRevealImage title: "expressionRevealImage" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionRevealImage plugin -date: 2023-09-07 +date: 2023-09-08 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 d336e9dd9b1f..f81318a61a76 100644 --- a/api_docs/expression_shape.mdx +++ b/api_docs/expression_shape.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionShape title: "expressionShape" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionShape plugin -date: 2023-09-07 +date: 2023-09-08 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 86a5ba026e30..b3853b1a70a4 100644 --- a/api_docs/expression_tagcloud.mdx +++ b/api_docs/expression_tagcloud.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionTagcloud title: "expressionTagcloud" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionTagcloud plugin -date: 2023-09-07 +date: 2023-09-08 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 5b380facf2a6..0b61b3b5f389 100644 --- a/api_docs/expression_x_y.mdx +++ b/api_docs/expression_x_y.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionXY title: "expressionXY" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionXY plugin -date: 2023-09-07 +date: 2023-09-08 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 30f6121fa16b..ffe8a542e434 100644 --- a/api_docs/expressions.mdx +++ b/api_docs/expressions.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressions title: "expressions" image: https://source.unsplash.com/400x175/?github description: API docs for the expressions plugin -date: 2023-09-07 +date: 2023-09-08 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 402b2d208d32..1c463d8bd0d4 100644 --- a/api_docs/features.mdx +++ b/api_docs/features.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/features title: "features" image: https://source.unsplash.com/400x175/?github description: API docs for the features plugin -date: 2023-09-07 +date: 2023-09-08 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 14a92e780c05..1f68c374415c 100644 --- a/api_docs/field_formats.mdx +++ b/api_docs/field_formats.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/fieldFormats title: "fieldFormats" image: https://source.unsplash.com/400x175/?github description: API docs for the fieldFormats plugin -date: 2023-09-07 +date: 2023-09-08 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 68046facc540..961fbbc3f2b6 100644 --- a/api_docs/file_upload.mdx +++ b/api_docs/file_upload.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/fileUpload title: "fileUpload" image: https://source.unsplash.com/400x175/?github description: API docs for the fileUpload plugin -date: 2023-09-07 +date: 2023-09-08 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 6a5c90963804..8394270ea771 100644 --- a/api_docs/files.mdx +++ b/api_docs/files.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/files title: "files" image: https://source.unsplash.com/400x175/?github description: API docs for the files plugin -date: 2023-09-07 +date: 2023-09-08 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 847115d93944..735e98f3eecb 100644 --- a/api_docs/files_management.mdx +++ b/api_docs/files_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/filesManagement title: "filesManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the filesManagement plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'filesManagement'] --- import filesManagementObj from './files_management.devdocs.json'; diff --git a/api_docs/fleet.mdx b/api_docs/fleet.mdx index 46152edb131c..d4054644ef4d 100644 --- a/api_docs/fleet.mdx +++ b/api_docs/fleet.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/fleet title: "fleet" image: https://source.unsplash.com/400x175/?github description: API docs for the fleet plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'fleet'] --- import fleetObj from './fleet.devdocs.json'; diff --git a/api_docs/global_search.mdx b/api_docs/global_search.mdx index a1154dbe0723..eb5235ebe372 100644 --- a/api_docs/global_search.mdx +++ b/api_docs/global_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/globalSearch title: "globalSearch" image: https://source.unsplash.com/400x175/?github description: API docs for the globalSearch plugin -date: 2023-09-07 +date: 2023-09-08 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 a43178389241..c7e9498868d0 100644 --- a/api_docs/guided_onboarding.mdx +++ b/api_docs/guided_onboarding.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/guidedOnboarding title: "guidedOnboarding" image: https://source.unsplash.com/400x175/?github description: API docs for the guidedOnboarding plugin -date: 2023-09-07 +date: 2023-09-08 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 83a0998492eb..2b6ec6564ac1 100644 --- a/api_docs/home.mdx +++ b/api_docs/home.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/home title: "home" image: https://source.unsplash.com/400x175/?github description: API docs for the home plugin -date: 2023-09-07 +date: 2023-09-08 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 3e34787b3223..8b0e10171397 100644 --- a/api_docs/image_embeddable.mdx +++ b/api_docs/image_embeddable.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/imageEmbeddable title: "imageEmbeddable" image: https://source.unsplash.com/400x175/?github description: API docs for the imageEmbeddable plugin -date: 2023-09-07 +date: 2023-09-08 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 6cea83e831c4..9a7be0da2d34 100644 --- a/api_docs/index_lifecycle_management.mdx +++ b/api_docs/index_lifecycle_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/indexLifecycleManagement title: "indexLifecycleManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the indexLifecycleManagement plugin -date: 2023-09-07 +date: 2023-09-08 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 c0bdc91ad106..c06b56857d3d 100644 --- a/api_docs/index_management.mdx +++ b/api_docs/index_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/indexManagement title: "indexManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the indexManagement plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'indexManagement'] --- import indexManagementObj from './index_management.devdocs.json'; diff --git a/api_docs/infra.mdx b/api_docs/infra.mdx index 6438d7bef3b0..e20529504e9e 100644 --- a/api_docs/infra.mdx +++ b/api_docs/infra.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/infra title: "infra" image: https://source.unsplash.com/400x175/?github description: API docs for the infra plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'infra'] --- import infraObj from './infra.devdocs.json'; diff --git a/api_docs/inspector.mdx b/api_docs/inspector.mdx index ef20ede6f25e..61dae0d52bc0 100644 --- a/api_docs/inspector.mdx +++ b/api_docs/inspector.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/inspector title: "inspector" image: https://source.unsplash.com/400x175/?github description: API docs for the inspector plugin -date: 2023-09-07 +date: 2023-09-08 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 8a718916b979..9576c3c7c47c 100644 --- a/api_docs/interactive_setup.mdx +++ b/api_docs/interactive_setup.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/interactiveSetup title: "interactiveSetup" image: https://source.unsplash.com/400x175/?github description: API docs for the interactiveSetup plugin -date: 2023-09-07 +date: 2023-09-08 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 330942e72dbb..2696872c9ab7 100644 --- a/api_docs/kbn_ace.mdx +++ b/api_docs/kbn_ace.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ace title: "@kbn/ace" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ace plugin -date: 2023-09-07 +date: 2023-09-08 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 ff493b78f7ab..aa050c2e5673 100644 --- a/api_docs/kbn_aiops_components.mdx +++ b/api_docs/kbn_aiops_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-aiops-components title: "@kbn/aiops-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/aiops-components plugin -date: 2023-09-07 +date: 2023-09-08 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 4c8485413c73..65009c98e399 100644 --- a/api_docs/kbn_aiops_utils.mdx +++ b/api_docs/kbn_aiops_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-aiops-utils title: "@kbn/aiops-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/aiops-utils plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/aiops-utils'] --- import kbnAiopsUtilsObj from './kbn_aiops_utils.devdocs.json'; diff --git a/api_docs/kbn_alerting_api_integration_helpers.mdx b/api_docs/kbn_alerting_api_integration_helpers.mdx index d5c0a3a720eb..f0057aa1f640 100644 --- a/api_docs/kbn_alerting_api_integration_helpers.mdx +++ b/api_docs/kbn_alerting_api_integration_helpers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-alerting-api-integration-helpers title: "@kbn/alerting-api-integration-helpers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/alerting-api-integration-helpers plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/alerting-api-integration-helpers'] --- import kbnAlertingApiIntegrationHelpersObj from './kbn_alerting_api_integration_helpers.devdocs.json'; diff --git a/api_docs/kbn_alerting_state_types.mdx b/api_docs/kbn_alerting_state_types.mdx index 30a20b5b7e67..bc0ae73975ce 100644 --- a/api_docs/kbn_alerting_state_types.mdx +++ b/api_docs/kbn_alerting_state_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-alerting-state-types title: "@kbn/alerting-state-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/alerting-state-types plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/alerting-state-types'] --- import kbnAlertingStateTypesObj from './kbn_alerting_state_types.devdocs.json'; diff --git a/api_docs/kbn_alerts_as_data_utils.mdx b/api_docs/kbn_alerts_as_data_utils.mdx index b0e9a7e77c16..c21ba1c19750 100644 --- a/api_docs/kbn_alerts_as_data_utils.mdx +++ b/api_docs/kbn_alerts_as_data_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-alerts-as-data-utils title: "@kbn/alerts-as-data-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/alerts-as-data-utils plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/alerts-as-data-utils'] --- import kbnAlertsAsDataUtilsObj from './kbn_alerts_as_data_utils.devdocs.json'; diff --git a/api_docs/kbn_alerts_ui_shared.mdx b/api_docs/kbn_alerts_ui_shared.mdx index 7917182607af..640f71f170e9 100644 --- a/api_docs/kbn_alerts_ui_shared.mdx +++ b/api_docs/kbn_alerts_ui_shared.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-alerts-ui-shared title: "@kbn/alerts-ui-shared" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/alerts-ui-shared plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/alerts-ui-shared'] --- import kbnAlertsUiSharedObj from './kbn_alerts_ui_shared.devdocs.json'; diff --git a/api_docs/kbn_analytics.mdx b/api_docs/kbn_analytics.mdx index 48a2b6903a62..cb84088e44a2 100644 --- a/api_docs/kbn_analytics.mdx +++ b/api_docs/kbn_analytics.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics title: "@kbn/analytics" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics'] --- import kbnAnalyticsObj from './kbn_analytics.devdocs.json'; diff --git a/api_docs/kbn_analytics_client.mdx b/api_docs/kbn_analytics_client.mdx index 684cfafdde06..a9805e5088d4 100644 --- a/api_docs/kbn_analytics_client.mdx +++ b/api_docs/kbn_analytics_client.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-client title: "@kbn/analytics-client" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics-client plugin -date: 2023-09-07 +date: 2023-09-08 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 28fd548682a7..ffdc84a2be77 100644 --- a/api_docs/kbn_analytics_shippers_elastic_v3_browser.mdx +++ b/api_docs/kbn_analytics_shippers_elastic_v3_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-shippers-elastic-v3-browser title: "@kbn/analytics-shippers-elastic-v3-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics-shippers-elastic-v3-browser plugin -date: 2023-09-07 +date: 2023-09-08 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 1d5d26531a4e..1841304ecfa9 100644 --- a/api_docs/kbn_analytics_shippers_elastic_v3_common.mdx +++ b/api_docs/kbn_analytics_shippers_elastic_v3_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-shippers-elastic-v3-common title: "@kbn/analytics-shippers-elastic-v3-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics-shippers-elastic-v3-common plugin -date: 2023-09-07 +date: 2023-09-08 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 cd9270c4e001..340538358976 100644 --- a/api_docs/kbn_analytics_shippers_elastic_v3_server.mdx +++ b/api_docs/kbn_analytics_shippers_elastic_v3_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-shippers-elastic-v3-server title: "@kbn/analytics-shippers-elastic-v3-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics-shippers-elastic-v3-server plugin -date: 2023-09-07 +date: 2023-09-08 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 adc60b1779a7..34a8f04f4c47 100644 --- a/api_docs/kbn_analytics_shippers_fullstory.mdx +++ b/api_docs/kbn_analytics_shippers_fullstory.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-shippers-fullstory title: "@kbn/analytics-shippers-fullstory" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics-shippers-fullstory plugin -date: 2023-09-07 +date: 2023-09-08 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 b71ef0ac554c..8901ff1ab8da 100644 --- a/api_docs/kbn_analytics_shippers_gainsight.mdx +++ b/api_docs/kbn_analytics_shippers_gainsight.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-shippers-gainsight title: "@kbn/analytics-shippers-gainsight" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics-shippers-gainsight plugin -date: 2023-09-07 +date: 2023-09-08 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 b36c6907e4d3..d842542a0167 100644 --- a/api_docs/kbn_apm_config_loader.mdx +++ b/api_docs/kbn_apm_config_loader.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-apm-config-loader title: "@kbn/apm-config-loader" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/apm-config-loader plugin -date: 2023-09-07 +date: 2023-09-08 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 bec9988648d7..84bd7b4fb2ac 100644 --- a/api_docs/kbn_apm_synthtrace.mdx +++ b/api_docs/kbn_apm_synthtrace.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-apm-synthtrace title: "@kbn/apm-synthtrace" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/apm-synthtrace plugin -date: 2023-09-07 +date: 2023-09-08 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 beecec6ab6eb..749ab885e4c2 100644 --- a/api_docs/kbn_apm_synthtrace_client.mdx +++ b/api_docs/kbn_apm_synthtrace_client.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-apm-synthtrace-client title: "@kbn/apm-synthtrace-client" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/apm-synthtrace-client plugin -date: 2023-09-07 +date: 2023-09-08 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 57a2672d2cf0..29360ae39f66 100644 --- a/api_docs/kbn_apm_utils.mdx +++ b/api_docs/kbn_apm_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-apm-utils title: "@kbn/apm-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/apm-utils plugin -date: 2023-09-07 +date: 2023-09-08 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 c0a39d213903..f7720406d1bf 100644 --- a/api_docs/kbn_axe_config.mdx +++ b/api_docs/kbn_axe_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-axe-config title: "@kbn/axe-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/axe-config plugin -date: 2023-09-07 +date: 2023-09-08 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 e093e347f078..152571482ac8 100644 --- a/api_docs/kbn_cases_components.mdx +++ b/api_docs/kbn_cases_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-cases-components title: "@kbn/cases-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/cases-components plugin -date: 2023-09-07 +date: 2023-09-08 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 a913d3ec8262..5b31aef812c0 100644 --- a/api_docs/kbn_cell_actions.mdx +++ b/api_docs/kbn_cell_actions.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-cell-actions title: "@kbn/cell-actions" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/cell-actions plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/cell-actions'] --- import kbnCellActionsObj from './kbn_cell_actions.devdocs.json'; diff --git a/api_docs/kbn_chart_expressions_common.mdx b/api_docs/kbn_chart_expressions_common.mdx index 5e5c4c3a30eb..12443a3bddfc 100644 --- a/api_docs/kbn_chart_expressions_common.mdx +++ b/api_docs/kbn_chart_expressions_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-chart-expressions-common title: "@kbn/chart-expressions-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/chart-expressions-common plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/chart-expressions-common'] --- import kbnChartExpressionsCommonObj from './kbn_chart_expressions_common.devdocs.json'; diff --git a/api_docs/kbn_chart_icons.mdx b/api_docs/kbn_chart_icons.mdx index d39822273436..adb8324d93dd 100644 --- a/api_docs/kbn_chart_icons.mdx +++ b/api_docs/kbn_chart_icons.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-chart-icons title: "@kbn/chart-icons" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/chart-icons plugin -date: 2023-09-07 +date: 2023-09-08 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 9d33c066ecc5..4ef3a04fb1c3 100644 --- a/api_docs/kbn_ci_stats_core.mdx +++ b/api_docs/kbn_ci_stats_core.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ci-stats-core title: "@kbn/ci-stats-core" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ci-stats-core plugin -date: 2023-09-07 +date: 2023-09-08 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 ed7fac9ec796..93de39c51aa0 100644 --- a/api_docs/kbn_ci_stats_performance_metrics.mdx +++ b/api_docs/kbn_ci_stats_performance_metrics.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ci-stats-performance-metrics title: "@kbn/ci-stats-performance-metrics" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ci-stats-performance-metrics plugin -date: 2023-09-07 +date: 2023-09-08 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 8eb5e9a68cdd..82e20528eb25 100644 --- a/api_docs/kbn_ci_stats_reporter.mdx +++ b/api_docs/kbn_ci_stats_reporter.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ci-stats-reporter title: "@kbn/ci-stats-reporter" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ci-stats-reporter plugin -date: 2023-09-07 +date: 2023-09-08 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 3c993497d164..70a5e6d36e0f 100644 --- a/api_docs/kbn_cli_dev_mode.mdx +++ b/api_docs/kbn_cli_dev_mode.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-cli-dev-mode title: "@kbn/cli-dev-mode" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/cli-dev-mode plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/cli-dev-mode'] --- import kbnCliDevModeObj from './kbn_cli_dev_mode.devdocs.json'; diff --git a/api_docs/kbn_code_editor.mdx b/api_docs/kbn_code_editor.mdx index bbca62b4dc64..db55867ac0d8 100644 --- a/api_docs/kbn_code_editor.mdx +++ b/api_docs/kbn_code_editor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-code-editor title: "@kbn/code-editor" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/code-editor plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/code-editor'] --- import kbnCodeEditorObj from './kbn_code_editor.devdocs.json'; diff --git a/api_docs/kbn_code_editor_mocks.mdx b/api_docs/kbn_code_editor_mocks.mdx index 0ec207be992e..4354c411cf92 100644 --- a/api_docs/kbn_code_editor_mocks.mdx +++ b/api_docs/kbn_code_editor_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-code-editor-mocks title: "@kbn/code-editor-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/code-editor-mocks plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/code-editor-mocks'] --- import kbnCodeEditorMocksObj from './kbn_code_editor_mocks.devdocs.json'; diff --git a/api_docs/kbn_coloring.mdx b/api_docs/kbn_coloring.mdx index 316b933b7537..eb06303c4110 100644 --- a/api_docs/kbn_coloring.mdx +++ b/api_docs/kbn_coloring.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-coloring title: "@kbn/coloring" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/coloring plugin -date: 2023-09-07 +date: 2023-09-08 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 8018cf8547bc..ca3d97119584 100644 --- a/api_docs/kbn_config.mdx +++ b/api_docs/kbn_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-config title: "@kbn/config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/config plugin -date: 2023-09-07 +date: 2023-09-08 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 fdf8e0744751..61853bd87aeb 100644 --- a/api_docs/kbn_config_mocks.mdx +++ b/api_docs/kbn_config_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-config-mocks title: "@kbn/config-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/config-mocks plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/config-mocks'] --- import kbnConfigMocksObj from './kbn_config_mocks.devdocs.json'; diff --git a/api_docs/kbn_config_schema.devdocs.json b/api_docs/kbn_config_schema.devdocs.json index 4d82048910c6..aa5023e4e9fc 100644 --- a/api_docs/kbn_config_schema.devdocs.json +++ b/api_docs/kbn_config_schema.devdocs.json @@ -1878,7 +1878,105 @@ "section": "def-common.ObjectType", "text": "ObjectType" }, - "

; oneOf: { (types: [", + "

; oneOf: { (types: [", + { + "pluginId": "@kbn/config-schema", + "scope": "common", + "docId": "kibKbnConfigSchemaPluginApi", + "section": "def-common.Type", + "text": "Type" + }, + ", ", + { + "pluginId": "@kbn/config-schema", + "scope": "common", + "docId": "kibKbnConfigSchemaPluginApi", + "section": "def-common.Type", + "text": "Type" + }, + ", ", + { + "pluginId": "@kbn/config-schema", + "scope": "common", + "docId": "kibKbnConfigSchemaPluginApi", + "section": "def-common.Type", + "text": "Type" + }, + ", ", + { + "pluginId": "@kbn/config-schema", + "scope": "common", + "docId": "kibKbnConfigSchemaPluginApi", + "section": "def-common.Type", + "text": "Type" + }, + ", ", + { + "pluginId": "@kbn/config-schema", + "scope": "common", + "docId": "kibKbnConfigSchemaPluginApi", + "section": "def-common.Type", + "text": "Type" + }, + ", ", + { + "pluginId": "@kbn/config-schema", + "scope": "common", + "docId": "kibKbnConfigSchemaPluginApi", + "section": "def-common.Type", + "text": "Type" + }, + ", ", + { + "pluginId": "@kbn/config-schema", + "scope": "common", + "docId": "kibKbnConfigSchemaPluginApi", + "section": "def-common.Type", + "text": "Type" + }, + ", ", + { + "pluginId": "@kbn/config-schema", + "scope": "common", + "docId": "kibKbnConfigSchemaPluginApi", + "section": "def-common.Type", + "text": "Type" + }, + ", ", + { + "pluginId": "@kbn/config-schema", + "scope": "common", + "docId": "kibKbnConfigSchemaPluginApi", + "section": "def-common.Type", + "text": "Type" + }, + ", ", + { + "pluginId": "@kbn/config-schema", + "scope": "common", + "docId": "kibKbnConfigSchemaPluginApi", + "section": "def-common.Type", + "text": "Type" + }, + ", ", + { + "pluginId": "@kbn/config-schema", + "scope": "common", + "docId": "kibKbnConfigSchemaPluginApi", + "section": "def-common.Type", + "text": "Type" + }, + "], options?: ", + "TypeOptions", + " | undefined): ", + { + "pluginId": "@kbn/config-schema", + "scope": "common", + "docId": "kibKbnConfigSchemaPluginApi", + "section": "def-common.Type", + "text": "Type" + }, + "; (types: [", { "pluginId": "@kbn/config-schema", "scope": "common", @@ -3413,7 +3511,105 @@ "label": "oneOf", "description": [], "signature": [ - "{ (types: [", + "{ (types: [", + { + "pluginId": "@kbn/config-schema", + "scope": "common", + "docId": "kibKbnConfigSchemaPluginApi", + "section": "def-common.Type", + "text": "Type" + }, + ", ", + { + "pluginId": "@kbn/config-schema", + "scope": "common", + "docId": "kibKbnConfigSchemaPluginApi", + "section": "def-common.Type", + "text": "Type" + }, + ", ", + { + "pluginId": "@kbn/config-schema", + "scope": "common", + "docId": "kibKbnConfigSchemaPluginApi", + "section": "def-common.Type", + "text": "Type" + }, + ", ", + { + "pluginId": "@kbn/config-schema", + "scope": "common", + "docId": "kibKbnConfigSchemaPluginApi", + "section": "def-common.Type", + "text": "Type" + }, + ", ", + { + "pluginId": "@kbn/config-schema", + "scope": "common", + "docId": "kibKbnConfigSchemaPluginApi", + "section": "def-common.Type", + "text": "Type" + }, + ", ", + { + "pluginId": "@kbn/config-schema", + "scope": "common", + "docId": "kibKbnConfigSchemaPluginApi", + "section": "def-common.Type", + "text": "Type" + }, + ", ", + { + "pluginId": "@kbn/config-schema", + "scope": "common", + "docId": "kibKbnConfigSchemaPluginApi", + "section": "def-common.Type", + "text": "Type" + }, + ", ", + { + "pluginId": "@kbn/config-schema", + "scope": "common", + "docId": "kibKbnConfigSchemaPluginApi", + "section": "def-common.Type", + "text": "Type" + }, + ", ", + { + "pluginId": "@kbn/config-schema", + "scope": "common", + "docId": "kibKbnConfigSchemaPluginApi", + "section": "def-common.Type", + "text": "Type" + }, + ", ", + { + "pluginId": "@kbn/config-schema", + "scope": "common", + "docId": "kibKbnConfigSchemaPluginApi", + "section": "def-common.Type", + "text": "Type" + }, + ", ", + { + "pluginId": "@kbn/config-schema", + "scope": "common", + "docId": "kibKbnConfigSchemaPluginApi", + "section": "def-common.Type", + "text": "Type" + }, + "], options?: ", + "TypeOptions", + " | undefined): ", + { + "pluginId": "@kbn/config-schema", + "scope": "common", + "docId": "kibKbnConfigSchemaPluginApi", + "section": "def-common.Type", + "text": "Type" + }, + "; (types: [", { "pluginId": "@kbn/config-schema", "scope": "common", diff --git a/api_docs/kbn_config_schema.mdx b/api_docs/kbn_config_schema.mdx index f4abb9b1124a..22e4c6d7e968 100644 --- a/api_docs/kbn_config_schema.mdx +++ b/api_docs/kbn_config_schema.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-config-schema title: "@kbn/config-schema" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/config-schema plugin -date: 2023-09-07 +date: 2023-09-08 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 13f8fff01aa8..9d4a5a532953 100644 --- a/api_docs/kbn_content_management_content_editor.mdx +++ b/api_docs/kbn_content_management_content_editor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-content-editor title: "@kbn/content-management-content-editor" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/content-management-content-editor plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-content-editor'] --- import kbnContentManagementContentEditorObj from './kbn_content_management_content_editor.devdocs.json'; diff --git a/api_docs/kbn_content_management_tabbed_table_list_view.mdx b/api_docs/kbn_content_management_tabbed_table_list_view.mdx index 42a0718e80b2..f1cfb688d74c 100644 --- a/api_docs/kbn_content_management_tabbed_table_list_view.mdx +++ b/api_docs/kbn_content_management_tabbed_table_list_view.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-tabbed-table-list-view title: "@kbn/content-management-tabbed-table-list-view" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/content-management-tabbed-table-list-view plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-tabbed-table-list-view'] --- import kbnContentManagementTabbedTableListViewObj from './kbn_content_management_tabbed_table_list_view.devdocs.json'; diff --git a/api_docs/kbn_content_management_table_list_view.mdx b/api_docs/kbn_content_management_table_list_view.mdx index 12dcf021cdfd..3fc90f95c25c 100644 --- a/api_docs/kbn_content_management_table_list_view.mdx +++ b/api_docs/kbn_content_management_table_list_view.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-table-list-view title: "@kbn/content-management-table-list-view" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/content-management-table-list-view plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-table-list-view'] --- import kbnContentManagementTableListViewObj from './kbn_content_management_table_list_view.devdocs.json'; diff --git a/api_docs/kbn_content_management_table_list_view_table.mdx b/api_docs/kbn_content_management_table_list_view_table.mdx index c9e141aa12e4..99ad7eacb4ab 100644 --- a/api_docs/kbn_content_management_table_list_view_table.mdx +++ b/api_docs/kbn_content_management_table_list_view_table.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-table-list-view-table title: "@kbn/content-management-table-list-view-table" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/content-management-table-list-view-table plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-table-list-view-table'] --- import kbnContentManagementTableListViewTableObj from './kbn_content_management_table_list_view_table.devdocs.json'; diff --git a/api_docs/kbn_content_management_utils.mdx b/api_docs/kbn_content_management_utils.mdx index e6b86ef2d6bd..0ca92f06ea2e 100644 --- a/api_docs/kbn_content_management_utils.mdx +++ b/api_docs/kbn_content_management_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-utils title: "@kbn/content-management-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/content-management-utils plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-utils'] --- import kbnContentManagementUtilsObj from './kbn_content_management_utils.devdocs.json'; diff --git a/api_docs/kbn_core_analytics_browser.mdx b/api_docs/kbn_core_analytics_browser.mdx index 0429261727cd..855c2d3a2d47 100644 --- a/api_docs/kbn_core_analytics_browser.mdx +++ b/api_docs/kbn_core_analytics_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-browser title: "@kbn/core-analytics-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-browser plugin -date: 2023-09-07 +date: 2023-09-08 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 38f2eb50e714..e02d5005a270 100644 --- a/api_docs/kbn_core_analytics_browser_internal.mdx +++ b/api_docs/kbn_core_analytics_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-browser-internal title: "@kbn/core-analytics-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-browser-internal plugin -date: 2023-09-07 +date: 2023-09-08 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 9eb7c9801d22..d72b5d17c714 100644 --- a/api_docs/kbn_core_analytics_browser_mocks.mdx +++ b/api_docs/kbn_core_analytics_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-browser-mocks title: "@kbn/core-analytics-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-browser-mocks plugin -date: 2023-09-07 +date: 2023-09-08 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 40fb19fef46f..481dbeff75d8 100644 --- a/api_docs/kbn_core_analytics_server.mdx +++ b/api_docs/kbn_core_analytics_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-server title: "@kbn/core-analytics-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-server plugin -date: 2023-09-07 +date: 2023-09-08 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 02ebfef81b1d..d1d4c99e9fbc 100644 --- a/api_docs/kbn_core_analytics_server_internal.mdx +++ b/api_docs/kbn_core_analytics_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-server-internal title: "@kbn/core-analytics-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-server-internal plugin -date: 2023-09-07 +date: 2023-09-08 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 8a7f32b239d7..ee268d87becf 100644 --- a/api_docs/kbn_core_analytics_server_mocks.mdx +++ b/api_docs/kbn_core_analytics_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-server-mocks title: "@kbn/core-analytics-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-server-mocks plugin -date: 2023-09-07 +date: 2023-09-08 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 4fb66ea9346e..200c493802aa 100644 --- a/api_docs/kbn_core_application_browser.mdx +++ b/api_docs/kbn_core_application_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-application-browser title: "@kbn/core-application-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-application-browser plugin -date: 2023-09-07 +date: 2023-09-08 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 78d35d01e239..9100a7bc0907 100644 --- a/api_docs/kbn_core_application_browser_internal.mdx +++ b/api_docs/kbn_core_application_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-application-browser-internal title: "@kbn/core-application-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-application-browser-internal plugin -date: 2023-09-07 +date: 2023-09-08 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 31a1869989a4..72baff86f857 100644 --- a/api_docs/kbn_core_application_browser_mocks.mdx +++ b/api_docs/kbn_core_application_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-application-browser-mocks title: "@kbn/core-application-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-application-browser-mocks plugin -date: 2023-09-07 +date: 2023-09-08 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 0c2b8e773acb..0071f4ad7e76 100644 --- a/api_docs/kbn_core_application_common.mdx +++ b/api_docs/kbn_core_application_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-application-common title: "@kbn/core-application-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-application-common plugin -date: 2023-09-07 +date: 2023-09-08 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 cd52a5c8d21e..a27d7e55742f 100644 --- a/api_docs/kbn_core_apps_browser_internal.mdx +++ b/api_docs/kbn_core_apps_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-apps-browser-internal title: "@kbn/core-apps-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-apps-browser-internal plugin -date: 2023-09-07 +date: 2023-09-08 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 2a2e1e5a29ea..5dabac7f426a 100644 --- a/api_docs/kbn_core_apps_browser_mocks.mdx +++ b/api_docs/kbn_core_apps_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-apps-browser-mocks title: "@kbn/core-apps-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-apps-browser-mocks plugin -date: 2023-09-07 +date: 2023-09-08 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 f43f1970440d..5218078d521c 100644 --- a/api_docs/kbn_core_apps_server_internal.mdx +++ b/api_docs/kbn_core_apps_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-apps-server-internal title: "@kbn/core-apps-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-apps-server-internal plugin -date: 2023-09-07 +date: 2023-09-08 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 41b448e561e4..310f861dfaa4 100644 --- a/api_docs/kbn_core_base_browser_mocks.mdx +++ b/api_docs/kbn_core_base_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-base-browser-mocks title: "@kbn/core-base-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-base-browser-mocks plugin -date: 2023-09-07 +date: 2023-09-08 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 0f0a96d97649..e0478f7488fa 100644 --- a/api_docs/kbn_core_base_common.mdx +++ b/api_docs/kbn_core_base_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-base-common title: "@kbn/core-base-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-base-common plugin -date: 2023-09-07 +date: 2023-09-08 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 be9c3b18d768..ce95be0e114e 100644 --- a/api_docs/kbn_core_base_server_internal.mdx +++ b/api_docs/kbn_core_base_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-base-server-internal title: "@kbn/core-base-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-base-server-internal plugin -date: 2023-09-07 +date: 2023-09-08 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 0eb07761075e..5bf84a3b8842 100644 --- a/api_docs/kbn_core_base_server_mocks.mdx +++ b/api_docs/kbn_core_base_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-base-server-mocks title: "@kbn/core-base-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-base-server-mocks plugin -date: 2023-09-07 +date: 2023-09-08 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 f8c10e870ff8..c0cd5499fa5d 100644 --- a/api_docs/kbn_core_capabilities_browser_mocks.mdx +++ b/api_docs/kbn_core_capabilities_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-capabilities-browser-mocks title: "@kbn/core-capabilities-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-capabilities-browser-mocks plugin -date: 2023-09-07 +date: 2023-09-08 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 bc782cdacaed..e3657747b22b 100644 --- a/api_docs/kbn_core_capabilities_common.mdx +++ b/api_docs/kbn_core_capabilities_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-capabilities-common title: "@kbn/core-capabilities-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-capabilities-common plugin -date: 2023-09-07 +date: 2023-09-08 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 5c16e81530ba..8d168e090632 100644 --- a/api_docs/kbn_core_capabilities_server.mdx +++ b/api_docs/kbn_core_capabilities_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-capabilities-server title: "@kbn/core-capabilities-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-capabilities-server plugin -date: 2023-09-07 +date: 2023-09-08 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 a670c917659d..0abc0b225845 100644 --- a/api_docs/kbn_core_capabilities_server_mocks.mdx +++ b/api_docs/kbn_core_capabilities_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-capabilities-server-mocks title: "@kbn/core-capabilities-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-capabilities-server-mocks plugin -date: 2023-09-07 +date: 2023-09-08 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 758c4ae94685..948aebef8079 100644 --- a/api_docs/kbn_core_chrome_browser.mdx +++ b/api_docs/kbn_core_chrome_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-chrome-browser title: "@kbn/core-chrome-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-chrome-browser plugin -date: 2023-09-07 +date: 2023-09-08 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 f0b481abda1f..ccc5d573adfb 100644 --- a/api_docs/kbn_core_chrome_browser_mocks.mdx +++ b/api_docs/kbn_core_chrome_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-chrome-browser-mocks title: "@kbn/core-chrome-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-chrome-browser-mocks plugin -date: 2023-09-07 +date: 2023-09-08 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 c5e4edec4e07..593ea1034e17 100644 --- a/api_docs/kbn_core_config_server_internal.mdx +++ b/api_docs/kbn_core_config_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-config-server-internal title: "@kbn/core-config-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-config-server-internal plugin -date: 2023-09-07 +date: 2023-09-08 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 8941858b808d..a93df98f9687 100644 --- a/api_docs/kbn_core_custom_branding_browser.mdx +++ b/api_docs/kbn_core_custom_branding_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-browser title: "@kbn/core-custom-branding-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-browser plugin -date: 2023-09-07 +date: 2023-09-08 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 23d9af62b888..3e27fdb24916 100644 --- a/api_docs/kbn_core_custom_branding_browser_internal.mdx +++ b/api_docs/kbn_core_custom_branding_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-browser-internal title: "@kbn/core-custom-branding-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-browser-internal plugin -date: 2023-09-07 +date: 2023-09-08 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 abb14e4955fd..39189f77795d 100644 --- a/api_docs/kbn_core_custom_branding_browser_mocks.mdx +++ b/api_docs/kbn_core_custom_branding_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-browser-mocks title: "@kbn/core-custom-branding-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-browser-mocks plugin -date: 2023-09-07 +date: 2023-09-08 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 63ce4abadc29..976809282741 100644 --- a/api_docs/kbn_core_custom_branding_common.mdx +++ b/api_docs/kbn_core_custom_branding_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-common title: "@kbn/core-custom-branding-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-common plugin -date: 2023-09-07 +date: 2023-09-08 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 c6ff4d0234f5..ebd0b06ab43d 100644 --- a/api_docs/kbn_core_custom_branding_server.mdx +++ b/api_docs/kbn_core_custom_branding_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-server title: "@kbn/core-custom-branding-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-server plugin -date: 2023-09-07 +date: 2023-09-08 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 feebc541b30f..f94edebbad93 100644 --- a/api_docs/kbn_core_custom_branding_server_internal.mdx +++ b/api_docs/kbn_core_custom_branding_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-server-internal title: "@kbn/core-custom-branding-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-server-internal plugin -date: 2023-09-07 +date: 2023-09-08 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 1e6c81e2ad47..3670ead1fda2 100644 --- a/api_docs/kbn_core_custom_branding_server_mocks.mdx +++ b/api_docs/kbn_core_custom_branding_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-server-mocks title: "@kbn/core-custom-branding-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-server-mocks plugin -date: 2023-09-07 +date: 2023-09-08 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 f399c7d405c5..222c2abdb89e 100644 --- a/api_docs/kbn_core_deprecations_browser.mdx +++ b/api_docs/kbn_core_deprecations_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-browser title: "@kbn/core-deprecations-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-browser plugin -date: 2023-09-07 +date: 2023-09-08 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 32b96990596d..8b4f65106b36 100644 --- a/api_docs/kbn_core_deprecations_browser_internal.mdx +++ b/api_docs/kbn_core_deprecations_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-browser-internal title: "@kbn/core-deprecations-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-browser-internal plugin -date: 2023-09-07 +date: 2023-09-08 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 320315150ed6..653ec5b94c7b 100644 --- a/api_docs/kbn_core_deprecations_browser_mocks.mdx +++ b/api_docs/kbn_core_deprecations_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-browser-mocks title: "@kbn/core-deprecations-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-browser-mocks plugin -date: 2023-09-07 +date: 2023-09-08 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 43a9e3b142ce..4394e0424ca7 100644 --- a/api_docs/kbn_core_deprecations_common.mdx +++ b/api_docs/kbn_core_deprecations_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-common title: "@kbn/core-deprecations-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-common plugin -date: 2023-09-07 +date: 2023-09-08 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 0bdef9ceb70a..3b6468d8cd78 100644 --- a/api_docs/kbn_core_deprecations_server.mdx +++ b/api_docs/kbn_core_deprecations_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-server title: "@kbn/core-deprecations-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-server plugin -date: 2023-09-07 +date: 2023-09-08 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 eeba0ee03fef..f9b7ad0e8e8a 100644 --- a/api_docs/kbn_core_deprecations_server_internal.mdx +++ b/api_docs/kbn_core_deprecations_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-server-internal title: "@kbn/core-deprecations-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-server-internal plugin -date: 2023-09-07 +date: 2023-09-08 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 65472f635696..feb9f01c7761 100644 --- a/api_docs/kbn_core_deprecations_server_mocks.mdx +++ b/api_docs/kbn_core_deprecations_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-server-mocks title: "@kbn/core-deprecations-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-server-mocks plugin -date: 2023-09-07 +date: 2023-09-08 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 880bc113f654..85bd1b78da71 100644 --- a/api_docs/kbn_core_doc_links_browser.mdx +++ b/api_docs/kbn_core_doc_links_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-doc-links-browser title: "@kbn/core-doc-links-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-doc-links-browser plugin -date: 2023-09-07 +date: 2023-09-08 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 1592f733c594..9464ee2e493f 100644 --- a/api_docs/kbn_core_doc_links_browser_mocks.mdx +++ b/api_docs/kbn_core_doc_links_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-doc-links-browser-mocks title: "@kbn/core-doc-links-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-doc-links-browser-mocks plugin -date: 2023-09-07 +date: 2023-09-08 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 b95faa4ae261..5dd4226b66b6 100644 --- a/api_docs/kbn_core_doc_links_server.mdx +++ b/api_docs/kbn_core_doc_links_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-doc-links-server title: "@kbn/core-doc-links-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-doc-links-server plugin -date: 2023-09-07 +date: 2023-09-08 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 6eb4ce835469..fd1a2428df99 100644 --- a/api_docs/kbn_core_doc_links_server_mocks.mdx +++ b/api_docs/kbn_core_doc_links_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-doc-links-server-mocks title: "@kbn/core-doc-links-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-doc-links-server-mocks plugin -date: 2023-09-07 +date: 2023-09-08 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 6b789d924c02..2826aa035490 100644 --- a/api_docs/kbn_core_elasticsearch_client_server_internal.mdx +++ b/api_docs/kbn_core_elasticsearch_client_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-elasticsearch-client-server-internal title: "@kbn/core-elasticsearch-client-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-elasticsearch-client-server-internal plugin -date: 2023-09-07 +date: 2023-09-08 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 5e9ce72774d2..05762a08155e 100644 --- a/api_docs/kbn_core_elasticsearch_client_server_mocks.mdx +++ b/api_docs/kbn_core_elasticsearch_client_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-elasticsearch-client-server-mocks title: "@kbn/core-elasticsearch-client-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-elasticsearch-client-server-mocks plugin -date: 2023-09-07 +date: 2023-09-08 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 31fc850565dd..4d13a8d4de86 100644 --- a/api_docs/kbn_core_elasticsearch_server.mdx +++ b/api_docs/kbn_core_elasticsearch_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-elasticsearch-server title: "@kbn/core-elasticsearch-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-elasticsearch-server plugin -date: 2023-09-07 +date: 2023-09-08 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 61bed730f2d6..e19eb659072e 100644 --- a/api_docs/kbn_core_elasticsearch_server_internal.mdx +++ b/api_docs/kbn_core_elasticsearch_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-elasticsearch-server-internal title: "@kbn/core-elasticsearch-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-elasticsearch-server-internal plugin -date: 2023-09-07 +date: 2023-09-08 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 82641eba3939..60ac849241e1 100644 --- a/api_docs/kbn_core_elasticsearch_server_mocks.mdx +++ b/api_docs/kbn_core_elasticsearch_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-elasticsearch-server-mocks title: "@kbn/core-elasticsearch-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-elasticsearch-server-mocks plugin -date: 2023-09-07 +date: 2023-09-08 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 d7d929fa71b4..4fe8316d4356 100644 --- a/api_docs/kbn_core_environment_server_internal.mdx +++ b/api_docs/kbn_core_environment_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-environment-server-internal title: "@kbn/core-environment-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-environment-server-internal plugin -date: 2023-09-07 +date: 2023-09-08 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 401a1d549491..5011a2f28cfa 100644 --- a/api_docs/kbn_core_environment_server_mocks.mdx +++ b/api_docs/kbn_core_environment_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-environment-server-mocks title: "@kbn/core-environment-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-environment-server-mocks plugin -date: 2023-09-07 +date: 2023-09-08 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 85e5436096ae..2c74e7259cb8 100644 --- a/api_docs/kbn_core_execution_context_browser.mdx +++ b/api_docs/kbn_core_execution_context_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-browser title: "@kbn/core-execution-context-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-browser plugin -date: 2023-09-07 +date: 2023-09-08 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 120badd2fefb..84332fc49646 100644 --- a/api_docs/kbn_core_execution_context_browser_internal.mdx +++ b/api_docs/kbn_core_execution_context_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-browser-internal title: "@kbn/core-execution-context-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-browser-internal plugin -date: 2023-09-07 +date: 2023-09-08 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 c00f808ca5b0..ec0a95450a5e 100644 --- a/api_docs/kbn_core_execution_context_browser_mocks.mdx +++ b/api_docs/kbn_core_execution_context_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-browser-mocks title: "@kbn/core-execution-context-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-browser-mocks plugin -date: 2023-09-07 +date: 2023-09-08 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 9dd22e864625..e175e66f365d 100644 --- a/api_docs/kbn_core_execution_context_common.mdx +++ b/api_docs/kbn_core_execution_context_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-common title: "@kbn/core-execution-context-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-common plugin -date: 2023-09-07 +date: 2023-09-08 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 64c41920f397..101b01486e27 100644 --- a/api_docs/kbn_core_execution_context_server.mdx +++ b/api_docs/kbn_core_execution_context_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-server title: "@kbn/core-execution-context-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-server plugin -date: 2023-09-07 +date: 2023-09-08 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 03bd3040e43b..19288cba030e 100644 --- a/api_docs/kbn_core_execution_context_server_internal.mdx +++ b/api_docs/kbn_core_execution_context_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-server-internal title: "@kbn/core-execution-context-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-server-internal plugin -date: 2023-09-07 +date: 2023-09-08 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 77119ac2c698..b9c14a45a136 100644 --- a/api_docs/kbn_core_execution_context_server_mocks.mdx +++ b/api_docs/kbn_core_execution_context_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-server-mocks title: "@kbn/core-execution-context-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-server-mocks plugin -date: 2023-09-07 +date: 2023-09-08 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 28936ae4fc3d..a039a1dc3bf8 100644 --- a/api_docs/kbn_core_fatal_errors_browser.mdx +++ b/api_docs/kbn_core_fatal_errors_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-fatal-errors-browser title: "@kbn/core-fatal-errors-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-fatal-errors-browser plugin -date: 2023-09-07 +date: 2023-09-08 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 942682303915..a3267c00d834 100644 --- a/api_docs/kbn_core_fatal_errors_browser_mocks.mdx +++ b/api_docs/kbn_core_fatal_errors_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-fatal-errors-browser-mocks title: "@kbn/core-fatal-errors-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-fatal-errors-browser-mocks plugin -date: 2023-09-07 +date: 2023-09-08 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 53ec6ce4d6f0..3e3824c52d9a 100644 --- a/api_docs/kbn_core_http_browser.mdx +++ b/api_docs/kbn_core_http_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-browser title: "@kbn/core-http-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-browser plugin -date: 2023-09-07 +date: 2023-09-08 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 c5de9d0c961b..48129ca13af5 100644 --- a/api_docs/kbn_core_http_browser_internal.mdx +++ b/api_docs/kbn_core_http_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-browser-internal title: "@kbn/core-http-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-browser-internal plugin -date: 2023-09-07 +date: 2023-09-08 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 4b663f774b0a..63d8da93ba46 100644 --- a/api_docs/kbn_core_http_browser_mocks.mdx +++ b/api_docs/kbn_core_http_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-browser-mocks title: "@kbn/core-http-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-browser-mocks plugin -date: 2023-09-07 +date: 2023-09-08 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 5dc2bd7736ae..49b9419215b1 100644 --- a/api_docs/kbn_core_http_common.mdx +++ b/api_docs/kbn_core_http_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-common title: "@kbn/core-http-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-common plugin -date: 2023-09-07 +date: 2023-09-08 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 4ac9685e087e..b26a92a05635 100644 --- a/api_docs/kbn_core_http_context_server_mocks.mdx +++ b/api_docs/kbn_core_http_context_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-context-server-mocks title: "@kbn/core-http-context-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-context-server-mocks plugin -date: 2023-09-07 +date: 2023-09-08 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 3b96ef5c515c..67ae74d716b4 100644 --- a/api_docs/kbn_core_http_request_handler_context_server.mdx +++ b/api_docs/kbn_core_http_request_handler_context_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-request-handler-context-server title: "@kbn/core-http-request-handler-context-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-request-handler-context-server plugin -date: 2023-09-07 +date: 2023-09-08 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 c889eb7eb6a4..516514f140a3 100644 --- a/api_docs/kbn_core_http_resources_server.mdx +++ b/api_docs/kbn_core_http_resources_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-resources-server title: "@kbn/core-http-resources-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-resources-server plugin -date: 2023-09-07 +date: 2023-09-08 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 efcb6da5001c..1b6a2f0ceeef 100644 --- a/api_docs/kbn_core_http_resources_server_internal.mdx +++ b/api_docs/kbn_core_http_resources_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-resources-server-internal title: "@kbn/core-http-resources-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-resources-server-internal plugin -date: 2023-09-07 +date: 2023-09-08 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 659798f13843..b8fa7f8a42f6 100644 --- a/api_docs/kbn_core_http_resources_server_mocks.mdx +++ b/api_docs/kbn_core_http_resources_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-resources-server-mocks title: "@kbn/core-http-resources-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-resources-server-mocks plugin -date: 2023-09-07 +date: 2023-09-08 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 0eef46e75998..3d6a7c95bc35 100644 --- a/api_docs/kbn_core_http_router_server_internal.mdx +++ b/api_docs/kbn_core_http_router_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-router-server-internal title: "@kbn/core-http-router-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-router-server-internal plugin -date: 2023-09-07 +date: 2023-09-08 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 836015fccff6..6a2eb40ed580 100644 --- a/api_docs/kbn_core_http_router_server_mocks.mdx +++ b/api_docs/kbn_core_http_router_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-router-server-mocks title: "@kbn/core-http-router-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-router-server-mocks plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-router-server-mocks'] --- import kbnCoreHttpRouterServerMocksObj from './kbn_core_http_router_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_http_server.devdocs.json b/api_docs/kbn_core_http_server.devdocs.json index 0bf60b56126f..796deb8bd12d 100644 --- a/api_docs/kbn_core_http_server.devdocs.json +++ b/api_docs/kbn_core_http_server.devdocs.json @@ -7979,6 +7979,10 @@ "plugin": "reporting", "path": "x-pack/plugins/reporting/server/routes/internal/deprecations/deprecations.ts" }, + { + "plugin": "indexManagement", + "path": "x-pack/plugins/index_management/server/routes/api/indices/register_create_route.ts" + }, { "plugin": "indexManagement", "path": "x-pack/plugins/index_management/server/routes/api/templates/register_update_route.ts" diff --git a/api_docs/kbn_core_http_server.mdx b/api_docs/kbn_core_http_server.mdx index 524c28f9f58d..f0356876f6eb 100644 --- a/api_docs/kbn_core_http_server.mdx +++ b/api_docs/kbn_core_http_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-server title: "@kbn/core-http-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-server plugin -date: 2023-09-07 +date: 2023-09-08 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 643cd4bd6ba1..78ea22a2b5c5 100644 --- a/api_docs/kbn_core_http_server_internal.mdx +++ b/api_docs/kbn_core_http_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-server-internal title: "@kbn/core-http-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-server-internal plugin -date: 2023-09-07 +date: 2023-09-08 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 764aa8b3aae4..a5f084f4c480 100644 --- a/api_docs/kbn_core_http_server_mocks.mdx +++ b/api_docs/kbn_core_http_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-server-mocks title: "@kbn/core-http-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-server-mocks plugin -date: 2023-09-07 +date: 2023-09-08 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 022d4442cbf8..abbbe440d31b 100644 --- a/api_docs/kbn_core_i18n_browser.mdx +++ b/api_docs/kbn_core_i18n_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-i18n-browser title: "@kbn/core-i18n-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-i18n-browser plugin -date: 2023-09-07 +date: 2023-09-08 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 0a12f1a1df1c..5ddf3c9777b2 100644 --- a/api_docs/kbn_core_i18n_browser_mocks.mdx +++ b/api_docs/kbn_core_i18n_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-i18n-browser-mocks title: "@kbn/core-i18n-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-i18n-browser-mocks plugin -date: 2023-09-07 +date: 2023-09-08 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 bd2e72eaf3fc..dcabb76ea559 100644 --- a/api_docs/kbn_core_i18n_server.mdx +++ b/api_docs/kbn_core_i18n_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-i18n-server title: "@kbn/core-i18n-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-i18n-server plugin -date: 2023-09-07 +date: 2023-09-08 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 f523db576ed0..3c3104294bcf 100644 --- a/api_docs/kbn_core_i18n_server_internal.mdx +++ b/api_docs/kbn_core_i18n_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-i18n-server-internal title: "@kbn/core-i18n-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-i18n-server-internal plugin -date: 2023-09-07 +date: 2023-09-08 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 5ec1a09ca899..f98998943652 100644 --- a/api_docs/kbn_core_i18n_server_mocks.mdx +++ b/api_docs/kbn_core_i18n_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-i18n-server-mocks title: "@kbn/core-i18n-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-i18n-server-mocks plugin -date: 2023-09-07 +date: 2023-09-08 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 c1b9bafa28aa..2ce94ed031bd 100644 --- a/api_docs/kbn_core_injected_metadata_browser_mocks.mdx +++ b/api_docs/kbn_core_injected_metadata_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-injected-metadata-browser-mocks title: "@kbn/core-injected-metadata-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-injected-metadata-browser-mocks plugin -date: 2023-09-07 +date: 2023-09-08 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 71ccb29fe9dd..b2be359b8ffd 100644 --- a/api_docs/kbn_core_integrations_browser_internal.mdx +++ b/api_docs/kbn_core_integrations_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-integrations-browser-internal title: "@kbn/core-integrations-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-integrations-browser-internal plugin -date: 2023-09-07 +date: 2023-09-08 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 e8be0a4b4f1e..cfb385b109f8 100644 --- a/api_docs/kbn_core_integrations_browser_mocks.mdx +++ b/api_docs/kbn_core_integrations_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-integrations-browser-mocks title: "@kbn/core-integrations-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-integrations-browser-mocks plugin -date: 2023-09-07 +date: 2023-09-08 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 dcebdea23053..99cd41bc1d62 100644 --- a/api_docs/kbn_core_lifecycle_browser.mdx +++ b/api_docs/kbn_core_lifecycle_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-lifecycle-browser title: "@kbn/core-lifecycle-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-lifecycle-browser plugin -date: 2023-09-07 +date: 2023-09-08 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 59a45f8aece4..95755ec481ea 100644 --- a/api_docs/kbn_core_lifecycle_browser_mocks.mdx +++ b/api_docs/kbn_core_lifecycle_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-lifecycle-browser-mocks title: "@kbn/core-lifecycle-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-lifecycle-browser-mocks plugin -date: 2023-09-07 +date: 2023-09-08 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 74edb3f049c2..9f2bbe895dd4 100644 --- a/api_docs/kbn_core_lifecycle_server.mdx +++ b/api_docs/kbn_core_lifecycle_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-lifecycle-server title: "@kbn/core-lifecycle-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-lifecycle-server plugin -date: 2023-09-07 +date: 2023-09-08 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 342e73b5af69..6e0615f55c86 100644 --- a/api_docs/kbn_core_lifecycle_server_mocks.mdx +++ b/api_docs/kbn_core_lifecycle_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-lifecycle-server-mocks title: "@kbn/core-lifecycle-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-lifecycle-server-mocks plugin -date: 2023-09-07 +date: 2023-09-08 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 01540c6511f0..956e484f335f 100644 --- a/api_docs/kbn_core_logging_browser_mocks.mdx +++ b/api_docs/kbn_core_logging_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-logging-browser-mocks title: "@kbn/core-logging-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-logging-browser-mocks plugin -date: 2023-09-07 +date: 2023-09-08 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 72d2fe78fbd6..a604b946fade 100644 --- a/api_docs/kbn_core_logging_common_internal.mdx +++ b/api_docs/kbn_core_logging_common_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-logging-common-internal title: "@kbn/core-logging-common-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-logging-common-internal plugin -date: 2023-09-07 +date: 2023-09-08 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 b3cd0d6261ea..b783eee1bba2 100644 --- a/api_docs/kbn_core_logging_server.mdx +++ b/api_docs/kbn_core_logging_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-logging-server title: "@kbn/core-logging-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-logging-server plugin -date: 2023-09-07 +date: 2023-09-08 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 9bc280825799..c5cff2e93f85 100644 --- a/api_docs/kbn_core_logging_server_internal.mdx +++ b/api_docs/kbn_core_logging_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-logging-server-internal title: "@kbn/core-logging-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-logging-server-internal plugin -date: 2023-09-07 +date: 2023-09-08 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 976128777a55..0b9351349b95 100644 --- a/api_docs/kbn_core_logging_server_mocks.mdx +++ b/api_docs/kbn_core_logging_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-logging-server-mocks title: "@kbn/core-logging-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-logging-server-mocks plugin -date: 2023-09-07 +date: 2023-09-08 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 15bd1e3daa32..34fbd10ef9ba 100644 --- a/api_docs/kbn_core_metrics_collectors_server_internal.mdx +++ b/api_docs/kbn_core_metrics_collectors_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-metrics-collectors-server-internal title: "@kbn/core-metrics-collectors-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-metrics-collectors-server-internal plugin -date: 2023-09-07 +date: 2023-09-08 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 608c2393e142..07d7a363caf8 100644 --- a/api_docs/kbn_core_metrics_collectors_server_mocks.mdx +++ b/api_docs/kbn_core_metrics_collectors_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-metrics-collectors-server-mocks title: "@kbn/core-metrics-collectors-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-metrics-collectors-server-mocks plugin -date: 2023-09-07 +date: 2023-09-08 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 e752441ae194..4379582e6729 100644 --- a/api_docs/kbn_core_metrics_server.mdx +++ b/api_docs/kbn_core_metrics_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-metrics-server title: "@kbn/core-metrics-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-metrics-server plugin -date: 2023-09-07 +date: 2023-09-08 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 0dbdea30ffa1..3d87b370b3fd 100644 --- a/api_docs/kbn_core_metrics_server_internal.mdx +++ b/api_docs/kbn_core_metrics_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-metrics-server-internal title: "@kbn/core-metrics-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-metrics-server-internal plugin -date: 2023-09-07 +date: 2023-09-08 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 9d8a3145f4cd..86e5358c13a3 100644 --- a/api_docs/kbn_core_metrics_server_mocks.mdx +++ b/api_docs/kbn_core_metrics_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-metrics-server-mocks title: "@kbn/core-metrics-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-metrics-server-mocks plugin -date: 2023-09-07 +date: 2023-09-08 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 22806f2d511e..5cfdc2bf4c90 100644 --- a/api_docs/kbn_core_mount_utils_browser.mdx +++ b/api_docs/kbn_core_mount_utils_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-mount-utils-browser title: "@kbn/core-mount-utils-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-mount-utils-browser plugin -date: 2023-09-07 +date: 2023-09-08 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 ce5d28c7ca84..4443ac1d041a 100644 --- a/api_docs/kbn_core_node_server.mdx +++ b/api_docs/kbn_core_node_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-node-server title: "@kbn/core-node-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-node-server plugin -date: 2023-09-07 +date: 2023-09-08 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 ad9cf1018578..adab24138835 100644 --- a/api_docs/kbn_core_node_server_internal.mdx +++ b/api_docs/kbn_core_node_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-node-server-internal title: "@kbn/core-node-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-node-server-internal plugin -date: 2023-09-07 +date: 2023-09-08 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 4d633bda1808..13e05a8013bf 100644 --- a/api_docs/kbn_core_node_server_mocks.mdx +++ b/api_docs/kbn_core_node_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-node-server-mocks title: "@kbn/core-node-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-node-server-mocks plugin -date: 2023-09-07 +date: 2023-09-08 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 7dae166ea177..0e3681b7696b 100644 --- a/api_docs/kbn_core_notifications_browser.mdx +++ b/api_docs/kbn_core_notifications_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-notifications-browser title: "@kbn/core-notifications-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-notifications-browser plugin -date: 2023-09-07 +date: 2023-09-08 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 eefc0c018241..73594a346496 100644 --- a/api_docs/kbn_core_notifications_browser_internal.mdx +++ b/api_docs/kbn_core_notifications_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-notifications-browser-internal title: "@kbn/core-notifications-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-notifications-browser-internal plugin -date: 2023-09-07 +date: 2023-09-08 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 f0d3b67178a3..36ca2945429f 100644 --- a/api_docs/kbn_core_notifications_browser_mocks.mdx +++ b/api_docs/kbn_core_notifications_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-notifications-browser-mocks title: "@kbn/core-notifications-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-notifications-browser-mocks plugin -date: 2023-09-07 +date: 2023-09-08 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 f111285b6a27..4bce0b56a52d 100644 --- a/api_docs/kbn_core_overlays_browser.mdx +++ b/api_docs/kbn_core_overlays_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-overlays-browser title: "@kbn/core-overlays-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-overlays-browser plugin -date: 2023-09-07 +date: 2023-09-08 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 1a7651add3a7..986c5954057b 100644 --- a/api_docs/kbn_core_overlays_browser_internal.mdx +++ b/api_docs/kbn_core_overlays_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-overlays-browser-internal title: "@kbn/core-overlays-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-overlays-browser-internal plugin -date: 2023-09-07 +date: 2023-09-08 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 858fb06982f2..0f1600d4ab4f 100644 --- a/api_docs/kbn_core_overlays_browser_mocks.mdx +++ b/api_docs/kbn_core_overlays_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-overlays-browser-mocks title: "@kbn/core-overlays-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-overlays-browser-mocks plugin -date: 2023-09-07 +date: 2023-09-08 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 a670a25a01a9..beb36919ffdf 100644 --- a/api_docs/kbn_core_plugins_browser.mdx +++ b/api_docs/kbn_core_plugins_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-plugins-browser title: "@kbn/core-plugins-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-plugins-browser plugin -date: 2023-09-07 +date: 2023-09-08 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 05c61d3a982f..268a5f35cf70 100644 --- a/api_docs/kbn_core_plugins_browser_mocks.mdx +++ b/api_docs/kbn_core_plugins_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-plugins-browser-mocks title: "@kbn/core-plugins-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-plugins-browser-mocks plugin -date: 2023-09-07 +date: 2023-09-08 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 b15fd6bb9f40..161d4ae981f4 100644 --- a/api_docs/kbn_core_plugins_server.mdx +++ b/api_docs/kbn_core_plugins_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-plugins-server title: "@kbn/core-plugins-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-plugins-server plugin -date: 2023-09-07 +date: 2023-09-08 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 b197b27c39ec..1f087597d6c7 100644 --- a/api_docs/kbn_core_plugins_server_mocks.mdx +++ b/api_docs/kbn_core_plugins_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-plugins-server-mocks title: "@kbn/core-plugins-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-plugins-server-mocks plugin -date: 2023-09-07 +date: 2023-09-08 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 26404256ee68..f27897e997aa 100644 --- a/api_docs/kbn_core_preboot_server.mdx +++ b/api_docs/kbn_core_preboot_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-preboot-server title: "@kbn/core-preboot-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-preboot-server plugin -date: 2023-09-07 +date: 2023-09-08 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 50931621f7ac..47951ccaed84 100644 --- a/api_docs/kbn_core_preboot_server_mocks.mdx +++ b/api_docs/kbn_core_preboot_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-preboot-server-mocks title: "@kbn/core-preboot-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-preboot-server-mocks plugin -date: 2023-09-07 +date: 2023-09-08 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 29b2d4a33647..7512482a1670 100644 --- a/api_docs/kbn_core_rendering_browser_mocks.mdx +++ b/api_docs/kbn_core_rendering_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-rendering-browser-mocks title: "@kbn/core-rendering-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-rendering-browser-mocks plugin -date: 2023-09-07 +date: 2023-09-08 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 e195fdc670ad..1fdc697e78df 100644 --- a/api_docs/kbn_core_rendering_server_internal.mdx +++ b/api_docs/kbn_core_rendering_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-rendering-server-internal title: "@kbn/core-rendering-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-rendering-server-internal plugin -date: 2023-09-07 +date: 2023-09-08 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 da6e8eef6b50..d50dd24ab456 100644 --- a/api_docs/kbn_core_rendering_server_mocks.mdx +++ b/api_docs/kbn_core_rendering_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-rendering-server-mocks title: "@kbn/core-rendering-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-rendering-server-mocks plugin -date: 2023-09-07 +date: 2023-09-08 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 b1db124ded17..68f36d72a4f7 100644 --- a/api_docs/kbn_core_root_server_internal.mdx +++ b/api_docs/kbn_core_root_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-root-server-internal title: "@kbn/core-root-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-root-server-internal plugin -date: 2023-09-07 +date: 2023-09-08 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 4b838dfd9956..c37d7d958651 100644 --- a/api_docs/kbn_core_saved_objects_api_browser.mdx +++ b/api_docs/kbn_core_saved_objects_api_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-api-browser title: "@kbn/core-saved-objects-api-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-api-browser plugin -date: 2023-09-07 +date: 2023-09-08 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 550a24059762..f3f835d242a4 100644 --- a/api_docs/kbn_core_saved_objects_api_server.mdx +++ b/api_docs/kbn_core_saved_objects_api_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-api-server title: "@kbn/core-saved-objects-api-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-api-server plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-api-server'] --- import kbnCoreSavedObjectsApiServerObj from './kbn_core_saved_objects_api_server.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_api_server_mocks.mdx b/api_docs/kbn_core_saved_objects_api_server_mocks.mdx index dd345d20efba..ec196f622ea2 100644 --- a/api_docs/kbn_core_saved_objects_api_server_mocks.mdx +++ b/api_docs/kbn_core_saved_objects_api_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-api-server-mocks title: "@kbn/core-saved-objects-api-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-api-server-mocks plugin -date: 2023-09-07 +date: 2023-09-08 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 708b1c762318..dde139458827 100644 --- a/api_docs/kbn_core_saved_objects_base_server_internal.mdx +++ b/api_docs/kbn_core_saved_objects_base_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-base-server-internal title: "@kbn/core-saved-objects-base-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-base-server-internal plugin -date: 2023-09-07 +date: 2023-09-08 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 69a379f3ebe6..e7e2cd91dd02 100644 --- a/api_docs/kbn_core_saved_objects_base_server_mocks.mdx +++ b/api_docs/kbn_core_saved_objects_base_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-base-server-mocks title: "@kbn/core-saved-objects-base-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-base-server-mocks plugin -date: 2023-09-07 +date: 2023-09-08 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 f87d40af8027..56e06aff8715 100644 --- a/api_docs/kbn_core_saved_objects_browser.mdx +++ b/api_docs/kbn_core_saved_objects_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-browser title: "@kbn/core-saved-objects-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-browser plugin -date: 2023-09-07 +date: 2023-09-08 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 2e0b7b5c5718..44590b477dc2 100644 --- a/api_docs/kbn_core_saved_objects_browser_internal.mdx +++ b/api_docs/kbn_core_saved_objects_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-browser-internal title: "@kbn/core-saved-objects-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-browser-internal plugin -date: 2023-09-07 +date: 2023-09-08 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 dbd89a867c99..35b69642632d 100644 --- a/api_docs/kbn_core_saved_objects_browser_mocks.mdx +++ b/api_docs/kbn_core_saved_objects_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-browser-mocks title: "@kbn/core-saved-objects-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-browser-mocks plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-browser-mocks'] --- import kbnCoreSavedObjectsBrowserMocksObj from './kbn_core_saved_objects_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_common.mdx b/api_docs/kbn_core_saved_objects_common.mdx index 5275566b8139..7e792fc3e084 100644 --- a/api_docs/kbn_core_saved_objects_common.mdx +++ b/api_docs/kbn_core_saved_objects_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-common title: "@kbn/core-saved-objects-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-common plugin -date: 2023-09-07 +date: 2023-09-08 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 d47385b09c26..e2bafbf02e4a 100644 --- a/api_docs/kbn_core_saved_objects_import_export_server_internal.mdx +++ b/api_docs/kbn_core_saved_objects_import_export_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-import-export-server-internal title: "@kbn/core-saved-objects-import-export-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-import-export-server-internal plugin -date: 2023-09-07 +date: 2023-09-08 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 99efb28372a8..d89a199baf3e 100644 --- a/api_docs/kbn_core_saved_objects_import_export_server_mocks.mdx +++ b/api_docs/kbn_core_saved_objects_import_export_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-import-export-server-mocks title: "@kbn/core-saved-objects-import-export-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-import-export-server-mocks plugin -date: 2023-09-07 +date: 2023-09-08 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 f3df3c2f8263..40ba4ffe4cc3 100644 --- a/api_docs/kbn_core_saved_objects_migration_server_internal.mdx +++ b/api_docs/kbn_core_saved_objects_migration_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-migration-server-internal title: "@kbn/core-saved-objects-migration-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-migration-server-internal plugin -date: 2023-09-07 +date: 2023-09-08 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 c131798c141f..8a6fd132f31a 100644 --- a/api_docs/kbn_core_saved_objects_migration_server_mocks.mdx +++ b/api_docs/kbn_core_saved_objects_migration_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-migration-server-mocks title: "@kbn/core-saved-objects-migration-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-migration-server-mocks plugin -date: 2023-09-07 +date: 2023-09-08 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 1853a66e3f1b..2af69eecce1f 100644 --- a/api_docs/kbn_core_saved_objects_server.devdocs.json +++ b/api_docs/kbn_core_saved_objects_server.devdocs.json @@ -10515,22 +10515,6 @@ "plugin": "lists", "path": "x-pack/plugins/lists/server/saved_objects/exception_list.ts" }, - { - "plugin": "savedObjectsTagging", - "path": "x-pack/plugins/saved_objects_tagging/server/saved_objects/tag.ts" - }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/timeline/saved_object_mappings/timelines.ts" - }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/timeline/saved_object_mappings/notes.ts" - }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/timeline/saved_object_mappings/pinned_events.ts" - }, { "plugin": "cases", "path": "x-pack/plugins/cases/server/saved_object_types/cases.ts" @@ -10551,6 +10535,22 @@ "plugin": "cases", "path": "x-pack/plugins/cases/server/saved_object_types/connector_mappings.ts" }, + { + "plugin": "savedObjectsTagging", + "path": "x-pack/plugins/saved_objects_tagging/server/saved_objects/tag.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/timeline/saved_object_mappings/timelines.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/timeline/saved_object_mappings/notes.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/timeline/saved_object_mappings/pinned_events.ts" + }, { "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/server/lib/detection_engine/rule_actions_legacy/logic/rule_actions/legacy_saved_object_mappings.ts" diff --git a/api_docs/kbn_core_saved_objects_server.mdx b/api_docs/kbn_core_saved_objects_server.mdx index 133135909fef..085933be10c5 100644 --- a/api_docs/kbn_core_saved_objects_server.mdx +++ b/api_docs/kbn_core_saved_objects_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-server title: "@kbn/core-saved-objects-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-server plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-server'] --- import kbnCoreSavedObjectsServerObj from './kbn_core_saved_objects_server.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_server_internal.mdx b/api_docs/kbn_core_saved_objects_server_internal.mdx index bec256f258a9..d292f5668de3 100644 --- a/api_docs/kbn_core_saved_objects_server_internal.mdx +++ b/api_docs/kbn_core_saved_objects_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-server-internal title: "@kbn/core-saved-objects-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-server-internal plugin -date: 2023-09-07 +date: 2023-09-08 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 eba8b2805938..60d6a97391a8 100644 --- a/api_docs/kbn_core_saved_objects_server_mocks.mdx +++ b/api_docs/kbn_core_saved_objects_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-server-mocks title: "@kbn/core-saved-objects-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-server-mocks plugin -date: 2023-09-07 +date: 2023-09-08 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 9784f060a9ac..15544cba67cd 100644 --- a/api_docs/kbn_core_saved_objects_utils_server.mdx +++ b/api_docs/kbn_core_saved_objects_utils_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-utils-server title: "@kbn/core-saved-objects-utils-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-utils-server plugin -date: 2023-09-07 +date: 2023-09-08 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 2750648ba37d..b8bee1a38954 100644 --- a/api_docs/kbn_core_status_common.mdx +++ b/api_docs/kbn_core_status_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-status-common title: "@kbn/core-status-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-status-common plugin -date: 2023-09-07 +date: 2023-09-08 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 d938b4cfb657..a7965c78b553 100644 --- a/api_docs/kbn_core_status_common_internal.mdx +++ b/api_docs/kbn_core_status_common_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-status-common-internal title: "@kbn/core-status-common-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-status-common-internal plugin -date: 2023-09-07 +date: 2023-09-08 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 106a3c65d98e..cc01485b8b32 100644 --- a/api_docs/kbn_core_status_server.mdx +++ b/api_docs/kbn_core_status_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-status-server title: "@kbn/core-status-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-status-server plugin -date: 2023-09-07 +date: 2023-09-08 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 4d589c377d83..7ff12c396b23 100644 --- a/api_docs/kbn_core_status_server_internal.mdx +++ b/api_docs/kbn_core_status_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-status-server-internal title: "@kbn/core-status-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-status-server-internal plugin -date: 2023-09-07 +date: 2023-09-08 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 1f0fd8ddeb00..0016f37f4b9d 100644 --- a/api_docs/kbn_core_status_server_mocks.mdx +++ b/api_docs/kbn_core_status_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-status-server-mocks title: "@kbn/core-status-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-status-server-mocks plugin -date: 2023-09-07 +date: 2023-09-08 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 3f9359f240fb..f88e7cf3fc25 100644 --- a/api_docs/kbn_core_test_helpers_deprecations_getters.mdx +++ b/api_docs/kbn_core_test_helpers_deprecations_getters.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-test-helpers-deprecations-getters title: "@kbn/core-test-helpers-deprecations-getters" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-test-helpers-deprecations-getters plugin -date: 2023-09-07 +date: 2023-09-08 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 ec2fd963cbfb..7de852497511 100644 --- a/api_docs/kbn_core_test_helpers_http_setup_browser.mdx +++ b/api_docs/kbn_core_test_helpers_http_setup_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-test-helpers-http-setup-browser title: "@kbn/core-test-helpers-http-setup-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-test-helpers-http-setup-browser plugin -date: 2023-09-07 +date: 2023-09-08 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 c0cd3d14155f..e043468204dc 100644 --- a/api_docs/kbn_core_test_helpers_kbn_server.mdx +++ b/api_docs/kbn_core_test_helpers_kbn_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-test-helpers-kbn-server title: "@kbn/core-test-helpers-kbn-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-test-helpers-kbn-server plugin -date: 2023-09-07 +date: 2023-09-08 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 13cd5bbf4bdf..4903c5b8cff7 100644 --- a/api_docs/kbn_core_test_helpers_so_type_serializer.mdx +++ b/api_docs/kbn_core_test_helpers_so_type_serializer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-test-helpers-so-type-serializer title: "@kbn/core-test-helpers-so-type-serializer" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-test-helpers-so-type-serializer plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-test-helpers-so-type-serializer'] --- import kbnCoreTestHelpersSoTypeSerializerObj from './kbn_core_test_helpers_so_type_serializer.devdocs.json'; diff --git a/api_docs/kbn_core_test_helpers_test_utils.mdx b/api_docs/kbn_core_test_helpers_test_utils.mdx index 75600d210cfe..46abc1816d89 100644 --- a/api_docs/kbn_core_test_helpers_test_utils.mdx +++ b/api_docs/kbn_core_test_helpers_test_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-test-helpers-test-utils title: "@kbn/core-test-helpers-test-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-test-helpers-test-utils plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-test-helpers-test-utils'] --- import kbnCoreTestHelpersTestUtilsObj from './kbn_core_test_helpers_test_utils.devdocs.json'; diff --git a/api_docs/kbn_core_theme_browser.mdx b/api_docs/kbn_core_theme_browser.mdx index 5d53b7eabe9a..14b3af1c332a 100644 --- a/api_docs/kbn_core_theme_browser.mdx +++ b/api_docs/kbn_core_theme_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-theme-browser title: "@kbn/core-theme-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-theme-browser plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-theme-browser'] --- import kbnCoreThemeBrowserObj from './kbn_core_theme_browser.devdocs.json'; diff --git a/api_docs/kbn_core_theme_browser_mocks.mdx b/api_docs/kbn_core_theme_browser_mocks.mdx index 9c278f78e3ec..d61539fb97da 100644 --- a/api_docs/kbn_core_theme_browser_mocks.mdx +++ b/api_docs/kbn_core_theme_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-theme-browser-mocks title: "@kbn/core-theme-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-theme-browser-mocks plugin -date: 2023-09-07 +date: 2023-09-08 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 0377abd92bf9..59815be0c936 100644 --- a/api_docs/kbn_core_ui_settings_browser.mdx +++ b/api_docs/kbn_core_ui_settings_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-browser title: "@kbn/core-ui-settings-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-browser plugin -date: 2023-09-07 +date: 2023-09-08 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 d0f610aaba4f..5014865f7432 100644 --- a/api_docs/kbn_core_ui_settings_browser_internal.mdx +++ b/api_docs/kbn_core_ui_settings_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-browser-internal title: "@kbn/core-ui-settings-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-browser-internal plugin -date: 2023-09-07 +date: 2023-09-08 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 9a76328adc2b..7e8f393532d9 100644 --- a/api_docs/kbn_core_ui_settings_browser_mocks.mdx +++ b/api_docs/kbn_core_ui_settings_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-browser-mocks title: "@kbn/core-ui-settings-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-browser-mocks plugin -date: 2023-09-07 +date: 2023-09-08 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 829ac001c8c3..2ca5980a9f8d 100644 --- a/api_docs/kbn_core_ui_settings_common.mdx +++ b/api_docs/kbn_core_ui_settings_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-common title: "@kbn/core-ui-settings-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-common plugin -date: 2023-09-07 +date: 2023-09-08 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 36de04565782..8d6a2e09426a 100644 --- a/api_docs/kbn_core_ui_settings_server.mdx +++ b/api_docs/kbn_core_ui_settings_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-server title: "@kbn/core-ui-settings-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-server plugin -date: 2023-09-07 +date: 2023-09-08 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 cb3b507d6007..f70acadef78d 100644 --- a/api_docs/kbn_core_ui_settings_server_internal.mdx +++ b/api_docs/kbn_core_ui_settings_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-server-internal title: "@kbn/core-ui-settings-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-server-internal plugin -date: 2023-09-07 +date: 2023-09-08 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 19c4d4684d15..2469efec0f41 100644 --- a/api_docs/kbn_core_ui_settings_server_mocks.mdx +++ b/api_docs/kbn_core_ui_settings_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-server-mocks title: "@kbn/core-ui-settings-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-server-mocks plugin -date: 2023-09-07 +date: 2023-09-08 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 bf229537141e..e5b5791caa1d 100644 --- a/api_docs/kbn_core_usage_data_server.mdx +++ b/api_docs/kbn_core_usage_data_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-usage-data-server title: "@kbn/core-usage-data-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-usage-data-server plugin -date: 2023-09-07 +date: 2023-09-08 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 cab49d88fd4a..bc1bf4814be3 100644 --- a/api_docs/kbn_core_usage_data_server_internal.mdx +++ b/api_docs/kbn_core_usage_data_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-usage-data-server-internal title: "@kbn/core-usage-data-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-usage-data-server-internal plugin -date: 2023-09-07 +date: 2023-09-08 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 53f3d8adffca..544caf1fcfde 100644 --- a/api_docs/kbn_core_usage_data_server_mocks.mdx +++ b/api_docs/kbn_core_usage_data_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-usage-data-server-mocks title: "@kbn/core-usage-data-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-usage-data-server-mocks plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-usage-data-server-mocks'] --- import kbnCoreUsageDataServerMocksObj from './kbn_core_usage_data_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_user_settings_server.mdx b/api_docs/kbn_core_user_settings_server.mdx index 13c85d56c8ce..00592bbbafa2 100644 --- a/api_docs/kbn_core_user_settings_server.mdx +++ b/api_docs/kbn_core_user_settings_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-user-settings-server title: "@kbn/core-user-settings-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-user-settings-server plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-user-settings-server'] --- import kbnCoreUserSettingsServerObj from './kbn_core_user_settings_server.devdocs.json'; diff --git a/api_docs/kbn_core_user_settings_server_internal.mdx b/api_docs/kbn_core_user_settings_server_internal.mdx index 1b1f1254d947..96dc9b825486 100644 --- a/api_docs/kbn_core_user_settings_server_internal.mdx +++ b/api_docs/kbn_core_user_settings_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-user-settings-server-internal title: "@kbn/core-user-settings-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-user-settings-server-internal plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-user-settings-server-internal'] --- import kbnCoreUserSettingsServerInternalObj from './kbn_core_user_settings_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_user_settings_server_mocks.mdx b/api_docs/kbn_core_user_settings_server_mocks.mdx index 6237aaea079c..2e365d6911d8 100644 --- a/api_docs/kbn_core_user_settings_server_mocks.mdx +++ b/api_docs/kbn_core_user_settings_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-user-settings-server-mocks title: "@kbn/core-user-settings-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-user-settings-server-mocks plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-user-settings-server-mocks'] --- import kbnCoreUserSettingsServerMocksObj from './kbn_core_user_settings_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_crypto.mdx b/api_docs/kbn_crypto.mdx index 55295735c937..a229cc2acfe9 100644 --- a/api_docs/kbn_crypto.mdx +++ b/api_docs/kbn_crypto.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-crypto title: "@kbn/crypto" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/crypto plugin -date: 2023-09-07 +date: 2023-09-08 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 472d1a158845..8419e90b391d 100644 --- a/api_docs/kbn_crypto_browser.mdx +++ b/api_docs/kbn_crypto_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-crypto-browser title: "@kbn/crypto-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/crypto-browser plugin -date: 2023-09-07 +date: 2023-09-08 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 7be7302f554d..d59814ab6757 100644 --- a/api_docs/kbn_cypress_config.mdx +++ b/api_docs/kbn_cypress_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-cypress-config title: "@kbn/cypress-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/cypress-config plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/cypress-config'] --- import kbnCypressConfigObj from './kbn_cypress_config.devdocs.json'; diff --git a/api_docs/kbn_data_service.mdx b/api_docs/kbn_data_service.mdx index a8bd4c0efa24..23613cdd7aee 100644 --- a/api_docs/kbn_data_service.mdx +++ b/api_docs/kbn_data_service.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-data-service title: "@kbn/data-service" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/data-service plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/data-service'] --- import kbnDataServiceObj from './kbn_data_service.devdocs.json'; diff --git a/api_docs/kbn_datemath.mdx b/api_docs/kbn_datemath.mdx index acd983c51f13..3af4569c84a7 100644 --- a/api_docs/kbn_datemath.mdx +++ b/api_docs/kbn_datemath.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-datemath title: "@kbn/datemath" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/datemath plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/datemath'] --- import kbnDatemathObj from './kbn_datemath.devdocs.json'; diff --git a/api_docs/kbn_deeplinks_analytics.mdx b/api_docs/kbn_deeplinks_analytics.mdx index 3360915b691c..e602fce25553 100644 --- a/api_docs/kbn_deeplinks_analytics.mdx +++ b/api_docs/kbn_deeplinks_analytics.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-analytics title: "@kbn/deeplinks-analytics" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-analytics plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-analytics'] --- import kbnDeeplinksAnalyticsObj from './kbn_deeplinks_analytics.devdocs.json'; diff --git a/api_docs/kbn_deeplinks_devtools.mdx b/api_docs/kbn_deeplinks_devtools.mdx index a1c579d5f0c5..3f420fffbc4e 100644 --- a/api_docs/kbn_deeplinks_devtools.mdx +++ b/api_docs/kbn_deeplinks_devtools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-devtools title: "@kbn/deeplinks-devtools" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-devtools plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-devtools'] --- import kbnDeeplinksDevtoolsObj from './kbn_deeplinks_devtools.devdocs.json'; diff --git a/api_docs/kbn_deeplinks_management.mdx b/api_docs/kbn_deeplinks_management.mdx index 03d5d36dc843..62fba60542f6 100644 --- a/api_docs/kbn_deeplinks_management.mdx +++ b/api_docs/kbn_deeplinks_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-management title: "@kbn/deeplinks-management" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-management plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-management'] --- import kbnDeeplinksManagementObj from './kbn_deeplinks_management.devdocs.json'; diff --git a/api_docs/kbn_deeplinks_ml.mdx b/api_docs/kbn_deeplinks_ml.mdx index 4e6e47f32a38..d7d9edc41462 100644 --- a/api_docs/kbn_deeplinks_ml.mdx +++ b/api_docs/kbn_deeplinks_ml.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-ml title: "@kbn/deeplinks-ml" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-ml plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-ml'] --- import kbnDeeplinksMlObj from './kbn_deeplinks_ml.devdocs.json'; diff --git a/api_docs/kbn_deeplinks_observability.mdx b/api_docs/kbn_deeplinks_observability.mdx index 6ccdebf8a10e..bbd75a908c5c 100644 --- a/api_docs/kbn_deeplinks_observability.mdx +++ b/api_docs/kbn_deeplinks_observability.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-observability title: "@kbn/deeplinks-observability" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-observability plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-observability'] --- import kbnDeeplinksObservabilityObj from './kbn_deeplinks_observability.devdocs.json'; diff --git a/api_docs/kbn_deeplinks_search.mdx b/api_docs/kbn_deeplinks_search.mdx index d3563db00e44..6918c3932512 100644 --- a/api_docs/kbn_deeplinks_search.mdx +++ b/api_docs/kbn_deeplinks_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-search title: "@kbn/deeplinks-search" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-search plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-search'] --- import kbnDeeplinksSearchObj from './kbn_deeplinks_search.devdocs.json'; diff --git a/api_docs/kbn_default_nav_analytics.mdx b/api_docs/kbn_default_nav_analytics.mdx index c1a3ccf8b5b8..a312e575e1ea 100644 --- a/api_docs/kbn_default_nav_analytics.mdx +++ b/api_docs/kbn_default_nav_analytics.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-default-nav-analytics title: "@kbn/default-nav-analytics" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/default-nav-analytics plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/default-nav-analytics'] --- import kbnDefaultNavAnalyticsObj from './kbn_default_nav_analytics.devdocs.json'; diff --git a/api_docs/kbn_default_nav_devtools.mdx b/api_docs/kbn_default_nav_devtools.mdx index c6b884aedd57..1a2b7c1298ef 100644 --- a/api_docs/kbn_default_nav_devtools.mdx +++ b/api_docs/kbn_default_nav_devtools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-default-nav-devtools title: "@kbn/default-nav-devtools" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/default-nav-devtools plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/default-nav-devtools'] --- import kbnDefaultNavDevtoolsObj from './kbn_default_nav_devtools.devdocs.json'; diff --git a/api_docs/kbn_default_nav_management.mdx b/api_docs/kbn_default_nav_management.mdx index fe5c9fe3d51d..41dde9d18b03 100644 --- a/api_docs/kbn_default_nav_management.mdx +++ b/api_docs/kbn_default_nav_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-default-nav-management title: "@kbn/default-nav-management" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/default-nav-management plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/default-nav-management'] --- import kbnDefaultNavManagementObj from './kbn_default_nav_management.devdocs.json'; diff --git a/api_docs/kbn_default_nav_ml.mdx b/api_docs/kbn_default_nav_ml.mdx index 01de67e7ea15..ff27bb7f9be3 100644 --- a/api_docs/kbn_default_nav_ml.mdx +++ b/api_docs/kbn_default_nav_ml.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-default-nav-ml title: "@kbn/default-nav-ml" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/default-nav-ml plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/default-nav-ml'] --- import kbnDefaultNavMlObj from './kbn_default_nav_ml.devdocs.json'; diff --git a/api_docs/kbn_dev_cli_errors.mdx b/api_docs/kbn_dev_cli_errors.mdx index 5c02782eca67..b21d133bffa6 100644 --- a/api_docs/kbn_dev_cli_errors.mdx +++ b/api_docs/kbn_dev_cli_errors.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-dev-cli-errors title: "@kbn/dev-cli-errors" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/dev-cli-errors plugin -date: 2023-09-07 +date: 2023-09-08 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 42dac5b37d1f..e4721b18ccf0 100644 --- a/api_docs/kbn_dev_cli_runner.mdx +++ b/api_docs/kbn_dev_cli_runner.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-dev-cli-runner title: "@kbn/dev-cli-runner" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/dev-cli-runner plugin -date: 2023-09-07 +date: 2023-09-08 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 35d5ec3f2fab..92a8afddeda1 100644 --- a/api_docs/kbn_dev_proc_runner.mdx +++ b/api_docs/kbn_dev_proc_runner.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-dev-proc-runner title: "@kbn/dev-proc-runner" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/dev-proc-runner plugin -date: 2023-09-07 +date: 2023-09-08 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 959e3967a1d9..7b88610ec4d6 100644 --- a/api_docs/kbn_dev_utils.mdx +++ b/api_docs/kbn_dev_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-dev-utils title: "@kbn/dev-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/dev-utils plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/dev-utils'] --- import kbnDevUtilsObj from './kbn_dev_utils.devdocs.json'; diff --git a/api_docs/kbn_discover_utils.mdx b/api_docs/kbn_discover_utils.mdx index bb59a0538e70..267732ef33f3 100644 --- a/api_docs/kbn_discover_utils.mdx +++ b/api_docs/kbn_discover_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-discover-utils title: "@kbn/discover-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/discover-utils plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/discover-utils'] --- import kbnDiscoverUtilsObj from './kbn_discover_utils.devdocs.json'; diff --git a/api_docs/kbn_doc_links.mdx b/api_docs/kbn_doc_links.mdx index 0d071bbd36d9..51f94f4b7c44 100644 --- a/api_docs/kbn_doc_links.mdx +++ b/api_docs/kbn_doc_links.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-doc-links title: "@kbn/doc-links" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/doc-links plugin -date: 2023-09-07 +date: 2023-09-08 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 75ae029e5b55..e6e553327753 100644 --- a/api_docs/kbn_docs_utils.mdx +++ b/api_docs/kbn_docs_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-docs-utils title: "@kbn/docs-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/docs-utils plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/docs-utils'] --- import kbnDocsUtilsObj from './kbn_docs_utils.devdocs.json'; diff --git a/api_docs/kbn_dom_drag_drop.mdx b/api_docs/kbn_dom_drag_drop.mdx index 2fa013599dba..62bcd6686c77 100644 --- a/api_docs/kbn_dom_drag_drop.mdx +++ b/api_docs/kbn_dom_drag_drop.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-dom-drag-drop title: "@kbn/dom-drag-drop" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/dom-drag-drop plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/dom-drag-drop'] --- import kbnDomDragDropObj from './kbn_dom_drag_drop.devdocs.json'; diff --git a/api_docs/kbn_ebt_tools.mdx b/api_docs/kbn_ebt_tools.mdx index ae63079191e0..d65c2ac2766d 100644 --- a/api_docs/kbn_ebt_tools.mdx +++ b/api_docs/kbn_ebt_tools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ebt-tools title: "@kbn/ebt-tools" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ebt-tools plugin -date: 2023-09-07 +date: 2023-09-08 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 f0bb3426b393..ea7ece235603 100644 --- a/api_docs/kbn_ecs.mdx +++ b/api_docs/kbn_ecs.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ecs title: "@kbn/ecs" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ecs plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ecs'] --- import kbnEcsObj from './kbn_ecs.devdocs.json'; diff --git a/api_docs/kbn_ecs_data_quality_dashboard.mdx b/api_docs/kbn_ecs_data_quality_dashboard.mdx index 1e2cfe20365b..a52961733a2e 100644 --- a/api_docs/kbn_ecs_data_quality_dashboard.mdx +++ b/api_docs/kbn_ecs_data_quality_dashboard.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ecs-data-quality-dashboard title: "@kbn/ecs-data-quality-dashboard" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ecs-data-quality-dashboard plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ecs-data-quality-dashboard'] --- import kbnEcsDataQualityDashboardObj from './kbn_ecs_data_quality_dashboard.devdocs.json'; diff --git a/api_docs/kbn_elastic_assistant.mdx b/api_docs/kbn_elastic_assistant.mdx index c36a4e823a86..1880a4412101 100644 --- a/api_docs/kbn_elastic_assistant.mdx +++ b/api_docs/kbn_elastic_assistant.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-elastic-assistant title: "@kbn/elastic-assistant" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/elastic-assistant plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/elastic-assistant'] --- import kbnElasticAssistantObj from './kbn_elastic_assistant.devdocs.json'; diff --git a/api_docs/kbn_es.mdx b/api_docs/kbn_es.mdx index 8f52eccfd3bd..15a1111af3ce 100644 --- a/api_docs/kbn_es.mdx +++ b/api_docs/kbn_es.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-es title: "@kbn/es" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/es plugin -date: 2023-09-07 +date: 2023-09-08 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 23e79b7fa49c..3d02571c7355 100644 --- a/api_docs/kbn_es_archiver.mdx +++ b/api_docs/kbn_es_archiver.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-es-archiver title: "@kbn/es-archiver" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/es-archiver plugin -date: 2023-09-07 +date: 2023-09-08 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 bb6eb0d9fae1..26b63d9bd77f 100644 --- a/api_docs/kbn_es_errors.mdx +++ b/api_docs/kbn_es_errors.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-es-errors title: "@kbn/es-errors" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/es-errors plugin -date: 2023-09-07 +date: 2023-09-08 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 a12e1afbbb1e..0d71589efd79 100644 --- a/api_docs/kbn_es_query.mdx +++ b/api_docs/kbn_es_query.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-es-query title: "@kbn/es-query" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/es-query plugin -date: 2023-09-07 +date: 2023-09-08 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 fe7bba02a349..ab7a2440525f 100644 --- a/api_docs/kbn_es_types.mdx +++ b/api_docs/kbn_es_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-es-types title: "@kbn/es-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/es-types plugin -date: 2023-09-07 +date: 2023-09-08 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 6db39ea36d3c..c38728f98ac0 100644 --- a/api_docs/kbn_eslint_plugin_imports.mdx +++ b/api_docs/kbn_eslint_plugin_imports.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-eslint-plugin-imports title: "@kbn/eslint-plugin-imports" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/eslint-plugin-imports plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/eslint-plugin-imports'] --- import kbnEslintPluginImportsObj from './kbn_eslint_plugin_imports.devdocs.json'; diff --git a/api_docs/kbn_event_annotation_common.mdx b/api_docs/kbn_event_annotation_common.mdx index 108c25f1cfdd..13b3a6600560 100644 --- a/api_docs/kbn_event_annotation_common.mdx +++ b/api_docs/kbn_event_annotation_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-event-annotation-common title: "@kbn/event-annotation-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/event-annotation-common plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/event-annotation-common'] --- import kbnEventAnnotationCommonObj from './kbn_event_annotation_common.devdocs.json'; diff --git a/api_docs/kbn_event_annotation_components.mdx b/api_docs/kbn_event_annotation_components.mdx index 8bd67769c582..8e87541ab0ea 100644 --- a/api_docs/kbn_event_annotation_components.mdx +++ b/api_docs/kbn_event_annotation_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-event-annotation-components title: "@kbn/event-annotation-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/event-annotation-components plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/event-annotation-components'] --- import kbnEventAnnotationComponentsObj from './kbn_event_annotation_components.devdocs.json'; diff --git a/api_docs/kbn_expandable_flyout.mdx b/api_docs/kbn_expandable_flyout.mdx index ca81e58bb1af..825c0801bded 100644 --- a/api_docs/kbn_expandable_flyout.mdx +++ b/api_docs/kbn_expandable_flyout.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-expandable-flyout title: "@kbn/expandable-flyout" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/expandable-flyout plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/expandable-flyout'] --- import kbnExpandableFlyoutObj from './kbn_expandable_flyout.devdocs.json'; diff --git a/api_docs/kbn_field_types.mdx b/api_docs/kbn_field_types.mdx index 3af6f0754e79..74ca04c73bad 100644 --- a/api_docs/kbn_field_types.mdx +++ b/api_docs/kbn_field_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-field-types title: "@kbn/field-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/field-types plugin -date: 2023-09-07 +date: 2023-09-08 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 f23051fd6055..1eb4bfa71654 100644 --- a/api_docs/kbn_find_used_node_modules.mdx +++ b/api_docs/kbn_find_used_node_modules.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-find-used-node-modules title: "@kbn/find-used-node-modules" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/find-used-node-modules plugin -date: 2023-09-07 +date: 2023-09-08 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 a8bc1c698540..59bc0a9754c7 100644 --- a/api_docs/kbn_ftr_common_functional_services.mdx +++ b/api_docs/kbn_ftr_common_functional_services.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ftr-common-functional-services title: "@kbn/ftr-common-functional-services" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ftr-common-functional-services plugin -date: 2023-09-07 +date: 2023-09-08 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 82e7a6429a3f..820cc3710724 100644 --- a/api_docs/kbn_generate.mdx +++ b/api_docs/kbn_generate.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-generate title: "@kbn/generate" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/generate plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/generate'] --- import kbnGenerateObj from './kbn_generate.devdocs.json'; diff --git a/api_docs/kbn_generate_console_definitions.mdx b/api_docs/kbn_generate_console_definitions.mdx index 1162fca64a5b..86503bb9bff5 100644 --- a/api_docs/kbn_generate_console_definitions.mdx +++ b/api_docs/kbn_generate_console_definitions.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-generate-console-definitions title: "@kbn/generate-console-definitions" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/generate-console-definitions plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/generate-console-definitions'] --- import kbnGenerateConsoleDefinitionsObj from './kbn_generate_console_definitions.devdocs.json'; diff --git a/api_docs/kbn_generate_csv.mdx b/api_docs/kbn_generate_csv.mdx index 120da3937dfd..525bddfb895d 100644 --- a/api_docs/kbn_generate_csv.mdx +++ b/api_docs/kbn_generate_csv.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-generate-csv title: "@kbn/generate-csv" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/generate-csv plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/generate-csv'] --- import kbnGenerateCsvObj from './kbn_generate_csv.devdocs.json'; diff --git a/api_docs/kbn_generate_csv_types.mdx b/api_docs/kbn_generate_csv_types.mdx index aece1358b05c..1caa2e7b2bd0 100644 --- a/api_docs/kbn_generate_csv_types.mdx +++ b/api_docs/kbn_generate_csv_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-generate-csv-types title: "@kbn/generate-csv-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/generate-csv-types plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/generate-csv-types'] --- import kbnGenerateCsvTypesObj from './kbn_generate_csv_types.devdocs.json'; diff --git a/api_docs/kbn_guided_onboarding.mdx b/api_docs/kbn_guided_onboarding.mdx index d42da1ac9b6b..cf1975454e96 100644 --- a/api_docs/kbn_guided_onboarding.mdx +++ b/api_docs/kbn_guided_onboarding.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-guided-onboarding title: "@kbn/guided-onboarding" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/guided-onboarding plugin -date: 2023-09-07 +date: 2023-09-08 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 ff591293ccc7..9600dd46a80c 100644 --- a/api_docs/kbn_handlebars.mdx +++ b/api_docs/kbn_handlebars.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-handlebars title: "@kbn/handlebars" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/handlebars plugin -date: 2023-09-07 +date: 2023-09-08 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 4782db52d2da..8c39d54ddd69 100644 --- a/api_docs/kbn_hapi_mocks.mdx +++ b/api_docs/kbn_hapi_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-hapi-mocks title: "@kbn/hapi-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/hapi-mocks plugin -date: 2023-09-07 +date: 2023-09-08 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 3d628696e815..a3b0a2812807 100644 --- a/api_docs/kbn_health_gateway_server.mdx +++ b/api_docs/kbn_health_gateway_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-health-gateway-server title: "@kbn/health-gateway-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/health-gateway-server plugin -date: 2023-09-07 +date: 2023-09-08 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 9889c9e38712..aa0c49b749e2 100644 --- a/api_docs/kbn_home_sample_data_card.mdx +++ b/api_docs/kbn_home_sample_data_card.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-home-sample-data-card title: "@kbn/home-sample-data-card" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/home-sample-data-card plugin -date: 2023-09-07 +date: 2023-09-08 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 a2a44b51da90..74cd18c9dab4 100644 --- a/api_docs/kbn_home_sample_data_tab.mdx +++ b/api_docs/kbn_home_sample_data_tab.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-home-sample-data-tab title: "@kbn/home-sample-data-tab" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/home-sample-data-tab plugin -date: 2023-09-07 +date: 2023-09-08 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 792ea12361c8..9fcc5425de1c 100644 --- a/api_docs/kbn_i18n.mdx +++ b/api_docs/kbn_i18n.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-i18n title: "@kbn/i18n" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/i18n plugin -date: 2023-09-07 +date: 2023-09-08 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 8c154e5a6599..d18705af1269 100644 --- a/api_docs/kbn_i18n_react.mdx +++ b/api_docs/kbn_i18n_react.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-i18n-react title: "@kbn/i18n-react" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/i18n-react plugin -date: 2023-09-07 +date: 2023-09-08 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 680add585f26..eeea7bea9214 100644 --- a/api_docs/kbn_import_resolver.mdx +++ b/api_docs/kbn_import_resolver.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-import-resolver title: "@kbn/import-resolver" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/import-resolver plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/import-resolver'] --- import kbnImportResolverObj from './kbn_import_resolver.devdocs.json'; diff --git a/api_docs/kbn_infra_forge.mdx b/api_docs/kbn_infra_forge.mdx index 5b3971882ab2..3035a337946e 100644 --- a/api_docs/kbn_infra_forge.mdx +++ b/api_docs/kbn_infra_forge.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-infra-forge title: "@kbn/infra-forge" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/infra-forge plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/infra-forge'] --- import kbnInfraForgeObj from './kbn_infra_forge.devdocs.json'; diff --git a/api_docs/kbn_interpreter.mdx b/api_docs/kbn_interpreter.mdx index 7b396ff913a2..c01768df43c4 100644 --- a/api_docs/kbn_interpreter.mdx +++ b/api_docs/kbn_interpreter.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-interpreter title: "@kbn/interpreter" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/interpreter plugin -date: 2023-09-07 +date: 2023-09-08 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 7202252e9393..7af1037d7661 100644 --- a/api_docs/kbn_io_ts_utils.mdx +++ b/api_docs/kbn_io_ts_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-io-ts-utils title: "@kbn/io-ts-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/io-ts-utils plugin -date: 2023-09-07 +date: 2023-09-08 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 36ef37997795..583672426f87 100644 --- a/api_docs/kbn_jest_serializers.mdx +++ b/api_docs/kbn_jest_serializers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-jest-serializers title: "@kbn/jest-serializers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/jest-serializers plugin -date: 2023-09-07 +date: 2023-09-08 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 339c80744f61..4efc45e105d7 100644 --- a/api_docs/kbn_journeys.mdx +++ b/api_docs/kbn_journeys.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-journeys title: "@kbn/journeys" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/journeys plugin -date: 2023-09-07 +date: 2023-09-08 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 5fa3bd4e5e50..581b14bee0ff 100644 --- a/api_docs/kbn_json_ast.mdx +++ b/api_docs/kbn_json_ast.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-json-ast title: "@kbn/json-ast" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/json-ast plugin -date: 2023-09-07 +date: 2023-09-08 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 0f6e3aec16de..0711d461174f 100644 --- a/api_docs/kbn_kibana_manifest_schema.mdx +++ b/api_docs/kbn_kibana_manifest_schema.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-kibana-manifest-schema title: "@kbn/kibana-manifest-schema" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/kibana-manifest-schema plugin -date: 2023-09-07 +date: 2023-09-08 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 6116165a21bd..84c6d415da61 100644 --- a/api_docs/kbn_language_documentation_popover.mdx +++ b/api_docs/kbn_language_documentation_popover.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-language-documentation-popover title: "@kbn/language-documentation-popover" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/language-documentation-popover plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/language-documentation-popover'] --- import kbnLanguageDocumentationPopoverObj from './kbn_language_documentation_popover.devdocs.json'; diff --git a/api_docs/kbn_lens_embeddable_utils.mdx b/api_docs/kbn_lens_embeddable_utils.mdx index 1d59503d9f39..26cb9ab606a5 100644 --- a/api_docs/kbn_lens_embeddable_utils.mdx +++ b/api_docs/kbn_lens_embeddable_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-lens-embeddable-utils title: "@kbn/lens-embeddable-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/lens-embeddable-utils plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/lens-embeddable-utils'] --- import kbnLensEmbeddableUtilsObj from './kbn_lens_embeddable_utils.devdocs.json'; diff --git a/api_docs/kbn_logging.mdx b/api_docs/kbn_logging.mdx index ac511da99411..6baf076ca4f0 100644 --- a/api_docs/kbn_logging.mdx +++ b/api_docs/kbn_logging.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-logging title: "@kbn/logging" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/logging plugin -date: 2023-09-07 +date: 2023-09-08 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 e76082e81b20..6c0dd6dd3dab 100644 --- a/api_docs/kbn_logging_mocks.mdx +++ b/api_docs/kbn_logging_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-logging-mocks title: "@kbn/logging-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/logging-mocks plugin -date: 2023-09-07 +date: 2023-09-08 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 97d0708ae2a7..5285f1d65f19 100644 --- a/api_docs/kbn_managed_vscode_config.mdx +++ b/api_docs/kbn_managed_vscode_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-managed-vscode-config title: "@kbn/managed-vscode-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/managed-vscode-config plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/managed-vscode-config'] --- import kbnManagedVscodeConfigObj from './kbn_managed_vscode_config.devdocs.json'; diff --git a/api_docs/kbn_management_cards_navigation.mdx b/api_docs/kbn_management_cards_navigation.mdx index d6907d2e9fc8..4bdb2d0e4681 100644 --- a/api_docs/kbn_management_cards_navigation.mdx +++ b/api_docs/kbn_management_cards_navigation.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-cards-navigation title: "@kbn/management-cards-navigation" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-cards-navigation plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-cards-navigation'] --- import kbnManagementCardsNavigationObj from './kbn_management_cards_navigation.devdocs.json'; diff --git a/api_docs/kbn_management_settings_section_registry.mdx b/api_docs/kbn_management_settings_section_registry.mdx index 8b23313328ee..bd9929305278 100644 --- a/api_docs/kbn_management_settings_section_registry.mdx +++ b/api_docs/kbn_management_settings_section_registry.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-section-registry title: "@kbn/management-settings-section-registry" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-section-registry plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-section-registry'] --- import kbnManagementSettingsSectionRegistryObj from './kbn_management_settings_section_registry.devdocs.json'; diff --git a/api_docs/kbn_management_storybook_config.mdx b/api_docs/kbn_management_storybook_config.mdx index 72b228342e88..b629de5b9708 100644 --- a/api_docs/kbn_management_storybook_config.mdx +++ b/api_docs/kbn_management_storybook_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-storybook-config title: "@kbn/management-storybook-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-storybook-config plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-storybook-config'] --- import kbnManagementStorybookConfigObj from './kbn_management_storybook_config.devdocs.json'; diff --git a/api_docs/kbn_mapbox_gl.mdx b/api_docs/kbn_mapbox_gl.mdx index dbc5be6ef424..1ca426fde673 100644 --- a/api_docs/kbn_mapbox_gl.mdx +++ b/api_docs/kbn_mapbox_gl.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-mapbox-gl title: "@kbn/mapbox-gl" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/mapbox-gl plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/mapbox-gl'] --- import kbnMapboxGlObj from './kbn_mapbox_gl.devdocs.json'; diff --git a/api_docs/kbn_maps_vector_tile_utils.mdx b/api_docs/kbn_maps_vector_tile_utils.mdx index c2574bad2e43..df57b8003d0b 100644 --- a/api_docs/kbn_maps_vector_tile_utils.mdx +++ b/api_docs/kbn_maps_vector_tile_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-maps-vector-tile-utils title: "@kbn/maps-vector-tile-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/maps-vector-tile-utils plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/maps-vector-tile-utils'] --- import kbnMapsVectorTileUtilsObj from './kbn_maps_vector_tile_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_agg_utils.mdx b/api_docs/kbn_ml_agg_utils.mdx index c8b57cc3f3bf..613afe885555 100644 --- a/api_docs/kbn_ml_agg_utils.mdx +++ b/api_docs/kbn_ml_agg_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-agg-utils title: "@kbn/ml-agg-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-agg-utils plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-agg-utils'] --- import kbnMlAggUtilsObj from './kbn_ml_agg_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_anomaly_utils.mdx b/api_docs/kbn_ml_anomaly_utils.mdx index ce984d4b3120..cb10341c2b49 100644 --- a/api_docs/kbn_ml_anomaly_utils.mdx +++ b/api_docs/kbn_ml_anomaly_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-anomaly-utils title: "@kbn/ml-anomaly-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-anomaly-utils plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-anomaly-utils'] --- import kbnMlAnomalyUtilsObj from './kbn_ml_anomaly_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_category_validator.mdx b/api_docs/kbn_ml_category_validator.mdx index 8146777b310b..2dcb8b11942f 100644 --- a/api_docs/kbn_ml_category_validator.mdx +++ b/api_docs/kbn_ml_category_validator.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-category-validator title: "@kbn/ml-category-validator" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-category-validator plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-category-validator'] --- import kbnMlCategoryValidatorObj from './kbn_ml_category_validator.devdocs.json'; diff --git a/api_docs/kbn_ml_data_frame_analytics_utils.mdx b/api_docs/kbn_ml_data_frame_analytics_utils.mdx index 604927e8dbd9..ce3c64a75e68 100644 --- a/api_docs/kbn_ml_data_frame_analytics_utils.mdx +++ b/api_docs/kbn_ml_data_frame_analytics_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-data-frame-analytics-utils title: "@kbn/ml-data-frame-analytics-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-data-frame-analytics-utils plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-data-frame-analytics-utils'] --- import kbnMlDataFrameAnalyticsUtilsObj from './kbn_ml_data_frame_analytics_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_data_grid.mdx b/api_docs/kbn_ml_data_grid.mdx index 03caad0f02ba..ac4518ffac18 100644 --- a/api_docs/kbn_ml_data_grid.mdx +++ b/api_docs/kbn_ml_data_grid.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-data-grid title: "@kbn/ml-data-grid" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-data-grid plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-data-grid'] --- import kbnMlDataGridObj from './kbn_ml_data_grid.devdocs.json'; diff --git a/api_docs/kbn_ml_date_picker.mdx b/api_docs/kbn_ml_date_picker.mdx index 73bd16f3701c..6572f7940626 100644 --- a/api_docs/kbn_ml_date_picker.mdx +++ b/api_docs/kbn_ml_date_picker.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-date-picker title: "@kbn/ml-date-picker" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-date-picker plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-date-picker'] --- import kbnMlDatePickerObj from './kbn_ml_date_picker.devdocs.json'; diff --git a/api_docs/kbn_ml_date_utils.mdx b/api_docs/kbn_ml_date_utils.mdx index a0b567255525..cd155fe3c758 100644 --- a/api_docs/kbn_ml_date_utils.mdx +++ b/api_docs/kbn_ml_date_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-date-utils title: "@kbn/ml-date-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-date-utils plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-date-utils'] --- import kbnMlDateUtilsObj from './kbn_ml_date_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_error_utils.mdx b/api_docs/kbn_ml_error_utils.mdx index 6f4b7bd3cb5b..f0fb0f130d9e 100644 --- a/api_docs/kbn_ml_error_utils.mdx +++ b/api_docs/kbn_ml_error_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-error-utils title: "@kbn/ml-error-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-error-utils plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-error-utils'] --- import kbnMlErrorUtilsObj from './kbn_ml_error_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_in_memory_table.mdx b/api_docs/kbn_ml_in_memory_table.mdx index 930d7663cb1c..3102c95267ca 100644 --- a/api_docs/kbn_ml_in_memory_table.mdx +++ b/api_docs/kbn_ml_in_memory_table.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-in-memory-table title: "@kbn/ml-in-memory-table" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-in-memory-table plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-in-memory-table'] --- import kbnMlInMemoryTableObj from './kbn_ml_in_memory_table.devdocs.json'; diff --git a/api_docs/kbn_ml_is_defined.mdx b/api_docs/kbn_ml_is_defined.mdx index e1825452ebb7..afc7be8e651a 100644 --- a/api_docs/kbn_ml_is_defined.mdx +++ b/api_docs/kbn_ml_is_defined.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-is-defined title: "@kbn/ml-is-defined" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-is-defined plugin -date: 2023-09-07 +date: 2023-09-08 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 229f03a58354..e45308f78eff 100644 --- a/api_docs/kbn_ml_is_populated_object.mdx +++ b/api_docs/kbn_ml_is_populated_object.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-is-populated-object title: "@kbn/ml-is-populated-object" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-is-populated-object plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-is-populated-object'] --- import kbnMlIsPopulatedObjectObj from './kbn_ml_is_populated_object.devdocs.json'; diff --git a/api_docs/kbn_ml_kibana_theme.mdx b/api_docs/kbn_ml_kibana_theme.mdx index d12c0806de6f..3b6c5571fca0 100644 --- a/api_docs/kbn_ml_kibana_theme.mdx +++ b/api_docs/kbn_ml_kibana_theme.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-kibana-theme title: "@kbn/ml-kibana-theme" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-kibana-theme plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-kibana-theme'] --- import kbnMlKibanaThemeObj from './kbn_ml_kibana_theme.devdocs.json'; diff --git a/api_docs/kbn_ml_local_storage.mdx b/api_docs/kbn_ml_local_storage.mdx index 714909028c70..ab568fd38503 100644 --- a/api_docs/kbn_ml_local_storage.mdx +++ b/api_docs/kbn_ml_local_storage.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-local-storage title: "@kbn/ml-local-storage" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-local-storage plugin -date: 2023-09-07 +date: 2023-09-08 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 8fe3474c520a..d1f17b743099 100644 --- a/api_docs/kbn_ml_nested_property.mdx +++ b/api_docs/kbn_ml_nested_property.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-nested-property title: "@kbn/ml-nested-property" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-nested-property plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-nested-property'] --- import kbnMlNestedPropertyObj from './kbn_ml_nested_property.devdocs.json'; diff --git a/api_docs/kbn_ml_number_utils.mdx b/api_docs/kbn_ml_number_utils.mdx index 576c11e40ad1..3efdc587a170 100644 --- a/api_docs/kbn_ml_number_utils.mdx +++ b/api_docs/kbn_ml_number_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-number-utils title: "@kbn/ml-number-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-number-utils plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-number-utils'] --- import kbnMlNumberUtilsObj from './kbn_ml_number_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_query_utils.mdx b/api_docs/kbn_ml_query_utils.mdx index f0b94d49a4b2..e28a3952caeb 100644 --- a/api_docs/kbn_ml_query_utils.mdx +++ b/api_docs/kbn_ml_query_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-query-utils title: "@kbn/ml-query-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-query-utils plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-query-utils'] --- import kbnMlQueryUtilsObj from './kbn_ml_query_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_random_sampler_utils.mdx b/api_docs/kbn_ml_random_sampler_utils.mdx index 392deee9de3f..a7ba7e8b9efe 100644 --- a/api_docs/kbn_ml_random_sampler_utils.mdx +++ b/api_docs/kbn_ml_random_sampler_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-random-sampler-utils title: "@kbn/ml-random-sampler-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-random-sampler-utils plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-random-sampler-utils'] --- import kbnMlRandomSamplerUtilsObj from './kbn_ml_random_sampler_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_route_utils.mdx b/api_docs/kbn_ml_route_utils.mdx index 5a30d92ce4d9..3075b65c8eca 100644 --- a/api_docs/kbn_ml_route_utils.mdx +++ b/api_docs/kbn_ml_route_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-route-utils title: "@kbn/ml-route-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-route-utils plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-route-utils'] --- import kbnMlRouteUtilsObj from './kbn_ml_route_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_runtime_field_utils.mdx b/api_docs/kbn_ml_runtime_field_utils.mdx index fe3ff65084fc..5a099b020bba 100644 --- a/api_docs/kbn_ml_runtime_field_utils.mdx +++ b/api_docs/kbn_ml_runtime_field_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-runtime-field-utils title: "@kbn/ml-runtime-field-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-runtime-field-utils plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-runtime-field-utils'] --- import kbnMlRuntimeFieldUtilsObj from './kbn_ml_runtime_field_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_string_hash.mdx b/api_docs/kbn_ml_string_hash.mdx index a81620195387..37a1c35cd4c2 100644 --- a/api_docs/kbn_ml_string_hash.mdx +++ b/api_docs/kbn_ml_string_hash.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-string-hash title: "@kbn/ml-string-hash" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-string-hash plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-string-hash'] --- import kbnMlStringHashObj from './kbn_ml_string_hash.devdocs.json'; diff --git a/api_docs/kbn_ml_trained_models_utils.mdx b/api_docs/kbn_ml_trained_models_utils.mdx index 0bbd1cd4a77d..01e326ca4f86 100644 --- a/api_docs/kbn_ml_trained_models_utils.mdx +++ b/api_docs/kbn_ml_trained_models_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-trained-models-utils title: "@kbn/ml-trained-models-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-trained-models-utils plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-trained-models-utils'] --- import kbnMlTrainedModelsUtilsObj from './kbn_ml_trained_models_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_url_state.mdx b/api_docs/kbn_ml_url_state.mdx index 94922e02f7ef..260bb193ea3c 100644 --- a/api_docs/kbn_ml_url_state.mdx +++ b/api_docs/kbn_ml_url_state.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-url-state title: "@kbn/ml-url-state" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-url-state plugin -date: 2023-09-07 +date: 2023-09-08 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 794637307304..aac09909f4ae 100644 --- a/api_docs/kbn_monaco.mdx +++ b/api_docs/kbn_monaco.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-monaco title: "@kbn/monaco" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/monaco plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/monaco'] --- import kbnMonacoObj from './kbn_monaco.devdocs.json'; diff --git a/api_docs/kbn_object_versioning.mdx b/api_docs/kbn_object_versioning.mdx index 5c6edcf7172a..adf5bb4ba1fb 100644 --- a/api_docs/kbn_object_versioning.mdx +++ b/api_docs/kbn_object_versioning.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-object-versioning title: "@kbn/object-versioning" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/object-versioning plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/object-versioning'] --- import kbnObjectVersioningObj from './kbn_object_versioning.devdocs.json'; diff --git a/api_docs/kbn_observability_alert_details.mdx b/api_docs/kbn_observability_alert_details.mdx index 1149b68db08d..640b1fa43af2 100644 --- a/api_docs/kbn_observability_alert_details.mdx +++ b/api_docs/kbn_observability_alert_details.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-observability-alert-details title: "@kbn/observability-alert-details" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/observability-alert-details plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/observability-alert-details'] --- import kbnObservabilityAlertDetailsObj from './kbn_observability_alert_details.devdocs.json'; diff --git a/api_docs/kbn_optimizer.mdx b/api_docs/kbn_optimizer.mdx index 9e39f61cf08d..98e82243327c 100644 --- a/api_docs/kbn_optimizer.mdx +++ b/api_docs/kbn_optimizer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-optimizer title: "@kbn/optimizer" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/optimizer plugin -date: 2023-09-07 +date: 2023-09-08 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 d23c1201e1da..5b892ff847f3 100644 --- a/api_docs/kbn_optimizer_webpack_helpers.mdx +++ b/api_docs/kbn_optimizer_webpack_helpers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-optimizer-webpack-helpers title: "@kbn/optimizer-webpack-helpers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/optimizer-webpack-helpers plugin -date: 2023-09-07 +date: 2023-09-08 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 c3b10b12bd44..e718baf04fa0 100644 --- a/api_docs/kbn_osquery_io_ts_types.mdx +++ b/api_docs/kbn_osquery_io_ts_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-osquery-io-ts-types title: "@kbn/osquery-io-ts-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/osquery-io-ts-types plugin -date: 2023-09-07 +date: 2023-09-08 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 297ee6b1be45..7264c3e30693 100644 --- a/api_docs/kbn_performance_testing_dataset_extractor.mdx +++ b/api_docs/kbn_performance_testing_dataset_extractor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-performance-testing-dataset-extractor title: "@kbn/performance-testing-dataset-extractor" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/performance-testing-dataset-extractor plugin -date: 2023-09-07 +date: 2023-09-08 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 0366d99d9d01..c7a3fb0e6d5f 100644 --- a/api_docs/kbn_plugin_generator.mdx +++ b/api_docs/kbn_plugin_generator.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-plugin-generator title: "@kbn/plugin-generator" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/plugin-generator plugin -date: 2023-09-07 +date: 2023-09-08 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 db50c36d6229..e4ed56f60eb3 100644 --- a/api_docs/kbn_plugin_helpers.mdx +++ b/api_docs/kbn_plugin_helpers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-plugin-helpers title: "@kbn/plugin-helpers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/plugin-helpers plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/plugin-helpers'] --- import kbnPluginHelpersObj from './kbn_plugin_helpers.devdocs.json'; diff --git a/api_docs/kbn_random_sampling.mdx b/api_docs/kbn_random_sampling.mdx index 28307f12d2b2..be2b9a97528f 100644 --- a/api_docs/kbn_random_sampling.mdx +++ b/api_docs/kbn_random_sampling.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-random-sampling title: "@kbn/random-sampling" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/random-sampling plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/random-sampling'] --- import kbnRandomSamplingObj from './kbn_random_sampling.devdocs.json'; diff --git a/api_docs/kbn_react_field.mdx b/api_docs/kbn_react_field.mdx index 33929a9dcb50..94db9b37450a 100644 --- a/api_docs/kbn_react_field.mdx +++ b/api_docs/kbn_react_field.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-field title: "@kbn/react-field" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-field plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-field'] --- import kbnReactFieldObj from './kbn_react_field.devdocs.json'; diff --git a/api_docs/kbn_react_kibana_context_common.mdx b/api_docs/kbn_react_kibana_context_common.mdx index 12d7b57a58a4..0f2ba928ee27 100644 --- a/api_docs/kbn_react_kibana_context_common.mdx +++ b/api_docs/kbn_react_kibana_context_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-kibana-context-common title: "@kbn/react-kibana-context-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-kibana-context-common plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-kibana-context-common'] --- import kbnReactKibanaContextCommonObj from './kbn_react_kibana_context_common.devdocs.json'; diff --git a/api_docs/kbn_react_kibana_context_render.mdx b/api_docs/kbn_react_kibana_context_render.mdx index 6ae5aba2b919..045d4a05ebc2 100644 --- a/api_docs/kbn_react_kibana_context_render.mdx +++ b/api_docs/kbn_react_kibana_context_render.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-kibana-context-render title: "@kbn/react-kibana-context-render" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-kibana-context-render plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-kibana-context-render'] --- import kbnReactKibanaContextRenderObj from './kbn_react_kibana_context_render.devdocs.json'; diff --git a/api_docs/kbn_react_kibana_context_root.mdx b/api_docs/kbn_react_kibana_context_root.mdx index 86b945b8a405..21d296e3f887 100644 --- a/api_docs/kbn_react_kibana_context_root.mdx +++ b/api_docs/kbn_react_kibana_context_root.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-kibana-context-root title: "@kbn/react-kibana-context-root" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-kibana-context-root plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-kibana-context-root'] --- import kbnReactKibanaContextRootObj from './kbn_react_kibana_context_root.devdocs.json'; diff --git a/api_docs/kbn_react_kibana_context_styled.mdx b/api_docs/kbn_react_kibana_context_styled.mdx index 5b581a974e3a..75fcecca678c 100644 --- a/api_docs/kbn_react_kibana_context_styled.mdx +++ b/api_docs/kbn_react_kibana_context_styled.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-kibana-context-styled title: "@kbn/react-kibana-context-styled" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-kibana-context-styled plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-kibana-context-styled'] --- import kbnReactKibanaContextStyledObj from './kbn_react_kibana_context_styled.devdocs.json'; diff --git a/api_docs/kbn_react_kibana_context_theme.mdx b/api_docs/kbn_react_kibana_context_theme.mdx index 0c30be0bfbc4..ec5edbf23d91 100644 --- a/api_docs/kbn_react_kibana_context_theme.mdx +++ b/api_docs/kbn_react_kibana_context_theme.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-kibana-context-theme title: "@kbn/react-kibana-context-theme" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-kibana-context-theme plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-kibana-context-theme'] --- import kbnReactKibanaContextThemeObj from './kbn_react_kibana_context_theme.devdocs.json'; diff --git a/api_docs/kbn_react_kibana_mount.mdx b/api_docs/kbn_react_kibana_mount.mdx index 2be6f38cd0b9..bdd0c759f222 100644 --- a/api_docs/kbn_react_kibana_mount.mdx +++ b/api_docs/kbn_react_kibana_mount.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-kibana-mount title: "@kbn/react-kibana-mount" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-kibana-mount plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-kibana-mount'] --- import kbnReactKibanaMountObj from './kbn_react_kibana_mount.devdocs.json'; diff --git a/api_docs/kbn_repo_file_maps.mdx b/api_docs/kbn_repo_file_maps.mdx index 3a37cab5f1fe..5a0f8e881f6a 100644 --- a/api_docs/kbn_repo_file_maps.mdx +++ b/api_docs/kbn_repo_file_maps.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-repo-file-maps title: "@kbn/repo-file-maps" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/repo-file-maps plugin -date: 2023-09-07 +date: 2023-09-08 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 70f8d20ec93a..bce772f950a9 100644 --- a/api_docs/kbn_repo_linter.mdx +++ b/api_docs/kbn_repo_linter.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-repo-linter title: "@kbn/repo-linter" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/repo-linter plugin -date: 2023-09-07 +date: 2023-09-08 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 06fe9b2a0f09..f565a5d9dd65 100644 --- a/api_docs/kbn_repo_path.mdx +++ b/api_docs/kbn_repo_path.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-repo-path title: "@kbn/repo-path" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/repo-path plugin -date: 2023-09-07 +date: 2023-09-08 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 eaadfa9c72e2..64d936997d9d 100644 --- a/api_docs/kbn_repo_source_classifier.mdx +++ b/api_docs/kbn_repo_source_classifier.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-repo-source-classifier title: "@kbn/repo-source-classifier" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/repo-source-classifier plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/repo-source-classifier'] --- import kbnRepoSourceClassifierObj from './kbn_repo_source_classifier.devdocs.json'; diff --git a/api_docs/kbn_reporting_common.mdx b/api_docs/kbn_reporting_common.mdx index bdd17b320a8e..cfa4ec1a0a4f 100644 --- a/api_docs/kbn_reporting_common.mdx +++ b/api_docs/kbn_reporting_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-reporting-common title: "@kbn/reporting-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/reporting-common plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/reporting-common'] --- import kbnReportingCommonObj from './kbn_reporting_common.devdocs.json'; diff --git a/api_docs/kbn_rison.mdx b/api_docs/kbn_rison.mdx index ecd2224a41e2..001f81b52308 100644 --- a/api_docs/kbn_rison.mdx +++ b/api_docs/kbn_rison.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-rison title: "@kbn/rison" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/rison plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/rison'] --- import kbnRisonObj from './kbn_rison.devdocs.json'; diff --git a/api_docs/kbn_rrule.mdx b/api_docs/kbn_rrule.mdx index 05bf37913bfb..9d3ceb3f5b8b 100644 --- a/api_docs/kbn_rrule.mdx +++ b/api_docs/kbn_rrule.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-rrule title: "@kbn/rrule" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/rrule plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/rrule'] --- import kbnRruleObj from './kbn_rrule.devdocs.json'; diff --git a/api_docs/kbn_rule_data_utils.mdx b/api_docs/kbn_rule_data_utils.mdx index 59eac05339b1..38d81b1eb3f7 100644 --- a/api_docs/kbn_rule_data_utils.mdx +++ b/api_docs/kbn_rule_data_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-rule-data-utils title: "@kbn/rule-data-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/rule-data-utils plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/rule-data-utils'] --- import kbnRuleDataUtilsObj from './kbn_rule_data_utils.devdocs.json'; diff --git a/api_docs/kbn_saved_objects_settings.mdx b/api_docs/kbn_saved_objects_settings.mdx index 4089b880106f..f63bd1964936 100644 --- a/api_docs/kbn_saved_objects_settings.mdx +++ b/api_docs/kbn_saved_objects_settings.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-saved-objects-settings title: "@kbn/saved-objects-settings" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/saved-objects-settings plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/saved-objects-settings'] --- import kbnSavedObjectsSettingsObj from './kbn_saved_objects_settings.devdocs.json'; diff --git a/api_docs/kbn_search_api_panels.devdocs.json b/api_docs/kbn_search_api_panels.devdocs.json index e493e1db46fd..d2169d84164c 100644 --- a/api_docs/kbn_search_api_panels.devdocs.json +++ b/api_docs/kbn_search_api_panels.devdocs.json @@ -526,7 +526,7 @@ "label": "WelcomeBanner", "description": [], "signature": [ - "({ userProfile, assetBasePath, image, showDescription, }: React.PropsWithChildren<", + "({ user, assetBasePath, image, showDescription, }: React.PropsWithChildren<", { "pluginId": "@kbn/search-api-panels", "scope": "common", @@ -545,7 +545,7 @@ "id": "def-common.WelcomeBanner.$1", "type": "CompoundType", "tags": [], - "label": "{\n userProfile,\n assetBasePath,\n image,\n showDescription = true,\n}", + "label": "{\n user,\n assetBasePath,\n image,\n showDescription = true,\n}", "description": [], "signature": [ "React.PropsWithChildren<", @@ -1149,13 +1149,20 @@ "children": [ { "parentPluginId": "@kbn/search-api-panels", - "id": "def-common.WelcomeBannerProps.userProfile", + "id": "def-common.WelcomeBannerProps.user", "type": "Object", "tags": [], - "label": "userProfile", + "label": "user", "description": [], "signature": [ - "{ user: { full_name?: string | undefined; username?: string | undefined; }; }" + { + "pluginId": "security", + "scope": "common", + "docId": "kibSecurityPluginApi", + "section": "def-common.AuthenticatedUser", + "text": "AuthenticatedUser" + }, + " | undefined" ], "path": "packages/kbn-search-api-panels/index.tsx", "deprecated": false, diff --git a/api_docs/kbn_search_api_panels.mdx b/api_docs/kbn_search_api_panels.mdx index fef62ef1d6f2..2de372d2b459 100644 --- a/api_docs/kbn_search_api_panels.mdx +++ b/api_docs/kbn_search_api_panels.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-search-api-panels title: "@kbn/search-api-panels" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/search-api-panels plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/search-api-panels'] --- import kbnSearchApiPanelsObj from './kbn_search_api_panels.devdocs.json'; diff --git a/api_docs/kbn_search_connectors.mdx b/api_docs/kbn_search_connectors.mdx index 4890a772ccf2..8bad8381c223 100644 --- a/api_docs/kbn_search_connectors.mdx +++ b/api_docs/kbn_search_connectors.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-search-connectors title: "@kbn/search-connectors" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/search-connectors plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/search-connectors'] --- import kbnSearchConnectorsObj from './kbn_search_connectors.devdocs.json'; diff --git a/api_docs/kbn_search_response_warnings.mdx b/api_docs/kbn_search_response_warnings.mdx index 2033ae03e804..bf28678b4f23 100644 --- a/api_docs/kbn_search_response_warnings.mdx +++ b/api_docs/kbn_search_response_warnings.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-search-response-warnings title: "@kbn/search-response-warnings" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/search-response-warnings plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/search-response-warnings'] --- import kbnSearchResponseWarningsObj from './kbn_search_response_warnings.devdocs.json'; diff --git a/api_docs/kbn_security_solution_features.mdx b/api_docs/kbn_security_solution_features.mdx index 2997ced54d75..7019fff83680 100644 --- a/api_docs/kbn_security_solution_features.mdx +++ b/api_docs/kbn_security_solution_features.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-security-solution-features title: "@kbn/security-solution-features" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/security-solution-features plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/security-solution-features'] --- import kbnSecuritySolutionFeaturesObj from './kbn_security_solution_features.devdocs.json'; diff --git a/api_docs/kbn_security_solution_navigation.mdx b/api_docs/kbn_security_solution_navigation.mdx index 58ae7b3192bb..c4d1064b2dc8 100644 --- a/api_docs/kbn_security_solution_navigation.mdx +++ b/api_docs/kbn_security_solution_navigation.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-security-solution-navigation title: "@kbn/security-solution-navigation" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/security-solution-navigation plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/security-solution-navigation'] --- import kbnSecuritySolutionNavigationObj from './kbn_security_solution_navigation.devdocs.json'; diff --git a/api_docs/kbn_security_solution_side_nav.mdx b/api_docs/kbn_security_solution_side_nav.mdx index ac0456fb4605..646f3f12a38c 100644 --- a/api_docs/kbn_security_solution_side_nav.mdx +++ b/api_docs/kbn_security_solution_side_nav.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-security-solution-side-nav title: "@kbn/security-solution-side-nav" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/security-solution-side-nav plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/security-solution-side-nav'] --- import kbnSecuritySolutionSideNavObj from './kbn_security_solution_side_nav.devdocs.json'; diff --git a/api_docs/kbn_security_solution_storybook_config.mdx b/api_docs/kbn_security_solution_storybook_config.mdx index b9b2beb5b892..823cd657eb63 100644 --- a/api_docs/kbn_security_solution_storybook_config.mdx +++ b/api_docs/kbn_security_solution_storybook_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-security-solution-storybook-config title: "@kbn/security-solution-storybook-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/security-solution-storybook-config plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/security-solution-storybook-config'] --- import kbnSecuritySolutionStorybookConfigObj from './kbn_security_solution_storybook_config.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_autocomplete.mdx b/api_docs/kbn_securitysolution_autocomplete.mdx index 8a680f4990f0..1f4eac047be1 100644 --- a/api_docs/kbn_securitysolution_autocomplete.mdx +++ b/api_docs/kbn_securitysolution_autocomplete.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-autocomplete title: "@kbn/securitysolution-autocomplete" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-autocomplete plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-autocomplete'] --- import kbnSecuritysolutionAutocompleteObj from './kbn_securitysolution_autocomplete.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_data_table.mdx b/api_docs/kbn_securitysolution_data_table.mdx index a94d5b0a6647..df7aea4a5fde 100644 --- a/api_docs/kbn_securitysolution_data_table.mdx +++ b/api_docs/kbn_securitysolution_data_table.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-data-table title: "@kbn/securitysolution-data-table" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-data-table plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-data-table'] --- import kbnSecuritysolutionDataTableObj from './kbn_securitysolution_data_table.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_ecs.mdx b/api_docs/kbn_securitysolution_ecs.mdx index df9860416e9e..e5f0a3c34428 100644 --- a/api_docs/kbn_securitysolution_ecs.mdx +++ b/api_docs/kbn_securitysolution_ecs.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-ecs title: "@kbn/securitysolution-ecs" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-ecs plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-ecs'] --- import kbnSecuritysolutionEcsObj from './kbn_securitysolution_ecs.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_es_utils.mdx b/api_docs/kbn_securitysolution_es_utils.mdx index 9bc2a09b2c58..96f723b0c0c0 100644 --- a/api_docs/kbn_securitysolution_es_utils.mdx +++ b/api_docs/kbn_securitysolution_es_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-es-utils title: "@kbn/securitysolution-es-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-es-utils plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-es-utils'] --- import kbnSecuritysolutionEsUtilsObj from './kbn_securitysolution_es_utils.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_exception_list_components.mdx b/api_docs/kbn_securitysolution_exception_list_components.mdx index 23eb702e4b13..abcbf295a795 100644 --- a/api_docs/kbn_securitysolution_exception_list_components.mdx +++ b/api_docs/kbn_securitysolution_exception_list_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-exception-list-components title: "@kbn/securitysolution-exception-list-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-exception-list-components plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-exception-list-components'] --- import kbnSecuritysolutionExceptionListComponentsObj from './kbn_securitysolution_exception_list_components.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_grouping.mdx b/api_docs/kbn_securitysolution_grouping.mdx index e899a5096709..52caed30acc0 100644 --- a/api_docs/kbn_securitysolution_grouping.mdx +++ b/api_docs/kbn_securitysolution_grouping.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-grouping title: "@kbn/securitysolution-grouping" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-grouping plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-grouping'] --- import kbnSecuritysolutionGroupingObj from './kbn_securitysolution_grouping.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_hook_utils.mdx b/api_docs/kbn_securitysolution_hook_utils.mdx index 2d80d442c224..6c7dbc12a40f 100644 --- a/api_docs/kbn_securitysolution_hook_utils.mdx +++ b/api_docs/kbn_securitysolution_hook_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-hook-utils title: "@kbn/securitysolution-hook-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-hook-utils plugin -date: 2023-09-07 +date: 2023-09-08 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 9ba791d98cb9..62a178f12a3f 100644 --- a/api_docs/kbn_securitysolution_io_ts_alerting_types.mdx +++ b/api_docs/kbn_securitysolution_io_ts_alerting_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-io-ts-alerting-types title: "@kbn/securitysolution-io-ts-alerting-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-io-ts-alerting-types plugin -date: 2023-09-07 +date: 2023-09-08 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 55b130a716ec..3bc840d7eedc 100644 --- a/api_docs/kbn_securitysolution_io_ts_list_types.mdx +++ b/api_docs/kbn_securitysolution_io_ts_list_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-io-ts-list-types title: "@kbn/securitysolution-io-ts-list-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-io-ts-list-types plugin -date: 2023-09-07 +date: 2023-09-08 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 7da2c80b5e2c..3a1542e72162 100644 --- a/api_docs/kbn_securitysolution_io_ts_types.mdx +++ b/api_docs/kbn_securitysolution_io_ts_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-io-ts-types title: "@kbn/securitysolution-io-ts-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-io-ts-types plugin -date: 2023-09-07 +date: 2023-09-08 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 b4867b8d8038..00fec9a13157 100644 --- a/api_docs/kbn_securitysolution_io_ts_utils.mdx +++ b/api_docs/kbn_securitysolution_io_ts_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-io-ts-utils title: "@kbn/securitysolution-io-ts-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-io-ts-utils plugin -date: 2023-09-07 +date: 2023-09-08 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 ea1d190889a5..92551aacca7a 100644 --- a/api_docs/kbn_securitysolution_list_api.mdx +++ b/api_docs/kbn_securitysolution_list_api.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-list-api title: "@kbn/securitysolution-list-api" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-list-api plugin -date: 2023-09-07 +date: 2023-09-08 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 179bde08daca..0e5a3cf35b19 100644 --- a/api_docs/kbn_securitysolution_list_constants.mdx +++ b/api_docs/kbn_securitysolution_list_constants.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-list-constants title: "@kbn/securitysolution-list-constants" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-list-constants plugin -date: 2023-09-07 +date: 2023-09-08 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 8ecd26e5090f..dedd674fdd87 100644 --- a/api_docs/kbn_securitysolution_list_hooks.mdx +++ b/api_docs/kbn_securitysolution_list_hooks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-list-hooks title: "@kbn/securitysolution-list-hooks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-list-hooks plugin -date: 2023-09-07 +date: 2023-09-08 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 34f16182953d..4b52381bd4a1 100644 --- a/api_docs/kbn_securitysolution_list_utils.mdx +++ b/api_docs/kbn_securitysolution_list_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-list-utils title: "@kbn/securitysolution-list-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-list-utils plugin -date: 2023-09-07 +date: 2023-09-08 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 945ad028a13f..e80a4f7ff6b2 100644 --- a/api_docs/kbn_securitysolution_rules.mdx +++ b/api_docs/kbn_securitysolution_rules.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-rules title: "@kbn/securitysolution-rules" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-rules plugin -date: 2023-09-07 +date: 2023-09-08 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 184454e34725..c5a6bc389a20 100644 --- a/api_docs/kbn_securitysolution_t_grid.mdx +++ b/api_docs/kbn_securitysolution_t_grid.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-t-grid title: "@kbn/securitysolution-t-grid" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-t-grid plugin -date: 2023-09-07 +date: 2023-09-08 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 b99d6c8625d0..00ca9d842f92 100644 --- a/api_docs/kbn_securitysolution_utils.mdx +++ b/api_docs/kbn_securitysolution_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-utils title: "@kbn/securitysolution-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-utils plugin -date: 2023-09-07 +date: 2023-09-08 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 04248bbb3a89..62c8ca4a596f 100644 --- a/api_docs/kbn_server_http_tools.mdx +++ b/api_docs/kbn_server_http_tools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-server-http-tools title: "@kbn/server-http-tools" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/server-http-tools plugin -date: 2023-09-07 +date: 2023-09-08 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 19caf9de588a..7d11309c453d 100644 --- a/api_docs/kbn_server_route_repository.mdx +++ b/api_docs/kbn_server_route_repository.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-server-route-repository title: "@kbn/server-route-repository" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/server-route-repository plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/server-route-repository'] --- import kbnServerRouteRepositoryObj from './kbn_server_route_repository.devdocs.json'; diff --git a/api_docs/kbn_serverless_project_switcher.mdx b/api_docs/kbn_serverless_project_switcher.mdx index 67e1ba7f000b..e397c924a291 100644 --- a/api_docs/kbn_serverless_project_switcher.mdx +++ b/api_docs/kbn_serverless_project_switcher.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-serverless-project-switcher title: "@kbn/serverless-project-switcher" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/serverless-project-switcher plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/serverless-project-switcher'] --- import kbnServerlessProjectSwitcherObj from './kbn_serverless_project_switcher.devdocs.json'; diff --git a/api_docs/kbn_serverless_storybook_config.mdx b/api_docs/kbn_serverless_storybook_config.mdx index a6e103c9db23..b9dd1969cbdd 100644 --- a/api_docs/kbn_serverless_storybook_config.mdx +++ b/api_docs/kbn_serverless_storybook_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-serverless-storybook-config title: "@kbn/serverless-storybook-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/serverless-storybook-config plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/serverless-storybook-config'] --- import kbnServerlessStorybookConfigObj from './kbn_serverless_storybook_config.devdocs.json'; diff --git a/api_docs/kbn_shared_svg.mdx b/api_docs/kbn_shared_svg.mdx index d66c53efc289..475efd731a72 100644 --- a/api_docs/kbn_shared_svg.mdx +++ b/api_docs/kbn_shared_svg.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-svg title: "@kbn/shared-svg" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-svg plugin -date: 2023-09-07 +date: 2023-09-08 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 607215f3a379..61bfd36cf544 100644 --- a/api_docs/kbn_shared_ux_avatar_solution.mdx +++ b/api_docs/kbn_shared_ux_avatar_solution.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-avatar-solution title: "@kbn/shared-ux-avatar-solution" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-avatar-solution plugin -date: 2023-09-07 +date: 2023-09-08 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 11a87e549e02..4d2915cbc89f 100644 --- a/api_docs/kbn_shared_ux_avatar_user_profile_components.mdx +++ b/api_docs/kbn_shared_ux_avatar_user_profile_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-avatar-user-profile-components title: "@kbn/shared-ux-avatar-user-profile-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-avatar-user-profile-components plugin -date: 2023-09-07 +date: 2023-09-08 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 2d8f7b57050f..d6e995300a28 100644 --- a/api_docs/kbn_shared_ux_button_exit_full_screen.mdx +++ b/api_docs/kbn_shared_ux_button_exit_full_screen.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-button-exit-full-screen title: "@kbn/shared-ux-button-exit-full-screen" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-button-exit-full-screen plugin -date: 2023-09-07 +date: 2023-09-08 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 71afff3c1631..72430e134bb4 100644 --- a/api_docs/kbn_shared_ux_button_exit_full_screen_mocks.mdx +++ b/api_docs/kbn_shared_ux_button_exit_full_screen_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-button-exit-full-screen-mocks title: "@kbn/shared-ux-button-exit-full-screen-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-button-exit-full-screen-mocks plugin -date: 2023-09-07 +date: 2023-09-08 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 11a327f86778..802da92334e7 100644 --- a/api_docs/kbn_shared_ux_button_toolbar.mdx +++ b/api_docs/kbn_shared_ux_button_toolbar.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-button-toolbar title: "@kbn/shared-ux-button-toolbar" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-button-toolbar plugin -date: 2023-09-07 +date: 2023-09-08 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 a131b00d7037..27524f3ba372 100644 --- a/api_docs/kbn_shared_ux_card_no_data.mdx +++ b/api_docs/kbn_shared_ux_card_no_data.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-card-no-data title: "@kbn/shared-ux-card-no-data" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-card-no-data plugin -date: 2023-09-07 +date: 2023-09-08 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 e6d1d8d6cfeb..dd9b219ccd73 100644 --- a/api_docs/kbn_shared_ux_card_no_data_mocks.mdx +++ b/api_docs/kbn_shared_ux_card_no_data_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-card-no-data-mocks title: "@kbn/shared-ux-card-no-data-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-card-no-data-mocks plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-card-no-data-mocks'] --- import kbnSharedUxCardNoDataMocksObj from './kbn_shared_ux_card_no_data_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_chrome_navigation.mdx b/api_docs/kbn_shared_ux_chrome_navigation.mdx index 2bddc8d071f2..78fc7e6f55cf 100644 --- a/api_docs/kbn_shared_ux_chrome_navigation.mdx +++ b/api_docs/kbn_shared_ux_chrome_navigation.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-chrome-navigation title: "@kbn/shared-ux-chrome-navigation" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-chrome-navigation plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-chrome-navigation'] --- import kbnSharedUxChromeNavigationObj from './kbn_shared_ux_chrome_navigation.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_context.mdx b/api_docs/kbn_shared_ux_file_context.mdx index 1fe09d51dde9..ecf604de7092 100644 --- a/api_docs/kbn_shared_ux_file_context.mdx +++ b/api_docs/kbn_shared_ux_file_context.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-context title: "@kbn/shared-ux-file-context" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-context plugin -date: 2023-09-07 +date: 2023-09-08 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 0aebbbeaf148..446043b3ea4f 100644 --- a/api_docs/kbn_shared_ux_file_image.mdx +++ b/api_docs/kbn_shared_ux_file_image.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-image title: "@kbn/shared-ux-file-image" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-image plugin -date: 2023-09-07 +date: 2023-09-08 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 37e9757141b6..9957ffe61444 100644 --- a/api_docs/kbn_shared_ux_file_image_mocks.mdx +++ b/api_docs/kbn_shared_ux_file_image_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-image-mocks title: "@kbn/shared-ux-file-image-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-image-mocks plugin -date: 2023-09-07 +date: 2023-09-08 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 226b7d9d5bf9..0dcadb784c62 100644 --- a/api_docs/kbn_shared_ux_file_mocks.mdx +++ b/api_docs/kbn_shared_ux_file_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-mocks title: "@kbn/shared-ux-file-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-mocks plugin -date: 2023-09-07 +date: 2023-09-08 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 c71cde909ac6..3f8529272fa5 100644 --- a/api_docs/kbn_shared_ux_file_picker.mdx +++ b/api_docs/kbn_shared_ux_file_picker.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-picker title: "@kbn/shared-ux-file-picker" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-picker plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-picker'] --- import kbnSharedUxFilePickerObj from './kbn_shared_ux_file_picker.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_types.mdx b/api_docs/kbn_shared_ux_file_types.mdx index 98c7f15bb099..4493ee8488fb 100644 --- a/api_docs/kbn_shared_ux_file_types.mdx +++ b/api_docs/kbn_shared_ux_file_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-types title: "@kbn/shared-ux-file-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-types plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-types'] --- import kbnSharedUxFileTypesObj from './kbn_shared_ux_file_types.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_upload.mdx b/api_docs/kbn_shared_ux_file_upload.mdx index 78e2cf9c7f7b..502f65c32a1a 100644 --- a/api_docs/kbn_shared_ux_file_upload.mdx +++ b/api_docs/kbn_shared_ux_file_upload.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-upload title: "@kbn/shared-ux-file-upload" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-upload plugin -date: 2023-09-07 +date: 2023-09-08 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 7a85f2d5486d..927aba197927 100644 --- a/api_docs/kbn_shared_ux_file_util.mdx +++ b/api_docs/kbn_shared_ux_file_util.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-util title: "@kbn/shared-ux-file-util" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-util plugin -date: 2023-09-07 +date: 2023-09-08 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 ec4c9b581619..f5dd2e9ebd03 100644 --- a/api_docs/kbn_shared_ux_link_redirect_app.mdx +++ b/api_docs/kbn_shared_ux_link_redirect_app.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-link-redirect-app title: "@kbn/shared-ux-link-redirect-app" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-link-redirect-app plugin -date: 2023-09-07 +date: 2023-09-08 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 df8b4f1f1aec..ae73b81d0dea 100644 --- a/api_docs/kbn_shared_ux_link_redirect_app_mocks.mdx +++ b/api_docs/kbn_shared_ux_link_redirect_app_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-link-redirect-app-mocks title: "@kbn/shared-ux-link-redirect-app-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-link-redirect-app-mocks plugin -date: 2023-09-07 +date: 2023-09-08 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 bb88ada3f856..94082d9c30a2 100644 --- a/api_docs/kbn_shared_ux_markdown.mdx +++ b/api_docs/kbn_shared_ux_markdown.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-markdown title: "@kbn/shared-ux-markdown" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-markdown plugin -date: 2023-09-07 +date: 2023-09-08 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 db3ffa26ad7a..898842b15b5f 100644 --- a/api_docs/kbn_shared_ux_markdown_mocks.mdx +++ b/api_docs/kbn_shared_ux_markdown_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-markdown-mocks title: "@kbn/shared-ux-markdown-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-markdown-mocks plugin -date: 2023-09-07 +date: 2023-09-08 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 7dcc6c375e92..9e4d6a188b6b 100644 --- a/api_docs/kbn_shared_ux_page_analytics_no_data.mdx +++ b/api_docs/kbn_shared_ux_page_analytics_no_data.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-analytics-no-data title: "@kbn/shared-ux-page-analytics-no-data" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-analytics-no-data plugin -date: 2023-09-07 +date: 2023-09-08 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 160fb9bbe0c0..d624dace866a 100644 --- a/api_docs/kbn_shared_ux_page_analytics_no_data_mocks.mdx +++ b/api_docs/kbn_shared_ux_page_analytics_no_data_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-analytics-no-data-mocks title: "@kbn/shared-ux-page-analytics-no-data-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-analytics-no-data-mocks plugin -date: 2023-09-07 +date: 2023-09-08 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 b70e59cc750b..6f04104be0f3 100644 --- a/api_docs/kbn_shared_ux_page_kibana_no_data.mdx +++ b/api_docs/kbn_shared_ux_page_kibana_no_data.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-kibana-no-data title: "@kbn/shared-ux-page-kibana-no-data" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-kibana-no-data plugin -date: 2023-09-07 +date: 2023-09-08 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 91c11e282894..23aaffa6a7c4 100644 --- a/api_docs/kbn_shared_ux_page_kibana_no_data_mocks.mdx +++ b/api_docs/kbn_shared_ux_page_kibana_no_data_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-kibana-no-data-mocks title: "@kbn/shared-ux-page-kibana-no-data-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-kibana-no-data-mocks plugin -date: 2023-09-07 +date: 2023-09-08 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 75fd7771c408..a773ee61ed0c 100644 --- a/api_docs/kbn_shared_ux_page_kibana_template.mdx +++ b/api_docs/kbn_shared_ux_page_kibana_template.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-kibana-template title: "@kbn/shared-ux-page-kibana-template" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-kibana-template plugin -date: 2023-09-07 +date: 2023-09-08 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 98ecc523d6e0..e9e19630758a 100644 --- a/api_docs/kbn_shared_ux_page_kibana_template_mocks.mdx +++ b/api_docs/kbn_shared_ux_page_kibana_template_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-kibana-template-mocks title: "@kbn/shared-ux-page-kibana-template-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-kibana-template-mocks plugin -date: 2023-09-07 +date: 2023-09-08 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 50fdd48412e8..cd01372e32cc 100644 --- a/api_docs/kbn_shared_ux_page_no_data.mdx +++ b/api_docs/kbn_shared_ux_page_no_data.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-no-data title: "@kbn/shared-ux-page-no-data" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-no-data plugin -date: 2023-09-07 +date: 2023-09-08 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 ae54321f280b..d0a6a0cc1ebb 100644 --- a/api_docs/kbn_shared_ux_page_no_data_config.mdx +++ b/api_docs/kbn_shared_ux_page_no_data_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-no-data-config title: "@kbn/shared-ux-page-no-data-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-no-data-config plugin -date: 2023-09-07 +date: 2023-09-08 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 3f885ae4a6ae..c512c71fde93 100644 --- a/api_docs/kbn_shared_ux_page_no_data_config_mocks.mdx +++ b/api_docs/kbn_shared_ux_page_no_data_config_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-no-data-config-mocks title: "@kbn/shared-ux-page-no-data-config-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-no-data-config-mocks plugin -date: 2023-09-07 +date: 2023-09-08 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 eab5f66ef4f2..780f549fac67 100644 --- a/api_docs/kbn_shared_ux_page_no_data_mocks.mdx +++ b/api_docs/kbn_shared_ux_page_no_data_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-no-data-mocks title: "@kbn/shared-ux-page-no-data-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-no-data-mocks plugin -date: 2023-09-07 +date: 2023-09-08 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 fb729f83c61f..d28759bd6d1f 100644 --- a/api_docs/kbn_shared_ux_page_solution_nav.mdx +++ b/api_docs/kbn_shared_ux_page_solution_nav.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-solution-nav title: "@kbn/shared-ux-page-solution-nav" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-solution-nav plugin -date: 2023-09-07 +date: 2023-09-08 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 50702f90b958..a8b4a07595c0 100644 --- a/api_docs/kbn_shared_ux_prompt_no_data_views.mdx +++ b/api_docs/kbn_shared_ux_prompt_no_data_views.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-prompt-no-data-views title: "@kbn/shared-ux-prompt-no-data-views" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-prompt-no-data-views plugin -date: 2023-09-07 +date: 2023-09-08 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 b329f8ffc200..d293cfe6431b 100644 --- a/api_docs/kbn_shared_ux_prompt_no_data_views_mocks.mdx +++ b/api_docs/kbn_shared_ux_prompt_no_data_views_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-prompt-no-data-views-mocks title: "@kbn/shared-ux-prompt-no-data-views-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-prompt-no-data-views-mocks plugin -date: 2023-09-07 +date: 2023-09-08 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 35eae4c7b238..3fec089bdf79 100644 --- a/api_docs/kbn_shared_ux_prompt_not_found.mdx +++ b/api_docs/kbn_shared_ux_prompt_not_found.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-prompt-not-found title: "@kbn/shared-ux-prompt-not-found" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-prompt-not-found plugin -date: 2023-09-07 +date: 2023-09-08 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 3a19fb845252..144c99678ede 100644 --- a/api_docs/kbn_shared_ux_router.mdx +++ b/api_docs/kbn_shared_ux_router.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-router title: "@kbn/shared-ux-router" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-router plugin -date: 2023-09-07 +date: 2023-09-08 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 cca3e5fac1d8..214a70c0e611 100644 --- a/api_docs/kbn_shared_ux_router_mocks.mdx +++ b/api_docs/kbn_shared_ux_router_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-router-mocks title: "@kbn/shared-ux-router-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-router-mocks plugin -date: 2023-09-07 +date: 2023-09-08 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 8cc1caef1c9c..77ab39655789 100644 --- a/api_docs/kbn_shared_ux_storybook_config.mdx +++ b/api_docs/kbn_shared_ux_storybook_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-storybook-config title: "@kbn/shared-ux-storybook-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-storybook-config plugin -date: 2023-09-07 +date: 2023-09-08 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 b0265f06902d..2f390b9a0a34 100644 --- a/api_docs/kbn_shared_ux_storybook_mock.mdx +++ b/api_docs/kbn_shared_ux_storybook_mock.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-storybook-mock title: "@kbn/shared-ux-storybook-mock" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-storybook-mock plugin -date: 2023-09-07 +date: 2023-09-08 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 741413373b3a..8c74f092513e 100644 --- a/api_docs/kbn_shared_ux_utility.mdx +++ b/api_docs/kbn_shared_ux_utility.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-utility title: "@kbn/shared-ux-utility" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-utility plugin -date: 2023-09-07 +date: 2023-09-08 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 85e5b09ee790..82c0eafcfb49 100644 --- a/api_docs/kbn_slo_schema.mdx +++ b/api_docs/kbn_slo_schema.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-slo-schema title: "@kbn/slo-schema" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/slo-schema plugin -date: 2023-09-07 +date: 2023-09-08 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 14e14d8f992a..e07a6f1a3769 100644 --- a/api_docs/kbn_some_dev_log.mdx +++ b/api_docs/kbn_some_dev_log.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-some-dev-log title: "@kbn/some-dev-log" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/some-dev-log plugin -date: 2023-09-07 +date: 2023-09-08 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 9ce936ff20a1..44aea43b0ccb 100644 --- a/api_docs/kbn_std.mdx +++ b/api_docs/kbn_std.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-std title: "@kbn/std" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/std plugin -date: 2023-09-07 +date: 2023-09-08 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 91e4a31fa075..93f47be25205 100644 --- a/api_docs/kbn_stdio_dev_helpers.mdx +++ b/api_docs/kbn_stdio_dev_helpers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-stdio-dev-helpers title: "@kbn/stdio-dev-helpers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/stdio-dev-helpers plugin -date: 2023-09-07 +date: 2023-09-08 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 7dde4b582a37..3cbba13b8bbb 100644 --- a/api_docs/kbn_storybook.mdx +++ b/api_docs/kbn_storybook.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-storybook title: "@kbn/storybook" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/storybook plugin -date: 2023-09-07 +date: 2023-09-08 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 3680cf130275..55c67fbdec2b 100644 --- a/api_docs/kbn_telemetry_tools.mdx +++ b/api_docs/kbn_telemetry_tools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-telemetry-tools title: "@kbn/telemetry-tools" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/telemetry-tools plugin -date: 2023-09-07 +date: 2023-09-08 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 585243f0d11c..36fa47f98cf8 100644 --- a/api_docs/kbn_test.mdx +++ b/api_docs/kbn_test.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-test title: "@kbn/test" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/test plugin -date: 2023-09-07 +date: 2023-09-08 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 805a6732235f..b8be9ac84864 100644 --- a/api_docs/kbn_test_jest_helpers.mdx +++ b/api_docs/kbn_test_jest_helpers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-test-jest-helpers title: "@kbn/test-jest-helpers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/test-jest-helpers plugin -date: 2023-09-07 +date: 2023-09-08 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 8bf5969c3008..5ec024b155ba 100644 --- a/api_docs/kbn_test_subj_selector.mdx +++ b/api_docs/kbn_test_subj_selector.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-test-subj-selector title: "@kbn/test-subj-selector" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/test-subj-selector plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/test-subj-selector'] --- import kbnTestSubjSelectorObj from './kbn_test_subj_selector.devdocs.json'; diff --git a/api_docs/kbn_text_based_editor.mdx b/api_docs/kbn_text_based_editor.mdx index cc19ee989368..b422548328b6 100644 --- a/api_docs/kbn_text_based_editor.mdx +++ b/api_docs/kbn_text_based_editor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-text-based-editor title: "@kbn/text-based-editor" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/text-based-editor plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/text-based-editor'] --- import kbnTextBasedEditorObj from './kbn_text_based_editor.devdocs.json'; diff --git a/api_docs/kbn_tooling_log.mdx b/api_docs/kbn_tooling_log.mdx index 4fe3ac6b0728..b0537618c323 100644 --- a/api_docs/kbn_tooling_log.mdx +++ b/api_docs/kbn_tooling_log.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-tooling-log title: "@kbn/tooling-log" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/tooling-log plugin -date: 2023-09-07 +date: 2023-09-08 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 e631bb711c2b..c84a7a8ed3d6 100644 --- a/api_docs/kbn_ts_projects.mdx +++ b/api_docs/kbn_ts_projects.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ts-projects title: "@kbn/ts-projects" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ts-projects plugin -date: 2023-09-07 +date: 2023-09-08 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 e76a49719685..65b49d400b58 100644 --- a/api_docs/kbn_typed_react_router_config.mdx +++ b/api_docs/kbn_typed_react_router_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-typed-react-router-config title: "@kbn/typed-react-router-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/typed-react-router-config plugin -date: 2023-09-07 +date: 2023-09-08 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 1e814fa3d4cc..35c794c5a8fe 100644 --- a/api_docs/kbn_ui_actions_browser.mdx +++ b/api_docs/kbn_ui_actions_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ui-actions-browser title: "@kbn/ui-actions-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ui-actions-browser plugin -date: 2023-09-07 +date: 2023-09-08 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 7475de30bd9a..c4088aa99fdd 100644 --- a/api_docs/kbn_ui_shared_deps_src.mdx +++ b/api_docs/kbn_ui_shared_deps_src.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ui-shared-deps-src title: "@kbn/ui-shared-deps-src" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ui-shared-deps-src plugin -date: 2023-09-07 +date: 2023-09-08 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 a340d88f5ab7..939de1797681 100644 --- a/api_docs/kbn_ui_theme.mdx +++ b/api_docs/kbn_ui_theme.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ui-theme title: "@kbn/ui-theme" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ui-theme plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ui-theme'] --- import kbnUiThemeObj from './kbn_ui_theme.devdocs.json'; diff --git a/api_docs/kbn_unified_data_table.mdx b/api_docs/kbn_unified_data_table.mdx index 9c5f77d82201..048a4f2d9ee1 100644 --- a/api_docs/kbn_unified_data_table.mdx +++ b/api_docs/kbn_unified_data_table.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-unified-data-table title: "@kbn/unified-data-table" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/unified-data-table plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/unified-data-table'] --- import kbnUnifiedDataTableObj from './kbn_unified_data_table.devdocs.json'; diff --git a/api_docs/kbn_unified_doc_viewer.mdx b/api_docs/kbn_unified_doc_viewer.mdx index b5e82b583d0a..2ef06c363678 100644 --- a/api_docs/kbn_unified_doc_viewer.mdx +++ b/api_docs/kbn_unified_doc_viewer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-unified-doc-viewer title: "@kbn/unified-doc-viewer" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/unified-doc-viewer plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/unified-doc-viewer'] --- import kbnUnifiedDocViewerObj from './kbn_unified_doc_viewer.devdocs.json'; diff --git a/api_docs/kbn_unified_field_list.mdx b/api_docs/kbn_unified_field_list.mdx index 86a83b3189fa..7a5de4487cb2 100644 --- a/api_docs/kbn_unified_field_list.mdx +++ b/api_docs/kbn_unified_field_list.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-unified-field-list title: "@kbn/unified-field-list" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/unified-field-list plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/unified-field-list'] --- import kbnUnifiedFieldListObj from './kbn_unified_field_list.devdocs.json'; diff --git a/api_docs/kbn_url_state.mdx b/api_docs/kbn_url_state.mdx index e9de9d3448bd..1a6d7ff9927e 100644 --- a/api_docs/kbn_url_state.mdx +++ b/api_docs/kbn_url_state.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-url-state title: "@kbn/url-state" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/url-state plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/url-state'] --- import kbnUrlStateObj from './kbn_url_state.devdocs.json'; diff --git a/api_docs/kbn_use_tracked_promise.mdx b/api_docs/kbn_use_tracked_promise.mdx index 911acbe78fe8..630d143c954a 100644 --- a/api_docs/kbn_use_tracked_promise.mdx +++ b/api_docs/kbn_use_tracked_promise.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-use-tracked-promise title: "@kbn/use-tracked-promise" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/use-tracked-promise plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/use-tracked-promise'] --- import kbnUseTrackedPromiseObj from './kbn_use_tracked_promise.devdocs.json'; diff --git a/api_docs/kbn_user_profile_components.mdx b/api_docs/kbn_user_profile_components.mdx index d5860fd8ef36..b344b0debe42 100644 --- a/api_docs/kbn_user_profile_components.mdx +++ b/api_docs/kbn_user_profile_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-user-profile-components title: "@kbn/user-profile-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/user-profile-components plugin -date: 2023-09-07 +date: 2023-09-08 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 a6eb09c19160..010a490f2118 100644 --- a/api_docs/kbn_utility_types.mdx +++ b/api_docs/kbn_utility_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-utility-types title: "@kbn/utility-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/utility-types plugin -date: 2023-09-07 +date: 2023-09-08 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 92d19d7f8216..726f64fbae4e 100644 --- a/api_docs/kbn_utility_types_jest.mdx +++ b/api_docs/kbn_utility_types_jest.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-utility-types-jest title: "@kbn/utility-types-jest" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/utility-types-jest plugin -date: 2023-09-07 +date: 2023-09-08 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 de435a2a3f42..622e6b2ed0ac 100644 --- a/api_docs/kbn_utils.mdx +++ b/api_docs/kbn_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-utils title: "@kbn/utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/utils plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/utils'] --- import kbnUtilsObj from './kbn_utils.devdocs.json'; diff --git a/api_docs/kbn_visualization_ui_components.mdx b/api_docs/kbn_visualization_ui_components.mdx index ff4e0362e5c2..af22b74387b3 100644 --- a/api_docs/kbn_visualization_ui_components.mdx +++ b/api_docs/kbn_visualization_ui_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-visualization-ui-components title: "@kbn/visualization-ui-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/visualization-ui-components plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/visualization-ui-components'] --- import kbnVisualizationUiComponentsObj from './kbn_visualization_ui_components.devdocs.json'; diff --git a/api_docs/kbn_yarn_lock_validator.mdx b/api_docs/kbn_yarn_lock_validator.mdx index 61f47c1340f8..bed6508d4b2d 100644 --- a/api_docs/kbn_yarn_lock_validator.mdx +++ b/api_docs/kbn_yarn_lock_validator.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-yarn-lock-validator title: "@kbn/yarn-lock-validator" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/yarn-lock-validator plugin -date: 2023-09-07 +date: 2023-09-08 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 f23c052887c3..82fa92364dcc 100644 --- a/api_docs/kibana_overview.mdx +++ b/api_docs/kibana_overview.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kibanaOverview title: "kibanaOverview" image: https://source.unsplash.com/400x175/?github description: API docs for the kibanaOverview plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'kibanaOverview'] --- import kibanaOverviewObj from './kibana_overview.devdocs.json'; diff --git a/api_docs/kibana_react.mdx b/api_docs/kibana_react.mdx index a02e9c966bd3..6a6ee577def4 100644 --- a/api_docs/kibana_react.mdx +++ b/api_docs/kibana_react.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kibanaReact title: "kibanaReact" image: https://source.unsplash.com/400x175/?github description: API docs for the kibanaReact plugin -date: 2023-09-07 +date: 2023-09-08 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 089c0f88b048..055439dfb1e4 100644 --- a/api_docs/kibana_utils.mdx +++ b/api_docs/kibana_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kibanaUtils title: "kibanaUtils" image: https://source.unsplash.com/400x175/?github description: API docs for the kibanaUtils plugin -date: 2023-09-07 +date: 2023-09-08 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 cdded5acc1f4..0ffe4e969ad5 100644 --- a/api_docs/kubernetes_security.mdx +++ b/api_docs/kubernetes_security.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kubernetesSecurity title: "kubernetesSecurity" image: https://source.unsplash.com/400x175/?github description: API docs for the kubernetesSecurity plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'kubernetesSecurity'] --- import kubernetesSecurityObj from './kubernetes_security.devdocs.json'; diff --git a/api_docs/lens.mdx b/api_docs/lens.mdx index 3d4f2f53cdf8..f2f0d10d9957 100644 --- a/api_docs/lens.mdx +++ b/api_docs/lens.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/lens title: "lens" image: https://source.unsplash.com/400x175/?github description: API docs for the lens plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'lens'] --- import lensObj from './lens.devdocs.json'; diff --git a/api_docs/license_api_guard.mdx b/api_docs/license_api_guard.mdx index 1467a74be91f..c36050d51922 100644 --- a/api_docs/license_api_guard.mdx +++ b/api_docs/license_api_guard.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/licenseApiGuard title: "licenseApiGuard" image: https://source.unsplash.com/400x175/?github description: API docs for the licenseApiGuard plugin -date: 2023-09-07 +date: 2023-09-08 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 7a2a4066dc7f..185859ab2a35 100644 --- a/api_docs/license_management.mdx +++ b/api_docs/license_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/licenseManagement title: "licenseManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the licenseManagement plugin -date: 2023-09-07 +date: 2023-09-08 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 4f2041faab97..941dcc45d7c6 100644 --- a/api_docs/licensing.mdx +++ b/api_docs/licensing.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/licensing title: "licensing" image: https://source.unsplash.com/400x175/?github description: API docs for the licensing plugin -date: 2023-09-07 +date: 2023-09-08 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 8c3bfdf45329..dd678def074d 100644 --- a/api_docs/lists.mdx +++ b/api_docs/lists.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/lists title: "lists" image: https://source.unsplash.com/400x175/?github description: API docs for the lists plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'lists'] --- import listsObj from './lists.devdocs.json'; diff --git a/api_docs/log_explorer.mdx b/api_docs/log_explorer.mdx index 53fc15ca48c2..ad6d9e7276a1 100644 --- a/api_docs/log_explorer.mdx +++ b/api_docs/log_explorer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/logExplorer title: "logExplorer" image: https://source.unsplash.com/400x175/?github description: API docs for the logExplorer plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'logExplorer'] --- import logExplorerObj from './log_explorer.devdocs.json'; diff --git a/api_docs/logs_shared.mdx b/api_docs/logs_shared.mdx index a779eee95cf7..ad2c3e2a63ab 100644 --- a/api_docs/logs_shared.mdx +++ b/api_docs/logs_shared.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/logsShared title: "logsShared" image: https://source.unsplash.com/400x175/?github description: API docs for the logsShared plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'logsShared'] --- import logsSharedObj from './logs_shared.devdocs.json'; diff --git a/api_docs/management.mdx b/api_docs/management.mdx index ff53cebb7446..43e37757a6c9 100644 --- a/api_docs/management.mdx +++ b/api_docs/management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/management title: "management" image: https://source.unsplash.com/400x175/?github description: API docs for the management plugin -date: 2023-09-07 +date: 2023-09-08 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 74cb03b61349..5c4deefc68f3 100644 --- a/api_docs/maps.mdx +++ b/api_docs/maps.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/maps title: "maps" image: https://source.unsplash.com/400x175/?github description: API docs for the maps plugin -date: 2023-09-07 +date: 2023-09-08 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 08827ca30d2c..843b37b1d044 100644 --- a/api_docs/maps_ems.mdx +++ b/api_docs/maps_ems.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/mapsEms title: "mapsEms" image: https://source.unsplash.com/400x175/?github description: API docs for the mapsEms plugin -date: 2023-09-07 +date: 2023-09-08 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 26deedf1a2c2..33d72757a839 100644 --- a/api_docs/ml.mdx +++ b/api_docs/ml.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/ml title: "ml" image: https://source.unsplash.com/400x175/?github description: API docs for the ml plugin -date: 2023-09-07 +date: 2023-09-08 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 5e4fe4811231..bc80ed07e10f 100644 --- a/api_docs/monitoring.mdx +++ b/api_docs/monitoring.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/monitoring title: "monitoring" image: https://source.unsplash.com/400x175/?github description: API docs for the monitoring plugin -date: 2023-09-07 +date: 2023-09-08 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 526a8a4d208f..4e8b72a8b72e 100644 --- a/api_docs/monitoring_collection.mdx +++ b/api_docs/monitoring_collection.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/monitoringCollection title: "monitoringCollection" image: https://source.unsplash.com/400x175/?github description: API docs for the monitoringCollection plugin -date: 2023-09-07 +date: 2023-09-08 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 c4885f84f875..80a3f99e8d7e 100644 --- a/api_docs/navigation.mdx +++ b/api_docs/navigation.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/navigation title: "navigation" image: https://source.unsplash.com/400x175/?github description: API docs for the navigation plugin -date: 2023-09-07 +date: 2023-09-08 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 80aefab0158a..de4865b1d345 100644 --- a/api_docs/newsfeed.mdx +++ b/api_docs/newsfeed.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/newsfeed title: "newsfeed" image: https://source.unsplash.com/400x175/?github description: API docs for the newsfeed plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'newsfeed'] --- import newsfeedObj from './newsfeed.devdocs.json'; diff --git a/api_docs/no_data_page.mdx b/api_docs/no_data_page.mdx index f0890c2fb929..1b99a1a684e7 100644 --- a/api_docs/no_data_page.mdx +++ b/api_docs/no_data_page.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/noDataPage title: "noDataPage" image: https://source.unsplash.com/400x175/?github description: API docs for the noDataPage plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'noDataPage'] --- import noDataPageObj from './no_data_page.devdocs.json'; diff --git a/api_docs/notifications.mdx b/api_docs/notifications.mdx index 7fd3f2f04b97..a4583a80124b 100644 --- a/api_docs/notifications.mdx +++ b/api_docs/notifications.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/notifications title: "notifications" image: https://source.unsplash.com/400x175/?github description: API docs for the notifications plugin -date: 2023-09-07 +date: 2023-09-08 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 2e699cd41db6..673f211cda9e 100644 --- a/api_docs/observability.mdx +++ b/api_docs/observability.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/observability title: "observability" image: https://source.unsplash.com/400x175/?github description: API docs for the observability plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'observability'] --- import observabilityObj from './observability.devdocs.json'; diff --git a/api_docs/observability_a_i_assistant.mdx b/api_docs/observability_a_i_assistant.mdx index 1a6935b28c09..99e85e15499a 100644 --- a/api_docs/observability_a_i_assistant.mdx +++ b/api_docs/observability_a_i_assistant.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/observabilityAIAssistant title: "observabilityAIAssistant" image: https://source.unsplash.com/400x175/?github description: API docs for the observabilityAIAssistant plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'observabilityAIAssistant'] --- import observabilityAIAssistantObj from './observability_a_i_assistant.devdocs.json'; diff --git a/api_docs/observability_onboarding.mdx b/api_docs/observability_onboarding.mdx index 1a972e940c32..dd7862b1ad8c 100644 --- a/api_docs/observability_onboarding.mdx +++ b/api_docs/observability_onboarding.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/observabilityOnboarding title: "observabilityOnboarding" image: https://source.unsplash.com/400x175/?github description: API docs for the observabilityOnboarding plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'observabilityOnboarding'] --- import observabilityOnboardingObj from './observability_onboarding.devdocs.json'; diff --git a/api_docs/observability_shared.mdx b/api_docs/observability_shared.mdx index 5b33b822640a..73ff4052f0f6 100644 --- a/api_docs/observability_shared.mdx +++ b/api_docs/observability_shared.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/observabilityShared title: "observabilityShared" image: https://source.unsplash.com/400x175/?github description: API docs for the observabilityShared plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'observabilityShared'] --- import observabilitySharedObj from './observability_shared.devdocs.json'; diff --git a/api_docs/osquery.mdx b/api_docs/osquery.mdx index bcc6a923564f..38c04192172b 100644 --- a/api_docs/osquery.mdx +++ b/api_docs/osquery.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/osquery title: "osquery" image: https://source.unsplash.com/400x175/?github description: API docs for the osquery plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'osquery'] --- import osqueryObj from './osquery.devdocs.json'; diff --git a/api_docs/painless_lab.devdocs.json b/api_docs/painless_lab.devdocs.json new file mode 100644 index 000000000000..04e37e95b580 --- /dev/null +++ b/api_docs/painless_lab.devdocs.json @@ -0,0 +1,74 @@ +{ + "id": "painlessLab", + "client": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [ + { + "parentPluginId": "painlessLab", + "id": "def-server.ConfigType", + "type": "Type", + "tags": [], + "label": "ConfigType", + "description": [], + "signature": [ + "{ readonly enabled: boolean; }" + ], + "path": "x-pack/plugins/painless_lab/server/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + } + ], + "objects": [ + { + "parentPluginId": "painlessLab", + "id": "def-server.configSchema", + "type": "Object", + "tags": [], + "label": "configSchema", + "description": [], + "signature": [ + { + "pluginId": "@kbn/config-schema", + "scope": "common", + "docId": "kibKbnConfigSchemaPluginApi", + "section": "def-common.ObjectType", + "text": "ObjectType" + }, + "<{ enabled: ", + { + "pluginId": "@kbn/config-schema", + "scope": "common", + "docId": "kibKbnConfigSchemaPluginApi", + "section": "def-common.ConditionalType", + "text": "ConditionalType" + }, + "; }>" + ], + "path": "x-pack/plugins/painless_lab/server/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + } + ] + }, + "common": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + } +} \ No newline at end of file diff --git a/api_docs/painless_lab.mdx b/api_docs/painless_lab.mdx new file mode 100644 index 000000000000..988d81adfab7 --- /dev/null +++ b/api_docs/painless_lab.mdx @@ -0,0 +1,33 @@ +--- +#### +#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system. +#### Reach out in #docs-engineering for more info. +#### +id: kibPainlessLabPluginApi +slug: /kibana-dev-docs/api/painlessLab +title: "painlessLab" +image: https://source.unsplash.com/400x175/?github +description: API docs for the painlessLab plugin +date: 2023-09-08 +tags: ['contributor', 'dev', 'apidocs', 'kibana', 'painlessLab'] +--- +import painlessLabObj from './painless_lab.devdocs.json'; + + + +Contact [@elastic/platform-deployment-management](https://github.com/orgs/elastic/teams/platform-deployment-management) for questions regarding this plugin. + +**Code health stats** + +| Public API count | Any count | Items lacking comments | Missing exports | +|-------------------|-----------|------------------------|-----------------| +| 2 | 0 | 2 | 0 | + +## Server + +### Objects + + +### Consts, variables and types + + diff --git a/api_docs/plugin_directory.mdx b/api_docs/plugin_directory.mdx index 601b0717c3f7..5d1dfe8b2d0b 100644 --- a/api_docs/plugin_directory.mdx +++ b/api_docs/plugin_directory.mdx @@ -7,7 +7,7 @@ id: kibDevDocsPluginDirectory slug: /kibana-dev-docs/api-meta/plugin-api-directory title: Directory description: Directory of public APIs available through plugins or packages. -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- @@ -15,19 +15,19 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | Count | Plugins or Packages with a
public API | Number of teams | |--------------|----------|------------------------| -| 675 | 565 | 39 | +| 675 | 566 | 39 | ### Public API health stats | API Count | Any Count | Missing comments | Missing exports | |--------------|----------|-----------------|--------| -| 74237 | 223 | 63613 | 1514 | +| 74239 | 223 | 63615 | 1515 | ## Plugin Directory | Plugin name           | Maintaining team | Description | API Cnt | Any Cnt | Missing
comments | Missing
exports | |--------------|----------------|-----------|--------------|----------|---------------|--------| -| | [@elastic/response-ops](https://github.com/orgs/elastic/teams/response-ops) | - | 269 | 0 | 263 | 30 | +| | [@elastic/response-ops](https://github.com/orgs/elastic/teams/response-ops) | - | 269 | 0 | 263 | 31 | | | [@elastic/appex-sharedux @elastic/platform-deployment-management](https://github.com/orgs/elastic/teams/appex-sharedux ) | - | 17 | 1 | 15 | 2 | | | [@elastic/ml-ui](https://github.com/orgs/elastic/teams/ml-ui) | AIOps plugin maintained by ML team. | 61 | 1 | 3 | 0 | | | [@elastic/response-ops](https://github.com/orgs/elastic/teams/response-ops) | - | 793 | 1 | 762 | 49 | @@ -141,7 +141,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/apm-ui](https://github.com/orgs/elastic/teams/apm-ui) | - | 15 | 0 | 15 | 0 | | | [@elastic/observability-ui](https://github.com/orgs/elastic/teams/observability-ui) | - | 277 | 1 | 276 | 11 | | | [@elastic/security-defend-workflows](https://github.com/orgs/elastic/teams/security-defend-workflows) | - | 24 | 0 | 24 | 7 | -| painlessLab | [@elastic/platform-deployment-management](https://github.com/orgs/elastic/teams/platform-deployment-management) | - | 0 | 0 | 0 | 0 | +| | [@elastic/platform-deployment-management](https://github.com/orgs/elastic/teams/platform-deployment-management) | - | 2 | 0 | 2 | 0 | | | [@elastic/kibana-presentation](https://github.com/orgs/elastic/teams/kibana-presentation) | The Presentation Utility Plugin is a set of common, shared components and toolkits for solutions within the Presentation space, (e.g. Dashboards, Canvas). | 218 | 2 | 164 | 11 | | | [@elastic/profiling-ui](https://github.com/orgs/elastic/teams/profiling-ui) | - | 17 | 1 | 17 | 3 | | | [@elastic/profiling-ui](https://github.com/orgs/elastic/teams/profiling-ui) | - | 3 | 0 | 3 | 1 | diff --git a/api_docs/presentation_util.mdx b/api_docs/presentation_util.mdx index 16a416fe95a0..440d6a35f47a 100644 --- a/api_docs/presentation_util.mdx +++ b/api_docs/presentation_util.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/presentationUtil title: "presentationUtil" image: https://source.unsplash.com/400x175/?github description: API docs for the presentationUtil plugin -date: 2023-09-07 +date: 2023-09-08 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 4c09c95a1112..9153db217999 100644 --- a/api_docs/profiling.mdx +++ b/api_docs/profiling.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/profiling title: "profiling" image: https://source.unsplash.com/400x175/?github description: API docs for the profiling plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'profiling'] --- import profilingObj from './profiling.devdocs.json'; diff --git a/api_docs/profiling_data_access.mdx b/api_docs/profiling_data_access.mdx index 1ccc2e1dc89b..abfa3f2256fd 100644 --- a/api_docs/profiling_data_access.mdx +++ b/api_docs/profiling_data_access.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/profilingDataAccess title: "profilingDataAccess" image: https://source.unsplash.com/400x175/?github description: API docs for the profilingDataAccess plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'profilingDataAccess'] --- import profilingDataAccessObj from './profiling_data_access.devdocs.json'; diff --git a/api_docs/remote_clusters.mdx b/api_docs/remote_clusters.mdx index 30d66270e0f2..9912ee09f1b6 100644 --- a/api_docs/remote_clusters.mdx +++ b/api_docs/remote_clusters.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/remoteClusters title: "remoteClusters" image: https://source.unsplash.com/400x175/?github description: API docs for the remoteClusters plugin -date: 2023-09-07 +date: 2023-09-08 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 9d5429e4f0cc..7260df76aaf2 100644 --- a/api_docs/reporting.mdx +++ b/api_docs/reporting.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/reporting title: "reporting" image: https://source.unsplash.com/400x175/?github description: API docs for the reporting plugin -date: 2023-09-07 +date: 2023-09-08 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 c2164a4c7b2a..109aab02b446 100644 --- a/api_docs/rollup.mdx +++ b/api_docs/rollup.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/rollup title: "rollup" image: https://source.unsplash.com/400x175/?github description: API docs for the rollup plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'rollup'] --- import rollupObj from './rollup.devdocs.json'; diff --git a/api_docs/rule_registry.mdx b/api_docs/rule_registry.mdx index 3994c58af98d..65913eafd985 100644 --- a/api_docs/rule_registry.mdx +++ b/api_docs/rule_registry.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/ruleRegistry title: "ruleRegistry" image: https://source.unsplash.com/400x175/?github description: API docs for the ruleRegistry plugin -date: 2023-09-07 +date: 2023-09-08 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 72cdac752a0a..0ec41f127bc4 100644 --- a/api_docs/runtime_fields.mdx +++ b/api_docs/runtime_fields.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/runtimeFields title: "runtimeFields" image: https://source.unsplash.com/400x175/?github description: API docs for the runtimeFields plugin -date: 2023-09-07 +date: 2023-09-08 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 7a1a25144c4a..bdb739bff786 100644 --- a/api_docs/saved_objects.mdx +++ b/api_docs/saved_objects.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedObjects title: "savedObjects" image: https://source.unsplash.com/400x175/?github description: API docs for the savedObjects plugin -date: 2023-09-07 +date: 2023-09-08 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 1f6f5d6d1e8c..abab89329687 100644 --- a/api_docs/saved_objects_finder.mdx +++ b/api_docs/saved_objects_finder.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedObjectsFinder title: "savedObjectsFinder" image: https://source.unsplash.com/400x175/?github description: API docs for the savedObjectsFinder plugin -date: 2023-09-07 +date: 2023-09-08 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 cc94325ec9d1..fc6efb8b9315 100644 --- a/api_docs/saved_objects_management.mdx +++ b/api_docs/saved_objects_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedObjectsManagement title: "savedObjectsManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the savedObjectsManagement plugin -date: 2023-09-07 +date: 2023-09-08 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 fb28755b0853..f67f2441029a 100644 --- a/api_docs/saved_objects_tagging.mdx +++ b/api_docs/saved_objects_tagging.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedObjectsTagging title: "savedObjectsTagging" image: https://source.unsplash.com/400x175/?github description: API docs for the savedObjectsTagging plugin -date: 2023-09-07 +date: 2023-09-08 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 654ca0587b34..51663467ef13 100644 --- a/api_docs/saved_objects_tagging_oss.mdx +++ b/api_docs/saved_objects_tagging_oss.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedObjectsTaggingOss title: "savedObjectsTaggingOss" image: https://source.unsplash.com/400x175/?github description: API docs for the savedObjectsTaggingOss plugin -date: 2023-09-07 +date: 2023-09-08 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 c1574b3c6148..b99575ee33c3 100644 --- a/api_docs/saved_search.mdx +++ b/api_docs/saved_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedSearch title: "savedSearch" image: https://source.unsplash.com/400x175/?github description: API docs for the savedSearch plugin -date: 2023-09-07 +date: 2023-09-08 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 a13064c6d697..240577805446 100644 --- a/api_docs/screenshot_mode.mdx +++ b/api_docs/screenshot_mode.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/screenshotMode title: "screenshotMode" image: https://source.unsplash.com/400x175/?github description: API docs for the screenshotMode plugin -date: 2023-09-07 +date: 2023-09-08 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 e7f92d35e12d..a95e21ddae58 100644 --- a/api_docs/screenshotting.mdx +++ b/api_docs/screenshotting.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/screenshotting title: "screenshotting" image: https://source.unsplash.com/400x175/?github description: API docs for the screenshotting plugin -date: 2023-09-07 +date: 2023-09-08 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 126b3540d26b..03fd746234c6 100644 --- a/api_docs/security.mdx +++ b/api_docs/security.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/security title: "security" image: https://source.unsplash.com/400x175/?github description: API docs for the security plugin -date: 2023-09-07 +date: 2023-09-08 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 724950bb7678..a1bc669b94ba 100644 --- a/api_docs/security_solution.mdx +++ b/api_docs/security_solution.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/securitySolution title: "securitySolution" image: https://source.unsplash.com/400x175/?github description: API docs for the securitySolution plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'securitySolution'] --- import securitySolutionObj from './security_solution.devdocs.json'; diff --git a/api_docs/security_solution_ess.mdx b/api_docs/security_solution_ess.mdx index ae5ec268adc6..bdf1d4c542bc 100644 --- a/api_docs/security_solution_ess.mdx +++ b/api_docs/security_solution_ess.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/securitySolutionEss title: "securitySolutionEss" image: https://source.unsplash.com/400x175/?github description: API docs for the securitySolutionEss plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'securitySolutionEss'] --- import securitySolutionEssObj from './security_solution_ess.devdocs.json'; diff --git a/api_docs/security_solution_serverless.mdx b/api_docs/security_solution_serverless.mdx index 5890f292cc72..88a4eb9913d2 100644 --- a/api_docs/security_solution_serverless.mdx +++ b/api_docs/security_solution_serverless.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/securitySolutionServerless title: "securitySolutionServerless" image: https://source.unsplash.com/400x175/?github description: API docs for the securitySolutionServerless plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'securitySolutionServerless'] --- import securitySolutionServerlessObj from './security_solution_serverless.devdocs.json'; diff --git a/api_docs/serverless.mdx b/api_docs/serverless.mdx index 69edfddb92c9..3e097cfc8b1f 100644 --- a/api_docs/serverless.mdx +++ b/api_docs/serverless.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/serverless title: "serverless" image: https://source.unsplash.com/400x175/?github description: API docs for the serverless plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'serverless'] --- import serverlessObj from './serverless.devdocs.json'; diff --git a/api_docs/serverless_observability.mdx b/api_docs/serverless_observability.mdx index 4a60d7a40d80..5c5066d92bd6 100644 --- a/api_docs/serverless_observability.mdx +++ b/api_docs/serverless_observability.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/serverlessObservability title: "serverlessObservability" image: https://source.unsplash.com/400x175/?github description: API docs for the serverlessObservability plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'serverlessObservability'] --- import serverlessObservabilityObj from './serverless_observability.devdocs.json'; diff --git a/api_docs/serverless_search.mdx b/api_docs/serverless_search.mdx index 52b0acbca2d7..58c1e5c5967a 100644 --- a/api_docs/serverless_search.mdx +++ b/api_docs/serverless_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/serverlessSearch title: "serverlessSearch" image: https://source.unsplash.com/400x175/?github description: API docs for the serverlessSearch plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'serverlessSearch'] --- import serverlessSearchObj from './serverless_search.devdocs.json'; diff --git a/api_docs/session_view.mdx b/api_docs/session_view.mdx index 15b76c5900c7..e845460cc0b3 100644 --- a/api_docs/session_view.mdx +++ b/api_docs/session_view.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/sessionView title: "sessionView" image: https://source.unsplash.com/400x175/?github description: API docs for the sessionView plugin -date: 2023-09-07 +date: 2023-09-08 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 fb2ebe368451..f04ded318e8b 100644 --- a/api_docs/share.mdx +++ b/api_docs/share.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/share title: "share" image: https://source.unsplash.com/400x175/?github description: API docs for the share plugin -date: 2023-09-07 +date: 2023-09-08 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 72e3abd02f71..8a51e91c48b4 100644 --- a/api_docs/snapshot_restore.mdx +++ b/api_docs/snapshot_restore.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/snapshotRestore title: "snapshotRestore" image: https://source.unsplash.com/400x175/?github description: API docs for the snapshotRestore plugin -date: 2023-09-07 +date: 2023-09-08 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 6291d81c088d..0f87d24eaffc 100644 --- a/api_docs/spaces.mdx +++ b/api_docs/spaces.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/spaces title: "spaces" image: https://source.unsplash.com/400x175/?github description: API docs for the spaces plugin -date: 2023-09-07 +date: 2023-09-08 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 3bb6e595759f..77c77a5cc886 100644 --- a/api_docs/stack_alerts.mdx +++ b/api_docs/stack_alerts.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/stackAlerts title: "stackAlerts" image: https://source.unsplash.com/400x175/?github description: API docs for the stackAlerts plugin -date: 2023-09-07 +date: 2023-09-08 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 978518d32b6a..109ddb4373ed 100644 --- a/api_docs/stack_connectors.mdx +++ b/api_docs/stack_connectors.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/stackConnectors title: "stackConnectors" image: https://source.unsplash.com/400x175/?github description: API docs for the stackConnectors plugin -date: 2023-09-07 +date: 2023-09-08 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 b3099ef69155..faf5ccaa001f 100644 --- a/api_docs/task_manager.mdx +++ b/api_docs/task_manager.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/taskManager title: "taskManager" image: https://source.unsplash.com/400x175/?github description: API docs for the taskManager plugin -date: 2023-09-07 +date: 2023-09-08 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 571324c50710..cb3600310e57 100644 --- a/api_docs/telemetry.mdx +++ b/api_docs/telemetry.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/telemetry title: "telemetry" image: https://source.unsplash.com/400x175/?github description: API docs for the telemetry plugin -date: 2023-09-07 +date: 2023-09-08 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 aac2fd84e008..a258b079360b 100644 --- a/api_docs/telemetry_collection_manager.mdx +++ b/api_docs/telemetry_collection_manager.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/telemetryCollectionManager title: "telemetryCollectionManager" image: https://source.unsplash.com/400x175/?github description: API docs for the telemetryCollectionManager plugin -date: 2023-09-07 +date: 2023-09-08 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 151314589e92..1474f0cbc9c5 100644 --- a/api_docs/telemetry_collection_xpack.mdx +++ b/api_docs/telemetry_collection_xpack.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/telemetryCollectionXpack title: "telemetryCollectionXpack" image: https://source.unsplash.com/400x175/?github description: API docs for the telemetryCollectionXpack plugin -date: 2023-09-07 +date: 2023-09-08 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 4a8cb8faf0dd..bfe621313fbe 100644 --- a/api_docs/telemetry_management_section.mdx +++ b/api_docs/telemetry_management_section.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/telemetryManagementSection title: "telemetryManagementSection" image: https://source.unsplash.com/400x175/?github description: API docs for the telemetryManagementSection plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'telemetryManagementSection'] --- import telemetryManagementSectionObj from './telemetry_management_section.devdocs.json'; diff --git a/api_docs/text_based_languages.mdx b/api_docs/text_based_languages.mdx index 22fa5b6d057f..2c69aa13be21 100644 --- a/api_docs/text_based_languages.mdx +++ b/api_docs/text_based_languages.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/textBasedLanguages title: "textBasedLanguages" image: https://source.unsplash.com/400x175/?github description: API docs for the textBasedLanguages plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'textBasedLanguages'] --- import textBasedLanguagesObj from './text_based_languages.devdocs.json'; diff --git a/api_docs/threat_intelligence.mdx b/api_docs/threat_intelligence.mdx index 6792e6ec4668..4356437d44b5 100644 --- a/api_docs/threat_intelligence.mdx +++ b/api_docs/threat_intelligence.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/threatIntelligence title: "threatIntelligence" image: https://source.unsplash.com/400x175/?github description: API docs for the threatIntelligence plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'threatIntelligence'] --- import threatIntelligenceObj from './threat_intelligence.devdocs.json'; diff --git a/api_docs/timelines.mdx b/api_docs/timelines.mdx index 530e39980d92..7fb6e77b8b58 100644 --- a/api_docs/timelines.mdx +++ b/api_docs/timelines.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/timelines title: "timelines" image: https://source.unsplash.com/400x175/?github description: API docs for the timelines plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'timelines'] --- import timelinesObj from './timelines.devdocs.json'; diff --git a/api_docs/transform.mdx b/api_docs/transform.mdx index 6a6ef352a13e..05ce78d0fc72 100644 --- a/api_docs/transform.mdx +++ b/api_docs/transform.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/transform title: "transform" image: https://source.unsplash.com/400x175/?github description: API docs for the transform plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'transform'] --- import transformObj from './transform.devdocs.json'; diff --git a/api_docs/triggers_actions_ui.mdx b/api_docs/triggers_actions_ui.mdx index 741601a65849..ecac7993727d 100644 --- a/api_docs/triggers_actions_ui.mdx +++ b/api_docs/triggers_actions_ui.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/triggersActionsUi title: "triggersActionsUi" image: https://source.unsplash.com/400x175/?github description: API docs for the triggersActionsUi plugin -date: 2023-09-07 +date: 2023-09-08 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 ebf9028f06bd..7c9119426449 100644 --- a/api_docs/ui_actions.mdx +++ b/api_docs/ui_actions.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/uiActions title: "uiActions" image: https://source.unsplash.com/400x175/?github description: API docs for the uiActions plugin -date: 2023-09-07 +date: 2023-09-08 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 516841763eeb..c70ad78e55c9 100644 --- a/api_docs/ui_actions_enhanced.mdx +++ b/api_docs/ui_actions_enhanced.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/uiActionsEnhanced title: "uiActionsEnhanced" image: https://source.unsplash.com/400x175/?github description: API docs for the uiActionsEnhanced plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'uiActionsEnhanced'] --- import uiActionsEnhancedObj from './ui_actions_enhanced.devdocs.json'; diff --git a/api_docs/unified_doc_viewer.mdx b/api_docs/unified_doc_viewer.mdx index 5e1ea6412f62..c0053cf6566c 100644 --- a/api_docs/unified_doc_viewer.mdx +++ b/api_docs/unified_doc_viewer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/unifiedDocViewer title: "unifiedDocViewer" image: https://source.unsplash.com/400x175/?github description: API docs for the unifiedDocViewer plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'unifiedDocViewer'] --- import unifiedDocViewerObj from './unified_doc_viewer.devdocs.json'; diff --git a/api_docs/unified_histogram.mdx b/api_docs/unified_histogram.mdx index e29640f3d3fb..06ab25a2682c 100644 --- a/api_docs/unified_histogram.mdx +++ b/api_docs/unified_histogram.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/unifiedHistogram title: "unifiedHistogram" image: https://source.unsplash.com/400x175/?github description: API docs for the unifiedHistogram plugin -date: 2023-09-07 +date: 2023-09-08 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 86dca02ec753..277496e0f06f 100644 --- a/api_docs/unified_search.mdx +++ b/api_docs/unified_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/unifiedSearch title: "unifiedSearch" image: https://source.unsplash.com/400x175/?github description: API docs for the unifiedSearch plugin -date: 2023-09-07 +date: 2023-09-08 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 5288a252a44d..9e3948302acf 100644 --- a/api_docs/unified_search_autocomplete.mdx +++ b/api_docs/unified_search_autocomplete.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/unifiedSearch-autocomplete title: "unifiedSearch.autocomplete" image: https://source.unsplash.com/400x175/?github description: API docs for the unifiedSearch.autocomplete plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'unifiedSearch.autocomplete'] --- import unifiedSearchAutocompleteObj from './unified_search_autocomplete.devdocs.json'; diff --git a/api_docs/uptime.mdx b/api_docs/uptime.mdx index a4dc702fb651..77d962dad176 100644 --- a/api_docs/uptime.mdx +++ b/api_docs/uptime.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/uptime title: "uptime" image: https://source.unsplash.com/400x175/?github description: API docs for the uptime plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'uptime'] --- import uptimeObj from './uptime.devdocs.json'; diff --git a/api_docs/url_forwarding.mdx b/api_docs/url_forwarding.mdx index 752db77b2d6d..737d328cd6a3 100644 --- a/api_docs/url_forwarding.mdx +++ b/api_docs/url_forwarding.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/urlForwarding title: "urlForwarding" image: https://source.unsplash.com/400x175/?github description: API docs for the urlForwarding plugin -date: 2023-09-07 +date: 2023-09-08 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 d59abda8c04b..224c6df3968d 100644 --- a/api_docs/usage_collection.mdx +++ b/api_docs/usage_collection.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/usageCollection title: "usageCollection" image: https://source.unsplash.com/400x175/?github description: API docs for the usageCollection plugin -date: 2023-09-07 +date: 2023-09-08 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 a3f548d5ae17..7e72205528a8 100644 --- a/api_docs/ux.mdx +++ b/api_docs/ux.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/ux title: "ux" image: https://source.unsplash.com/400x175/?github description: API docs for the ux plugin -date: 2023-09-07 +date: 2023-09-08 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 7d9a35946264..817a0aba4055 100644 --- a/api_docs/vis_default_editor.mdx +++ b/api_docs/vis_default_editor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visDefaultEditor title: "visDefaultEditor" image: https://source.unsplash.com/400x175/?github description: API docs for the visDefaultEditor plugin -date: 2023-09-07 +date: 2023-09-08 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 1ee895ade008..aa5f31854a9a 100644 --- a/api_docs/vis_type_gauge.mdx +++ b/api_docs/vis_type_gauge.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeGauge title: "visTypeGauge" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeGauge plugin -date: 2023-09-07 +date: 2023-09-08 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 68ce0ccb0961..895510784daa 100644 --- a/api_docs/vis_type_heatmap.mdx +++ b/api_docs/vis_type_heatmap.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeHeatmap title: "visTypeHeatmap" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeHeatmap plugin -date: 2023-09-07 +date: 2023-09-08 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 f03a7f6090b7..58dabba1c330 100644 --- a/api_docs/vis_type_pie.mdx +++ b/api_docs/vis_type_pie.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypePie title: "visTypePie" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypePie plugin -date: 2023-09-07 +date: 2023-09-08 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 e505f494d03b..703f2fe02c46 100644 --- a/api_docs/vis_type_table.mdx +++ b/api_docs/vis_type_table.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeTable title: "visTypeTable" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeTable plugin -date: 2023-09-07 +date: 2023-09-08 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 707e0447510b..72e62f5a1542 100644 --- a/api_docs/vis_type_timelion.mdx +++ b/api_docs/vis_type_timelion.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeTimelion title: "visTypeTimelion" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeTimelion plugin -date: 2023-09-07 +date: 2023-09-08 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 9252d5c19361..9a31d12b1fd7 100644 --- a/api_docs/vis_type_timeseries.mdx +++ b/api_docs/vis_type_timeseries.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeTimeseries title: "visTypeTimeseries" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeTimeseries plugin -date: 2023-09-07 +date: 2023-09-08 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 ea2135ba522b..e38a2de9610a 100644 --- a/api_docs/vis_type_vega.mdx +++ b/api_docs/vis_type_vega.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeVega title: "visTypeVega" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeVega plugin -date: 2023-09-07 +date: 2023-09-08 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 4ce8acc6e097..e06939c91f04 100644 --- a/api_docs/vis_type_vislib.mdx +++ b/api_docs/vis_type_vislib.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeVislib title: "visTypeVislib" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeVislib plugin -date: 2023-09-07 +date: 2023-09-08 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 9a5133b7a1df..6eebe21d0287 100644 --- a/api_docs/vis_type_xy.mdx +++ b/api_docs/vis_type_xy.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeXy title: "visTypeXy" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeXy plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeXy'] --- import visTypeXyObj from './vis_type_xy.devdocs.json'; diff --git a/api_docs/visualizations.mdx b/api_docs/visualizations.mdx index e6559f6bda4a..05a0acef1ca7 100644 --- a/api_docs/visualizations.mdx +++ b/api_docs/visualizations.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visualizations title: "visualizations" image: https://source.unsplash.com/400x175/?github description: API docs for the visualizations plugin -date: 2023-09-07 +date: 2023-09-08 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visualizations'] --- import visualizationsObj from './visualizations.devdocs.json'; From c25bb52b083c4f7b51ecda1611955a124b91ce88 Mon Sep 17 00:00:00 2001 From: Stratoula Kalafateli Date: Fri, 8 Sep 2023 09:04:34 +0300 Subject: [PATCH 45/57] [ES|QL] Render selected vs available callout (#165557) ## Summary Adds a callout to Discover table, indicating the number of selected vs available columns. This is very useful in a case like `from * | keep *` which returns a big number of fields. In that case we only select and display in the table the first 50 columns. image ### Checklist - [x] Any text added follows [EUI's writing guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses sentence case text and includes [i18n support](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/README.md) - [x] [Unit or functional tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html) were updated or added to match the most common scenarios --------- Co-authored-by: Matthias Wilhelm --- .../layout/discover_main_content.tsx | 8 +++ .../selected_vs_available_callout.test.tsx | 55 +++++++++++++++++++ .../layout/selected_vs_available_callout.tsx | 47 ++++++++++++++++ 3 files changed, 110 insertions(+) create mode 100644 src/plugins/discover/public/application/main/components/layout/selected_vs_available_callout.test.tsx create mode 100644 src/plugins/discover/public/application/main/components/layout/selected_vs_available_callout.tsx diff --git a/src/plugins/discover/public/application/main/components/layout/discover_main_content.tsx b/src/plugins/discover/public/application/main/components/layout/discover_main_content.tsx index 91fe00263c1c..d7d90ff6b517 100644 --- a/src/plugins/discover/public/application/main/components/layout/discover_main_content.tsx +++ b/src/plugins/discover/public/application/main/components/layout/discover_main_content.tsx @@ -8,6 +8,7 @@ import { EuiFlexGroup, EuiFlexItem, EuiHorizontalRule } from '@elastic/eui'; import { DragDrop, type DropType, DropOverlayWrapper } from '@kbn/dom-drag-drop'; +import useObservable from 'react-use/lib/useObservable'; import React, { useCallback } from 'react'; import { DataView } from '@kbn/data-views-plugin/common'; import { METRIC_TYPE } from '@kbn/analytics'; @@ -22,6 +23,7 @@ import { DiscoverDocuments } from './discover_documents'; import { DOCUMENTS_VIEW_CLICK, FIELD_STATISTICS_VIEW_CLICK } from '../field_stats_table/constants'; import { ErrorCallout } from '../../../../components/common/error_callout'; import { useDataState } from '../../hooks/use_data_state'; +import { SelectedVSAvailableCallout } from './selected_vs_available_callout'; const DROP_PROPS = { value: { @@ -75,6 +77,7 @@ export const DiscoverMainContent = ({ ); const dataState = useDataState(stateContainer.dataState.data$.main$); + const documents = useObservable(stateContainer.dataState.data$.documents$); const isDropAllowed = Boolean(onDropFieldToTable); return ( @@ -112,6 +115,11 @@ export const DiscoverMainContent = ({ data-test-subj="discoverMainError" /> )} + {viewMode === VIEW_MODE.DOCUMENT_LEVEL ? ( { + it('should render the callout if isPlainRecord is true and the selected columns are less than the available ones', async () => { + const component = mountWithIntl( + + ); + expect(component.find('[data-test-subj="dscSelectedColumnsCallout"]').exists()).toBe(true); + }); + + it('should not render the callout if isPlainRecord is false', async () => { + const component = mountWithIntl( + + ); + expect(component.find('[data-test-subj="dscSelectedColumnsCallout"]').exists()).toBe(false); + }); + + it('should not render the callout if isPlainRecord is true but the selected columns are equal with the available ones', async () => { + const component = mountWithIntl( + + ); + expect(component.find('[data-test-subj="dscSelectedColumnsCallout"]').exists()).toBe(false); + }); +}); diff --git a/src/plugins/discover/public/application/main/components/layout/selected_vs_available_callout.tsx b/src/plugins/discover/public/application/main/components/layout/selected_vs_available_callout.tsx new file mode 100644 index 000000000000..ec05667e69b3 --- /dev/null +++ b/src/plugins/discover/public/application/main/components/layout/selected_vs_available_callout.tsx @@ -0,0 +1,47 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ +import React from 'react'; +import { i18n } from '@kbn/i18n'; +import { EuiCallOut } from '@elastic/eui'; +import type { DatatableColumn } from '@kbn/expressions-plugin/common'; + +interface SelectedVSAvailableCallout { + isPlainRecord: boolean; + selectedColumns: string[]; + textBasedQueryColumns?: DatatableColumn[]; +} + +export const SelectedVSAvailableCallout = ({ + isPlainRecord, + textBasedQueryColumns, + selectedColumns, +}: SelectedVSAvailableCallout) => { + return ( + <> + {isPlainRecord && + textBasedQueryColumns && + selectedColumns.length > 0 && + selectedColumns.length < textBasedQueryColumns.length && ( + + )} + + ); +}; From a41b3ce41eb57609384fb93bda904e2500028732 Mon Sep 17 00:00:00 2001 From: Stratoula Kalafateli Date: Fri, 8 Sep 2023 10:28:28 +0300 Subject: [PATCH 46/57] [TextBasedEditor] Use resizable button from EUI (#165935) ## Summary When I created the text based editor, the resizable button was not exported from EUI so I had to create my own custom solution. It was recently been exported and merged in kibana so now we can remove the custom solution and use the EUI component instead! https://github.com/elastic/eui/issues/6100 --- .../src/resizable_button.scss | 87 ------------------- .../src/resizable_button.tsx | 29 ++++--- 2 files changed, 15 insertions(+), 101 deletions(-) delete mode 100644 packages/kbn-text-based-editor/src/resizable_button.scss diff --git a/packages/kbn-text-based-editor/src/resizable_button.scss b/packages/kbn-text-based-editor/src/resizable_button.scss deleted file mode 100644 index cd0342df39a7..000000000000 --- a/packages/kbn-text-based-editor/src/resizable_button.scss +++ /dev/null @@ -1,87 +0,0 @@ -.TextBasedLangEditor--resizableButtonContainer { - position: absolute; - bottom: 0; - left: 0; - right: 0; - display: flex; - flex-direction: column; -} - -.TextBasedLangEditor--resizableButton { - position: relative; - flex-shrink: 0; - z-index: 1; - cursor: row-resize; - height: $euiSize; - margin-top: -($euiSize / 2); - margin-bottom: -($euiSize / 2); - - &:before, - &:after { - content: ''; - display: block; - position: absolute; - top: 50%; - left: 50%; - width: $euiSizeM; - height: 1px; - background-color: $euiColorDarkestShade; - transition: ( - width $euiAnimSpeedFast ease, - height $euiAnimSpeedFast ease, - transform $euiAnimSpeedFast ease, - background-color $euiAnimSpeedFast ease - ); - } - - &:before { - transform: translate(-50%, -2px); - } - - &:after { - transform: translate(-50%, 2px); - } - - //Lighten the "grab" icon on :hover - &:hover:not(:disabled) { - &:before, - &:after { - background-color: $euiColorMediumShade; - transition-delay: $euiAnimSpeedFast; //Delay transition on hover so animation is not accidentally triggered on mouse over - } - } - - //Add a transparent background to the container and emphasis the "grab" icon with primary color on :focus - &:focus:not(:disabled) { - background-color: transparentize($euiColorPrimary, .9); - - &:before, - &:after { - background-color: $euiColorPrimary; - // Overrides default transition so that "grab" icon background-color doesn't animate - transition: ( - width $euiAnimSpeedFast ease, - height $euiAnimSpeedFast ease, - transform $euiAnimSpeedFast ease - ); - transition-delay: $euiAnimSpeedFast / 2; - } - } - - //Morph the "grab" icon into a fluid 2px straight line on :hover and :focus - &:hover:not(:disabled), - &:focus:not(:disabled) { - &:before, - &:after { - width: 100%; - } - - &:before { - transform: translate(-50%, -1px); - } - - &:after { - transform: translate(-50%, 0); - } - } -} \ No newline at end of file diff --git a/packages/kbn-text-based-editor/src/resizable_button.tsx b/packages/kbn-text-based-editor/src/resizable_button.tsx index 7ae69b4e33d7..fb4ee944bc2f 100644 --- a/packages/kbn-text-based-editor/src/resizable_button.tsx +++ b/packages/kbn-text-based-editor/src/resizable_button.tsx @@ -7,29 +7,30 @@ */ import React from 'react'; - -import './resizable_button.scss'; +import { EuiResizableButton } from '@elastic/eui'; +import { css } from '@emotion/react'; export function ResizableButton({ onMouseDownResizeHandler, onKeyDownResizeHandler, }: { onMouseDownResizeHandler: ( - mouseDownEvent: React.MouseEvent + mouseDownEvent: React.MouseEvent | React.TouchEvent ) => void; onKeyDownResizeHandler: (keyDownEvernt: React.KeyboardEvent) => void; }) { - const setFocus = (e: React.MouseEvent) => e.currentTarget.focus(); - return ( -

+ ); } From 2558c7f9b8a6c92782a407d00691916ae613c2a6 Mon Sep 17 00:00:00 2001 From: Luke Elmers Date: Fri, 8 Sep 2023 01:28:54 -0600 Subject: [PATCH 47/57] Only trigger manual tests phase in QA after all other steps have passed. (#165981) Co-authored-by: Ramon Butter Co-authored-by: Tiago Costa --- .buildkite/pipelines/quality-gates/pipeline.tests-qa.yaml | 8 -------- 1 file changed, 8 deletions(-) diff --git a/.buildkite/pipelines/quality-gates/pipeline.tests-qa.yaml b/.buildkite/pipelines/quality-gates/pipeline.tests-qa.yaml index e7fbf640cf56..ffd4e289962f 100644 --- a/.buildkite/pipelines/quality-gates/pipeline.tests-qa.yaml +++ b/.buildkite/pipelines/quality-gates/pipeline.tests-qa.yaml @@ -17,14 +17,6 @@ steps: - label: ":pipeline::female-detective::seedling: Trigger Security Solution quality gate script" command: .buildkite/scripts/pipelines/security_solution_quality_gate/pipeline.sh - - label: ":judge::seedling: Trigger Manual Tests Phase" - command: "make -C /agent trigger-manual-verification-phase" - if: build.branch == "main" - env: - TEAM_CHANNEL: "#kibana-mission-control" - agents: - image: "docker.elastic.co/ci-agent-images/manual-verification-agent:0.0.2" - - label: ":pipeline::ship::seedling: Trigger Fleet serverless smoke tests for ${ENVIRONMENT}" trigger: fleet-smoke-tests # https://buildkite.com/elastic/fleet-smoke-tests soft_fail: true # Remove this before release From 23e17ab5dd7c4232b915009e2d6ea58fc24b6923 Mon Sep 17 00:00:00 2001 From: Luke Elmers Date: Fri, 8 Sep 2023 01:30:10 -0600 Subject: [PATCH 48/57] Rename changed QA serverless pipeline name. (#166028) --- .buildkite/pipelines/quality-gates/pipeline.tests-qa.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.buildkite/pipelines/quality-gates/pipeline.tests-qa.yaml b/.buildkite/pipelines/quality-gates/pipeline.tests-qa.yaml index ffd4e289962f..8d8d32e9d478 100644 --- a/.buildkite/pipelines/quality-gates/pipeline.tests-qa.yaml +++ b/.buildkite/pipelines/quality-gates/pipeline.tests-qa.yaml @@ -4,7 +4,7 @@ steps: - label: ":pipeline::kibana::seedling: Trigger Kibana Serverless Tests for ${ENVIRONMENT}" - trigger: appex-qa-kibana-serverless-ftr-tests # https://buildkite.com/elastic/appex-qa-kibana-serverless-ftr-tests + trigger: appex-qa-serverless-kibana-ftr-tests # https://buildkite.com/elastic/appex-qa-serverless-kibana-ftr-tests soft_fail: true # Remove this before release or when tests stabilize build: env: From 234c46d5b78ec4d00854ae2403438238eb1f1f0d Mon Sep 17 00:00:00 2001 From: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> Date: Fri, 8 Sep 2023 04:48:11 -0400 Subject: [PATCH 49/57] skip failing test suite (#165839) --- .../observability/observability_log_explorer/header_menu.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/x-pack/test_serverless/functional/test_suites/observability/observability_log_explorer/header_menu.ts b/x-pack/test_serverless/functional/test_suites/observability/observability_log_explorer/header_menu.ts index 038e28a442c2..65207e6e3aaf 100644 --- a/x-pack/test_serverless/functional/test_suites/observability/observability_log_explorer/header_menu.ts +++ b/x-pack/test_serverless/functional/test_suites/observability/observability_log_explorer/header_menu.ts @@ -13,7 +13,8 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { const retry = getService('retry'); const PageObjects = getPageObjects(['discover', 'observabilityLogExplorer', 'timePicker']); - describe('Header menu', () => { + // Failing: See https://github.com/elastic/kibana/issues/165839 + describe.skip('Header menu', () => { before(async () => { await kibanaServer.importExport.load('test/functional/fixtures/kbn_archiver/discover'); await esArchiver.load( From 2ecd8b83faad36492c2c9f484f684286d2d3d3d2 Mon Sep 17 00:00:00 2001 From: Gloria Hornero Date: Fri, 8 Sep 2023 10:52:16 +0200 Subject: [PATCH 50/57] [Security Solution] Loading auditbeat data in a global hook (#165953) --- x-pack/test/security_solution_cypress/cypress/support/e2e.js | 4 ++++ x-pack/test/security_solution_cypress/runner.ts | 3 --- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/x-pack/test/security_solution_cypress/cypress/support/e2e.js b/x-pack/test/security_solution_cypress/cypress/support/e2e.js index 477c2606153b..4335470845f9 100644 --- a/x-pack/test/security_solution_cypress/cypress/support/e2e.js +++ b/x-pack/test/security_solution_cypress/cypress/support/e2e.js @@ -25,6 +25,10 @@ import './commands'; import 'cypress-real-events/support'; import registerCypressGrep from '@cypress/grep'; +before(() => { + cy.task('esArchiverLoad', { archiveName: 'auditbeat' }); +}); + registerCypressGrep(); Cypress.on('uncaught:exception', () => { diff --git a/x-pack/test/security_solution_cypress/runner.ts b/x-pack/test/security_solution_cypress/runner.ts index 9514e63a1263..c5d3acd093e5 100644 --- a/x-pack/test/security_solution_cypress/runner.ts +++ b/x-pack/test/security_solution_cypress/runner.ts @@ -15,9 +15,6 @@ export async function SecuritySolutionConfigurableCypressTestRunner({ getService, }: FtrProviderContext) { const config = getService('config'); - const esArchiver = getService('esArchiver'); - - await esArchiver.load('x-pack/test/security_solution_cypress/es_archives/auditbeat'); return { FORCE_COLOR: '1', From 9deae84801fa770a41d107c633d3b6e356631b03 Mon Sep 17 00:00:00 2001 From: Sander Philipse <94373878+sphilipse@users.noreply.github.com> Date: Fri, 8 Sep 2023 11:14:17 +0200 Subject: [PATCH 51/57] [Search] Update connector also updates status (#165983) ## Summary Converting a connector from native to client now updates the connector status. --- packages/kbn-search-connectors/lib/update_native.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/kbn-search-connectors/lib/update_native.ts b/packages/kbn-search-connectors/lib/update_native.ts index dff504296108..73af04e75aa8 100644 --- a/packages/kbn-search-connectors/lib/update_native.ts +++ b/packages/kbn-search-connectors/lib/update_native.ts @@ -9,7 +9,7 @@ import { ElasticsearchClient } from '@kbn/core-elasticsearch-server'; import { CONNECTORS_INDEX } from '..'; -import { Connector } from '../types/connectors'; +import { Connector, ConnectorStatus } from '../types/connectors'; export const putUpdateNative = async ( client: ElasticsearchClient, @@ -19,6 +19,7 @@ export const putUpdateNative = async ( const result = await client.update({ doc: { is_native: isNative, + status: ConnectorStatus.CONFIGURED, }, id: connectorId, index: CONNECTORS_INDEX, From 227a037ceb80d27e09078144bfc5a492581397e5 Mon Sep 17 00:00:00 2001 From: jennypavlova Date: Fri, 8 Sep 2023 11:17:06 +0200 Subject: [PATCH 52/57] [Infra UI] When creating an alert for a host via the new host fly out the filter cannot be updated (#165991) Closes #165098 ## Summary This PR fixes an issue with the optional filter component (the user is not able to clear the prefilled input - described in [the issue](https://github.com/elastic/kibana/issues/165098#issue-1871701462)) - [commit](https://github.com/elastic/kibana/commit/57b43b6ef9ea7733cbe24d44416d033529ed98ef). I saw deprecated styled components used in the component I was adding the fix so I also fixed those - in case there is a valid reason to keep the old version I can remove the [second commit](https://github.com/elastic/kibana/commit/351d997cb62390c18a8b04b312c8bdd238159db1). ## Testing Open create alert rule flyout from the Inventory page - Create a rule without the optional filter - Create a rule with a new optional filter Open create alert rule flyout from the Hosts view page - Create a rule without the optional filter - Create a rule with a new optional filter https://github.com/elastic/kibana/assets/14139027/8e9fb3f6-4774-4e06-9f49-16b83a60b7b6 --- .../inventory/components/expression.tsx | 120 ++++++++++-------- 1 file changed, 64 insertions(+), 56 deletions(-) diff --git a/x-pack/plugins/infra/public/alerting/inventory/components/expression.tsx b/x-pack/plugins/infra/public/alerting/inventory/components/expression.tsx index 340c00b9f48c..6375a5032d36 100644 --- a/x-pack/plugins/infra/public/alerting/inventory/components/expression.tsx +++ b/x-pack/plugins/infra/public/alerting/inventory/components/expression.tsx @@ -19,8 +19,8 @@ import { EuiToolTip, } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; +import { css } from '@emotion/react'; import { FormattedMessage } from '@kbn/i18n-react'; -import { euiStyled } from '@kbn/kibana-react-plugin/common'; import { TimeUnitChar } from '@kbn/observability-plugin/common/utils/formatters/duration'; import { ForLastExpression, @@ -149,8 +149,8 @@ export const Expressions: React.FC = (props) => { ); const onFilterChange = useCallback( - (filter: any) => { - setRuleParams('filterQueryText', filter || ''); + (filter: string) => { + setRuleParams('filterQueryText', filter ?? ''); try { setRuleParams( 'filterQuery', @@ -257,7 +257,7 @@ export const Expressions: React.FC = (props) => { preFillAlertCriteria(); } - if (!ruleParams.filterQuery) { + if (ruleParams.filterQuery === undefined) { preFillAlertFilter(); } @@ -268,7 +268,7 @@ export const Expressions: React.FC = (props) => { return ( <> - +

= (props) => { />

- - - +
+ +
- - - - +
+
+
+ {ruleParams.criteria && ruleParams.criteria.map((e, idx) => { return ( @@ -315,7 +315,7 @@ export const Expressions: React.FC = (props) => { ); })} - +
= (props) => { onChangeWindowSize={updateTimeSize} onChangeWindowUnit={updateTimeUnit} /> - +
= (props) => {
- + = (props) => { onChange={(e) => setRuleParams('alertOnNoData', e.target.checked)} /> - + = (props) => { fullWidth display="rowCompressed" > - {(metadata && ( + {metadata ? ( - )) || ( + ) : ( = (props) => { )} - + ); }; @@ -415,21 +415,21 @@ interface ExpressionRowProps { fields: DerivedIndexPattern['fields']; } -const NonCollapsibleExpression = euiStyled.div` +const NonCollapsibleExpressionCss = css` margin-left: 28px; `; -const StyledExpressionRow = euiStyled(EuiFlexGroup)` +const StyledExpressionRowCss = css` display: flex; flex-wrap: wrap; margin: 0 -4px; `; -const StyledExpression = euiStyled.div` +const StyledExpressionCss = css` padding: 0 4px; `; -const StyledHealth = euiStyled(EuiHealth)` +const StyledHealthCss = css` margin-left: 4px; `; @@ -588,8 +588,8 @@ export const ExpressionRow: React.FC = (props) => { - - + +
= (props) => { customMetric={customMetric} fields={fields} /> - +
{!displayWarningThreshold && criticalThresholdExpression} -
+ {displayWarningThreshold && ( <> - + {criticalThresholdExpression} - + - - - + + + {warningThresholdExpression} - + - + = (props) => { )} iconSize="s" color="text" - iconType={'minusInCircleFilled'} + iconType="minusInCircleFilled" onClick={toggleWarningThreshold} /> - + )} {!displayWarningThreshold && ( <> {' '} - - + + = (props) => { defaultMessage="Add warning threshold" /> - + )}
@@ -674,15 +674,23 @@ export const ExpressionRow: React.FC = (props) => { aria-label={i18n.translate('xpack.infra.metrics.alertFlyout.removeCondition', { defaultMessage: 'Remove condition', })} - color={'danger'} - iconType={'trash'} + color="danger" + iconType="trash" onClick={() => remove(expressionId)} /> )} - {isExpanded ?
{children}
: null} - + {isExpanded ? ( +
+ {children} +
+ ) : null} + ); }; @@ -697,7 +705,7 @@ const ThresholdElement: React.FC<{ }> = ({ updateComparator, updateThreshold, threshold, metric, comparator, errors }) => { return ( <> - +
- +
{metric && (
- {metricUnit[metric]?.label || ''} + {metricUnit[metric]?.label || ''}
)} From 7d333f77d6986d67813b24b1936f2e30fcf7ca45 Mon Sep 17 00:00:00 2001 From: Gloria Hornero Date: Fri, 8 Sep 2023 11:45:27 +0200 Subject: [PATCH 53/57] [Security Solution] Cypress runner constant refactor (#166051) Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- .../security_solution_cypress/cypress/support/es_archiver.ts | 2 +- x-pack/test/security_solution_cypress/runner.ts | 5 ----- 2 files changed, 1 insertion(+), 6 deletions(-) diff --git a/x-pack/test/security_solution_cypress/cypress/support/es_archiver.ts b/x-pack/test/security_solution_cypress/cypress/support/es_archiver.ts index 0b1bc1cb68de..6fcbebf0a377 100644 --- a/x-pack/test/security_solution_cypress/cypress/support/es_archiver.ts +++ b/x-pack/test/security_solution_cypress/cypress/support/es_archiver.ts @@ -28,7 +28,7 @@ export const esArchiver = ( const kbnClient = new KbnClient({ log, - url: config.env.CYPRESS_BASE_URL as string, + url: config.env.BASE_URL as string, ...(config.env.ELASTICSEARCH_URL.includes('https') ? { certificateAuthorities: [Fs.readFileSync(CA_CERT_PATH)] } : {}), diff --git a/x-pack/test/security_solution_cypress/runner.ts b/x-pack/test/security_solution_cypress/runner.ts index c5d3acd093e5..6e70f9364eff 100644 --- a/x-pack/test/security_solution_cypress/runner.ts +++ b/x-pack/test/security_solution_cypress/runner.ts @@ -18,11 +18,6 @@ export async function SecuritySolutionConfigurableCypressTestRunner({ return { FORCE_COLOR: '1', - CYPRESS_BASE_URL: Url.format(config.get('servers.kibana')), - CYPRESS_ELASTICSEARCH_URL: Url.format(config.get('servers.elasticsearch')), - CYPRESS_ELASTICSEARCH_USERNAME: config.get('servers.elasticsearch.username'), - CYPRESS_ELASTICSEARCH_PASSWORD: config.get('servers.elasticsearch.password'), - baseUrl: Url.format(config.get('servers.kibana')), BASE_URL: Url.format(config.get('servers.kibana')), ELASTICSEARCH_URL: Url.format(config.get('servers.elasticsearch')), ELASTICSEARCH_USERNAME: config.get('servers.elasticsearch.username'), From 4ffd7562ffac906a09c63c340365f3e03c237bff Mon Sep 17 00:00:00 2001 From: amyjtechwriter <61687663+amyjtechwriter@users.noreply.github.com> Date: Fri, 8 Sep 2023 12:05:35 +0100 Subject: [PATCH 54/57] [DOCS] Updating API key page in Kibana docs (#165599) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## Summary This PR adds the new cross-cluster API key option to the [API Keys page](https://www.elastic.co/guide/en/kibana/current/api-keys.html) and makes some further edits to the page. Relates to: #162363 & #163566 --------- Co-authored-by: István Zoltán Szabó --- .../api-keys/images/api-keys-details.png | Bin 0 -> 370350 bytes .../security/api-keys/images/api-keys.png | Bin 61199 -> 318872 bytes .../api-keys/images/create-ccr-api-key.png | Bin 0 -> 353258 bytes docs/user/security/api-keys/index.asciidoc | 59 ++++++++---------- 4 files changed, 26 insertions(+), 33 deletions(-) create mode 100644 docs/user/security/api-keys/images/api-keys-details.png create mode 100644 docs/user/security/api-keys/images/create-ccr-api-key.png diff --git a/docs/user/security/api-keys/images/api-keys-details.png b/docs/user/security/api-keys/images/api-keys-details.png new file mode 100644 index 0000000000000000000000000000000000000000..c6029d11de2fad621d15633cb69f3ea8092b5930 GIT binary patch literal 370350 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
Eq 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
GhhnkPpsV*Dlu(rB|f8TX=oH1nLKDLp2Yp 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 z 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

T03Mtu9Q;DT{)EETTGQWi6mi6*!@t7{uwsGdYL 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.u2R=wpTS&zq& z9+@a-u--EUU0MhMW6&dAAi91=!a~9N-9Sr z#-rCV1v>X-=B}cvRduS3RA;nI>WAMR8i~d$`!rl-l>i!rTbW*N$rXPdykMFCaJ3gH zh`IJ$YsNQ)1>^mdXYpu>N0!Xzmp)chaRgstKG|&u%)%KqQQ-iyF!wTcStviO3&2V6 zeJ>2AKN;Mi!J5(GfYA#cH`LeEjt^rp^38IxfN$r41%pRWJFRaU6kw%3_?ri=8;nNO zpLaDs^@t$ewUz?v)>CmnQnZA{ZP{~&=BzJqx&aQzMJ^(M5O`@ihZBcG|7|^}vP6h_ z$FSsLJPhB+Q_!zIlEL%bR-3ahymeSTmBOs*ypqQ~m+O_;Ahk`dGbY78G&1g&n~ySZ zJ34DzwP9(H_?4!y5k-VG)krh`$U}*pkLB@vPv@ zv+`x2(cC!#lC-e*Bhi%{>~l`_X3=c;p|O>EGLmJxF5c?EK@BnUkCihiiRC8G57Lrn z!q{%sO~&}myw%@(=T0#REpHMe>x)U`oYN(p`s?WCLgHo`ZIB@*{e%^=;ip$C}s0+zT5-NvvAor~tia7bn;-&sA%33*eL8CNQ)? zI#4NcYA0epMTNzSS58Ko0fv5f3PJ@VeX{1^PcPgx<2mgDrFS+vS>W)+UA)4E$DAH# z3->#}g$}B!Mf#ClInHN1TODdiJg%ffG4<^TX34cBBSR)AXrRe;rrh0rbuvcKm-UVJ z(gOr{px`a}Ycyc8{A*j|LDBy-8YnuRuCo_RH0KGw^IxFI}p zIkK8Fy0iIk=A8Z22fAfJ{r-8vZQ!3xe=@gDa-1Y;FBM4C$P1Z>Y1hr8)yZYl-}|5p zWffLIIcx^g<#+S&%hQ<8Il3b6(T?{Z@4eH7mV>XonHgXA`D0^X!j;WCUGrK?dJ&9X z@`farqOqcj$pCEC$!nyVh+ka2VbDAS$z}xbT?})dFzEUp?+HM`8#bkb#P0PX!*l}c z=F2;j!;QxP&#ha#zjR(6bQECZ*@i&IXC7h31i^Z4i*9Dd*@Bz=?onm{3DW(g&!fzy zfp&=jdLKjE_6&os}MI+2m%{d4XY0_A5mToCzX+aqF#N6@$%_l z$4&Gy12-67n|l3Cxq`PfqQ(@a)obuG0NXB^0%S8rnDBuYAXjiTc&Lx+w}@03XY95a z3aaonHCGE}r}}9@^K?+U2C;ol!ych-kET%YUP6T+XEk3tm&8qzl})fdcpc^hvupA^ zYvSycZfiTLV%>(mt$L$Js#|jg`6wP_bZ+Rb2E7#}Cx9l2*ywzmB7ZoU$Lq0mAA7CJ zX81A}vIyW#nUA$P>hc*Q!q8Kr7p9FzxwAi5lq%uNgK6>14*X#RwKh`VN8`@q@eQ>O$RFgcj0Kc;v4m67_q^jv2_RTwcl4rPy7GM<2LVNnwQ|R)c;huW`}=Fh z;vg3jPeFcBtr}U_G|fA+ikjx*H|MZSuKV8PW+3IamLrSnbtQ2LMETpaxP=B8Q&l5E z5qubRVFD24VrgppUsHbQ;XOJxxlKw{s*%{~K52&%&bl)(K_3FZcI z!fN|5UQGk5#)sZ?H=fOspXOmV0@TeSM)bt+*xjhL!~()j?j>hnpg<#f-WkooniFHpx1AbU^lN~j%780&YtqT)$X@R7r%$LI zR(l!p_uAp-4Xoz833 z3vY*#yr&#-v%`TN_);!&K{IyEA|#+b(�iOJ8Vj0gXL|0%$o7)_Ckd-l;;&f0?QP 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çg>_^wquanxMNdla;PgiRH@8Q{E5BOq|AFQ+f`zP<{SAfmnm(G({oBi1-hb zI7amY@m~VjPM&N=>TBvtH7l$ zPZ<#zt=c>7ch3xX*M+b`U#6k|i?b@eh_!&5-1H((4)^pO;DulC6FRLaGEszj zJ9JPmhTzGNMLO$RBJEx!DtrQX!V~Z;p0Y&Ra@h_ZFR7R2d(XJT!9*Och|)?yWZuRp zD*BSC-K>mv;J8ttkf%S>9xsEF6)?8GABpVQ8NRKbSS48SRIV`S%nN{kkpPrq(D zIhwx*Voe0*6uA5;X-&Ok0_>I0uNq(Msk`}^*D_tZiK0MqjOUNLCW1rCsABLmLQ+6`g%Or=k~% z%!4~qc_uA&5;xQ|g_pBjI;6oopXf<(V1eS51Z?Hs+l@--F8@vyZU^FL_~*71yA-I` zl#kG+W8k+ft7yw)D;L}7+He0>u@}3<;ukoL4Qi$@>0-m~!Dow4nHL$-mC*S-(&6S6 zVUxFsj;7sx?^xtc;l`Mn)3G@2&w|0+pR4B-grFZK}C_Cpv165x#4ib}5 zK#TIMY}L>Ic1*Xh;W=sM@Nmlb88l+DIrVsM5ME1xx=xVH9}U&d?2?Cq8k9js8^l4eEKA{h@rzK17g~y zrW%cQu%`}>#stY9AVbS~*{TaWR094Wh``gPH{y;D&2+^a{a|Sr~Bin-kWXs zT65}h-p+~M7`$i24x(=ZlXQX7s{Do@3|L|(8E=#%pqJ6Ev^l?B4JzPirHNr%1gtek z9-TV4kI59v#aMpZ5>uF*Fjd`7o&8+{U>9vb@+eX|m1^?rx)0f?@4baop&Xuxz>8Ii zsLyhJGc2uiN#dQ7(#@jk69wF)8ao3KJg7W~S`~}1rAH(U&pUj|Y}BLpXj*)WD-j{` z*`#GR^MlA=T=YiCW9R85l|yn;y*!_CX9Way~J*TFr?Gp@7^MFQ{ z2eI$O`t|<77ChzMFMA`i-mJm1ox;8+k33nh_r)3d(H8OHXFfCn;S0WwfGpIK!zqd@ z?;ReG_;bj)>vhsNGazi1R^JB$R2&J}@**Mul2{6NR(hJ^3 zKwl(nE@ym}-}Ldk6gE!46a{Q-*YRu@`fN3_c|*brJR8704AC<6zrz|}ZD??K?*_)> zDj79Ck+O<1Tv5<&j-#$o2pJcoTef-bHhwpQ;;KQC6(x+ozHqUyrF@koShk(m(zHUo zl*P?3&jgk;AY6&XEg6pqH(5fnyHNqK?8!ZnfgSGI2Pr$`CR^dj`%~>G=o6I_Tq&Rm z@5t3src$(;%{#06h`kxx@-W*Pa@K7!3m*<*d-xo5?aw6qZST)k%=FwscgLl#6dR<` zM>I*^r}K%3x#ZQLbalYm*omexqg!<(39P57;R)74UV9eL!X#U)5}U4Op+Z>sLQ_m# z$^&k9P=2?6b0ROU8E?_-p%fi%DL$awhj4|$PoAl`BH8L$6G>F2vAarcxrk_#V;0PM z(&OralpTMa+?_wOB-}X45-O&QHLP4BBVqZsFDeL|7GK7q)cXwfI9kkWm((RTxMNlL z+61rlViY+tr!zADJUvNphaAB0n%l%n7zzkJ_ zv88vL{K`Kp6uXAe;0U>(g-J{VuwH6{Q{&^49&pMH?5I#H09 zA{X%kmCtPs4Qi*Sh0lN0SQ8vq1BbCS1vPQsmb06dCeKywk4eaW|7_|lE65a*>Sn3+0RP0Kgr>?gd-Sb zVxw>^TD@7|+k#(XDkA^zE@+-;sgyDcX<>DRy2)@bN5tVVJBE>|kRX~YQK-b^EvdIQ z(KRg+6F*$!!K{?nMBsqYww@Z6Ube2+E z!=pgr1j%yjF?p*$ zk#cdcrlyH+7B8%-qGa-zs)7)Bh&i~w9NVY+6T;N9diAa^Jo}86J}A0o6946)bffT# zt!ekii~%0?aOTvh6KYk1=CtlR6$g7m`?jWb!Tkg?4~$GUEz}RmRt|It>v4K=?c@@H z73BJgD~KsKhe!rhhAm9VQV`nFBLZeru5AjDO%5_N?r4FOm5d)~`!9TM(y-p1ZfrnT z6;LMgs?O$3H8fi>k8{`%qE#ju+2!N9a}}7WR0CLziV9xX&M_nvyO7@_^y4g0=V|Da z2D><{-g`boPGXxVjJH^NQ2G4qiP_(HYK+4q$E;Y2r8}b7t$^x1)n;hTIpYv7*YRS` zp<93EVQg^-^#ZsrNaw0(DEY8bSx7xoWGR~n2JCRMQJX;RC~amzuT*`gc}XLBVzRAp z5&2P@GKQp~vC%l7fOTrRxoP}vuxXC$`g8#WGeOoBy|J~DreUiqQT};7XCr2B6f&O< zdWz@Xh>MJ6mwiJ-^Q4mYaP^HA=^jPBF_88812+CKzUDl3`b91rLHdpuf z4GeuvvewI5IsQKZG!RDWyJeomC|%x^XPq09b&42NRBbamtsFde$f9e(s#Az4G4BtU z(916_mw3W`hwdYRcByfC06}loTL$I?ZsqOE5YjYXbX39Mz}iXfH|+y0oe!~!IJq4@NWxX!r47P{t?sOGy{iaQIzfJ zFPSrAO4xHf9du}pre4YPNt}rF{k;KC{l%41QW-P*mHx*Tr~SyC_2KOI?EOI(>eREU zO*hpDR!7yS9;j=NFZ&d5ewv(coB0oI-wCgeTPM4es0$xqO<#IEQSjwW^+4w}Wtd~&ztf4 z*K;(+)&>UiqPL!AaWnorTrhL_y^oP!fz5`nk3Z|)t_IeebL9VjNy@}ttxGEh#9et} z6tkRXQ$`T5ygZVzCY9!nsY0 z6auUn|K|JstDg2>`_{Tz*NE?jK5sq)+WT4j`z!#y* zS1)A>{My;6wJkzcdV137Q`=po_I)~1dD0^MV)@lO;RpTCvU&jBs>5j62=vpW{r>MS zEUZn)PT!VyH|zJ?+u_IJy?R8i=5GDR`uX{6`G1f9oA}$B9xi!x<>Z%lcW-}raq;k< Y|BccnmTa-X>FVdQ&MBb@072P_qW}N^ literal 0 HcmV?d00001 diff --git a/docs/user/security/api-keys/images/api-keys.png b/docs/user/security/api-keys/images/api-keys.png index 2a9df066fc3b8a4abefb1f023ccb48a9d629faae..6dec5730a12895bc3dc38e40c95a031dc5b25425 100644 GIT binary patch literal 318872 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 SU5HrcWXU>z)qxWlH%k^ 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

    |6oPjt^3P@d4f){Bp(>s~ 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

    CQjFC&BqIvN1!{i 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 g-E|5@rc`eDmH7mM+nKeBW< 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 literal 0 HcmV?d00001 diff --git a/docs/user/security/api-keys/index.asciidoc b/docs/user/security/api-keys/index.asciidoc index c8b7d72248e5..eda187ed9096 100644 --- a/docs/user/security/api-keys/index.asciidoc +++ b/docs/user/security/api-keys/index.asciidoc @@ -3,18 +3,17 @@ === API Keys -API keys enable you to create secondary credentials so that you can send -requests on behalf of a user. Secondary credentials have -the same or lower access rights. +API keys are security mechanisms used to authenticate and authorize access to {es} resources. They ensure that only authorized users or applications interact with {es}. -For example, if you extract data from an {es} cluster on a daily -basis, you might create an API key tied to your credentials, -configure it with minimum access, -and then put the API credentials into a cron job. -Or, you might create API keys to automate ingestion of new data from -remote sources, without a live user interaction. +For example, if you extract data from an {es} cluster on a daily basis, you might create an API key tied to your credentials, configure it with minimum access, and then put the API credentials into a cron job. Or you might create API keys to automate ingestion of new data from remote sources, without a live user interaction. -To manage API keys, open the main menu, then click *Stack Management > API Keys*. +You can use {kib} to manage your different API keys: + +* Personal API key: allows external services to access the Elastic Stack on behalf of a user. +* Cross-Cluster API key: allows remote clusters to connect to your local cluster. +* Managed API key: created and managed by Kibana to correctly run background tasks. + +To manage API keys, open the main menu, then click *Stack Management > Security > API Keys*. [role="screenshot"] image:images/api-keys.png["API Keys UI"] @@ -23,51 +22,45 @@ image:images/api-keys.png["API Keys UI"] [[api-keys-security-privileges]] === Security privileges -You must have the `manage_security`, `manage_api_key`, or the `manage_own_api_key` -cluster privileges to use API keys in {kib}. API keys can also be seen in a readonly view with access to the page and the `read_security` cluster privilege. To manage roles, open the main menu, then click -*Stack Management > Roles*, or use the <>. +* To use API keys in {kib}, you must have the `manage_security`, `manage_api_key`, or the `manage_own_api_key` cluster privileges. +* To delete API keys, you must have the `manage_api_key` or `manage_own_api_key` privileges. +* To create or update a *personal API key*, you must have the `manage_api_key` or the `manage_own_api_key` privilege. +* To create or update a *cross-cluster API key*, you must have the `manage_security` privilege and an Enterprise license. +* To have a read-only view on the API keys, you must have access to the page and the `read_security` cluster privilege. +To manage roles, open the main menu, then click *Stack Management > Security > Roles*, or use the <>. [float] [[create-api-key]] === Create an API key -To create an API key, open the main menu, then click *Stack Management > API Keys > Create API key*. +To create an API key, open the main menu, then click *Stack Management > Security > API Keys > Create API key*. [role="screenshot"] -image:images/create-api-key.png["Create API Key UI"] +image:images/create-ccr-api-key.png["Create API Key UI"] -Once created, you can copy the API key (Base64 encoded) and use it to send requests to {es} on your behalf. For example: -[source,bash] -curl --location --request GET 'http://localhost:5601/api/security/role' \ ---header 'Content-Type: application/json;charset=UTF-8' \ ---header 'kbn-xsrf: true' \ ---header 'Authorization: ApiKey aVZlLUMzSUJuYndxdDJvN0k1bU46aGxlYUpNS2lTa2FKeVZua1FnY1VEdw==' \ +Refer to the {ref}/security-api-create-api-key.html[create API key] documentation to learn more about creating personal API keys. - -[IMPORTANT] -============================================================================ -API keys are intended for programmatic access to {kib} and {es}. Do not use API keys to authenticate access via a web browser. -============================================================================ +Refer to the {ref}/security-api-create-cross-cluster-api-key.html[create cross-cluster API key] documentation to learn more about creating cross-cluster API keys. [float] [[udpate-api-key]] === Update an API key -To update an API key, open the main menu, click *Stack Management > API Keys*, and then click on the name of the key. +To update an API key, open the main menu, click *Stack Management > Security > API Keys*, and then click on the name of the key. You cannot update the name or the type of API key. + +Refer to the {ref}/security-api-update-api-key.html[update API key] documentation to learn more about updating personal API keys. -You can only update the `Restrict privileges` and `metadata` fields. +Refer to the {ref}/security-api-update-cross-cluster-api-key.html[update cross-cluster API key] documentation to learn more about updating cross-cluster API keys. [float] [[view-api-keys]] === View and delete API keys -The *API Keys* feature in Kibana lists your API keys, including the name, date created, and status. If an API key expires, its status changes from `Active` to `Expired`. +The *API Keys* feature in {kib} lists your API keys, including the name, date created, and status. If an API key expires, its status changes from `Active` to `Expired`. -If you have `manage_security` or `manage_api_key` permissions, -you can view the API keys of all users, and see which API key was -created by which user in which realm. +If you have `manage_security` or `manage_api_key` permissions, you can view the API keys of all users, and see which API key was created by which user in which realm. If you have only the `manage_own_api_key` permission, you see only a list of your own keys. -You can delete API keys individually or in bulk. +You can delete API keys individually or in bulk, but you need the `manage_api_keys` or `manage_own_api_key` privileges. From d7714c6bf3b54d4fd3bc5a87ab3213e04ab54faf Mon Sep 17 00:00:00 2001 From: Achyut Jhunjhunwala Date: Fri, 8 Sep 2023 13:13:24 +0200 Subject: [PATCH 55/57] [APM] Deleting old ace based EUI Code Editor (#166057) ## Summary In favour of this PR - https://github.com/elastic/kibana/pull/165951 As a post clean up task, removing the old Ace based EuiCodeEditor --- .../shared/eql_code_editor/completer.ts | 195 ------------------ .../shared/eql_code_editor/constants.ts | 15 -- .../eql_code_editor/eql_highlight_rules.ts | 145 ------------- .../shared/eql_code_editor/eql_mode.ts | 24 --- .../shared/eql_code_editor/index.tsx | 54 ----- .../lazily_loaded_code_editor.tsx | 39 ---- .../shared/eql_code_editor/theme.ts | 91 -------- .../shared/eql_code_editor/tokens.ts | 25 --- .../shared/eql_code_editor/types.ts | 33 --- x-pack/plugins/apm/tsconfig.json | 1 - 10 files changed, 622 deletions(-) delete mode 100644 x-pack/plugins/apm/public/components/shared/eql_code_editor/completer.ts delete mode 100644 x-pack/plugins/apm/public/components/shared/eql_code_editor/constants.ts delete mode 100644 x-pack/plugins/apm/public/components/shared/eql_code_editor/eql_highlight_rules.ts delete mode 100644 x-pack/plugins/apm/public/components/shared/eql_code_editor/eql_mode.ts delete mode 100644 x-pack/plugins/apm/public/components/shared/eql_code_editor/index.tsx delete mode 100644 x-pack/plugins/apm/public/components/shared/eql_code_editor/lazily_loaded_code_editor.tsx delete mode 100644 x-pack/plugins/apm/public/components/shared/eql_code_editor/theme.ts delete mode 100644 x-pack/plugins/apm/public/components/shared/eql_code_editor/tokens.ts delete mode 100644 x-pack/plugins/apm/public/components/shared/eql_code_editor/types.ts diff --git a/x-pack/plugins/apm/public/components/shared/eql_code_editor/completer.ts b/x-pack/plugins/apm/public/components/shared/eql_code_editor/completer.ts deleted file mode 100644 index 5128c288fefc..000000000000 --- a/x-pack/plugins/apm/public/components/shared/eql_code_editor/completer.ts +++ /dev/null @@ -1,195 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import { Editor, IEditSession, TokenInfo as AceTokenInfo } from 'brace'; -import { Maybe } from '../../../../typings/common'; -import { EQLCodeEditorSuggestionType } from './constants'; -import { EQLToken } from './tokens'; -import { - EQLCodeEditorSuggestion, - EQLCodeEditorSuggestionCallback, - EQLCodeEditorSuggestionRequest, -} from './types'; - -type TokenInfo = AceTokenInfo & { - type: string; - index: number; -}; - -export class EQLCodeEditorCompleter { - callback?: EQLCodeEditorSuggestionCallback; - - private async getCompletionsAsync( - session: IEditSession, - position: { row: number; column: number }, - prefix: string | undefined - ): Promise { - const token = session.getTokenAt( - position.row, - position.column - ) as Maybe; - const tokensInLine = session.getTokens(position.row) as TokenInfo[]; - - function withWhitespace( - vals: EQLCodeEditorSuggestion[], - options: { - before?: string; - after?: string; - } = {} - ) { - const { after = ' ' } = options; - let { before = ' ' } = options; - - if ( - before && - (token?.value.match(/^\s+$/) || (token && token.type !== 'text')) - ) { - before = before.trimLeft(); - } - - return vals.map((val) => { - const suggestion = typeof val === 'string' ? { value: val } : val; - const valueAsString = suggestion.value; - - return { - ...suggestion, - caption: valueAsString, - value: [before, valueAsString, after].join(''), - }; - }); - } - - if ( - position.row === 0 && - (!token || token.index === 0) && - 'sequence by'.includes(prefix || '') - ) { - return withWhitespace(['sequence by'], { - before: '', - after: ' ', - }); - } - - const previousTokens = tokensInLine - .slice(0, token ? tokensInLine.indexOf(token) : tokensInLine.length) - .reverse(); - - const completedEqlToken = previousTokens.find((t) => - t.type.startsWith('eql.') - ); - - switch (completedEqlToken?.type) { - case undefined: - return [ - ...withWhitespace(['['], { before: '', after: ' ' }), - ...(position.row > 2 - ? withWhitespace(['until'], { before: '', after: ' [ ' }) - : []), - ]; - - case EQLToken.Sequence: - return withWhitespace( - await this.getExternalSuggestions({ - type: EQLCodeEditorSuggestionType.Field, - }), - { - after: '\n\t[ ', - } - ); - - case EQLToken.SequenceItemStart: - return withWhitespace( - [ - ...(await this.getExternalSuggestions({ - type: EQLCodeEditorSuggestionType.EventType, - })), - 'any', - ], - { after: ' where ' } - ); - - case EQLToken.EventType: - return withWhitespace(['where']); - - case EQLToken.Where: - case EQLToken.LogicalOperator: - return [ - ...withWhitespace( - await this.getExternalSuggestions({ - type: EQLCodeEditorSuggestionType.Field, - }) - ), - ...withWhitespace(['true', 'false'], { after: ' ]\n\t' }), - ]; - - case EQLToken.BoolCondition: - return withWhitespace([']'], { after: '\n\t' }); - - case EQLToken.Operator: - case EQLToken.InOperator: - const field = - previousTokens?.find((t) => t.type === EQLToken.Field)?.value ?? ''; - - const hasStartedValueLiteral = - !!prefix?.trim() || token?.value.trim() === '"'; - - return withWhitespace( - await this.getExternalSuggestions({ - type: EQLCodeEditorSuggestionType.Value, - field, - value: prefix ?? '', - }), - { before: hasStartedValueLiteral ? '' : ' "', after: '" ' } - ); - - case EQLToken.Value: - return [ - ...withWhitespace([']'], { after: '\n\t' }), - ...withWhitespace(['and', 'or']), - ]; - } - - return []; - } - - private async getExternalSuggestions( - request: EQLCodeEditorSuggestionRequest - ): Promise { - if (this.callback) { - return this.callback(request); - } - return []; - } - - getCompletions( - _: Editor, - session: IEditSession, - position: { row: number; column: number }, - prefix: string | undefined, - cb: (err: Error | null, suggestions?: EQLCodeEditorSuggestion[]) => void - ) { - this.getCompletionsAsync(session, position, prefix) - .then((suggestions) => { - cb( - null, - suggestions.map((sugg) => { - const suggestion = - typeof sugg === 'string' - ? { value: sugg, score: 1000 } - : { score: 1000, ...sugg }; - - return suggestion; - }) - ); - }) - .catch(cb); - } - - setSuggestionCb(cb?: EQLCodeEditorSuggestionCallback) { - this.callback = cb; - } -} diff --git a/x-pack/plugins/apm/public/components/shared/eql_code_editor/constants.ts b/x-pack/plugins/apm/public/components/shared/eql_code_editor/constants.ts deleted file mode 100644 index 5fe28cb602c4..000000000000 --- a/x-pack/plugins/apm/public/components/shared/eql_code_editor/constants.ts +++ /dev/null @@ -1,15 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -export const EQL_MODE_NAME = 'ace/mode/eql'; -export const EQL_THEME_NAME = 'ace/theme/eql'; - -export enum EQLCodeEditorSuggestionType { - EventType = 'eventType', - Field = 'field', - Value = 'value', -} diff --git a/x-pack/plugins/apm/public/components/shared/eql_code_editor/eql_highlight_rules.ts b/x-pack/plugins/apm/public/components/shared/eql_code_editor/eql_highlight_rules.ts deleted file mode 100644 index 8d04036451bb..000000000000 --- a/x-pack/plugins/apm/public/components/shared/eql_code_editor/eql_highlight_rules.ts +++ /dev/null @@ -1,145 +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 'brace/ext/language_tools'; -import { acequire } from 'brace'; -import { EQLToken } from './tokens'; - -const TextHighlightRules = acequire( - 'ace/mode/text_highlight_rules' -).TextHighlightRules; - -export class EQLHighlightRules extends TextHighlightRules { - constructor() { - super(); - - const fieldNameOrValueRegex = /((?:[^\s]+)|(?:".*?"))/; - const operatorRegex = /(:|==|>|>=|<|<=|!=)/; - - const sequenceItemEnd = { - token: EQLToken.SequenceItemEnd, - regex: /(\])/, - next: 'start', - }; - - this.$rules = { - start: [ - { - token: EQLToken.Sequence, - regex: /(sequence by)/, - next: 'field', - }, - { - token: EQLToken.SequenceItemStart, - regex: /(\[)/, - next: 'sequence_item', - }, - { - token: EQLToken.Until, - regex: /(until)/, - next: 'start', - }, - ], - field: [ - { - token: EQLToken.Field, - regex: fieldNameOrValueRegex, - next: 'start', - }, - ], - sequence_item: [ - { - token: EQLToken.EventType, - regex: fieldNameOrValueRegex, - next: 'where', - }, - ], - sequence_item_end: [sequenceItemEnd], - where: [ - { - token: EQLToken.Where, - regex: /(where)/, - next: 'condition', - }, - ], - condition: [ - { - token: EQLToken.BoolCondition, - regex: /(true|false)/, - next: 'sequence_item_end', - }, - { - token: EQLToken.Field, - regex: fieldNameOrValueRegex, - next: 'comparison_operator', - }, - ], - comparison_operator: [ - { - token: EQLToken.Operator, - regex: operatorRegex, - next: 'value_or_value_list', - }, - ], - value_or_value_list: [ - { - token: EQLToken.Value, - regex: /("([^"]+)")|([\d+\.]+)|(true|false|null)/, - next: 'logical_operator_or_sequence_item_end', - }, - { - token: EQLToken.InOperator, - regex: /(in)/, - next: 'value_list', - }, - ], - logical_operator_or_sequence_item_end: [ - { - token: EQLToken.LogicalOperator, - regex: /(and|or|not)/, - next: 'condition', - }, - sequenceItemEnd, - ], - value_list: [ - { - token: EQLToken.ValueListStart, - regex: /(\()/, - next: 'value_list_item', - }, - ], - value_list_item: [ - { - token: EQLToken.Value, - regex: fieldNameOrValueRegex, - next: 'comma', - }, - ], - comma: [ - { - token: EQLToken.Comma, - regex: /,/, - next: 'value_list_item_or_end', - }, - ], - value_list_item_or_end: [ - { - token: EQLToken.Value, - regex: fieldNameOrValueRegex, - next: 'comma', - }, - { - token: EQLToken.ValueListEnd, - regex: /\)/, - next: 'logical_operator_or_sequence_item_end', - }, - ], - }; - - this.normalizeRules(); - } -} diff --git a/x-pack/plugins/apm/public/components/shared/eql_code_editor/eql_mode.ts b/x-pack/plugins/apm/public/components/shared/eql_code_editor/eql_mode.ts deleted file mode 100644 index 36f923b3210c..000000000000 --- a/x-pack/plugins/apm/public/components/shared/eql_code_editor/eql_mode.ts +++ /dev/null @@ -1,24 +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 { TextMode as TextModeInterface, acequire } from 'brace'; -import { EQL_MODE_NAME } from './constants'; -import { EQLHighlightRules } from './eql_highlight_rules'; - -type ITextMode = new () => TextModeInterface; - -const TextMode = acequire('ace/mode/text').Mode as ITextMode; - -export class EQLMode extends TextMode { - HighlightRules: typeof EQLHighlightRules; - $id: string; - constructor() { - super(); - this.$id = EQL_MODE_NAME; - this.HighlightRules = EQLHighlightRules; - } -} diff --git a/x-pack/plugins/apm/public/components/shared/eql_code_editor/index.tsx b/x-pack/plugins/apm/public/components/shared/eql_code_editor/index.tsx deleted file mode 100644 index 8a8cd1b0dff4..000000000000 --- a/x-pack/plugins/apm/public/components/shared/eql_code_editor/index.tsx +++ /dev/null @@ -1,54 +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 'brace/ext/language_tools'; -import { last } from 'lodash'; -import React, { useRef } from 'react'; -import { EuiCodeEditor } from '@kbn/es-ui-shared-plugin/public'; -import { EQLCodeEditorCompleter } from './completer'; -import { EQL_THEME_NAME } from './constants'; -import { EQLMode } from './eql_mode'; -import './theme'; -import { EQLCodeEditorProps } from './types'; - -export function EQLCodeEditor(props: EQLCodeEditorProps) { - const { - showGutter = false, - setOptions, - getSuggestions, - ...restProps - } = props; - - const completer = useRef(new EQLCodeEditorCompleter()); - const eqlMode = useRef(new EQLMode()); - - completer.current.setSuggestionCb(getSuggestions); - - const options = { - enableBasicAutocompletion: true, - enableLiveAutocompletion: true, - wrap: true, - ...setOptions, - }; - - return ( -

    - ); -} diff --git a/x-pack/plugins/apm/public/components/shared/eql_code_editor/lazily_loaded_code_editor.tsx b/x-pack/plugins/apm/public/components/shared/eql_code_editor/lazily_loaded_code_editor.tsx deleted file mode 100644 index 3432331aaa06..000000000000 --- a/x-pack/plugins/apm/public/components/shared/eql_code_editor/lazily_loaded_code_editor.tsx +++ /dev/null @@ -1,39 +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 { EuiFlexGroup, EuiFlexItem, EuiLoadingSpinner } from '@elastic/eui'; -import { once } from 'lodash'; -import React, { useEffect, useState } from 'react'; -import { EQLCodeEditorProps } from './types'; - -const loadEqlCodeEditor = once(() => import('.').then((m) => m.EQLCodeEditor)); - -type EQLCodeEditorComponentType = Awaited>; - -export function LazilyLoadedEQLCodeEditor(props: EQLCodeEditorProps) { - const [EQLCodeEditor, setEQLCodeEditor] = useState< - EQLCodeEditorComponentType | undefined - >(); - - useEffect(() => { - loadEqlCodeEditor().then((editor) => { - setEQLCodeEditor(() => { - return editor; - }); - }); - }, []); - - return EQLCodeEditor ? ( - - ) : ( - - - - - - ); -} diff --git a/x-pack/plugins/apm/public/components/shared/eql_code_editor/theme.ts b/x-pack/plugins/apm/public/components/shared/eql_code_editor/theme.ts deleted file mode 100644 index 2dfbecf63f42..000000000000 --- a/x-pack/plugins/apm/public/components/shared/eql_code_editor/theme.ts +++ /dev/null @@ -1,91 +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 { euiLightVars as theme } from '@kbn/ui-theme'; -import { EQL_THEME_NAME } from './constants'; - -// @ts-expect-error -ace.define( - EQL_THEME_NAME, - ['require', 'exports', 'module', 'ace/lib/dom'], - function (acequire: any, exports: any) { - exports.isDark = false; - exports.cssClass = 'ace-eql'; - exports.cssText = ` - .ace-eql .ace_scroller { - background-color: transparent; - } - .ace-eql .ace_marker-layer .ace_selection { - background: rgb(181, 213, 255); - } - .ace-eql .ace_placeholder { - color: ${theme.euiTextSubduedColor}; - padding: 0; - } - .ace-eql .ace_sequence, - .ace-eql .ace_where, - .ace-eql .ace_until { - color: ${theme.euiColorDarkShade}; - } - .ace-eql .ace_sequence_item_start, - .ace-eql .ace_sequence_item_end, - .ace-eql .ace_operator, - .ace-eql .ace_logical_operator { - color: ${theme.euiColorMediumShade}; - } - .ace-eql .ace_value, - .ace-eql .ace_bool_condition { - color: ${theme.euiColorAccent}; - } - .ace-eql .ace_event_type, - .ace-eql .ace_field { - color: ${theme.euiColorPrimaryText}; - } - // .ace-eql .ace_gutter { - // color: #333; - // } - .ace-eql .ace_print-margin { - width: 1px; - background: #e8e8e8; - } - .ace-eql .ace_fold { - background-color: #6B72E6; - } - .ace-eql .ace_cursor { - color: black; - } - .ace-eql .ace_invisible { - color: rgb(191, 191, 191); - } - .ace-eql .ace_marker-layer .ace_selection { - background: rgb(181, 213, 255); - } - .ace-eql.ace_multiselect .ace_selection.ace_start { - box-shadow: 0 0 3px 0px white; - } - .ace-eql .ace_marker-layer .ace_step { - background: rgb(252, 255, 0); - } - .ace-eql .ace_marker-layer .ace_stack { - background: rgb(164, 229, 101); - } - .ace-eql .ace_marker-layer .ace_bracket { - margin: -1px 0 0 -1px; - border: 1px solid rgb(192, 192, 192); - } - .ace-eql .ace_marker-layer .ace_selected-word { - background: rgb(250, 250, 255); - border: 1px solid rgb(200, 200, 250); - } - .ace-eql .ace_indent-guide { - background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==") right repeat-y; - }`; - - const dom = acequire('../lib/dom'); - dom.importCssString(exports.cssText, exports.cssClass); - } -); diff --git a/x-pack/plugins/apm/public/components/shared/eql_code_editor/tokens.ts b/x-pack/plugins/apm/public/components/shared/eql_code_editor/tokens.ts deleted file mode 100644 index 5525d8318afa..000000000000 --- a/x-pack/plugins/apm/public/components/shared/eql_code_editor/tokens.ts +++ /dev/null @@ -1,25 +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. - */ - -export enum EQLToken { - Sequence = 'eql.sequence', - SequenceItemStart = 'eql.sequence_item_start', - SequenceItemEnd = 'eql.sequence_item_end', - Until = 'eql.until', - Field = 'eql.field', - EventType = 'eql.event_type', - Where = 'eql.where', - BoolCondition = 'eql.bool_condition', - Operator = 'eql.operator', - Value = 'eql.value', - LogicalOperator = 'eql.logical_operator', - InOperator = 'eql.in_operator', - ValueListStart = 'eql.value_list_start', - ValueListItem = 'eql.value_list_item', - ValueListEnd = 'eql.value_list_end', - Comma = 'eql.comma', -} diff --git a/x-pack/plugins/apm/public/components/shared/eql_code_editor/types.ts b/x-pack/plugins/apm/public/components/shared/eql_code_editor/types.ts deleted file mode 100644 index 250cda155ea1..000000000000 --- a/x-pack/plugins/apm/public/components/shared/eql_code_editor/types.ts +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import { EuiCodeEditorProps } from '@kbn/es-ui-shared-plugin/public'; -import { EQLCodeEditorSuggestionType } from './constants'; - -export type EQLCodeEditorSuggestion = - | string - | { value: string; score?: number }; - -export type EQLCodeEditorSuggestionRequest = - | { - type: - | EQLCodeEditorSuggestionType.EventType - | EQLCodeEditorSuggestionType.Field; - } - | { type: EQLCodeEditorSuggestionType.Value; field: string; value: string }; - -export type EQLCodeEditorSuggestionCallback = ( - request: EQLCodeEditorSuggestionRequest -) => Promise; - -export type EQLCodeEditorProps = Omit< - EuiCodeEditorProps, - 'mode' | 'theme' | 'setOptions' -> & { - getSuggestions?: EQLCodeEditorSuggestionCallback; - setOptions?: EuiCodeEditorProps['setOptions']; -}; diff --git a/x-pack/plugins/apm/tsconfig.json b/x-pack/plugins/apm/tsconfig.json index a9b8c332426c..a0a274257015 100644 --- a/x-pack/plugins/apm/tsconfig.json +++ b/x-pack/plugins/apm/tsconfig.json @@ -61,7 +61,6 @@ "@kbn/rule-data-utils", "@kbn/core-lifecycle-browser", "@kbn/shared-ux-page-kibana-template", - "@kbn/es-ui-shared-plugin", "@kbn/es-types", "@kbn/analytics", "@kbn/rison", From 64e41be6e50dfc830eb84d84bef48f42a67eff2e Mon Sep 17 00:00:00 2001 From: James Rodewig Date: Fri, 8 Sep 2023 07:26:25 -0400 Subject: [PATCH 56/57] [DOCS] Sync Docker install docs with ES docs (#165990) **Problem:** The current Kibana Docker install docs use container names that are incompatible with the [ES Docker install docs](https://www.elastic.co/guide/en/elasticsearch/reference/current/docker.html#docker-cli-run-dev-mode). **Solution:** Update the Kibana install docs so they use the same container names and better align with the ES docs. Closes https://github.com/elastic/platform-docs-team/issues/182 --- docs/setup/docker.asciidoc | 189 +++++++++++++++++-------------------- 1 file changed, 88 insertions(+), 101 deletions(-) diff --git a/docs/setup/docker.asciidoc b/docs/setup/docker.asciidoc index f8ad122d7e86..4dcd80d1bfd6 100644 --- a/docs/setup/docker.asciidoc +++ b/docs/setup/docker.asciidoc @@ -4,10 +4,10 @@ Install with Docker ++++ -:docker-repo: docker.elastic.co/kibana/kibana -:docker-image: {docker-repo}:{version} -:es-docker-repo: docker.elastic.co/elasticsearch/elasticsearch -:es-docker-image: {es-docker-repo}:{version} +:kib-docker-repo: docker.elastic.co/kibana/kibana +:kib-docker-image: {kib-docker-repo}:{version} +:es-docker-repo: docker.elastic.co/elasticsearch/elasticsearch +:es-docker-image: {es-docker-repo}:{version} Docker images for {kib} are available from the Elastic Docker registry. The base image is https://hub.docker.com/_/ubuntu[ubuntu:20.04]. @@ -21,166 +21,153 @@ These images contain both free and subscription features. [discrete] [[run-kibana-on-docker-for-dev]] -=== Run {kib} on Docker for development +=== Run {kib} in Docker for development -. Start an {es} container for development or testing: -+ --- -ifeval::["{release-state}"=="unreleased"] - -NOTE: No Docker images are currently available for {kib} {version}. +Use Docker commands to run {kib} on a single-node {es} cluster for development or +testing. -endif::[] +TIP: This setup doesn't run multiple {es} nodes by default. To create a +multi-node cluster with {kib}, use Docker Compose instead. Refer to +{ref}/docker.html#docker-compose-file[Start a multi-node cluster with Docker +Compose] in the {es} documentation. -ifeval::["{release-state}"!="unreleased"] +. Install Docker. Visit https://docs.docker.com/get-docker/[Get Docker] to +install Docker for your environment. ++ +IMPORTANT: If using Docker Desktop, make sure to allocate at least 4GB of +memory. You can adjust memory usage in Docker Desktop by going to **Settings > +Resources**. -.. Create a new Docker network for {es} and {kib}: +. Create a new Docker network for {es} and {kib}. + [source,sh,subs="attributes"] ---- docker network create elastic ---- -.. Pull the {es} Docker image: +. Pull the {es} Docker image. + +-- +ifeval::["{release-state}"=="unreleased"] +WARNING: Version {version} has not yet been released. +No Docker image is currently available for {es} {version}. +endif::[] + [source,sh,subs="attributes"] ---- docker pull {es-docker-image} ---- +-- -.. Optional: Verify the {es} Docker image signature:: +. Optional: Install +https://docs.sigstore.dev/system_config/installation/[Cosign] for your +environment. Then use Cosign to verify the {es} image's signature. + [source,sh,subs="attributes"] ---- wget https://artifacts.elastic.co/cosign.pub -cosign verify --key cosign.pub {docker-repo}:{version} +cosign verify --key cosign.pub {es-docker-image} ---- + -For details about this step, refer to {ref}/docker.html#docker-verify-signature[Verify the {es} Docker image signature] in the {es} documentation. +The `cosign` command prints the check results and the signature payload in JSON format: ++ +[source,sh,subs="attributes"] +-------------------------------------------- +Verification for {es-docker-image} -- +The following checks were performed on each of these signatures: + - The cosign claims were validated + - Existence of the claims in the transparency log was verified offline + - The signatures were verified against the specified public key +-------------------------------------------- -.. Start {es} in Docker: +. Start an {es} container. + [source,sh,subs="attributes"] ---- -docker run --name es-node01 --net elastic -p 9200:9200 -p 9300:9300 -t {es-docker-image} +docker run --name es01 --net elastic -p 9200:9200 -it -m 1GB {es-docker-image} ---- - - - -endif::[] - --- -+ -When you start {es} for the first time, the following security configuration -occurs automatically: + -* {ref}/configuring-stack-security.html#stack-security-certificates[Certificates and keys] -are generated for the transport and HTTP layers. -* The Transport Layer Security (TLS) configuration settings are written to -`elasticsearch.yml`. -* A password is generated for the `elastic` user. -* An enrollment token is generated for {kib}. +TIP: Use the `-m` flag to set a memory limit for the container. This removes the +need to {ref}/docker.html#docker-set-heap-size[manually set the JVM size]. + -NOTE: You might need to scroll back a bit in the terminal to view the password -and enrollment token. +The command prints the `elastic` user password and an enrollment token for {kib}. -. Copy the generated password and enrollment token and save them in a secure -location. These values are shown only when you start {es} for the first time. -You'll use these to enroll {kib} with your {es} cluster and log in. - -. In a new terminal session, start {kib} and connect it to your {es} container: +. Copy the generated `elastic` password and enrollment token. These credentials +are only shown when you start {es} for the first time. You can regenerate the +credentials using the following commands. + --- -ifeval::["{release-state}"=="unreleased"] - -NOTE: No Docker images are currently available for {kib} {version}. - -endif::[] - -ifeval::["{release-state}"!="unreleased"] - [source,sh,subs="attributes"] ---- -docker pull {docker-image} -docker run --name kib-01 --net elastic -p 5601:5601 {docker-image} +docker exec -it es01 /usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic +docker exec -it es01 /usr/share/elasticsearch/bin/elasticsearch-create-enrollment-token -s kibana ---- -.. Pull the {kib} Docker image: +. Pull the {kib} Docker image. + +-- +ifeval::["{release-state}"=="unreleased"] +WARNING: Version {version} has not yet been released. +No Docker image is currently available for {kib} {version}. +endif::[] + [source,sh,subs="attributes"] ---- -docker pull {docker-image} +docker pull {kib-docker-image} ---- +-- -.. Optional: Verify the {kib} Docker image signature:: +. Optional: Verify the {kib} image's signature. + [source,sh,subs="attributes"] ---- wget https://artifacts.elastic.co/cosign.pub -cosign verify --key cosign.pub {docker-repo}:{version} +cosign verify --key cosign.pub {kib-docker-image} ---- -+ -For details about this step, refer to {ref}/docker.html#docker-verify-signature[Verify the {es} Docker image signature] in the {es} documentation. -.. Start {kib} in Docker: +. Start a {kib} container. + [source,sh,subs="attributes"] ---- -docker run --name kib-01 --net elastic -p 5601:5601 {docker-image} +docker run --name kib01 --net elastic -p 5601:5601 {kib-docker-image} ---- +. When {kib} starts, it outputs a unique generated link to the terminal. To +access {kib}, open this link in a web browser. - - - -endif::[] --- +. In your browser, enter the enrollment token that was generated when you started {es}. ++ +To regenerate the token, run: + -When you start {kib}, a unique link is output to your terminal. - -. To access {kib}, click the generated link in your terminal. - - .. In your browser, paste the enrollment token that you copied when starting - {es} and click the button to connect your {kib} instance with {es}. - - .. Log in to {kib} as the `elastic` user with the password that was generated - when you started {es}. - -[[docker-generate]] -[discrete] -=== Generate passwords and enrollment tokens -If you need to reset the password for the `elastic` user or other -built-in users, run the {ref}/reset-password.html[`elasticsearch-reset-password`] -tool. This tool is available in the {es} `bin` directory of the Docker container. - -For example, to reset the password for the `elastic` user: - [source,sh] ---- -docker exec -it es-node01 /usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic +docker exec -it es01 /usr/share/elasticsearch/bin/elasticsearch-create-enrollment-token -s kibana ---- -If you need to generate new enrollment tokens for {kib} or {es} nodes, run the -{ref}/create-enrollment-token.html[`elasticsearch-create-enrollment-token`] tool. -This tool is available in the {es} `bin` directory of the Docker container. - -For example, to generate a new enrollment token for {kib}: - +. Log in to {kib} as the `elastic` user with the password that was generated +when you started {es}. ++ +To regenerate the password, run: ++ [source,sh] ---- -docker exec -it es-node01 /usr/share/elasticsearch/bin/elasticsearch-create-enrollment-token -s kibana +docker exec -it es01 /usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic ---- [discrete] -=== Remove Docker containers +==== Remove Docker containers To remove the containers and their network, run: -[source,sh] +[source,sh,subs="attributes"] ---- +# Remove the Elastic network docker network rm elastic -docker rm es-node01 -docker rm kib-01 + +# Remove the {es} container +docker rm es01 + +# Remove the {kib} container +docker rm kib01 ---- [discrete] @@ -204,7 +191,7 @@ With `docker-compose`, the bind-mount can be specified like this: version: '2' services: kibana: - image: {docker-image} + image: {kib-docker-image} volumes: - ./kibana.yml:/usr/share/kibana/config/kibana.yml -------------------------------------------- @@ -215,8 +202,8 @@ By default, {kib} auto-generates a keystore file for secure settings at startup. ["source","sh",subs="attributes"] ---- -docker run -it --rm -v full_path_to/config:/usr/share/kibana/config -v full_path_to/data:/usr/share/kibana/data {docker-image} bin/kibana-keystore create -docker run -it --rm -v full_path_to/config:/usr/share/kibana/config -v full_path_to/data:/usr/share/kibana/data {docker-image} bin/kibana-keystore add test_keystore_setting +docker run -it --rm -v full_path_to/config:/usr/share/kibana/config -v full_path_to/data:/usr/share/kibana/data {kib-docker-image} bin/kibana-keystore create +docker run -it --rm -v full_path_to/config:/usr/share/kibana/config -v full_path_to/data:/usr/share/kibana/data {kib-docker-image} bin/kibana-keystore add test_keystore_setting ---- [discrete] @@ -254,7 +241,7 @@ These variables can be set with +docker-compose+ like this: version: '2' services: kibana: - image: {docker-image} + image: {kib-docker-image} environment: SERVER_NAME: kibana.example.org ELASTICSEARCH_HOSTS: '["http://es01:9200","http://es02:9200","http://es03:9200"]' From b7f57a09cb27c70e30ce03a28e5e6ce9e1fb48fb Mon Sep 17 00:00:00 2001 From: Kevin Lacabane Date: Fri, 8 Sep 2023 13:32:30 +0200 Subject: [PATCH 57/57] [Stack Monitoring] install packages before test suite runs (#165881) ## Summary Closes https://github.com/elastic/kibana/issues/165043 Updates the approach to load packages in test suites by sending http request before suite starts instead of using `xpack.fleet.developer.bundledPackageLocation` [Flaky test runner](https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/3075) --- .../apis/apm/index.ts | 5 +++- .../apis/beats/index.ts | 5 +++- .../apis/elasticsearch/index.ts | 5 +++- .../apis/enterprisesearch/index.ts | 5 +++- .../apis/kibana/index.ts | 5 +++- .../apis/logstash/index.ts | 5 +++- .../test/monitoring_api_integration/config.ts | 8 +----- .../monitoring_api_integration/packages.ts | 27 +++++++++++++++++++ 8 files changed, 52 insertions(+), 13 deletions(-) diff --git a/x-pack/test/monitoring_api_integration/apis/apm/index.ts b/x-pack/test/monitoring_api_integration/apis/apm/index.ts index dbbae596a7b5..0171da7e6b83 100644 --- a/x-pack/test/monitoring_api_integration/apis/apm/index.ts +++ b/x-pack/test/monitoring_api_integration/apis/apm/index.ts @@ -6,9 +6,12 @@ */ import { FtrProviderContext } from '../../../api_integration/ftr_provider_context'; +import { installPackage } from '../../packages'; -export default function ({ loadTestFile }: FtrProviderContext) { +export default function ({ loadTestFile, getService }: FtrProviderContext) { describe('APM', () => { + before(() => installPackage(getService('supertest'), 'beat')); + loadTestFile(require.resolve('./overview')); loadTestFile(require.resolve('./instances')); }); diff --git a/x-pack/test/monitoring_api_integration/apis/beats/index.ts b/x-pack/test/monitoring_api_integration/apis/beats/index.ts index 01d2bc6a3c3d..79d051835ec3 100644 --- a/x-pack/test/monitoring_api_integration/apis/beats/index.ts +++ b/x-pack/test/monitoring_api_integration/apis/beats/index.ts @@ -6,9 +6,12 @@ */ import { FtrProviderContext } from '../../../api_integration/ftr_provider_context'; +import { installPackage } from '../../packages'; -export default function ({ loadTestFile }: FtrProviderContext) { +export default function ({ loadTestFile, getService }: FtrProviderContext) { describe('Beats', () => { + before(() => installPackage(getService('supertest'), 'beat')); + loadTestFile(require.resolve('./overview')); loadTestFile(require.resolve('./beats')); loadTestFile(require.resolve('./beat')); diff --git a/x-pack/test/monitoring_api_integration/apis/elasticsearch/index.ts b/x-pack/test/monitoring_api_integration/apis/elasticsearch/index.ts index 8b43525fb03e..cfcb7bf5570a 100644 --- a/x-pack/test/monitoring_api_integration/apis/elasticsearch/index.ts +++ b/x-pack/test/monitoring_api_integration/apis/elasticsearch/index.ts @@ -6,9 +6,12 @@ */ import { FtrProviderContext } from '../../../api_integration/ftr_provider_context'; +import { installPackage } from '../../packages'; -export default function ({ loadTestFile }: FtrProviderContext) { +export default function ({ loadTestFile, getService }: FtrProviderContext) { describe('Elasticsearch', () => { + before(() => installPackage(getService('supertest'), 'elasticsearch')); + loadTestFile(require.resolve('./ccr')); loadTestFile(require.resolve('./indices')); loadTestFile(require.resolve('./ml_jobs')); diff --git a/x-pack/test/monitoring_api_integration/apis/enterprisesearch/index.ts b/x-pack/test/monitoring_api_integration/apis/enterprisesearch/index.ts index 5942fde0fe95..a7195e283232 100644 --- a/x-pack/test/monitoring_api_integration/apis/enterprisesearch/index.ts +++ b/x-pack/test/monitoring_api_integration/apis/enterprisesearch/index.ts @@ -6,9 +6,12 @@ */ import { FtrProviderContext } from '../../../api_integration/ftr_provider_context'; +import { installPackage } from '../../packages'; -export default function ({ loadTestFile }: FtrProviderContext) { +export default function ({ loadTestFile, getService }: FtrProviderContext) { describe('Enterprisesearch', () => { + before(() => installPackage(getService('supertest'), 'enterprisesearch')); + loadTestFile(require.resolve('./overview')); }); } diff --git a/x-pack/test/monitoring_api_integration/apis/kibana/index.ts b/x-pack/test/monitoring_api_integration/apis/kibana/index.ts index 24c5e6865021..4409c5a87139 100644 --- a/x-pack/test/monitoring_api_integration/apis/kibana/index.ts +++ b/x-pack/test/monitoring_api_integration/apis/kibana/index.ts @@ -6,9 +6,12 @@ */ import { FtrProviderContext } from '../../../api_integration/ftr_provider_context'; +import { installPackage } from '../../packages'; -export default function ({ loadTestFile }: FtrProviderContext) { +export default function ({ loadTestFile, getService }: FtrProviderContext) { describe('Kibana', () => { + before(() => installPackage(getService('supertest'), 'kibana')); + loadTestFile(require.resolve('./overview')); loadTestFile(require.resolve('./instances')); }); diff --git a/x-pack/test/monitoring_api_integration/apis/logstash/index.ts b/x-pack/test/monitoring_api_integration/apis/logstash/index.ts index 88a5980273ef..bcde9e2cc5f3 100644 --- a/x-pack/test/monitoring_api_integration/apis/logstash/index.ts +++ b/x-pack/test/monitoring_api_integration/apis/logstash/index.ts @@ -6,9 +6,12 @@ */ import { FtrProviderContext } from '../../../api_integration/ftr_provider_context'; +import { installPackage } from '../../packages'; -export default function ({ loadTestFile }: FtrProviderContext) { +export default function ({ loadTestFile, getService }: FtrProviderContext) { describe('Logstash', () => { + before(() => installPackage(getService('supertest'), 'logstash')); + loadTestFile(require.resolve('./overview')); loadTestFile(require.resolve('./nodes')); loadTestFile(require.resolve('./pipelines')); diff --git a/x-pack/test/monitoring_api_integration/config.ts b/x-pack/test/monitoring_api_integration/config.ts index cd016afb6dcf..786fde0bb1d3 100644 --- a/x-pack/test/monitoring_api_integration/config.ts +++ b/x-pack/test/monitoring_api_integration/config.ts @@ -7,8 +7,6 @@ import { FtrConfigProviderContext } from '@kbn/test'; -import { bundledPackagesLocation, getPackagesArgs } from './packages'; - export default async function ({ readConfigFile }: FtrConfigProviderContext) { const xPackAPITestsConfig = await readConfigFile(require.resolve('../api_integration/config.ts')); @@ -22,11 +20,7 @@ export default async function ({ readConfigFile }: FtrConfigProviderContext) { esTestCluster: xPackAPITestsConfig.get('esTestCluster'), kbnTestServer: { ...xPackAPITestsConfig.get('kbnTestServer'), - serverArgs: [ - ...xPackAPITestsConfig.get('kbnTestServer.serverArgs'), - `--xpack.fleet.developer.bundledPackageLocation=${bundledPackagesLocation}`, - ...getPackagesArgs(), - ], + serverArgs: [...xPackAPITestsConfig.get('kbnTestServer.serverArgs')], }, }; } diff --git a/x-pack/test/monitoring_api_integration/packages.ts b/x-pack/test/monitoring_api_integration/packages.ts index aaa11d8d0fe9..284bba089a55 100644 --- a/x-pack/test/monitoring_api_integration/packages.ts +++ b/x-pack/test/monitoring_api_integration/packages.ts @@ -6,6 +6,10 @@ */ import path from 'path'; +import { createReadStream } from 'fs'; +import type SuperTest from 'supertest'; + +type SupportedPackage = 'beat' | 'elasticsearch' | 'enterprisesearch' | 'logstash' | 'kibana'; const PACKAGES = [ { name: 'beat', version: '0.1.3' }, @@ -25,3 +29,26 @@ export const getPackagesArgs = (): string[] => { }; export const bundledPackagesLocation = path.join(path.dirname(__filename), '/fixtures/packages'); + +export function installPackage( + supertest: SuperTest.SuperTest, + packageName: SupportedPackage +) { + const pkg = PACKAGES.find(({ name }) => name === packageName); + const request = supertest + .post('/api/fleet/epm/packages') + .set('kbn-xsrf', 'xxx') + .set('content-type', 'application/zip'); + + return new Promise((resolve, reject) => { + createReadStream(path.join(bundledPackagesLocation, `${pkg!.name}-${pkg!.version}.zip`)) + .on('data', (chunk) => request.write(chunk)) + .on('end', () => { + request + .send() + .expect(200) + .then(() => resolve()) + .catch(reject); + }); + }); +}

    KRRpZ%4hX%Z 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 GqyGm#7dD{) literal 61199 zcmeFYby$?$);Nr$h=_`UG>U+9cZ-0ubaxJ2L&Jceh;&Goq;wB3w9?%}4c#^L(DNJ5 zd7t+@KIixS|6SMjF&A@h?!DLAYp=ETUbPARpd^F;fb;p}5l9C@}B_*jpxHwt@>@3jG-iLlm#8HpyB?{O?j!V7`Ktor33x7`^ z5I=(PrunPfdvsjdj^M0kWL5Pai$8wh24ZQ6Khrn3r-NtO{xtyW`Xlp$KG#ZP$@SYd zn!N)dc=L(F(3=0|oyWnvkkv+-5L)!D_FEH1W*qSpYRP9iyAolMp?S-n?>&kRWIi6Z zsO)?z?c_u)ZmxvXSXjgwscEqgrPy6;MQW)mId$5hW$_0S@|(Jo{-o%6VTLC~f|m7& z#vL|E@)K|%p{)}9`pY4FJdL}bszAWx^Jp$f=HUnBU;x^ZEOWveT(npc(*ldCxM=>| zZBk||@)opZ{a}L`VIrJmwfm`gd3nkw_kT)%X?={wStS&ZaafQf3kuDojuoI*D6Aoa#nXYaufLDoG@u(rT>|}bYYRe=>TH<|>8b5_h`6bt zl;KP!)3c9zm6D9P85wL-7fTv>(u9ryI*Lp zvZzUl&=s@r!UF^M(mg z2tRscpr+GpVHo)L_LfDmJ}he3(P*lgxgRtKivD_&gvs=iwBlaV z{rq1K`OzMQB>s{;WaK9s3aM*fcf$95;Sf074qXyDM7w#KA$~9Zp&UtG1gFfXO2!Xr zb!NsVv~No#pJ(@d;Q2wPE>wgE#N!DdmGpaSHmc5zZy)I{ef^zg#O{>wRPa>OjTS-) z``8lD@`>_YR8Ff&&kJBULl^F^j(29U?8O{dNt^=`1GocH0~7=78zMwu8eOEO6czr{ zFYGvZaT=dD;>?Bbx1F1YR1or$D?PXR>e`OAtX=<5|6Uoo#|sZ4Xb4%CUq}B^?ctOs zl`pel!0@lcWrF45rR&4tqc}`~kD~3NkKZjluDU;mi*tWJI5pVh=WCS=>-TOiKNH4< zl7+5!(5*D!J_2S?MAgVDv%U zLTs-&MwO62LYl;av;%b}z1T}od|sb!52uAd)viUcxt{s8xsl5KXMPWYsy@alGUSjK z%;$#pK3RLXCcLigvb$Earqp-Vuh^ruUb+^vHojKZM-|)pN-R4-js3%+=F*!rrU}M0 ztrywZKOpMLjH!@N?*Q)@!ICc;-0J3xbWB7Hlq!3g*lEEx#Xw4~-ahwuUMBZluDXxn+i(%LhU4V3Nz+Nq z$!;5K9>UtkwUahJldMG%Eb97OP0`I2PRo^_2qsK`gl8Yl$j@}oc6SI#Q%GA#-$p!$ zI3YDl=}S3C=}pN?vEr7g{h?c?>szW?TCK}wEys<`@=a5zQJf5_2|XWAu!chqrZOft zCPGJg#{pAbCGrz_yL3AVJMKG?yMS$$(f&!>37;(Gk%HZmQ;%JbZ4f&<_ZQA-yAd09 z(;uci+ylIJ+`i`TcwM-3E!552=3dw;@F{UDn9ZA^r%opyDikR=r2Nc3&-Wb{$#1rN z!6m~Ls1u>nD$tu|k^xw-7PbCv_ryBJYSiY)CT1afTB{=dY`1W|2S1y|#tYCzN=)37_ zvtAou>jTP;%ETa#>H&?F^EUGtkX?xDJOM<^>IGLUNeD@~Ftf-zN_t^YPeHG;v%SN& zUYFj_y@5VVo-&?V-eO0iN3zF&QxZh&$>7oc;jas&$ zacyynwsG+|aTVk1r=Fq6*mQYHmPsQiaOk1CZGv__4-MAOngs$&*vTj6+;zT6^zlaY^bzRm`d1kcTMMt zDUBIHmlE@dA=q}tDa}A%Vji~sxgW~hTJ_dmYUk@X69bbDQ&hLvO3n&FC&&b=(ngyQ zcOZBt*cnXk!*@;FovzkLvJP>QuOB8fcq;!?CRRVzoi5^d-qWIqqlLaT7AZKx=4Eso z5}y?hi7%Y^F|onztLr-}8~Bl0%IT#6m!G0{`G~qUHM#bBjSaNOStVdA>%~(x;yQ~r zuN23Cp)qShy~g>rmKqz~lQG3nQsv?aUx<&C1C+e7R{{4=spGBw_Xp6UUnUY|M!8#SL6>ATN2-{HQkw#?BikDs49 zx-T@reNGWK@W#4nyTa+?(r7i$+McQ(C0qTP=TpUE+P5F>eocTo>|t~Jb#Pc9?B%p` z-E?Vv%e$7>jpo*yvFR*%HDf==JQ_6*AgY#nU`IaZI&*}$m$8@LC&SLjuWa9%`h+wn zH3lblCiRNM_Lldy=XP7_0GVAa*?yUzHKeCwEBr2jG$^G?*UsK@zZxS32jZWNoN)TE zZ#>#w4*UoSyc)T}!+(U2A2LB;?-)!*8-dc+M+ovG!Lcdxg_>5KhK8*-{EPxuE1MUY za7sM>DX%pDrfuR|qax)G%Fn>!EIKT!rA6~yjm?oQjA36*qu`s8 zqnM;{9LRFV?tCWnkxBP-L$0f2I+GApMwBS%`fbmrgRpzVY(~coZY^P>!1Jp9bv3QD zva}|-)>-etJKcU@<1W3!G>m`Lei7y}zHF%%Wv1){Us>StbMV`A@Pa|yQoXKc)AKyM z;nMTXP%5aHQhKS%K6nQ`WGh^z4PChc?6i@d}2HSKn>HKfXI-_|4>s2=I; zC+zKeQM+|Eky`4gu{hOS?FSWjB7C&wH+$Vn@QF%8YzmYO+PNY>yS!Z6VXJ3bH;QNl zgYYiStr_iYWPMi5&Ibp z2laf4`u&iF{#P%iau&v4?RyQs2TG_(%F3diYGy7L77nh~j&Ao!8Mo2U&_x02+HTs4 z3W8>i_N*r6j;0o@p7u_^LC}Of1yN0V3pW#LPkTEDS3ysaSN|Fzh-&|S&Gw4=Uqjq% zMP6wuexR0gbg`i3Wo2h&ecPe8 z=wijjAs`^Y#?Hyc$;pBm!Q$%W;AY~<;^0d2ZzO-=d1v8j<^phX12{TR|Hf-#>Iifb zdG+e|MF0EqZ#peJ0sooF!S#QZg<2rn?;bV|R(7`k8<-ow^8W$schA4U{Y$xw$!n|255j_56p>e?w}xTDV9$+M@v7ME@g}{{jAc=RX1e zHKq1{rsUvY=lc7cf9v`i=?eAZ) zkO0ERxWEi062CKKoG#6q*Z&;xSe&{LkH0Lt|-=Ksq~Gq@Msa&F0^rg1QqHe8y2 zA_xElbSVA;p(vOS?veasAt(|8&1sjYn2*Gq=Z;@b%OO89{}((OdarDonBm*H^fkA2 z0j+-$5L*}kVt<{F={6Ty_+tIZpPWMRK?ir___dCKgA&nyExzdif2oGG*NR5C%O8^X zEtqI#ELFPx>W$q0!iaV+3LR5f_^ryr|3VmBfYu(j<^>b5{U?==58sF%cF;WQ{D&w} z1bRJqEG(M=O|O>zCvW~=F_HMrn%8U^&p&kaE#ZavfdfgkY35DKYB0I5$II^&l-+S? zm{s|5FY7iMIF5C1Ts95+zTfSoixH&p?}6$Op7>ETAe`NE2|ClT%AfbUT@7H+PPBCIhhIPb`9zBI)_*?M$_bo)spGou+kIVltPN z{Pm;s^>b37`SzGaS*Mw9xgKr%4!=)Vb7#aeI0sGSx4?iRo6_4W`d*U|#_nfJMA!~>UyUL5TsIB&wr^*v5j@P=jgb$JY+4Hg+7rdM9y+G4I$sIu>dX%`>Om zW5Wg9pJ;v5XH`tlQKZECmioieS1e_)9gH!Ihy_=el0l^^c#EGtP`2@)gV*z^c4EtL z!ak`NBAw5Cy+|XwJ-ID6sCL0czO!wwq6KL-YPvmntpoL|X{pN-o;i1h0`HP#BFSSo z%({BN!2P4YF=<_vSG8whpY6)_`{=%}wb6Jj_4QfIl-RkaP;#rWM6R%3^+gm`tbpsr zo6D3Vg<(-n|DPRicIgyfFrfxU#+O5HPKH~fNi3rm#9i^#pR=gGqx3!W2TYx^$|kZJ z$mwfnw?KlS~=hG;0ai!SFg$ zZZ}tRp6dGCI}F)BU5PeDaSZx??{A?``Ei+x1D~@LteeF-3?(RGPc|C**B4~Dy-8H8 z%4;!=8mScUZ5*`aIqt#1KbC7K9+xi6=^hl=7c?jbd297CNO4Jnz3UFnjt5u-vh9jV z2)^~$)X9glmeD_Zb@J8Vl1h>NH9KH8s7QlRUTyrCntgkzus`9JB#B}Z0bOsHs*Mc7 zp}`^2$LmzfkNkCfXl8GZ_OhZ+c;n);-*HT?BH5WVg6(=$nI;dIies>Q$hOI>%-vqx z<-wCklRp<8N6Kfj#VqZee%qh+9-hv}q*>wwTWl`Xl`B#&Ofwy;o#Q%Q*IK+-kg3a3 zdv8lEtB3q^a|enCMk$8HF_W;0xbp9YHPy`PoHpAC*nfW-7eB;3hAfr`T*5F71*cjx z4;lm-A3CVL=S48F@wixhk=5W}y|(TxsVegUcoo@!UpSK0x2Ip0#V+8N$DQ-I%8LPnuod|)-m0zjUO`?nJNKd3AihAx5FLudVFMq{U zcH1$jD-(zygE0Wca$~N};7+veyOb-s?AXb(-#S<euo|$_$w-wE z=(1sLV3~5=b?3_G)_Z%ZIq_ubq}V-ud#*0Cya`OyQ0XhM=wtO#o9VlN>!yIztLBBt z+!*-nSYE$*&9?Nj@mv;_8u`b#f4Dw}#3LL^JJ@cM&QmzM896K;+=R-v6X_kJpL&h; zFVI+7v;~)r-G+cHWTYlji7KdsysCseAjp}dbc?x3!AX605x_F zvzE?W5V2TxbX{K@+}-DxDpX^V6WH$}WUhan$4>HhGab#0Ng8|~JsABElJ4$UsQxC7 zTnMPd*itQLcmqs)s0-F|;Jx>m0%y2KV_S8GRhX7DFXk5;%vuj%x22-1)ao9`%@nUw zGuby>ir4QjF1NnL^xRw{QB{@J%6swq_7yIIxN=vy**ne-1Wqge)*F()tFS5fWca5t zw2!4Rg9$!&5J*;*pph=$8+z~g9#|4Su&GCEw|s7zyf%M{SLLvYOLo!Fn05X76``WB z^?;bn`Z5QyH+rVg4j9poO#sH6%f!~7Fjs`Cg5STv;~A+c{c3rnfpELr<5g~yrLA$3 z`baN$@L6w6LV;&nJYNwWISZ7bS|Mi9T>}HcPuvgYY4hXR=T>^A=Z(%T<$kd7-VuW-MB!3k-yyouv8gM3hM{V>Mt}5nXh(I7Z=Gv0j>TAwKChYrQ%{dJUeA@gsL8k{#V*)BnawyPOx;C|J)orbk* zBCMbc)j7_Y*QF#m7MBUD$CDpL!1{@^ULO-YG}DA#7g+PQwIBU*cnyp39tNa97n$hNgjtI98!uk~B+ zIM;qjyev*z8mpp_iQF42wJmrv2T1&}d36pp%eg3@*iJF>-^NP)CgkBzXn4z;EQHWP zzT$MzVmZu$8$tQ*yb?ZmnRNwRkXi`3I@5z8l zZ^p6JZu+aj|8Vjz@Gfv9+`{A9$^;9q^iw7^aK6GWOyBL|mrEqhv4VrOD~^639rlku zuUbhVts%629ji6qy*Jj8W{rTtY!(Fvj#8ni1Ac})oLh_jZSfMpj2<&f_NlV*y55I` zFQ)6Sb89Hiq720LmrYd*%!vS&x)V)z*OU#s@}%1iU9T=pMn$(p%~Dyo4iC^{$2vG` zd?LV4M~NtK6pIrYnUchZJH72BT3ct6m%ipNpLq0FXyB}Uv%Ji+d4kYU2S!h;=Rf%+ z`Mg@bAdJN*Ke;fYIbZivb&pW#gB~wJ4jWGM^c(P|c@5F6rF|kXypR4H8)aOET5=PK zUEO!(JHaI&G_iEvf*?a7iGSv7jg+^9ilO!Gr{io1G<*A%O#eHt@TPermJsh(kpGYM zCyV}6Ho#mUWVk@6CMw<|Z^8P*s?zEhKQ;9-NZ59&>;z<+sGK3p04KO(mus=K4vT5a z?J7{tJja(ShWVif(YFpHGYM9d5<;$;rsyu0< zk(b>tWzioW@(3wSPm!m`X({;K zyNLQ@dgoS;1qt7bwuR=?5qE1eu-cN&SVNAjt602Zof~p8BC1+NG|%1GIP1aJG>bKv9m7EC1M8Bgp&;Z026Q z#T=>BO5J}aLiZfckXBK#ZTqTtT$YjWWlHUN1r%mD<+5<_*;6q0WOF!d=)r1&+`LoJ z-U7wt%Dlf`?VF$oo8nJKn`{-Z5A!>r@)_>Lmn$bGyw-$?-Yc$ilp=!@&23YSKd;4c$omg5PK`zbw0y=N*(yYHXVj$5F_avg>H*}5;5b;p`qq;R_)gb~^|9P8&aahiAfH--|2 zMQ!ZGE8`KxxYrpm&9Gt@FJwFcZsD+XKR)10GECANJn>UTBMZgzW;zD^;uve_l*dr`sW8Ovj_J%)?vHu1E|ui^^XRRKc2fRJXt=%V#lD97 ztuUO-U4r?PUmFqZ)th!) zLGyxz*A!m4ZVTbDgP3OLsXD+kH+T;yty8<1_eGPYD90-J87C~kje5F^hF8vw2$HjG z`>5}+EBWMC%UHLKq(|gJ^ju&Wf4a!Yd!I~l^UIo+`V=tzRUnOhOT+~1W^jKnpdCKSEm`97Y3>>m8}6rCFWvmPnBpy z&A2xit6=}fy9_jceK@m&!D&`|9gr>96{Y9wWK zkiK4I{5p4wM_DXfbPl4gLX^_tRH0VUVwtQALAwTQCxho01D-U3kN0&6xkux>-FCg2 zEh#To4sOPBn@H+9*h*WccXAZ-$g`{A)>pHb65J8CM*1xdn&R9`$D=`?)`O-#tu;~p zFd93Oe~?1`SxMj~S|F;Wb?@+2=LW7a_bN|jQa-5W%ARz$v)Ph737e|4`g)?>sZqV> z<){w7P^!J|)z(AlSuDWK@fS^|AxQA)j=$BX<@>e8A(2{7jR27VtnWd6-m7ss?@#EeHm&E(x4N6ebg0@=dMkMF%Ace<7Oq8haBE!ly zj{(Fjrf;&$fNRXh?*tA)_KG2In8x+<-#E-<1LBYGNJzCw4&^}G$dwcDdf)MLCMhJd zVN(YX&BSU>r`kUzgvz_ktDoubYEMnQ?|&t8w`ZWqSr9c(N$vFTS)QQFaT5y_AumO} z2Gv$(Nrv9n^~f#N9GELz3I7`pP$P$`#^#Ox7tuTx%>_M{xB*W(ixZ0)5cij(ld;?5 z;~N9_M!5eX6Cyd`WizS16}I+s9ozgTQxZ%AH*N7byFt_K{E6Cd? zso^4*8dfTIPA*DQDz->%Rr9oUqV%fv9M*KEg41;CdEii}&tF}`8<@PgaS$(WuYAM! zr8E0ne=N`~^TH<1_e@*GtJuOnxp~{Eh6qyZVYMHBWl=TT+``e{ETzo+h+%5 zT|y+n;GO!#oFm?PhNk^W={cPuY46C(Aeu?U)EqJnfh{#Oj_!<~(IL}}ipirm`y(jl zw2XY|fIAaoQmO9yv$T`8Q^0+qoa&|Uiz__Y|n@J&MCZR4V`SaWr~X$L@NTyV}Txx648@d z%Le#pTE59p`j2Q0>AbK+XSr2ulY&)Q^|M0t<20%) z`st_$Zrk|cBGt~z=pu43mFKau?WeO^Y?sXYr%K0`w^>~dmn23xG}4mePE!y*Wl_~+ zqY|czo_+zghigkO5gVQ@5juY_7X+F!WZjFoGO~Y6(NPebmSWlXn~sbp zMb}D;R+))Ab&GVUq)kPEPH*_!3UA(t>#bqD-}U*Nv$WfYCcgPVn!p^klA9#O7fqzK z7CA+ENAkz%#e?&?;u&iBC2H`Ug_}+Rue&_d$Rqv6YRBUvolz4&HEK2`u=6&AJIJN&wA5`9zONa z{LD5@vv`+Y0pf3+K+=Tsp7^K3XYr*P&EFC8kN$E=?UXu^i6SXrljQ`+hZ~pLK-@vn zHP>PJ>V>Mk;%ZYY&DX6Gs$gHK22mrELj635wRk6s$j;bXss230RLzuBXYFkHT3e_a zOSXaQf&Jtd5Ei#D_2whE}$H@Hs)(X9L-7Am$DoJFpv2m`_XLL z<87;7e#JF&13~@AicWHb(T0c{R z0+@%}26^4-F;jUjq!oIt+045{yFK1m0B=sj!mn@QIMkT)rq#ZbtDCoL#KO{BJUtkJ z<=0q@5{UT{at5quB9IGyY71W1_;ngsjiQg&_5^_IyW`B#yqSH07 zDpNL`&(2#uSWSu`y!oBq(?b}loS#nT5cD&#HAdw;&8sl_OgTK1-Z+q%?$R^xQ>{Y$ z9)o^;G=*7b`HQf>izB)NYlTz8`DwxOsp*?&^L)n0WiK`1Nc8QoylSpv{_5inFr?aQ zxKD-(-xVgTt;Goa>7P7{U;N?w$MYy7-al~tX7cOzfk`|P@1qOaBs%NbCII8>sg5mi zucRLIH(lbb!Os%AG@Z{iz;+~s+8mz5{;)qZZm87~4ZKSz4?Rv>)N&AO!U!or=(dTXTV1D)3 zHPCXss@pf`g@eT5>(9or%@?S8&?B#}f@G0Ojta$b(F!H+{$_1Z)k)>49@?|A);=@9 z*O!lVviuhm#=zcXJ;^4XGIi~-anIr9ilww?F>&X;I3EKyYUbQaX8lRx4|f6p*I*ylYdKZ&1Ex=ubj^<6gS|SlIcsr_|qB z_3w(4KIZ+5`mE?r|4jius-jGe`$rh}Kj6goKGL(kG5=HU{~|OJt({Qj~m7GHy1-jn0}TP<;wmezXJs=Nnv1-ws_)axrt z%!kqhl)62amLznlEz@)5lI0v)8b0RAePdKQtK|4gnWN(|e=Z!a&B6U+Lns~SQKdvD zpkC!MTciKo&8I56nFkHk&hjKT?H{03p#rYZGT6CrBC`(B>iC8Ew3F9)L!xO7j4CW) z`gVV&nooM}Q*niBdI;z!Vwd%^?`ffkVYAk$@*KTTzfaKTFAKzX+lfXSpM=?Nhg%(} z>eE3KxWLQl%GKi@Gm2cR^37lFU&QXXXRnwq_C26}p3RRW#qRVW?z_9XA(nI-yN^$E zO)FlpW+Gnfea<#{JTffax@i=en9_Q)qqjY^I>QfL_s#IXJ>xSnNbx{QD)*`FH}-Og zT=# zOe-C|<9k=CdGbAH(9IZ|Nyh#Nz64j6)FdwDOaZgulcjb^4$%k-A@^R$St^PVF~4N? z?vyeFpXcn)dTg<#H=ak1@)|yfq7v(+98NUyW3w7ci>T^7-xu1ua#@!PyX#G4D<4Qj zHu@copryq=7Eo6P0WQgZF%*F<%9c|yEaT;5tI znj@p^RJyneoQ42XOLQ8CY99?M3_xFQ$#xn`>5IZSrWLapy-{`SLiGl415T^_NOx&w z;29ZjcRz>Cp|04tv*OU^_R@EGq`x(_ML$R{R~hcW>3&+LTC|4mJUiHe;jE*Bghb<{mB#GVspvLtpaF zp>9#Ac15N#e|qpdelQgo^Qjg2vTjjxvTzK6x@@7do=lnUhcdUyx0C115>&FQ()h3C z6Y6o}m1#G~ zxx*LC%7d`2x!cx!4_GG|W0T5*kX~C=#58OcP0;7Jo3PzG^kJ!1w((q9n!8M3Il|En zLE`z)km9udCThHtvaV^`Zu4xuDFIKIm2J+8VRdrI*5FEK%1tZobF5%(9jH%ove_0& zS?D<)fvVRt=#?k7zMb5(xHh(En%KVCNGS4QA zWyTxHdX4gB55e|Auk3HHslxWz3?dFntWFU7b8IL{ChAnP)vAt)!e+y-7OpAd`ZRW@ z9q?O`Ez?@V^+$30ym|v{%StJnz|VuJ?9N}~Xd#BX8RohWO!-;62DMGYbEpbTYpwty zeKqN{P>yFuA)m-nSISirKDE8b`F2+nbl3C{X&SswsnTF$Fo(6?3aZ1Lv(NRlcg|Am zvW424?%u8RKWRY=1xbixLUCGX@DJ=>*6wgu8i?FQSWgPH0M|Ah)fIE{|oRlBw+}t!?3o`!=~SQ`0z9@rfmjnC;t!BANW{RjtKo zQfU5}^cs<%w@8gew7bFBfrvM9d-H9hwU=z%;O5(L`CA&u94e~n?zeQG4+{3DKv!Nv zmB#lswIXzDyr~!c~p=KxO8ZB6xTtA8xzfr_ve}U7x`Q_ zSt=H3>ogpxkvAuqEKhgtfIB1CXZs!tb%>S>Gi0J+Vy{~MoX<4iUcu%ML@daqC8R(x zbG<+Ez(*Tz=U0>WR0(X_pT7B~FLlM29>7;At*AS5C3@kMB!a!^^K!zy1p}qVXD8a% zUL&sK!wU$p@UN!^+hh{(7!%6mVic+JXdIy7hIgKG{5TM>BS21FBKqp4bXLiuG zt=Lgl2$q>JYWtjd`zlK8@@JVQ)RKkrzUIWnHC4fh*NC$!H>v_UX-IH;02RBUKZwAT#W_(a8%S0>#hup6H6?Q#W`@KC8z;d4BZM59){jzTHAAsG{`$9 zw=NL?CaVeo-&BU(&pa!!CqYeO7iLB(_&*9$u^&L(0c`7i2?&@+y5NGYxKHzn$INkEj5nkHCj5HheBCW#D{^ zlLT{FhKrkqM5P7qm){<{UDMn7)!J&*E%JQAdtSv7^w!>r&*{>(qfTtrbrd890q#?y zN-A+4NW^#F^Gj&Um|=OQBStHh{Y!*?tJYeiAWyDqfqT`kZwq%om2W4b5d#|{nrI5- zk>TSXF#jPtN%-nL87j~2=9lT$Tl4c8I+d3>IAn0$Q-7qEtFn4^u4~cnU5k6(LJ0u1 zP^5lx@6ytLdv+ZS$nP}i4)e+3p_Dgyv?emY|`QDT1Iz4}9ZuQ^-2 z4eHmYbcq+deWKYM5gEI~Jkox~+oVV47i$vI`08sC5j!|CPd;(33AIJ% z5O>{n5bf!vK*uJl{-h(>y=&-#CsZqn)opvWd&8EZJ=P(I&YM|Dx8ayAb<+`XfE2CR z{Bi9vmQo9vbNMBDJ7y`+y)&_HK?WOnDC*gcS&(M4UktUUv3EO)xYU@Tgwp?NsSp@) zj-=!gRXy6gYWDqZ7-Si9tRR2SCw+1am6LLZ4d-;ra2zl8ASuWEW_Pctf`p)}yM8SB-EP>9oZS(5vSNZ;JW8OD#76l)?80 zdhONAp3kH18$>vM!*!5$v7Nk9+4b8w1sIWZchsO&c^Nh}`!6(;$HB!}S^1#@53?u$ z-x9Aqb|y%sjCX31TkOwHauMGaB)$E(w*|2M4{plS6ON8W>~uS(z0X`%b0f(3j8JDd z|Dx3}=8_!=*Owx-wU3GWzMt4wlSpRlM6NDRl&>gCHo?GM)W3qQUtK!FnRlB@&%!B$ zMtdPyNW*QbMa&<5UK|Y}H)5Ij7MZ2U5GoKDxb2Y&0kp&oXfuEZtTI6s)#&A+mi|{W ziQw>R#R{!khf%TasLaFXqpPE?Y5ag9w&DH8#k%8_kBMgZ^U{kx4Z}^o(x#?mnO;x- ziUl5Lq9^99hf2F0IE=MDa;Wpal_pzqPO;+Mw#hbbBaXVSp8U?rc2rDI`^Td< zkolXR0P4Lf$OcrRRQa0M7V+qIT^1BEaSGkx$!<*mR0CLunb-S$ngO!M!O3)&q@!jN z`Nw#~cP3%**=C_JOW^L*adYcXjrAM#A6fQQWy!mIb|b_9pt9Qa&W*&{A)h+v zHzv(Fvk5b2Rfcg@X^_F0a=+FMEv@{sM3~R{h5jkjfCYh&GD03h$W!gp1Xrp`#~-Xd z8qaEUf%Y92ZpvOn zkYqjIs@!Rdicr9NrHD$eflEVCX7G6-S*QWvu1K@Cs`|}0rbW|4;8*wuz|UL&xL^I# zgC{{8&_cCwqD;YkRp>*j>kfB{v{iS*+D~!$$Y#C{|Hwg%Oo}fMrTs6%t?pVQ30QfG zyXm#I$aBBXE-6M!Joely+&5}(9LqBiTampWP+TSP$E?_#j4Ee_NE9vuui+8u z2C2M=X@o8GmV!ZS;w(&^eJSE(W^Avxtk1feXmq&9f5^<6;4R$p!>}bL-A^boQ0Cd6C*ddy^&<>xJzapp6Q)X2WUgj zT!(jb=p$K5RP$67lp?DB%F2k>pf5-#hk;YJ@FvPMBn^FT4d(K`YgfLq6dy=-cN!SW zgEfv?N09M4fS;!ttr>V^Avq=_-qrf_qJk`|RQ_`IKrD(Z&D77kyRXL2+5!FtZj#Q$ zdl#XE$LDiFouIU5x5IgQV{|Kb3^|ukwQ*^pcV1gZYb4# zM@&~x5=oLn&@{vyuRC-}P@WogIXO8qfgnXGTEuEq>C|_OP8-rSsKwjVwq4NHnS_MZ z+`-k=`XTGNr5Swp$gSYI8 zl%TzrTzV72dNQ}(i7C}kuKvaWeuDhkD0s`LgE~c~gB6v!pHPHld(EQ?TDla!!Q{p^ zRw3whqCjg(nG(Jq&z49bLAz34wCJlhYnV^deUV!DCDw-@sNQ7YCSlLitX0A$&~bQ_ z6rk-$eV|UG!5OGBio|M}OXySa#&+!XVG_(sIX ztxDovL0OyDekAeue$90ZU30?SHY5z5e!vc4h3sy&HY2P2HBT1_kh#_EfZ0mF0&)@e z0oLvf%CV&%bSO`@To7aQkgeqmsDnRW2csqe2_PV@dv_Yo7*zSYs_Xx)KKz?2ox%o? zno80iu*DFI|BdB8ELCACbN8rp*W9oxy5?E*TV`Y22ZMH;7t1dKaq{8ijTf1dxU2qO zIPJ6VuHXYLs$H1Ir(%tuBxgk;HXT+TTlMO*o#IHmY!+p=<^;Ti&jiRWQ8ZiR7V4^e z^*9}zdsUV@%96UJ?J5m9vP=C1Rlqqcb*B{fCAo)3`g)XzM95v55+shSE^3ceNamVj zNpqQ{zboZ4!u=toZ)NahkXNbGc}5fTa?0oe2(iKc%rD#ha8yFMcJdctl-Qd298Nl7 z(dQRJlod~Ks|b6~JJp#A`=O_rA;saxW_nW>(b=c(x$CF>b}AI0m6j=%TfXXk!HgK_+B|`wDExb5FJSN)%)fb|)$3$~!;HQ(Totwm zlBo$lF>>w;U(a3S8sZ@5#2CDyA71=L$Ii7Ehp_+PHdFQdIFH0CU$UE$(|h9nwcn0W z0kR6)&9o}rUy~c~;e%cGtl)66rkaya?s|u=co% z`jFGR8>gOvu?h);hT$4<25stAltFC&u$qz5|`hqHX$> z^Cz#0Z~&uW(+}9|3ZdX}tT*a@>wWR@UMEDeA?OA3bcDVixRC1Ko3_E`k%|S!K!ut! z)Ok1q7P09kgz?hNkvH(;1yv6x+3niplncVj^6M5nb+B6&77?3+fo!sXlQwS4y>~*! zxh&6yK``BI%R-G4cfvHUk-M=2F`8KDiF3*<=xST*T-3%Cl5t6&-XLrBdX!ay)ORES zA5|iZ$paZe9BT@_ew<#z!}iJtDTIWVPn=5*Y+*m$^=2W1w<({CpdeUMWt_dSQo%is zohhitppW8r%d^9BdfxuTRY6S3M3m;7@h#37Wz=>;bE1T)2UB>f3}jF5=>@5iQeRmN zp)YRAh{;^Fl@Q%=9bisTTrBKvia^XBl<-aXup!Db>N28`S--CQj{4IsV~VC6zUmHz z6Rh@oK-2|E3|m5Kv4&75#FO++8NE0d5Sl(#>nf!8X*{9}cPNeDL^sGl!4T})Cs;mv zrmVK)x7!ru@YS&(W6O}3O=p8CTVkl!GT;Pt`)#&O+IK;6=%E}cES+$-oyaQj-@s@^ z_~8%+VKukRezmv>W;kEOvr@Z7NEW|Af?DiUVmY{ZScKpjoTa)5WSlYa;N(-nnOP=9*Xo&bN2C0BJr!~pIK;I3?Q0E#==I{VQZ zhs*gIq6v8NgNHrJSAjx{uU6b+2tzz`3VNVGY<3tOsWc4c?D`b6gyK-<@E8uTDfj!66dk|_|hzu2;y^qnb zECs+;%LVDk#@)LmDJOiR2CbD-mAse%gJi59j&UXi%f!irs$EjnoxY;sjLrgh7Scsx zURoZ7Rx)DIjL{E64Vya*dtS8;vxBl?1cwz4&3BtEGFds}_OT`h)@M>1`X{64jZ*NK zwB$!ft^zP#Z2cb}ax0y;=d$YX=J?@Z@bh9V>^bqOt#5iKevZ-Y38Yub9@iFF9;K5= zJeDJwIRhQ5A?E88s6?cqW@QoAVRfGD$b{FQ(d77!mU0(tGwrEyr4O&;)u1Sm*n zIZf>4wjd&=XuiI7XWKZRs1bQMv!Chj*DGU2UW>tIu5PRBzp-dJ%G5}9!>T&?*;kh| z_5N7(oC}{}L7_Zo*=Z@XG>=8~ZWO-3L+Aoxx4kEF)6F0X$p1AyFoJ$Zon$DRbBB;({CNCMVC8zYp2{)J)IBseQTxvW)7aT_w5_1QJ zVMnn#E@Or!dx*)0Gfzw?I#;r4c3LT{G(+cZf=x)w6*WircQumXl&ee8%|nqi>nC&; zD>+LtI-%D+Dqa<)(FYa7ckR6FQ}et-UNe0qx3Nw!7o0q`&p-)r<>n5p=c_E~$WC_R zzoMf6#+XiDKt$W_oJUm*Vr5^_yS319vuJmQUg7wv*HvD0=gC>=cXo_3=aI~AH_6<< z^I1ciO=_}XGGhUrQNJJA!t4d!_GP*WOwqv422#4YZQq7BwXu^{`6vZTeU;jwMDL@5 z4&CijCoH*BqTdtLquMV^G<-}xBm`--o#R`>e3yK^l_(qfo~O`vuI7MY?Th|kR1XW= zM$}XZjlHb$6IOhZ1B1)Ot;?0Ir1lj~a^mE#0>1w9S;rsb2eVlapa4|QK(z5;H`T6h zrvw7+2k)NOkt#C0>C4@`vT7yWvvRjkp6WX&) z+|CzT=8Fcw+<%3j!!&_)1IWkr>2)FXguuH$^(PRSqgAnbvoEu}4yPqw*oN+7RQ2a7 z^IR#in0E|WIGeLC-&gNS4tCq~Y&0gl5GWiOsJvr%YrNGd)vT+9QiDXSx%BjOgM0t$ zjttg69j+H3Vj8|E9FBS1FO*Z{w;b`!D~yy8nsZ^PwOUI!8d!e#rWt-~T)A zzJf~VjKZT~`diX9h?o$l3|3Q68sd(({QI9;0Dr=Bf6-T3$$+o9SC0P`{Q4`QUyRRt zSq!E6dlKZI7|LJOf0Y4>uFZ3>etTSmH;_6`Z2guU`mfji^EK+*AxJkxKFBZdIj z0b3jX}=qS+m3Xi|ip3_%1%<(^`;hz=+6b@8VB}=$;x$n?0CE@n)vvGfW3uMuD zNc%alcFa(L|E7HY@jcKnJYdWw2DjhMEJzKE(ziNXZ}5J5Vk;d`bl2{7OU z-A~x;e;Yino1VuaPT8y9N`Ur3$)KEctPTG@4(^|al~q6fpS}NAjf8K3mjC~k0_+0% z-_lb#ZB0QEZfx%RK+1=UGT`geVFCg9avzev_c(}(G7Mn4iA9oT=!=5YOEsfusk>U4 zboD2>??NO7_pykKPHEGdH>zb8-Vpl1e)-BBXmdI5GUIgo6=0pnGa8E0n8;_LoYfHj z*S_++P7)(ScrbF=T_)l3+9(eu^U|@G8ipz6tY(!#4t+hubm=<$6+xy#dKJB13kS8B zH8bFmz>#vOFombx{{t-ZDVsaa0h>)MmNi;`AVPXH^Sw0+B4*y-h9szuHkH?U?<|3* zYUgZD`wSOTC%~xnIwC!#`A+eupf4PtOO6<-&8`wFbe6}ixljLxP4nk;<->(OzmWp3 zox9K$0{>VISL#6zx~`Y;J!tDeayu66VjC&s_X6MX7v@wulddN83{MoF z`$AUQW!m0zWi7f6KT!Wd-2bzAt-c-JV)IA|GFy$OFZ3}d5GQOr9Fx5pcF;vi*>)~R zc!RTG@R|E>dqP+-)HypX&nD(dJiV^gRJtQG>mu@_i*+jjmzXK$w=@1f*Tg?3B50ii z`7(yACn&P)H@+GuofKFga);upJ08;i;VBtSIbq+TTVH>DT| zs1NYO(=lYIq*Bp9#5$}^Bt*1nD1V!@ue(MfHT6}9^vI;);X!2~>&>lm{0MMn=`g2Aax!fB}-G6M)gl}Q{!A-KI z`aRSJeK8^SJH-%#Gs)*F)1|}Gn}b) zs8h^SRs(WhH|8+m-$KIDI{(yifI++!g?Z!7F23CU^wR`csPBB|%;!g=iC|LQaT1q{ z_+(<7b+02&*xVJnwd+!?-kYYQp~~WN|#PgKqMK7!0q`Zi$QPHXxhO``Fhor&xw94UVWFzrvq1d>52hg zHan%PV=3~tq&NOCKIEVm-(5$b(P{UWBhQeokx9k?_Urln)^8(R1pm8wT#_@oD9{oP zHuJ4QJT9<)n=s<~*-&Fd7q`{hisdV!E{TM4lXR=1ERsAEO2_+aSeLy9nf1IQ;XZFn zSHT5u+<&fLALs|65Df>eg)a9OsHzlm$(>j%$^GClOS^1WTA=}`_UFB6EyTfGl}v98 z6;&vYYm=tk#f0r@JM7MEL(zDih6JnmG%+BxAn?uox=_sQ7x9u#HnM+n-UL6Vo%@TmdX$go^#(zhVIIhYvWu8dsTKHc~O^MI2?{k zdukomNygC&6*6l1Cwy$`b3C)DJUdN5#%;hg`Wz31$)(n$`)gh{Uv$|9#=~o&qQ+pR zbc27&O|8VEi#A8;S1w|b@y!n`rf!AIiJr`Xr{0^hEg_9GL@z$eNmdZDLp=Iy8j?Oi0sNqvM9C|I|TezA` zN1Mff^RQ&tuef=|6XAF+liFl`gKd!~rnO&a;n1Y2=aNI7jt>Vcx$&@S7~)GtcYVb& zFcLeXBo=ssIskdELfSOr0s!SCfG{X6Rll1D>x7Mn10*IQpHw18C)Y1mFzm-Pc8)FF z1v4M`6hWuv6;+)ycdU3$tF-mHM|BFF%5*$jvMQ`A!6!D8{dO!yyUQZ^GFNmQ$@r_i zqtl@#jr9(rx@n}9I$z#Mg)HerOTp-kd%rVAy~(1Va*?l&%nb9U%bc3-*-U>Pd>gCQ z)k^$038i89$hhQ)NU5+36K}SQdwnSDvT-9(pe5|is}3*}egPTtB8Ee1gg`iu6(WW+ zxo!3DEN4+x$UNnOlC9Y)8K*Nou)^+Co`ptu60e)|8(a?kmt-_YCZr3s+!lQk%mtLU z=N@v8nvI`&qiOWc?CZdu_p`u;R@SA9_zt1xEF`&FkO~eV_4<`GBpFW$XNZ4O%wvt_ zv(k)4l|?Mpn9&?|-n?s>2j2Ok2sYKNw zUWVAOZxK8m961&~GNHUD<jQfph0gSm{JWCwHYnb8h| z)uu!fC;j-*bTdYW8-$Js{Gs ze>fb-xl*=)loJWT4^muwlA4&KoNEr)ME}Sw$m}ftQ_w~u{rgUEnwYOLgOtiFLuOar z2CC+fR+MV70`1O%jhv9Wc`BW0IPb5u1WDV?j(qM6N;td;j zUuBS3;JK0OP2*n!L-?i%ETJZsjEkAb z3-$9vlImfbOqK_rb%UqWNODHgPieXg-ygT=?7d?){*IWtU2B~=rL#vTH1Lj8&l8`H zsPTdSbZf}yCBHwC2o(Kb3MbiM&7RG6jZX4~shg;dC;KO!NBwGx5`_*nR_3+%?K@eD zBn1o|u`byyTyrg8>6kZzDK{~MSv4{4WC)=3E^UvBXR-qQ2+0CD1APOqwv@`eNTnWx zG9{mc5?C7rLgKfRB9l&J&Kn%FdXlO9@jhQhgM1IDxk;?ZDWL~mF%`s9nl@lP5!;Hd zxaGa&mEvd=&yMP}@;pF;Xo-`Z`-fhjC^aNNS@=+9IKV)IGkIMbmc#_|miyH?t6=Se z^7MEIHpWc$d~i*aL!s@ST5=~7@b{#Je^UKmKo>G6HxEV6;pEwC>2$hIadUTc;mD_k zH^kT&akjivHxyJUZV|kStLJ{uR*;gEnbmgTQW)(|&?qAuibY3&h(+pPHid>KdYNEW z8W^%NT4sc~l*u6+z(jbs&46mYtUumuwJ(dFC<&ju?L*cW*jjF#fvac7@$7899I$72 zdGhREA>dxycE9MoJ3filPVrWoZ0&{swWTlK_1PtO~m?pbjLXI<859sBq47Ibm zgLinYDZGztvoMG$J0oI+EM@D|EDbQs=;UETFtC94M!1w{NiqB7r)G^jqvO2(2$mra zb4xIA44W%GxrpVt_SX}}qwC5V8n6I6tJ)_;5_n;gAaPF%t5=vC`o4eAag{QSKanig z2&t6b8GeLySq4o;4B79fmFma$$Die;f8aumQDEE-Bg2O3&S+5 zYDUgW?xq}z#3DJ^jwUiKEjU#xW4R0a(fR4E?w4y5)GxZg*w_lHXz zvUC;nJUz6uiRd4Ptr%h#?l#(}`zW`={mtcDhJ#bgwJ)o`Y66{(3=i$+)4Gy#6z{DW znl6hFxC}e#%Wz-B?Q>f5EqWRi4~!l1G`KoOM|>1S2&X^3i0uzOKAKH!`EJ$GU#-y0 z#pDbf?67f8@M2SS!f_+jvu;-|1J>f%&S4ZQNcVDf;o`+rn+Xdi9v~pbu*TWk` ze-IKkiqtjVeTr$*j60>*T)#9%!~k1M02haW3!PHS>_#PSun!W;uJcWU1nao zT-&Vt#blu4gUm0op86ZFX#>OrG|H$Ygy}PIJyS6_Ik#G3=<#&;fo6RZ&cFieK_W5C zgYlkoruc*)F}6jrU}AD#;Z?p?oo6HhLreJ7?bW%IR6dO+&(rBEm#Oib@Npv@cZu>m zxuHUtSyHpdBd7gYqN1jYG{h8UOWC=}A)UV+2lynR9QS!BZ%*|CdPwDZJI~{fuX`eG zPp@Im@=;HS9HQW)zCFGuP}npaN*S=I&?=(2yAav?nl%2ga;PtD(Cq2)C9Ct#vURA; z2DdAKO)E<1@SWi9WtG_WkrQ@Ty-mH$FU~F~Jg$Jl<>ZT#w|pbD%pv7gOAt6=#{_fj zGog*U{^!{@gq-~7PYxWx$M44iN$PgYFwEVaP6tb2%%u|;WEpi3#@TL08cf055Ahd>p z0jJ$|NkTCwne!+X@6(M~g0B62is0YRz=A|!`aWbMNo0QqME*G5gH!=THUJ$5=O1_s zp*No`kn0wqS;)Ngk3?JGY+Zr^!01%0tpDx4|Ig#rKLF@Kji$-qU(D9O(8(_V=&&3h zo#D3fDL*7Q_)jq6KPW?Cm^V+?&Y7kr>d;pkbp1P7NC3n@x-!Z3*scXKX-Ct=D2xVE zf)3eK|AC{1c?0N&G=5Zc-t$AM9k^T1qx8t_=?K8&WCD?xl zGzj0rZrdgC40W)aNWN3yuS6n2*7>VG0NIj$hM`14!6ApLzt#By>i>!bIYn`s!LU2r zCgF0qi%WyqyWWw9@cbhU6!PtG3DLQW6nO6ZhQ{9|B&Z0$h}^~GWtKg1uO>G{DQM&D z*&WmG{tJ_{f+UZ%sEXY?pGNv`KZY>O7~1}`3LaRnZl+x%2=(LZ6j-9X{TU}sTf?Du z?2%6Ip=rB3b{$^;;wr0-FMdlE209d0ZMhV{nY&-$;{5H&f8Z#{;sESJjyL)H5Gln3 zhRD7Z#EXA)CJ+RO0uWu`+WXdk2cVP(k5s? zq51E9_yQygfXttEihmCgMKk~{(D#CW@y9#-?MK>k=wehC@3&Vab^}__^N8`{pVdG> zeR_^uWVCVoZF714n&>6af`|v27r#%uug}v&+~47!vz9Py9~xK+?lgc)g8pf_*Cc>> zqTcNN^Y46wGtZ#;Wfh>P{!h#O{|*8=;(tR2rAxnt1W4<#fYx_6;Fql5-<-Wiq5yEQ z2o?#$n!{QyTcyq)@B2zo{xOPyU%%(^1;UedR76yp7l9%t%${N(U5a9#(W6|&G@Q01 zPA5R4b&l-Ga)C5M9F5Ey1=GFqcktF2y3qMp|KVG(twRiT1eMC5G16pH^WlQq`tVAd ze7^D9C-a!Uq2hlu1mukVdZC|4+i62P-f;rZ4PlU~4YtIYD)(%Isc8_#bJ;t163X3e z;Ps7Qv7ZXPdF&W~m{=bM&(Tpx<#VcZE3MtIxF>|W(Q);xhk*6#>B zBYa;W2~%Q@ebn*bZk^21;u3q^9_zgrTh#EFIiBN`1?UzBag9_qB8Y8*~dR&`}_`JrYuhv0E$=w%h!+GXTk%2eSuNK)-T zTz(!(<|LDdrHy>5G(WLF22%a1HilBTw{p1r{+LU&u$m{!0X(mTruxIKU*T8;XThR>Ya{w5{Gzcc~CG4i<<$3fqm{BuXkC}DWxv2kWkjo zoOEw`VcC{)fK=LObr!Sk6(W&8lvLe97i~Dm4+?XZCIEOSK!Mx*hc}V+{2V-xJ8CV4xn zlH&7_w@f!)qwr?TDcYW7&Z_$c&xRlP+{%+hAFpz1mhj!qb!&EWze6;8-C3kP9L^g< zlAv2s)5&n1#2wv@g$M6k6_()@y}pKb2RMkAnAe3`9AZ_4$s`WDilxRQC?>P@83-Sj ze)%rCi9B8{-u>i{S?vf)aC448xUmk~rhBkl%20PIexlk&VxDs{ud18EfGVoL|EXy= zz=E>-1ocZeIL3s@P`ogS{ebZ1v1`!w^sQ=xVemGRD?lTZ)OJq;bDuoR^d3%hls+{> zJZl;!est)yf6MeEEoMY{j5qjR4TJW+&9kZ!5IP3*Qq;Hz< zffm@eYK-M7)Roley+HNDPv|a33stnR@gxr-c{kiwv-P!4Mn_!BzsMWe9=DbFWy7S& z)8HO=@F+e=rGL!0(uPVGqZ{QMg^Hs5juxJKzW6pw8yey*KcDRE!;)1iZLD>T=Ii&d z$8KO5+qyEQva+Sbxnz&C#YB`2gO=8#A0G^k4)LDhb0(Z(mp)~&2;u--`N&zNys5Yu zIda_?I-U0@V(9^mFP76L(oNvcR&Oge4~9#EG^?%UI6P(-mu{*BAcq8Alz^!e^FLHM zWHtd)pwxQhiqYuM{TH&JN1U#oiBy|j!|;5Xo(OWv!CT^D0jlFkMl@B+TLWW z`}pmzfxhi)n_mwTcu9AKO+NGQA;=(Qi3Ln2@-5NGrh&&~-Ip8s35K9R*9q5@*iBiM z1?v^x8_$<#^tqXwZ;!mhqY@0l7#Ih6F??wc18#Y!!9(qr|5#DDz#Cg_vt}$=EjXl# zHydq3)QWm61s**2tvPF)fDIj&FBjF#QMp1rdnJT_i$@$t`SepL$TG^UV9q|w!BwXK zU`X!I)@U>;2+h}mRV3^W{JUQTU@?6Y48iTe?{Yj$SC+F1)KsQY`SFTU>0T6_&Sw3W zxY9s%g=`w+sY_8~sYEnuBxwkf!!ZGD*bCTtQ>fN?i!KdsObW%}{s1;3 zu875Hn4YiNs0ed@MAQ-3V1!1wH3Y6IL&RegRW48^jYIUd+D%aE8z5i=IIUS5VEPq_ zGuuGWO#KW~hWkw^qrt{?TSW#bPV&ffE) z15U?;md7}`HiOaFHT{#H(3wa@8dZyp+o6>1T)wZQ1n96J?M z2}p7MrSqNOjIsKgrQT%Dr|#Y8J}Dhsw$!5Kjq@n=tA?Di6sAm>aFQiDdZsh0#(3F+ z>q?keD4D}L5XL4*C8ZhU`^sT-%|fg&?|~g2tsBdIjFYTqh__(Wvqm<=m047 zAs8J1QfS2@iKEvk8urIA+TAKDk!M8%*~elntsUdRSw8zqUVICSzv65t60}S8ZFUw5 z;D5-ZSExS}j5F*Ur}<8}4jsjZ+;=OSis|@VpmydTuD3!ru~Cwb{nAiTtGg93$&Cb| zp%6l#I4i-*x~!fLIPDKhGw!D52y{u?o{W;*y*B(&nT;dOlKfU`E3qREyp~#a9OyL~x`GuhGk0&nTW!$~3 za3Bi?s!*4nyDP|eaQ-I4bs%)3ywDJx)6pDAhNgS*rS46#WtY`*Z-wyxc(3jiwl6B{G`pxu-Y7C8rC8U$#K+G8V z_2a|U5?>F z52}KEmZX3yRGkJD2a(l-Wmq`R`WKMFI4sP* z9@n#LDW=fNlDV`&VG~qd^d2^SnGU56XRb_TJf9ZqKhwSmifE{-l33)b(czO&g@&yr z4I}ER+kCMaqvkX5Q$DMQ5E18NS;V~uU|blZ{AEkYFlG}JCT(l&i>>_`yT{oT(^s@z zYRtlZRM3GLY%M3=g*}D4UlOj6`R?n#1t-Kia{<9OdYcR6G6dW0oB0KPVBI<-KX@HC zTU8P;;4c?hbtKS3Uxz|z(?dYHiX@TM8!PAC1fG@nq#L&m6R1XnN?*ki_<3y6ts3wJMHk%8KLbZ7FgY`v1#b$iy9jVVd zqDNTLb>w&WEtL#!ri(oz&F9P2@VPHFeAvRJ`xok*WJskhinv_vESh@I@&{iEiKY46 zAcg`wfbMJ9NJ(5ucw}X;593=5P@}1b-?S%kHN2dtHHJkbDC7pn^=8|};gAC!tzTjF$Fp^@vqNm$e7|(9 zeWE*I*#=BLfKb1oCbpor3n^B>AXfaE>l_A%AP)y?5-Wi(L}~f4SGl zHCZvehk{CF{KbGhh30im;t#uG6{oAw)J`~>gpVu?%E;9CpvZ+_*y2;zn2Zh&{3d9q ziVMXgbaL{S5@_m4&f-INrww^j5mJw~_308|<=Z?IY*6`IH>=qwu}&IHi0`^WffGry zyYkcD=_XP=wOaJWHYiz$Pc*Qhl{>IAlyfwDpf>OsY=2PZJSb1M1sbUyf8Ly0iklds zhEw%J>S|2jX&Z-j>Zgb#jXP8SYsiB{vGWxLB>a;17oGTQw|(D>M=dv0bGx3aUgF&g z+43^fd0?q{&m>l3t3W<>y$|26h5yb>cEf6X;y$6oA~Q&$4{P4o3( z@H?fLYR->eGFNz>xR@Rq?#@59=rX(?uNvB#+_}aIfhB}NyY(siG*pYL%JW_uY4w2r zvx86lq$!s&&mQX9_v+e&5EcwR$*AVj50lupERc8#|1;)DkvDrIBe91WQ{JSYlDJZ- zF0~POX+}0(2&eF9&3=y7Gko64e*e6F0}6|mh1!w?t^4J*+yuprADt%LzTnkjCl1>u zMLPY7&@2C3!|xwLX4tPa8?dy81S}Fl#eIoYmO*EX`GvH&mak8AyavdnSGQ5}|JXqP zrB*3O?KCdf0eJldU^)7i4>Ag*?qMZrL}wZGvj_G2=PN4&rOc;9`aQCLeXA*`Y%bU- z9ReJge|`GwbFoEhKKNf>OcOQrlo(KuHs|`6io^JfpNq?3%RK+ZoP;22DevA$>xYYy zlYe3yZ;Ci{3bNs7? zwx5g7vCa_wwP7o9FQUm-uKV=H#C{)D-cX;wKylhooYC*Y2KdYCuIH}n(!o!Z{@0$p zeJ=Ls-44qhdf7#V=;>X4qh!fde1UNfVS;P>}D{h zZXp+Fb$v>Yj9BSZKccfs1c>@uA)IZG=+$^W)KWyU|Dr=DU!2aH&WsiQ+!u2&TDOE; z^y!Q_Kk@Iqw@iZUy_ybyAdiF0 z*2{cecZ;=a+6pHq>WD$8vLV_5oA7c2?s?ibzMiQ&@;0BZ?zp#Ds1GwADgKMpLVqF` z{3*lYqvc{$?L`7?6l)sI-PIGoEKrHGStIki%u(fqbrxI(Vs4x4pe3x03F2bAE&QEh z6DO0=`i6OVGqpf3NC53Yov))<@%46);dEMjLO4FF^n9!eTHkWO0avm0g#+`$dkXcn zT_0-oZu2T}bp*ZcCw8wBdF!B>eqQ@&Rd%<_q|cL&O;3k?S{2_wKA8$#lc$Srep)fG zdF^Xt(&BTD;CM$;cc!#^$CZy18k-(B^+uRV)IzX%h9~uO@y#23D*DsMC9BqKDeO$Q zEydw$>GnGjL%8rJt!@6H>(eKZwr5980_xFCr+1eGQJXXz-Q_uJ#B-c#{UyLnW1=lS zH|q;dWjB3&cqp%_Ad&F7q6Wbi5dmu=qJ^4I@Og&E^}2#DP%$lL9l{}R&csiy;Cl9U zKS`d*d_IubGZ;#F0EE6&pI%jOMMKfMe0Ng^yiEQ1>9iKpH9%uzBa!_qLu=0vaS`_ zOjY$?-yG7_#$Yy&FZR58@@LL6B&HS_J?H6rA~}sdcWArbUY{tC2z)zdJP-0jVKPLR zDR)V<-G^-dtHYL=!uDIhhEj*dz|H<{4xyg9W4LrE+LveWK4+ywUWuFr!H8hHsi8)jeo4=uSr4hOSfc7(?4Z>rR@$0+*D08wed$CUE6{d^D{E5oNv!<?W6iPm8K)C|)_9?|je)>r^P^lC|zih&dQKX3I8#SQHP#)-=4gJy`h;C+Z zp55Yz7h9wWoZ0Vi@>;29c^4)E0#9t|jRqkdBIjvrRy)HpU7NB5sUfWyRMY9ai#H_- zhmLM9OvMJ1hSbpu)as-GPj61s9bg&SqYx#ZZ!ga5znUxpZsefx{q`dw&G)Wb!>YmL z)NyY_1%=dE06@DY_X)<9x{xbA*bnNx;kxl}4EA(?D8h;0)u9F8=G^)WsY0#D0S!lS;pFNZ&767wY`+oPYp*V$d9tZU;_y%|KuoC^7n;un1k3v9 z{6oZh(R$JWCjO~s&lg9Rt>C+>qrNKmMwO~isne^as&g*qN9NP4?Ac=7vis^U!R$IG zU;IdvdeLmxr)_p7GkkL>v(0RIbetD>+)oOllI%4Lx!r4ugeG&}D7E-S=HJl27ZBi@S%!}@$X9`(pa06HBR^W2jO1h6_g$pC@ ziq_hj?BCA=JN0)qsBcIFg(;{{HT8r>(0xr$k5p@2p|R4*95wwolL3lIbvH1%$~WEh ze5<+$Er?#rsc(0c!_>44#No6NIPCXnkForccsvHH<>$vjM?eQ+VWBRj2i>M(gcEnn%Ok8`c9VO>%I#0`vf{(~;O7 zYqG)7;zK6alglfRZ*KSYj9Kb3NrAzcaHbsp0xy{-yHd0<{6^a;LEIflWm7!MP?R4F z;bAneGsezVA#DHb=#z4(pEu}VHbZkA^l(aUBnMB#A?!F< z<0~d#5pV%oh^{@Z4>U^m**}OSB2?8YP6l7qIJxhw6rt~32-Ry`HAXOteQ5BSh*mAp zi}(CyWXIRDoTx3nXNN0aVJbwSkQp`OI8_8B70`+()|gYo6lvWlfRAthNSfsGg>6u$ zT3yZ+yF|?wN{>^dhdL*4O9YLEp+`13YL^@0`xB-Mw9IX!2+ij`RnJ0VW{E zeF$~S(JQ@}Y8$;oo_Z}ZlZ1+G<9TkmMz_$%QvIFK(?&`yKxdm&A=8uQm#|E6U?Ri7 zu&&;Edk>SaiLEjqazE$zd~8eL`tAW88wzDb8n&C;uUX-m{Al=qmZ3~yG3OM$)+K|L zffjYkt>}WKDv4I_yhhUa8N@Z3s%^pj!ja|8V5*w9tzS+%Li(U(Z3~=pa0jXKZRp7QqSvj>_M_HNbl_+@`5SqzQ zrm&j5(mJ=;S`sKBqdk20s?7&Fg2O?4j3D2LZ4_Xm79Ls_;dHWSyG4GZFjL}o zWC!LYHb|CHZ!mn>mEJR!9NAwv7{_M2MYB1K3E@x4)qe@7rtZ6Ug@EZz>Kt#hd>h-@ znJs-iG>v5YZIV40O{y#x81Dd)ABH=H%t33#{QHtMAgbvYU$REZ-s_>du!v;-%j}9L zleYXQ3q1KMCV1yTtN5AeG|^XaBw8w<<4l-S6sEo1LwhHuM*Euc>~3uqOge`Ptana`8(_SZHa;E)B#iOv?$Q9SrE8Tay_boLvMSpbZk!#M$cJE#P4F!VG_8eH;*b6k8fUG2*5 zhY3A?$)MLpuae!oDW|7S_E5yr;nK&hf+dnpRyO~OdOn`{wTawz%GD!O3wHbM@5zQ0 zUA;)kFJazPgs!=7-kh)VEcdX?__dt~|4g~V4d(@JiJ}X@KT}kEf3Q7L2JW#8Hu8G7 zh||J-KyqhzQ!GfsiwERSe0F^Kh#&Ty$Jd4$Y6++DX~N8t_3nD%vra)nKhJH?G1-+K z@$zHH*-AZdx(9t1`8-o<5c2ZX8z>iDPNzeAAkfUw?XDZWl4FtOv}0fYljUmM{I!qT z;4{bm0B<+J`gr+$S%FT%4ObDrhHmNWo;Zevn|9tlC+1+7A)n6}82lzyxfE;w)cp$x z)IbCPp+Skj9Jki|nWY3Qr*%Y0o4=8dqZ#p8L&%o_xG)}2NWpNxQq+YRNR!wthRIl0coki4}S2o zHEX$49rH6XM(PJI=U>}F4i;*s%=7jcFYnQfcdYCZc$tD}$)Vxal|FV8Z*qiWi(PqL z5p;hIP}tw|ad?q0N)6nAdcah6g>KL4kUyyJv^y+J`|wy-6Y6v{If4e8E3G7%d*iGw zmR86YLzw-uTi+}eypq(Mxce9ZK*ud`?~8NUY+8@lz3wLQLJRvNJ+-Q3J^5u_RfWu_ z-1Gugh5E%o#lj$XT1aaro51XhopF;T(TaqN4D%fn((J5@B;MRY%I{1JPK%%F z_9w`wptZ+8-_pB%LmNHQSY3-0cfH*H;;53n7ZfUEigYy|A*W8iQf{bVt|~YKQnls7C`uBY*W)~(9KtK{zMAjm8p=aT`R4c* ztH){^>*uCU&8a`ko<+ai-38g2f|9*xrX-f+!nv`I2QMM5pXd7cfS2M4LF z$J}kv<`wG1(ekn9Qi+ubJQ}h`2gTYxejny%Ru=VO=N*TVxUCLOBcVhIA>V$-q)VaJ zX`H`j*NG|Xdoy}+ADB~^zDTKvgi9QLf*slWVx!{MJbU3JdRw?r;fs2x|JeZ zb##9wxy6U9`hBoF5mP#E(Hs1ZZ>30lBecJH*NsJ`3PuUy%$D~H%JGF184wnX*x)UU zaLJAH1`g>9=?$51P0MiZlkYij)=SBi6JC=$9W6wzv~|U^s&+wAJ{-GYF_?P;*E09S zg%N>)PT0x!tz6DmwH22tQ`oj*`23I^y6OS-p=T_$IR+k69c%ib%r*mQVvD<=(_cL& zbMegJ`nwIJ&i(0z_*@<*d+fl;A*Te37Y)Zv-di@dbeo^S@kH-Fzyhl?2jWsQLyo$#>K)G#2%#el) z2B;6|MUro-y*?fH+hDYh7q^d@m7e-f4V~`j#A1m&kgh;#3)GySK$6zX>*SqC5mpba z4n>eisEFppNJ-7({*Zf{MM^ARxc{nC3lGS?QhqSkTznhaYr7GE#vajR^y$WyAo~-O zGi}#<6N0`7AnMBnnIoSO0bFe-k<8&RpMvHRh(@u>Dx->@eoBmd>vW#RU~`I4fk2U6 zMjKAj@MiZt`^4-^Z2Q-Sw{)7-#y;8!Uq3(g6}|+xwn%ZV`4b}a&8^EM@q^!>(O5uH zAYT#V)ZxHO2{Oa45j(yxjpI=&{x4!K4i@&9m^f7>UcO!(Qe(}%fc0ry-5664yVZ{& zXyHyaN|42WKrIu6(1YlYW0)hC23-1|P0^n^<(C6*IaLZz?O9Pa(x%%+qhIs9^13RT zsLeIllQB5?$zJIIaat3pPZ43dJeUkgGI&PrKR+>`mnP91c}E86m?<7DU+eHNPA+(h z^bXK^{p8}~{6?elaJ<=9>L5B{81v-krnD{|uO}C(x${7R14o}rI}~U6VFmw00IST@ zqlbo3L&1y0yNS{u6r0z}LT?}XYGpoQK~llWbVPb08qh&%_;xz*p9-z!0=HDnDA|kTNKtEXaRRH0ffEfC1-mXCKL!vGlR$d$0j4Y0PKXN+rE^ zRXuvuGrsqJ?}Wp`v?Cp8t)9$vKIGh6@5T^z29yzpV5rT;Iy>%fCw0wgpSFqLWPidk znJrI?*8dXBY&$CMflrt<4g^=0ABOu>2SW-xEH2FiyyI-n@#@9ytI2_06AraP>s9? z;=lYc0x8!r7<#abcJK6$=OsTNU|%uH1b{d-(UJLaN$Xk6K1OA8!0RFAq8QUpwfezz z>mz1YnqJ79CMI-9$FV8pPGo2CBMfn?C`g#LyTs8*-`ge-9+PT2zdbH6jfT7Q?X6jL zu4O*BIcvg#hV$ud)py)2FAA0r3P4%ROS5Z)vGh-RK`j+wd@SCVKdTh{E<1Or7AwD+ zzu0IUft`px-(nYj4IUeS1hLm4o|ABWs+sggRwy$o*;DFVpnucLP|w) zs)IRJCbjXQS$B11xR{(8I~TJ#({ZBK%|r^h8lX@1nvK zCN*AY&pYx=o1ya)F^iNZAPKg(l>3a`E3@TNrGz+#R!HRj+OuF7`;p%Ho2K{oi0JsO7jgcm~CkO|T$vA-sA@l`n@QEPL z_!7o^;AFN^4*&%!&9L`X<7ybZeNnD_Anf`CHt_krihGSmYWKFE%dlT{(+^vZo~!QI z4d=dtJdg4$AUaIB@U{nvScHClw*nj6???2G5O5J#>_;y{DSQb}%NRLqLsx-CML*a_ zY(r0hN!Ba#3_PwiFNLW*+g!G7omGB#%2viCgVxL-GkqlhTR4rk4HXu+b=&o+A z=O}DmC&E4`d$b11Zi5S<^dR$xeLa09$d^WLX>!zW1W>m%*3#ln-)ZQrLg!ID2T(uY zLqLK2zUVJEgD$~&d4l-W*Uov>DTmGh1s(ZmFhmMv4a++=vYiV*^sMP1e9i9pm#0D! zJvu^r=a@o735J`p25%7}wHsdPP9b>0Anl_Y@57jV8`F2Z#iWQ>sxTag5c}piqS7gq zM5^P(G=zZLyCaTDqrvRhd*EevU#)9u$km#!=tJ~w9`Kn)%O|{~4}}yV&o=2!$unVN zj+2XA7`iV7kvX9y5_cA;l|Ye4b#r>ya>KO%C@Xq~z7#oI2~@k7YSCMgiZq1-_`p???Fc zCSTf*q?v`UVA)CZ#1ay~0PZdiO%E-Ua&P19z928vC}`Np6>DO%rh|VZ(<@=@?iwJ+ zT{`W|51QBA#nM^f+gWv_J{(k`&Zzn3qDl;h;C)nTi;aPTF6|4*KV z+TQV^Mh03DQL4O>;9_+-J`nnWw0;<>&jk+N+RyJXM$O=+X{{FgAq`9$m>DnFvA>f9jKr2UtX5bFDT!q8xc#=@rZ-~BbT-fFd?Pt;4tdf7pA=pg6iV zTsI*&1cF0=K+psT1a~I{clY2hxCWg7!7ahveQ?(Sg1fs04erjs>3sTr-}|1uch#;s zKla&Gsr>1hqNitd_gd?@p6f2$ZtaYI8N{B(s2xD`Z526=tz2ogo(M)@u7!rH0F#UM$*YjnS zR#43B%(?58GNK<5!^hcLS;q-Z`(~MjA{T}bkE;hfU29?Q@lDQm?G9Zy&gK5`Kz!Cq zKlV4`ayv()zQUeYrKAT!0}|Th#~!N9VLf?>KB=aNO2gYCJUZ+FyKOevh-rSSAM#ZP zx|N2y3>J-718+9e8NH!ly5V4~Yb<TZj5=~86&UW1f?Lv1%P4B6Y1F1{#skBjmJ?(46j>gwj1k9 zn6sS1Law<>p@Qe~&5{~YO{=FrK)w1ejR~ifhWlezr#tR}?fzwXgP%YAqxd~sPA)E- z=Voze^V`9~F&DH^ESGDUNYeE7?<>>)C|ZE&)ktDDvPzbcIa_2@9*^RL%?#{aTpjFkc$ z#kxn^+WcMX`_sSwLq9AuISPe#&@u&Hz6HvpfBxFv+URA-LAO+y?ib%l=rY|A)&8<3 zE(8Zu+?QN_oW%F!{Uu89Rp2*EkwDNJJ{(C6>dnk~f|2}*h=7#u} zC3QQQ-#Eno{~(1dchQB%1`l=bM_A=zv$OUqLGS%q$>03sby+J7;CK4YRbkXLG~oA_ z<9%7!V7gfIw=e}9E(xUhO%^Km=qGU=er-5~4~f=~O#P88aW9fH?6VXATJ9=8gB4=XY2RB`8 zDhYDnlu(Bz%5DDh*Yk-NdJ+=-ir@X3ccRVb8SKDgPcDI8-oPHNOEOE$)~yq{ACI1? zKTke>I@{rpLFpa34dpy8+rxsV1DPGCJ!CUf%6aHf?VMg3 z?Ec%&Md5&#H=R+pToh2=9I@#Ff*W!bqdCU27xI-Fog{f-AFLPa-IV8R?qrfU3Yq*- zH^GWijm2h<5BfQpp_f3d(Q>@h8ZF)}K?05`x()dL@Tdb;bCsyLu`%kAKu?K>@q_Qt z=CGivN$2RpX`|K;r8I0V$E_4#{qyc-<*|}qb|Y>E%kI?`4=1Cn7MWzG(djo-Z(0Cl zr3-&K{oF$JRc!j>0fpOM31_a@N!F`P*I_4FS_^M}he__f<>4sm=;j+!5s#InZhi35 zH_^Zd3E;PK`q2XuD{pfD90o7Z)&$T|r|_jb=cx*AtaL24jB+2qz(+>yQ2ot5vMiZf>oB1s#{aQSC2)6_V>7Y z&?J0ooEWh2cY~W**r`*lN!7n8&=g$1DeXsyn=bf73aBA` zxIJOF`YfPJPaxpAE{u#*=5%A2NTVV??O{rNMIwdEej}fKVzAA6YBxPc{YY2|>S+O( z%Z8+FG35z4;N?=dsLOghbRVEMD#40X;wC$@nKc#)+l=XGrg49#6t4eGDfHlcAdB(K z7Dq>|hNY#@kNyCtY2cP^r?UH57n&y)KWr_#SYv>1=7RnC6TFQcKSO?Pc(mYf$$MuS zDP6U30(1Hk>^oV3&khvZ_GPp;e$m?#5!Sy^131uO{A;u=*%|w;GffX%Min8ovioIy zRs!$3P8kK0;g~Uf9#`No>-#rWp}iIEky>w9cj%G3#hdBV5BRM-@V{6E*|~qR3YK3M z=%aXNn#Kzhb=@eT={J{v$$?t4GRI+O{HW5a=T$iGcX6It+jq&Fw$Ws9Wh_#Wma2j* zRXb{4tvd$jhXg=aQ!JZ>QXkS0fh*|XbRJ}{+NZpdc0!kXlgY>Jyo(-7i$AHpde+&e ztfYIV6y1HHt5;HHtF?ePWD+2R{Rq1fOcXGR15nx_4I`7`6h$pI&>KKYkDBwf_aC%^ z$#y9}jr_lPh4ODN{|CGRNZT1D1dFn9FqMC3f94^l!gD&eg>#;PS&e5wFZc*boR~Hb}bVpmvW9rTSvDRkc?U+-WZoQqi^ITDB|HYfU;y)q_ zgB7um>3$!54Cx}=K9ilwSS5(5$-zfvEzk>Lcyn3T@f&-%9;}x0T43Ur4I#Ilp2SD?v^@ zOL!*#kZGGurmr6V<^IM&awti4vxL?LzC0?G_lS3{(JP+IiK56jI7=zp9WNOFU}tpL za$yQGL)G)R%p5IN*0Qy2xuGMVHkhDPV4(L-f9|2hKqgv8m#b8_i6*&jKPHT5TzXS# zlNvNV=z_y(vzUdC2-%$6sp8ptEY4+IQ8(@Iol^F>;ztyn2`YD1+_R-dr}wG|&Oja_TG@g^idC|<_$&Tq3;iFP%8ua_ zxdsQS?MfN5cwE+tP%rI9&uQ)cSbFNsfmn`@-VbhmgO8UUM0^Exs}G?bd}%)gEp9U@ zd#IYU!q(C-)g6#&E`gkQ`W6r8*a@@Y{x8CmIl?XTETCym$;_)Ay>wS*wdKQGTf5s~ zAhAzYun@o+G)DaPHLH5pOz5f91_@6y<=!JsAIbQoK71l!lclB0)CnOIOq;-ZOzx3S zi8)f~t28?j{#~xZW%xFukLU`UyVY%S7x0>g=H7&p-drSj!iM-ZUF9C)`9oETRD_Qg zv%U#^rhe~vZ3oUoOeyQoY(G6}eFVaT*K>ht*sx}^>D|p_wcf=2sI|lt9a$oQ1Yg+e z`W?(kB%xYY7U?+_>Y-5Kz=$OT@8fS1`6EQK7yRMEzflM;yZvaMi=;yEx#7*KA2znG zJ}R&0{8IB13c-5@?dn?6aIflb|a~(zH##`ROIPs}(3Nk|O<&z3R+zA5t5}+m&l5rh}4zO$w>wo)e0%C(K z9Oa3RKl17R49`oBYmN2X$!I|Kvnwqo*uI)&;Nz)ul3ht-8@`JNgzEg0g6Qb_4+^5O zh&>*lDx;^Zc?N*QRav)(GYmK+)$e0fGeYgsS_50*GTFY3U|^fEh;9sjm;CCPV{7Ln zXVq3>WjSJJ%PAmP+0E1Vpr=mFvS?=T62r&ArULqeNvnA=re{F68yza1xxMH*vlDu% zNg4!9S;U`3HkF+{_#utwN;7GewdRJ9#eO%I#FmC|EZ>lGzPM(Zg`eIF{aknGMQsr! z=KfejUt!q80z)6!`rPYE2FTNnr!3N`#T}R_g%yrmg;yH< z#P)d7V6unN06-9(Amlf{R$A`RrwMrzbBAfCrjm{`<^p}O*CSq~W4;ghTKRHiH?=s? zc)z~ScjY_vHOycTo72W>BCu|cO1280G`xwn-}PurKaK&WxU8NlJxnrZ4D5`UO#VVq zvuDjC;;{+?oTA-tWQTWQQ0E24Q=r`_8tDXl%qw$j3RhU#KL|7f?$}PtD_W|K*LtaQ zd*8<>N(mRPh{nbTnQclP!|~bN<9g9-Ff+{q+Ol}LTjFZtXgRS@VPDUt3iKqWOIC`R zHaj*43#({CX=jY5@X`e3t%&#J?G1I&V&2l$1}^HNULEkcIrJZ6t%t)Ajhto{tpa>= zXUL@jO;x~7T?$#=X6-;o%K5>+>e=HWqplj3p3W$qAVdFJq8>x&2z_X&-HR zf>4D*9M>ba{=^hS9l@SdwjC;SkY1G@n>4SPHW^1vtapIdxW-K#XZpo^Ry?tDL^>K+>)GIM7XPaJfCG zYp~7jbz5vSb~QlKI3FjeOh6fp)XFXmmo{LTj$u{IfDtadT5w@+6o_$sz-IIH-BVSE z#3P5@;Nf=Pf8fXiGWXpER| zv)yIbknr3?ZXO;R?K`ME#><*^&*t34AL|Wk+)URWfY7PYvYznt4bPVz#Q$O`qVrG% zdw@mD5XUX~?ihhMZ!7zjP*ZVj=7?5SyACM~3Eken%I_?@x!a=re}Gb8d$qIvCrQDc zQLNgzLOY-Jl=FZM!ms9C{_?$Dffva(>qtKB)l>P>K1PxVPH&RL#R@BPop`Wdgv`!Z z?59OEmurmF$Mf8!n4T7VH@im_>MuKWJj7NJnpdAy<7T%-ytmDm5Bp{VS9w1QD$wKc zf)!w#^*rR?vQB*Oz=jddC}~biRii+A4xgwLA_T8)K!F-e%vqYGK~@oJHW2p#2qU%L zt;0#TBBuj~ZiNpq(8)~x#IG>wVRSs-CG)Nl>WijjhrQZr0B%$@NF3j8R^0qOLh;BF z)Wk$J$4;16TgN#!f%k4l2IBRF_>)}Q+|)qyomnEw(E!2jn%zaDV2wOM44frgct-m- zN=y8Q6&MoBr#0NWMg!6(^w`qlJN=-iW=He|g_jzseTS2o;X1c4S4Xm=<&x~T*ea<- z3AmFeIF8b%TRwO5e@8B!n2tr$$YvcPhr+Aj(WVW?tU#T6vgyxq^a-X_`(C8rs9`N! zENf(a#;SSQY*nl{zS~cO+_seIMIXOS4{*+n?B0}9mecW-Jlc^DW(|WRs_L<`6-JPS zVF0>NO+5(InVbVB@QbFXfAI6S9C@WHbBpTib#fwEBFvGFxIdCE7|9&~wbf+ApK7b0 zRyrY^Ajik+=0o0qK?GQV*KTJ_yC6K`hi@=q9uP+RY~JKu*I-yP^jZ??*$|%l$$%dB zCP&VM0oQCWC7aPXevo6gA=ieAdFleL*Z|7{WjJ0CY;$v#l%D%SC&Saz7fJ)UhdczE z@pfkn8zS)d@6BxU^AJH4Nzz#?s_p%qhP8#}w0-aW(Kchf?sT;AUh5y~c&{5Oe}78 zakNb((ilklB!uKbPU6dpTtjkSz=U7h&+*##Ooy+PWY^abd)t@PeV)kh(#n$LK5RjZ z)97f(xgCr-Ek-72SF13_G)2#dj>-PtKn+bbBA}^|EPZnPW`d(#t70Q2$<#;)x7>U3 zI<}X!miij3Fi3UQFb{Qn zB<*!;PeU`af14SBYi2(IW=KED*!}9ukb5$kkPazb*E%L^ofdp|2gUff~dFXHRdaU_il#pT(3UrrZa4!u$=ELOmrq`)NGj%u{ee0 zg?*RQk6<}bmO+qvbiX2{f=pfHe{IAPE{qm2%JJmhp^tucnEry#F@@T4^37#w{){mJ zaz3$b9wVi?{7nNJV)NHJPbnlBR41~lA9S&TsOO*IoT=-mGU;AE3pwi~ix576Q=f0^ zbQA8)xMkW!mRmvjJp2VV9$mqGi?1`Y`h!6J*=bWW@9mwiCx;nIZ-*{eocr9dzN^7q zKv=T!`i{F&Woft8dcnky`1RK4*OQKL-r_U223feD{z646g})6mji~CRb+Y1V6d&#l zNgIa<#gPj6P~h)LRjp)F_(W??5r*6kcAOP3`)*qIi=H#t)P8aUcJ4mloR3q%pXs}h zzCT#c4T&`P;@>XKlKR|{nowvJ0hhjTFhxK(s`;Qx;8Q8%7YnAZ{|#`w=)@G( z$BG&HC%;iLM+;%Nr8Sj;>xN5UHmX%jskWIC1JnD5<+kBn@RsUq?pRUnwgEhDsn{2} z>n3o?wCX!;FkL9YP(=w^u_MA|BEttIR>-rz@f&cE_#L1X0^m2+_HqDz!$10tyw^t`m!x^1?#&B;_ zSWy{L^fXGhuSC19rZvRiM&thVHGSHnY%<&ElUO1dFXV3)nhhe7e(~z?G2z+k$h|ht z=QV4K^*!;=P2i1zRwx-Fuk@Xj-D#uU^C^RRVaa`siZGVbc+tRvFKdK2))T8WZ__nE zKV8EceB}KwU^HllO>1Vz~Hc2gFs)paN$}h6OPFbTydO& zT?SB5E{>L4R?<&5+k84+j!w>GD+A9&zX?}9o=l`f=%aVyPPVXSYDN)5qGx#Q^V?>2 zZ`U;A=S70q7z`XfuIPI=Dh-BiRK$uiWDR+03DegYC!0kx1!dEqrh^CD%}rXAuLN-K z39s*tTK%jTPdmYtgwo#lW~d_)T!Q>{^n){|PilWFlII7`A$fJd4~Mq=Bft zRP4mUmG*j-s}=74vh#S+(aV{deXaS{*YZo9g)cGXzu=7_E`u&)L?r2F@Jr3POyA8} z9~gBTN#4_6QNDTV`6$WuIoCw(V3&ni!QX-_#wtxJ4uJ2}5)9XKCvHVYe{}c^c2j(z z9jxD*KGEhzVtU$Yp6(KNwhd;b-!QnKs~2ihsqtDcr3vkR&XOJ%>uX|psIxp@J74E9 zqD=oDJ_Xi%^`uJVTWne2IU{3%x3%hJS|fB-FN}ctkF3U>YjS!2s^j=ZS&rL41e`0b^huc0 zV2BZs`y{K~F|rX+DBjhJC-{(zHcM3NjvJby&F)IztpM5=w5xCIzG=|U0B7^va_$Od z9QM9+l&CDoB0fY+>kYhJ@YNoBSwq)OxB=Oz3LB_Uy#$bNC5Q`U%i{=3JD)v9v3SDZ zhxcc|{hb(08Pt|kmT*E1?d*PXHC%iLVQ!L`F*s5GC=hxPIB$%jk9zWJ42h35qym~%dw9ENc8qKR$$*kVBE%v9-ztddf zKf6oiGYPn{Hk@KSmzCz*8R^xAE+WaN%Qs@jQX_YVU7^8Cijyx|7oC4?9zsz@!xHRx z{YR!_K53&4q?br!SXO`mh%`Sfo_Gn*`gSW=kIK6;aBUvk)-z<{uH;sWW{g zyA}=ZTBbKFMPltJcm`4agkp!jdd!>inbRlZFdc{@QzZz&Qpzn#=cd(L<8eJr{@}kk zUj7T7$p)!#H{{=_oHwM zrs;G{kZ^{5hx@pqQQ*|W>`@{bJuP1#KywUxBgwM>MAG-?aj$@S%eaTRUeoSX2>yG> z&1PTfgdAG^Smg&CRVtlWpg|y6RADQen02yKQ>fS*tFv7> zWD$B-{|zZh#z?4bpA41cUUReL7Hwk$*mMJLjnoX|qHpLg@zjKSjFPK5tZw3rU=}wz z>Zot~kee!!=@z*ZK{Yxyk(Jbph(Fb2eSr%NcnWh*P;D%(Af$-`x<_S5pTKmUe6oj| z$x^+I3W;@*+8ysL7vTOp$|O#}&?(|B`*dNm^om9O<;lB@VXv^0+{?tiC@cs zW{T+SNd3sYCVw$GbMM`YGY3{9UVsLIzBf`tmg4(E=Sn~y?Pt;zyRqNADL(2~eS9vr zQn8EPx4lL^AWPQWAD@P7_|Rtf93t8-f^`+H_KtWjXP3>VA%PY~v@M+SI;QKauaaEU z9Yu9`a#|7s5Jq#TBE@1sp19b^BkDU_IkdK>5>kB)H)0-^UlVq^&iKUPnG;!{;d|T0iFaNu&P@y&4BqHS z1VXwM!ar5mPpIwBKZ~r1Sw`?wL{sf1Kw6(ihB%@#fjKXz| z?zr|_UkW0D$aN^TaxB(sdnEKC{lKs2GS^sv@K;9ahHGDbDKNh8!i-yj=5Ia=U4PQ` zaidq!DmN73STF6jNr*dt*e%xhBQjA^%s|l<&h`0k>SJb?Bn-#Iz~XvFpA+_0Si8Uk zqjWE{-RoYJcpP-9PUL!z)dmt>zNa?cIQF3_=Zsqoz*9EB33xzlnnfvkbf0(CQ6b%x zG!(_$i>AU{8g~SN52(@C=S&91 znwWz9f_}BE^?{{S>`>2=SwUzqtqt*niwW_k4{4oTaJ)}z>59V8#Tn*oapT{$EmW&8 zc=5q`aD82ps`jl$}>yRu)l@W8Iz zY7vh95UjkJ9FO);;)L+u2!a?oTshE0jPg&A2l-dR!-$|t8rcO)GCAst-D!+Tn4qr?Ba&q4n>{A{(ebME{^8D~ z!ELXW&-;GXI-25R1jC6wST>4Amcrh!$0a!)=`Xb#6687X6u?iaB`MJ_YJa*{ffGgN z#v+;UK2t1sZJBUuEW5`6cIymi6{3uXe@P=qNvu{`)zg-n47ltp*#<2_odrE)Jb1-j8qiV< zWD`&|i**5w^;sW+4fTq#cSBVrOpc(>98Nod*8`*Ot*&8r*r#Evad*+G`}H0Spi{W) z-g!NMN-pIMn|xPeOH7+^}B-p`9v>Xqrwn6 z>3C)gAUoT`{49o(pEawmk=)88goCjt16qlMV_D4ed^dEP=ukCt!L4F)~b0>nXlfX zU^N|f`*~3%aztx)bBagA;aPkST!Ilcju1Nhz;Kc)ncGl_&)3J_NqD`LYyd}GXu)u) z(aM8g6s^Af&E_Z;?>o&(D!^bW;C8iSAn1A)L;5U!@wWI2+8(2^ctNs5ivsF4>cOhbp4GSe4&T@)ol=`lMAI^wFgfo28B)_1mfV6%WkRhF^S#U07Jj^A$~B4 zU%%1m;N5!9^Ju;XM?|&#+F59CXM#V50Hu@<6L!){B{x*}>Nng8583j`2>B!)meUsZE*0q0W(1wz%_V z`1Q%q&oLt!sY+wX@V${sQV+I6v6nlu&>H5mhfg!>OvyC20*K22REV|1^2R~T*U z0SH>G=driF+fmDp>7Ql-C*yPZ>gsQmx4d=)4H8y=esH@$2Fi+3MIe34@p|Y$=+%WR zy{l6kTmA16cHcQsmGOF>HQ@N;?n~j$t~Q@mINch;Ggl47e58xcA7t}mGVU*pqadB< z;4~=_0T&P*^(x|2ryns({*{)Z#ky%^5?uhmJPtS=HSeOk0fFG9@BKFbWL5=1eq$bH z19Y-UlV@}Y`4+$E?=kx;@^Rjwreh4w{WtxsyejbM?x_8Wn2dkuR-g>~H#2cb2PKopxunD$Q41)M@Fu zVa~%T2$j}%Ho-WY5o}X;{M3e6*KSMVn*SxIc=Xt!m?_q!)t61T9&d8lqa_Qrf-fint*3 zVdi;XI#c{)v8L*>`^1PA0b{b`wim5--4S-6oLDS_qKc(T8O2x@Kk2-tb(8x=(#G`) zuW8h;nwfhB)0Bap5F%w%yg|q&{X#22m_-zbuMsp;3h-LI)J6g4N)1YGeM#(9OP%4w zb-kx#>H}|Uy6F_}=PJ28~ajv5snegywFypXGlS{D8;c`!gxz439}o zL#goY*LS0yTdWU30&fMhW>C$o(du$x?BT;>C+*A8YH-#4GggZ_05yZVl%J%_>-4Yk@ zohIsT(>Qyiu!DX}PY3IJft@({g>o$nQf?aP&V)oZqO(ZX=B&*VPT;22<9TYU?EMw@ z$yA38vRcXMcQ>DEL#fpOLAz1pzDqgNx7v9*Zp^<%E1KHOa2;;Xx!0xa<#pc{sW6r? zOI}K*x(@+>Vb>|p@IuuH#dW!^ZgP7n_5k83Fdy4hexBf=WWfIADPFNIK&?E(Xo{hF zIgn*Fr}S!Qv8nh=FqW?nM$H=^IHvbLzL;LrTyWB*dR~Y-X!|;>61MX>P`Au49 zik;)2$D!f((&7oyflj9j^c0Z{WW%#gDxhCi>g^{uP{i+mU3jZ`^?C&Xi+t3i|8?x5 zKX6m<{gt#8m=%=v77Zk{NIwFEnAU()zt8B0f@Fp`ZRboQM7aZrMn8ncC!c<9_$?BB zbDnZ{$m69b0AVH?2k~WO>^48H`Z(>3OHc3F7Os6Xp-SwwGoQ+fc70+>uZQe&aZ9mW z;-Mdo6)SP1?@X<>uaTGjbB;uT`9bCcXS8)!_i_;ktRJf2z_9CM|*6UF+GBa!6- zM8xjytNY3*DYK)yH#piXY<#15`AEC&fC7_DfX(eiISC^f%CZdklxkvw1Y5sc=#_;+S#3n&urw{~xt1@1ZP<4^=*ubk zK43S-q%Gs8!&Xc>F=+z4^Z%B5BHH^GYq^0>j$G>aIT8pxyt+#|4$`!+CvNZS!FpK8 z%;v3Pt@>FX>Z$tvlkXij&@w>2hD9jgS>IOKIhB4kMd3|(>R$3olugE@=dfkO>)~6B zvw+1#(sPn%8hKYamIWT8wcgaa1W|o>5}tMI+L@9S<85A-`>&D{Z6!3a`fDUZ+D_$> zd*~tDrB(7Y2h%0mrr?h5cfb7%L=hpef-Z|K9wUsbE{jwj8!#aYcZVFem&9x4D;3F2 z41D-LD8I-%?C-Dp%t{r^wn&DO>cBMo1z#`b>&Ae+l!Z@bQwektSzZ0yFF8SG;}7+h z`F&>{r?IB`L$jnj8mug|1=HmD}o?u<13>;!n(JvHokq zwOkj`Yh$fzW#}QMkd@SVm&19n^|4K$l*t++#;2ewggYOj@nC(nU?#)gX!P56mzTHw zqgX~m-U`k(3($#4x1T?3UEG|v*(`XpE&s_!i0YFcpp~bM4O?6aFL60ttDnI@87{v) z6NmFHk=g%cnpp3aXX$zN&_S4~vLl6|YcfhQ9jWUOKn)JW->H%aM-1Oq{zz#2&4}n+B zr=ywjoukZ`XRr6I+p!`)uxAYvJ2T4uTZK*U*`6L zjLvSPH=e1kf(@Nvv{ZgqrCS8c=NNo<5H%;xUuUxdxNwoxFhV7y?V$HJjsxky?8tu= zZgU;yoLzIXW6zALHPb982{5gYRho?mIFo^l(iX}DiPDR*L|IJw4R*T;YwUh{V)MH@ z-RWHHd0E*a)%Y9{l^R2)C<y|J=4x#R_RAZUm?;}05HBQsQ z+NC-p-S}i^bBl%BG@+eZ=mF&{7A3DmJ|46a7{V+B;wud1`ECM|dQ^#dXaX^*>@ z^h>K-8lxTONRFVC*Ny~S&7V)QPP<0ODm_N@xZTg|cLal+;VRU^P>ba{AA?`K=KO@15 z=9EV4FlIvt%Yvo?!F)D8rHg}1K7kppBIheUPXiaD|H2ixG;^6YMFS$nVwhQW1{7($ zLkin=^pBu^gP|@cUOxkrX#Kk-ZXCwdX^<8LUw_`>LNm0~SleOOya5K!&3V~CSa#|9 zQmpjRoI?kQ9f|^frFjpe|Lve!OjQ;JC;KtetxbLv>yL%C)k9XsriP=RGMNnnl_gESn~@hNg=D1m%A3G+h=wSf%oo5yERGTv>>J!?97 zxEsX7U!q298$^~wN(yGW6w>ablcEj}Oig1MM#OQnK(IWUFjEDYPTyb1BNQdb-^1;` zqG|E)GBrg4Sv(QG=SK6re*KGHPk=u*N8a=XYjMIY4`p*qkU13hJ$_plQC0X_jx&Vj zR{O0n143y*E34X92mHY}xm1>E_;kP4yBSN}DW&)Yy=LTuFAjZ8;z8 zZMPWF(p}^Ef!C{jFr25nzzy(rsnOdKmjdAQ*q`!b@(J?=0uwgN)%HA>X4=1D2Fe|N|Q?i52?|(!wZ4Pa0@u9V9TNW2*S$;8A_a%^HkeMzr!8r?DEerZIUM=~o#$m`{ zSJXgmpdXJZC+L~~mr8pllBaVmpt9iT0PEk3LH8gyFAO?zZtJ|q?0jqaeldf}rC39p z=muzNauKo*3$C>|o{y0)uF04c<17AQ`7UU6*nFkOIjP@JRZH`!Udh=iAp`E87=!)C zgC&$^+0BQZ6SB;DNxz05o9G*=Jhyw+;(djo}17b(b{VnF2A&WOj|iCgt;}Vz|6sgQj@0NZ1#7w)3yEc9NE@P4V@PjYX8IVh963p_NNPg9 zo8&UR-{6hd=Ao<0#?GIQDT<0uw~97&OS@FZoWS+iIPELM<<}uH=mxvV?#Pxt>@}J?;n-7=XSe(Q2D~Ot?!bNVsZrfo7 zk8uqu>luZs`;=Zt*F?U)+x6l6KI<@;3aTrCx@Xg4Tjql;B;a|mtLU5azA7!CPztQl zJH*4-pJOU#wl`^2Uvx1j>Ghy;c%Ii>I}esD|O1LZP$Hw(me<#IwJ1vq982E-@I znGs;-!ITPv2*&I>V^j0TkA6r30&LPquFdIt8C9UgQ3BYz=|E;wnLS(6z9{PZ$44L{ z0Vx!A=mN|Zre7B(TX2P#@}r=ZY&lL$f?m2`u-c7A3$VHXAx%(?BGX2t>6lB|1!MHvkzi5&tb39lI57sCgcVVRuuML$~-om-*Nm3#u8S4 zP-A`Fa(;@f|4paM&bB2x9J3c5?ZaAvFVyg+cHgbxK>vWLh9h^l@}AKktBfOeq;iJG z*d~t@7P)d5ptrOE7l>Mopx@s=aif1e4tY4&FKquKsHNgACOFDuV zI3M{1Gr+c2g(C`k6Ib^9=LCX&h?jlkE~3XM`TATN+O<}1d$ek0-V&d78gbCLRr13I z(ZN6MqLVEsc9uOv;)btn@Wqi$7E#JNQ`^E49a&W;#FVdxod$L(cv)p@l-ck$vtfwZ zl&;^k8yu*WpW{8xG+!#ZQB<} zv{KUEe7$lk==e0D9?hHf=OSGlS&eW>gdFV;8T+cnwAR+~U#)&h8U z9GAUK;540lL3Ten8VJa+=bjMQp_}@Qvz^@XqXaw(T+WJew3*mh5V5zok#f2uV6MIi z!YL*@*Kg6n+gqsHR_u6lA422_n#*b+dv#uq=J3W*>`{>%6rNt=UwjM_{((vWbc=u_ypGSN}=E5+~nScjb)Nn z=o%0Lv}LMYPHl5Llwr}hX6#y#%ZVrKUc)$zONfHXuuJifskfwr_71c(=a}Z|6JG&M z1`F`c=}Y+ANHduibiZ)@bQMR>m!HSULmGWpVY;Iec873{?+Dj(cUPE+Abj9|?y@|z zx{8KL|AwH@rCH#jF|R_^M@nlA<=0Wa1tTHWuw5H4mIAZ4OnL3wgP%Rv8oI--dB_iy z7_-|V^Ogiwr`5Zq++}?t_vhp#pEu^z4OXNnZzaIZ_cYQtu-;#X{!HPHgn2+R1?W6I zYVTIEpD3Cu=lulqm=UPH%X=)2PCD+-wa)~ zmU9l{I(n93tHRM$DYd&#Za^BLmk+Q3-++D|K!pEQwPF?l4POID)HAv?kaIs4Lx4^< z#EhNkj!il0pst>>*$-c$;Ki*ZOc5=|EkiyM=)pJ$#3tR7Em3+7uqKU=rhq$?q$V zjJ^IM4F*;+@bcqR>ym%S`5Z@nj#rjxog>^P@_!N1mH5p-;#_+Uc`M)jypE`N{9((g*G> z+}A1 zeydMU(Vv1)zg@#|XL$vIIK1%=WJd-6^w;hM@!xnTelK|CRjaQXx{Lpdo|9c_+o>Bb&*@fVG3&+IhK4)X& z^iix1wpV5%rP%iXz<%GB%?fpKs%PU;pzNavX?kHCx^n5Ghk@qZ>t0+wxqWtQ>>2c3zuT z*_S4jeyi?hT`Jl4hokzIVE);4tmFi~AB@oJA3^6tg>rK4TYcZtBWEv1>a=UXnIY8&W^^Eqyw(&JZ)7{WjV98{! zbD>XkkkiZY;L9_gQqmGHCH0Ai9wpwLMB1m_c=7tC>>xc8&Sj0B(`~_??l7-@Af4CD zP4}{6+B$t zWLs#BVs?)$p^B&jj z)H*F7)f5H-&3IX&>3Q}+7g~C3S`Y9&J}rxYrmHJrnbf<<&YEvRt)_} zg2WQ7$>DvjNW&y-G<8Jq@dsTD69~L_@daRd7mm!5Jr1jev}*O<(a?yP8Yih>(;l}LlXCRsNrQ;c_l3qa1x(s?5Fr;5TE2x$s z8i_{0Xx`TsZPmY$e&G`g#IkCSdtuH4h60#F<_a5rasHl1NB59gc^miTSF~=K#M^3p zv8PcHsjtqj&bIhF+^>kttG1h0$-pOF@f=q-Hyl7(2fboeLTVDdx_KR=dDSq2d-r_t z9Fs<0RF~DTRo!`@@+Z;0yyw#blZ9pflQOadJsk_bdQZgOQ>DzwaIDT!ZC}Fk~L*{4HrY!P$I_DuJ zdR5cYWsie#z)rmGHj9MAw!jdAblhxV{#NB!cEEKH(Cu8q0X{HKZ{&ojHwd+5b-_H_ z0EaiGu9~Fc-Kw7nucKtvZ5t62 z?8*!3R*CnC8lY1x`V}~AwNSf+seIcrX`GId4SVQC2o`YCx0HUk$V+vePP73B%vVrZ$f^hIrr*teJprM9sXTkI;fViXl3 z&HH%g^gT!O{Cm&&oqO)@`}>{y{XFM+?zl0-9c9ifVfcKutq3HkbbS^!u7!yEe`oq{ zCnp#hy+K69qhD}Jo==%HBAy>FX_AbzI%8VK(#zW4M!`O5-Y6_JpcQJBV`etK^oE4* zSM$CiR9bo{ypQ_wmWjv?Ck=ExyR^=s7?!gW;3^~q!J**pcAXlzgw#lK!!Sq}aqxZR z8|Tt;?U}GqkWlf#s9ROtR7gWp)8k$IxQ7~*;iX&f0{bvhZC#uH?di<8wnO?t5^xta zxW{#veSWviTY{ym9gb?*X9#cwC3mve|c{AZsHI#bymd6vJEh zn0$dQ^G1zfw{KQe$aiOu@`cd&IPx!32lXEJ=RiaSv+Hg(hpc?%i3PCSFi-u2OtGZ> zoW|mMsKoHt-1GJc@3+$rV;~SX}WJhw0)PkZ_ z&Ak~$6W8a+R)O@R7yMF?H2bqllR1BQJWe$sI(KOhH!MP^G^?0=k|ug6>-jR~DQDjj zFdC^2KetZnaVv>bL-CZ5;*-RCO*81C#dk=P{BCN&q=^s-0p^S^CX6YdCmfER5 zm7;QdoZHO*aaVBm6FOd>Xc57)dU<4xx?-n=ef^9s^fg`Y7p1>pPx1+Q9-Z!(A21Vn zDUp@Xu#Yg7qm#r5ySVn9$X>|X6u_T^? zXG$qxk3ptK7-G|mi*A*ORZq^zH#7~i202`5NQ@&}W#~|u zP+@ZM-3_*C%j1$6TvOSp-*l&0exi3mqqMvoD-7azS?+^pr1gIB%L>gG)4*k^#5YhV zw?g%Uukc&i(=7L7BEny$T_TWgW zz^Jt6HU`O!3kr0rB~!`y-47S8^xUZoTESw*NyZj}%bn5CsKLKNwWyVTNtA&5_+2bR zoYQ1D8=cE{ZmgZ#HZ6Ma6Vc5MDFnT4LMjsC z{BJM))d1dbk;~#xDnF|;kkCN`YYy5p>&y*_z7(s*XU;o=ezvK)rErd-&{;U0u=@OH z+>)O!@auton+GpK+%hjL6=dT+G4mqSa@#Ydm(v_78VrB(^qhpO|F}H%`QsGEubwZh zzb29;pgvpCZB2F`vPmcK34yMPUM_Me4`0nGzLZmhH;&cG6n9n2Kq4p+q2(_bUVchBU zG15X_r%FXYT!UQF6%#(FQTQE`=J=h=n+_*vFt;$qD<4ZK9Xr-l7Q=JR;7*1$9!j;S zlf2`|39p8C#fd(lV4D*mB-ttvU$3Onup{tMPU|<-bzVC?wcrFix38he zSlrgUI`2g!&ywoBR-R*u2AcohFW5#bBiu-9vzuWZ8_KTdWzxV>8=E(+k`)1B(2?*# zlifAzoh*0Igy^-Km43ULT$G^;V7A}Q`yh|sLV#EQDd-4x;NoF9JEJLY+;&3i|7^(Xb=fvFw+zV9XXOJAxhW+q>8*l)MZSNSMhN7|s?FdR){@1#!HOz75ob#Nsd;j)Ee;Fx}`*)w+ML|Ki4-$PVhk}AZg@S_q@y;#a6JaIN zK@=2BUSlC48IX_=v5d8)fw7rB3W}(IwDN5g`3~F^HMy6SD5!F8EWJhV6O(_!6>zS3 z6oHc79QRORZ7IXs6z|^fFU3bKQWd23xGj@-_h>q6RZ3|s7{85T3X-TP`NeQ80!GP zL1J0L(NT3ia-kK-rbWDP!?XEKQb+9eU1B~I6wMYK@w+#OJDs4Q&pMpGPnN_!cs}fj zoiigZj+m1mpUf-;1sMvB-$hYPhDPh%OtZq+4kFQH8~C;Kd04m^F97A2p1_)x%xf6+f3)i=hFA5a+|6PrRjYajmgmvUxf}1fE5tm5)%xKP=h)JY)zOrhDQMLo0h2 zeNxK+71znz)k56ipmCGP~KPxF`pbdM_g*O&QI{&s{6Y?Xe`J=vjsnQGONBl|m>_NmjJg z3@^}2yh>|lCB|JoyqH?YkiJ9s$?uctC#fGrTR*Tnq-8@;lV$i7q652#Y`n$}9dHjl8#5hEZq5Bg-b~sI z<5!ZNz0f1s)&$Nt%l!{MJ?A6*dZ}1r?WwQIj)vXWFzr#f{Rms1q1@#5Wz{hse#H4g zT_f~KfoYRkJxL1BSJG3zMlVX*o~(iFq3p4R!15BA*Q)0sx7ILbsj;=~rC$1=H{LI=$7?R)mF}k9YAd?NJa$2pSQpUzk`sg#<|yHq9M1jN2Hw)0!(J z^`zMT$8Xg#@Wum;o7HC(X5Y+m&05S_>D=CWR2KS{1V7?A$UW;RcC3OZ4SCVabuvOy z4GOz(zOcb|13hJHD$Zm&lGrfXcJ6kOj@SOyT$5Y16KOuLED<-wLNj zV=KzV#`TiRH5ts6XeYJ8lc8%X&Xowu>`AvwPt9;x#NNA+rnYmu~6PqoBbc zrFSLZGN*6gF4st>x+BATYJp^d*ntzc2XuKc5>PtmlbBaA4N3+|nT0v3gYPG*b5xj% zYzmcCQ_I{fbxk96n0s=*FUA*ny=to-t{&PiChVqfvdGY=noxAf;O*z@aZf%Yzdi8% z=gYSAzL^Ztm8E4WTXn=RW6j`B_!O$h!VQ^o-(yolhP#NS|IWWskz~wo}h8-`ZJkTYv5^!_*!v zh!n&L!tI(GTuDg%6s$i_%72f)c#5J?%EQ;g_u}0J3}pw!Lcp%+rvOyIeR`-Vm(E3r z-js4xKTJG~Z0W-;WFp_Gi3Da4=m=m^ z8aQ<|sEiH!m-)?pu`08QwvwI|X_gM;j}(x8np#RaqoE@+JKM|+vImuC#prdQ&ZW28*{h+;(;5{5<{PqKn=eDO;s-;C z9Q5iJ9g&A;_@9EJf(Y@ozA=uQSZGmDR?t+$wk;OTHca2%R^F^bclXx!&Q*0+g_fu2 zpXf96AYmBodF{)O%0HWaF0uY;!#)q`3G5h)fv2WMG}d{lhspjT>wC1||DG~VDvl>z zXpM^giG$Q`{5NZz5;D1R#Q@PZF@k$`Goh}DT~hmjYl7h(viiM#ppM9W>7f+5gmJbO z?M`oM=|G`CkHi4!1xfRG13vTp%G>>_{p{TW26`}~cwy0|eduuo2roMG(W$Y6MmrB=x?c*mwPxNUgi=Q`c ztABQB@l_m9ELTh}$W&r4E_+|0*Bx8MXFNx1@IBN`ZMkEgKFyp1FHDxf3*gDz0(RjCJ%qWN($Nw;Hy-HKt}-Z(?HqbVEfw zaH!Ly&LL#P$yj-_xRoonRG*PCm8C+@ZKwtWZ0u(VU>K zJv)LG)_tneKd3}1jbQBiLwWAF|Jr{&Gm|V*FT(IboXBH2;pEeP)@$Hzg~_Vq`nof@)8K{k48c$KvB}y- z^X0(xx{KoJ3B-Xu5hlOcMf<7aqI_p=ZYrhQOE=ZC!E@7{ns!TvlY7S}E$SG`TeP0v z0}S+UY&sL5RI;EfZMwcAEaJJKzMH{QLG$oXTE*#|!eeQamFWu?b*$4m@QtRFSDT0E zd#r6J55;d1_Y$O8SoqjY7v^v%ciwxHa+9sqwVSRT?IMS&CyBrL%;w&FK5`nduO&R_ zsAoyqe?gkag%|AXzMM3d1MnU^) zjuh~I`4a}bF4z3|elx-spyY~baXhWhtx463x7e~-~W0^gws$_s%&z`MMzwZ6WE zjgh6TkJagAmV@z8RMiFr1(*Etbps?vwh8P%Y^{>MHj zJdRwz&|KeEo7mCZ%)*Atk(cC;8C<~l@?!=P;y7o)z-1Jv*jfrxqQ$+KYyN6-_iK@lPqlh zx)yLjhRbgl80lX#{IfT(l;`qOE*WD-eKXa!#^wOcfM@VAGIKKV{ITG_zWV*hD@#>= zFJ)q8VY#~W%2)rnRMAG?TFBBIc&IJkZ-)J~`0AH`E#zUiy!#be{7L9PJ_RVvcbA9Z zAFlD;ZM=w=0T}<>_^q@8@D7OCtVvpsXVH&64JTZO)3eRH^e@R0w z=X7zxIT`KNGx2j2k>XODd@`2W<8&}-%4@n_)p#G9~+`Yjb|jCJu`eNJ+GWaJul7Nty9fzCpQx_E6xT zU!vZgAY8FG$`FljCE6j~=U_z2j=2c>)#qK=%ToY}-EK2xUK5@cRhPo)5P0>Wx8prQ z$DoB$^I~J2uE`+jo|FA`Q>hWse-3_iBVggYwHJ@WxYcb8G4QEm)B4qU0?ruCl$hk! z4%%+tRvSW6ofhNY(u)&ZJ^1e{2%vbeJZ`svYd8R>^2Lf#yLv@0AFZb3!^qCMt=i(c zF1NzDZLW>}TxlA=uBt0kxVqU5H0x4M5FfpGhm6%%ap6Ld? z15sNIqn$MWneBi$PUuxyTwxb+SPrTa5{!6(9o4rxW36`etB;#^1~J-pUNBTlTqR0?_ZsFjf76fh67FPC`Y2}^yGZoM0S|v%;63nw020IDhq)RET^Dl zEAR^z`~Az&=GAXtM_D5)wDqn&EDVY!;oal)&Ah}kvHY+BKb6`cHIWHBD(J4uzcPU5 zV8VfjnQDvgKPc(x2||MQWa^6vv~m!d`dmu#7W?n_2jr!fL+)Rb!)xna3i`9(xJLG{ zn`q-5ym`;1PVMG;?C5g3)+Y3ky7DD11~PK^Z2xww8&BG8F3t{^eXuvsug#f8xf|D< zqJZ^%wRTJ29g#C`TB1)zm3?e%&3kR$KWZXCjJO+?7G;xqpH%4ghbUg^Bp)JN<=pBt z;lT_$+;D4oL=~kV^`La*>VGKhKfK~p_C(80Ix%~Sf9-+~sXk!)p!&R_@j3noZy`#w zDQSoaPkW3i&3bLxZ$StPL=%$yULmefATQ^Zi*tv|?>_rH>h z1^2Z-Zyuy2ZPj@Y4DBjIPP92=0n9wvU5;E)n{&P@hQF^0j5rklsy#pc@D%qdIkHLs z@#1{w@YHtwkgL(=6}#Oc$9WQ3_RTF@FvZo0|4{!9aTqf?K)3jw&$8D!1VN?1Z)Yb? zBPlG>YKW;@?E;Uil6RLOK{9t8?$+3E*7n`%PettAyqFhR$+C+575pD{6L^ z2FQzxJ-Aj`dK|zAJPa{^KJw9j+i;muz+3K^R~~uiDi8Wpn#gVnHwY)%yEEpDukDQ{ zBOz;*uQkv!A@7KmpD)p_KL5(fc5+lQs)dN#-R2}$IMn3zX)7b{l*{E=>AJYhH>=HBI^-w|hR1N?}YnSo3J1*1hbK5ifR!lj;tT+l}YPwDxtE z_s#oX@9U%9M7EW+&6c6rPdgbE-w-nOyzanx%|XgrjwY20e$|;>Wr=k)3WgZx$oC zF!zvKA)E<;YP(;$;W>v$`DE zNyNL9v}q!8PU8(ztQ@{G{@Z2(^ti-=)Oh@^7KB&t{@}%pNX*Cj&9b9$Disb|ZBbx= zV0IRrAQ|g>)2DV_Lp-NBB^2zYeefoB0K zhbjy<8(^cDTw0oy30mP>p6#bF~r`5@&3!1!|ZNI(!DR&%ZpT3kkov>Y4(ON zfv>oJ8yh9GEi6C_a2KjaA2*G}hAs~B8zrU4mj*kuQ&(OaEC=^t| zP*jGgtQHQK%#(PI>t5;isUzq=L^|r>MDBVW*@}8cU}3gg-&_i?C;ZiOW&WX|{`_!L zFm!jge%vmnt2x02JIX8-*Xr8z-&7RPK^4Rh6}0o$cx74yxQqm%qDNQH;AMt)xiQ|| zz=M1&+J5JqKC3uKd0Y>Gb?f~k5B`P3qUuewk2(tIwrI(6$uYz_tg`T~(U^D)O=3HA z9sS2_!^+Rj%E@}$=M;cdu&F?Mjv-bp9msKQ_7#~hMMZuhTQ}~A$d+qxW_7Y^s!(0! z@Gk<%h>=ieT=zB|k6(lMWsfmU=ae@TEjq_t4$4Brd%DGYSOq~nscvkD)7gSKovU%q z)ywp$Hjz;;^Db7-lM&)zh~+o={-zl)niu#(H;uH-Pgfc`CF5NHi)*zEc3S5A@43I- za+VU{M+cm3Sg&1=*c?rQNhXTmt_e;RtQoMgx`eSQE)9UdcgmCgn-BvOCZk;L0@ao^ ztIft#zWq%jU}T-_3Aza1A;cr(4LG>)k$#tpnmRD(PUA zYd8DNnM(p?zc!EGy3O`i4=0(5}hm9;edNXBbU!{ zIe_kF0?{bG;J;-|0@i5d5k^tb)g4a(%iST9g>~%=!~|#(Bw^-o!7V|%(Z)P>7l(K- zgj=wqd3my4f`FG&u;Xi)$nS$*8&ePw_&?TP{Bf{NS2Lc_`RKcKX(+oFCL)ASvUK16z|kIRqFQg!%8e8x;`H z3HSboQxFXoaJ3HW*7q4b1R`}HOy@lSyEw5sB)7)J#w2n8Y1jS#Bkdv<^gsBI1nwu= zxWAyRFYW-W1g3%H8(OXHk(>>uw%OPlKI^L{qx!!>3Ly1rKDkEthwa*^6i1XRrQV}X zgDtT~$)@1Eol!t8;8u}okN1}U!ZCjyvcQs4^r%SSG8Acv_1N z#S1wwQ_GcZ%{CwkBasec`^}AOBLU~jtT3e~y6$S2=H;W%M1~?v=q|(ESbJ#wM`EJs zaWq2C@5k4v^h&KAjHr&vk$eUUClP)#hao^rdH1wZKd{nrs@K`5!FewVIYD0@a&Y(b zJLsJI!W*WkIHdnM@NvwXSWMJh2rYF>AYQDAVu5HfSJlEVp-l1zqe0n9MbG+5EQwaj z(9t1Ghl==2dU2NRjKZPeGeTNc5yYYU!Re@1%;#UE6RiShnTLzGp7MHz0(aWV+o!8G zo_m6$v{(#pCa5q5=P|b#lrS!Gu#;06lk^Q+&FK%9!u2MO_k3x#A(DwU3jkadCP$h4 z82sw~Lyj=il7{n~aVL1gkkD6ka6~mneByG{Ed3rSgqcEeqyg@l5(}j`LtwO5Lb-K z98fvhu3KYEJU*4t3A{1HpJz-;#^bi>1UexXRD_5jfaTPQs4GTZijz~0z@b!9E{vNm ze9mP9Ebpx8roSW?#HRaFkUE@F;J?v9QA#iM)HHy(d{!RA7AGHf7Q1Qvo?Cx0|7MqT z{^-NTWW&%Fo0s1U=dbe}k!=(#>2bU+`zlraj7uuzHuBsDL~^Ia(HcEH8_rQzz{!Uc zA9kk7G~I?PcLFc~d9U*@v?ekQI?0}6MlAFB^i4LLWc4ujblRNVcI1tri;ZSbmU;)_ z{qe$f%CCWv@s4mud=rOAM!^YT&ev0(6afd#+d| z-MiALm(IGb^wyL|Bj_E3m4=Sa+U@%r^lZ@?61i_OFR5kHJfrATN%kdM^vEzjOVV20 zav9e41C^M%7>Mh{YU)nZ+QG{2;&d&b9!Ms##N;a$ptZ_ei6jJQ(8nIo9j2-`z~&-Z~mCGagWwVE82tq@Z-Ff3HGE*h2dKZ!)L=}=<&ma$O6t(q97u6 zv0a<{CEb^VaO#k~9)SKq2oSL{C6)OUMB^3~e!}JsWafA^f{#?jo}9{QBFnwhe$+U( zV>vgOrj1aUX+|~13@6GK6Mlep#L`cw`H1=fyDD^ z^?Lp6kIwNu3ThB^d|`3C0lu~BR7*j%Ojkd_0HGTLJoQPM^@13nPo{F;K5EN1^9ci{ zcto(q!X|~z&YehFFL4iPi?H#R$1$d10|{c-t@SVE(=x=~zHm!5Eb3MfmD$e9eE45> z!#Z4`SW4#oX$SVvv=11AA8EfnDmucXk8QCr_&ORx47rN;%DJ%8c%tvf0NFU+qSQu4 zrONo|N^!um#FKlujlDhdM|HBYx~u9hATGa{ZanNGb~+4iJEs=?{-|O%3uR;u8=!4k z^OGXg3Z)fRBWz_84`*mMduLJ2xY1P86XVFo^LM2?XTHn`Wr612#UGdB-@_1#AEvtE z&;B&wUg{KK1vpW@p^ie;W=GUBBAVv|+kK1UN*FZXK$IP)P8;MbnH7?9GT*(?=W8|L z2H%c7E>2=kH-Cn1ujeanceB%yoYAqF3=3#_m>c1kGo4!uw70>h+f2`vLiX~-^ z7h<*amP#L~x{o)Mtdjc?#xOw7;vPJ(^^ORctCW|H#(k9lnyh!~E=4^cqe9=lrbTH2 zt~xRwN(=g`leN@coi4dT(s*%R$6`71PKg`i9a|!W=D15wa$gpRlymkADHE$|`MkW- z{KbpdP(ID5JXk@R;F=ne@@scUUi&TqySjrCZ7}rFLqIL?V}LzEa-vU-uM$%m3da z0TXmm*jFbK2HoyG8uKpWl_1@`gr?hR5JI^t)=a<~b<1C{dSbYGCoqr!3ji%Z zdR=i=)^pu8s=O&s`t_Fw6E3mO-4AEdw{R#WV>IC-udG<@yF~NchT`Lo$14m&m!Ov1 zYo$Nue+glA%bd-H@^dkB7DZI84z-NpGH6PK@Sh)wRLG|ii@16^Euf)c3}SaP~j?c`$w=R@byxHpYiC$nN2}nJ*J`);NJvB<|=V^ zZc-qbz8f{>{qH-YX$iROv7_Gj-?^gYP0GZ4jP2||LvMDlmf2sTi)X(~v4dc+t>=yqNJL(i`4{ z>klk3Dlt!1nvA@8#%e;0NQGNE)+{p zpjhCmK9F4jtWm#vl@>OTB{x6wNXn4t6&T)#clDYxQI8{HLSwX608i09t1 z)xy#){2hAjai_A@f;N%Mh~cENeJ5H6@>%R%yS^<+L;-B8>AI zd&HtXy=L5c=ROE@8sO}97GI)PVr66vy$lo<)hw|zo>`rKleIP|N(lE2Cj<#z94z55 zeV7*an%g|)>X+kdI1mxrhHEs(6CozT}I3M)l#mOrCy(|1h1frfw(lV5_9@ zoF-SfaM5lVQ~y}AK()fzm#Hz5z@lEbH3WKUna6#8x--gIk(u3d5enW2{x3N5L6ktT zgiHdrC4}yMC5Q1MSGG$_z>|nREh%vsnhiQFc&lnFy%7*Ii27XxQRpSHTP`mLhW?JxEAGM(IbRYwi^y0vADYH*i(bhitZ8aAEu?m;%8uqB|0y}h} zos=1drWaXQx|Dg;mv2|sgztQc9kmOFyq+efRCE;yvA%M!R3YnL^~^de_s+ekSK8qJlWHPmlBC1#WBf1rq&tD zC0+Co3=FaiPxfOCPx$bj7C=e(wl{se7`LKF!XL93Z$AcC!|!j!c781G$7vVnky`V_LX8?tciWsF(t7>m zcSAU4?@Z+YfpeeCRacV+)Q2!I0}6urD5%&Vu+?#(mawSe7p;aJwZd-pjO(Vvk@bS! zVqHH8gS`HWl69i)wqQ4L7*|D%G49wH8Lhh2Q8trf`!CG(S?PLghV#QYEbwy7nEv*B z-qs98>S`Y-k|L-h%4lIwn<+9<;==hX+%o8)WSW&_o|ugDR<_{wCTS>`Avs&u%_5Q_ zBvKw43zg%SeKyv`lC=T$JKyo7(>niLX*9@I>eApxC2nhM2rwcGidSvn;y$fXWj&Gb z1mB>z^DiBkWDx9Nn~^j8)So>O!nH!xlb*Hh#&fogZ@r)hcMkda*ty$Ge`WkcnqPy) zd{krlQpGpgdScyX6XT-uZd?g<|8n&o$ir3vJdg}U72}-YD`HSt%nKDggJmlym%bsU0>PX8cz3m z;F%;VDzll7K6f;hd{&^) z?Q$WfYT%tC1kZMwde?>wE;phx=SYV~O4BdkC$1cntvCLJ@@Yg-Z@oUhb-cgIAkBMb z=4$1;6Ucz12<1Qi=*uMaUjPVD>H*UW8pD#X<|D~d4K(PB{Q&qvd@x^eRxC5sK-oJ2 z-yimTZ|Eyyx!tOg{Nq}9d;&cC#_gKFQ#nomv)X-&pK_fqwYFk1qni^Ba&=NZzeFl$R~KNhN=)<(xT92{ z8*CkS*4nd_FqId+Vfx+=o3%{d0Y^dP9W=-nH#=6Sp^dqL}o> zHa1A>aH8B#mnrk6(m+dnawoSRZ>5PNr1}uclqA&wFV1`00_VLSB;O=hap~YC?aK`1 zU8ci1)cHVAl2w*=3y}TYm0vT~Q)gJWG?ZBI&5%i|_&VjfbolfS9dve>iBi+_m?NXX zU4ZAvGU#4eWchh6&=6`KlTEPshTnLK-m#iqBS9vX3UgG#T0;iY?(c~9AIR&W2C*_Z z70@@~q2JVmS7i8*>-^iC-rT{ITAqoSA>wCKp~XmYTGm`Y7VKT{3moIGg3NETUA!YG zZZ{m9KR@ap8MA2PtWZRi8~Q`cL-#z2%QREjjp3vG~uI=#0M!*{>ZAf*@my@t(Q<_A5$2#!0R4Ei6fWg$$7xEu5(y z@DJ=xoQFygPic}{z5WC6MiT(!5A-nw@(o5gXFaLV7m zWU{W+lpj6bWLht0dd0j^W0lEZnD6}+D0OZUwwlQ)v;-3Kh*Yx%oaMSRh{%8kPbs;d z6tS3$^FTQI!SqEA-K@$WaJl{^-c$bl$jza>;HTcq4=m=ER=ha!b_ww0PQ$_3SW+jE z#~QB2dm5vD{n-^blw&oN-rsJ6*TEoRd8H3p65%k_9XC8X=#UpF6=Bn3PQ3t)4OT2s z*(#EVO83MWj*=22VmePGw7vfbNOS?nqxt1i#05TJZs#oSRzI z(ANZUTIfe!!t!T!w{&i`Bv{@Sk!}+TI5Q^)?>;R4Q{ry5>at^}2jbhDG8?*y3om{e z7>t!K80I;@Yb9rzbJ{aJjua;1529SLFY2u=INu958#M5;?rQ{7j!n!qf_GM$v@<)pMM5A}E+{RG!l zSB@9@tCK|qcC%sbch2K0PA8cV1g^5NQ~iv_vyuxm(K;Ps=pmISt^2#n%<}~$jn%c} zl3!}q`d%oNZ3)U6($zs6N`{G^%$@+{Ps{mLzg;4R_iL_A$MUXKdq)5d>8ebIqAtUL z+WTIAtAju}nuN9Vz`5BdIrf}|Zb-vEviwk&m%YRms8y(9=Q-~&>uooe$r9=J&6-C% z8OQ7AZ(22D1y~XrK^_3LY+T2dywlhGtRm>!IsKZ{kW~$PTY}2&rqD%<6d|{s3Q}wp zUZllPGik4El<~{vEG7H_UXo$$cw^&9%89PoT^+hEv&5kgr zGf!s5)_5cXT)(xbR_?T8Ks(_Jt64JPAd)cD7gzL_i&|Ye10YSM&Zu+46_*3v92@Vx zaqy0Q?`#Wl>^?8wMg2aE-B0>KaKB!bD$E+a+W(C<;S2j=?Y;~rW@=^RhULhumJ-bd ziv9cJX-^%J-7CI{hLa#k3g*5G`8vT+7Y4umSk47OV_wzg@5e5iDQUSL>C-V9BSMl- zpcT$C8E^fEYl7_Z-Tx{75G$ers%BSVu8V_5G{?u@rs?9KdRmr}s9Xy`USzM5JT$qT zARbd+Lz#`Y0CTdaqpaZs9(P`ql>7QYP<|d~QAVT@i!CT+EL)y#d7RWQ#wJHWcTszHCHvSy;2H`H!F z-SC(voOQRgot ze7#BDxFWIe7Zj^U1NXL-lzD&N61xrK-f*6*(9(`<4bFOBmG3@y0^RdLZsAZk(F<4e zQ+@XV5H`_F-@WAJcC5Yimn%I&6*dWC3tyo1%e*UncdOM@bl|XLZvC}kjO`r;{xN%e zPANnAeC3U`CM-Qt2eF%f=ax+(O=Jg$3NE-~)n)#Hp;kbfQAtA`-MLCnH?0PCREqPl z>N1eTBX(YY=9>EgwCp8fO5YFufoQJPTtqr z##aIn?T7I;B3LAV*U-y%0YG|Ec1bdMQjPgUW7G~qqgk|;`;qXjLrH%!11FmK9syhQ zAS{;IySl2Nu_H=UcQ!IQEvwN(u|$>o<9^!vDwFm&SyG|c=;J}v2kIN*vH9C$KVp`) zO%3JU$JQM>5=lkSeUD#N?EM{bjG1Jcdn+nMcmn_q&FWB5Y!%FOsdT2?sFyN*uFn$) zciTnoAq*1IDQR`fYCo!nb@$X$jMlHy$sVd-+^{NQP94gVSDSP+|GI>idRm>d$){QG z=wHd-m^t-Ocfn!G&TkijOpsvYI=>s8j}AM}hSI`P4_>5V==J>SHO#fs^-wl2ll}^e>4^lP%HySSOG54x2K2j+H-p_B77Lp!$?6DVUa2XKR++EU z-{l=5Uj@K91{SHCyFxN&Ih!y2p3mZ!K&Km6orB11hRAyEaefAZl4?!4rV^~qziaef zuWv*S2p^GMuKk;KU27-C_m=3;bkkT*y`W{z@guyPZ zWBr&5mtFrRZTI62KUn$DB-FEw9aH?Vv;Hpu<0njsCa$U4h-z_Jx4PLt320tC1mHDL z6wmFecDvnQgg9To(+V3ZQga$=!JBlr@bMCFSf*3OIzNFN8mRKY8MqXAGnGDg`)M{? z#@ZHju0BO8AIqk@mH3KI-VhfZF!y-e z;=P}{tFvSK;y>B>i)qX<8bL8Obd%Rtx<>c(`YA5rVXPyTKfd+GTj=NQ;D3f;;#E#8 zcF{ZRNV21Smih1YYt@JCtQcaJJ&q!f(`{PX{Otv(I05{&&rjb5171^c4N89m9c4Ua zZ!lW++l99oWX)*Zce07zH0~cKhGT!(z1d)IKE{Q?=7ee~(3s9?KYrL0r>B_WIP2e6 z_VWlbb*k3r?h}O14Li0zF50Yj+Iin54a7*hW1Tt7$$QI5IlBBaT^%8g=pbAj@9^ucIL%xu>R7})i=1Tb__Z|I(FYggcYXXbI~?#!u(Tc(q7Poy`!*slb+4_>X$ z{@MN@fQ@D??A_NHJ=Hl+Enft7)^ad6>!9wRMx=UJL1qju)_=W#v5X1_;<9#=uFC_) z#JE34g(PHs8fH30&$eEp>{?5=mE$3U&u!stHeC9Bm5mn~!m};9JhVqbt?)I?u%Yf_ zXXSGFk0WBzrbzJD!Wp-r9$CFYIqev37m4Q5SLTTc^yEz^TH<2Cbi4Y`08gwrE zvxmFNTs9n%iZR3jaotD|8o#JFWuLrq4x&4;mHi-LuQW9ws(Fq+*iTqv>D&G}$fVyX3KWK!{6#?i}6vozny8uRK) z`;8&RfG6BT%zQxPk&!_4E-a8hym62lK)jF{zvcj!-5T*D;DwC@-3>ARhm%11c4R-8 zKfH~ePI$^7fMZwu?G(Fblgi(OOI{%~u+DiOM~lM{rcSwK400_)I29$ZX1kx&rq}`X zB3&~uZ;x2$8%g_ojS~sZ^#OTiI_flLuH~8nM7P?92HPoZKSGLz;sy%a5x!7unSW}o zpYFzyrT!97_5`36jz(wTFJPRFZ3=-do;;h_Y*X*P(W=!f3%8AhFB+jDN**WC^F66k z8d2rCz~3MJ*?lpCLBVAt`L?68@U5(6Jy30B(s5iwdy&kz>~)*yGW8A}&9-x;!H#m) z92;});9T|cL$eq!&Jf&AG!p_{CTKsS6x)fgWsk;+gmMJ=nT8rIoUVmOUrEtJ!LDfgb7l>#O!nr?aYbeCG*>Tb;V~NOT6XiasI+P(s?0 zTDEOGrE=$<4k?*h0Hb7@OLnN>DimF}Q(}^2*%~v8@ID>&jb625sH^l-hp#>Zim8sA z4(rfA3?-=TeEKG=OHlc9&+{mNgQi1;(a!f1mNwmLR5zqz`=z*9l{|J{IkbQ6)pgai z+n;BY%E0~qs9%Y|C?%EKa+ms!{ik?SXN@uDpIx-R7i~ly)&|yP7p1cq^vO8Ki;DJ? zRA*alL}l3%8FcYa*lb|mQ_?D(_nyVSwu*2XP&#RavAgzsRT`vW6MGW}8|^PL#p49v zE}@f>dy;JKya;A?2AKvd)O$?!;u$Xd1pR=TXJsYlsiUm~%TUx>< z?6&k5c{G3m8s{L;%QRAHY%@)2D$|%!f7H6!6j$0AgQ$+|;n#Zclud6_9LSC`I_n>{FS}?G!Dj7v*ROeDWV9u?LWcLq5*!nAl;f&+0Luh$hrm`m~f(4 zR14o^Gc#$B*4;~So$VdoXmf{`f$nabt|}I9;JY!b#D<%2i@Os!8)=rj?qLE<+qK_o>x%wx1P7rvmg%8Re*Guvr}5sl$Rw^RKfQ59SN!@QtIVy6uB^ z_!8IYw|R@z4$OL~7tX3VVTDSm92IIKX0mH6FU_kW<8l(|@8ybHJ$Gt;6mhY6T81XP z*Tk5yQ;$ak0FUN_ZU+e2W;?>pmHT@=SYacH{OmnR9ZJ9|jQXtgsfdDhfWcDWLXS`f&A_QMa`tn0?BCFtxC$RMi|%TU$CHu3F$E zOHMB=Wxi=yrW+ca8A7AOsupi3B9-2)Vr}gmL9fs5G&|fhl3_i1;s}7F^XIqE=MF@h z$%5S%$=s@~Blvx)7gF7RY@7=U3|wsuy$nRd$h;~6Hdd`VIBjLe7Ulgg5RV5cl*|pM zItAw}%jrPL#+knN$$(%KS~fPh*rEGR@y3@xg{-99{DiF+-&~2i<0%1~*`3--%Va6z z;*MwTW8V|f6spbe@wY|^%1z<)jcQN@&Dve+zG8DVgpask1A3rj>dz)Tz@guzMYw*Q ztnLQmHk{*Rc%b!J&W?6{8LXBxrB*Ip;}6yl0Wum2{)_F3g60z$90z9&7s=@}=_C$S zr6SGs2|@Mcg;dXAO_mcIW;Bi4|N6n6RejWV?iD0)ptWm$v-2`GIzXbrT8$-8y1(;O)c1v>Yd@eH{d z*M}14XOR=Gu{SEfp$cSF4Xh?X+whIz*Dy5zKibg z$*KAslm0yU+nigUaO(42p&3A_(>|g(K2~ zYuyP50_FmB5iSQvyYsM3Z$k}N?XuaHY!^8FRtr9?5lCpATw1yDJH4eUdw?>5@HzP2 zO5{HUapDnFigZe`#%l8)v)(IJ^pMG<#CcM}3To!9#qs92ZJ^-PcT%nDE;)y-N@E0+ zkFwgbm5p|q)_+J5E{qs5U8GM?sA`W6_{*_=Fi=1EY>xd2*Q1^|UB7z*zQv7nGPjIp z(ofK`D^xdZ!AJ;J^nul-MedMiN~4~D00mCMS`>p@#G-}hHr+eR`hV=bbzGF&+dir& zDqiMSYC)zs!%zE0{;V)`h z^gEOU2|-hUY#g+doUXvnhd9<%^0ZWAxy`ky!-m@<0-|IR@WhHg5_-nNL@TBnA%sWc`rBY zqcS_%_2Mw&=dja%W0wMxfR+|@%Rv~9_Lvp!*-)CyLysqN0x9{$* zn4yK`(o`b$OsC*BV&_<;ZHv)R4CzpvB@U``%eGmg^ zye)cE>=ux@hhAKQIi9~xgjYZW6kJV~It zGj7?F+XNVN5cVpm%wWK)Ya5`yB`}`ON8jdn1I;M2tAT-xV-&-Qojs1qiH8vtpy>ZG zgXIf+ESIQxYfu9FV&o_Egn64{KTTj-_Vy?B5fgsxz`bpxgN9&&Z4MdU&>HG6J|bzL zunF6tPm*>WP(DO$o+>PZRuaA=o^G-Yg(sUlp%311pl-kEr;sOXw}|QyOEtsRWw+!7 z6#1NY_nSL;0-z~|8-R*A?dsCsmn@QR#w|D6~;PxFvLJh#Mi4g?l> z&)V^t(_A;7^%OJBAKy&%dd9$^e--fr>D_u#-PM@=euWv!}r!U8znv7%-%R3h=fxX!BG zm6@D9*hT8y)$2t9A7fr;D>hyDAgQGn9mnTfHQ~A~44-5a?q_dTl|vzRt_) z(Oc1fv=X$ZP1PdLSRf6_loi2-RnT!eC z8&N)`YcC7WNwA$YL5ZiKZi)y~UKwu;OPg2|M!6Pt#R-FYG{SKAi)K_u1Pht87U;^! zD;=iY`gy!EAW3`G9OFK|kBP_1rhDs_mNC^6q;U?8iR(C07VP5(WZTo^(In(KUYPc6 zx-5w_4y`5%FtQkd&j}yQ8EymlWs!yLim;#wcRx_l6-pk(M5lH~6GC*2*WDxF=n`()Sc` zt-@?d;7_6+4!H1z+rE}ET{QUW0vgeLG=dz>Bk$yIVM_#h3M!8q5v95_y*=*oK^<(3 zC`EE1*SWQ|($>RU+5w8q#Ks%;Z{HTs(*!YkhT%~mdGl&14^sW_WalD zqF3#ElUw;Zp>FU?hR?e6gsldQr*^ahxU`!u6Qqg-m~ee4d>P^%=f2Hl(b(3WM2eQ_&Y`K+>}yf!k?W!2tt}BEcfg9D4M~_M2OvMk=^tv z$v}9~T!++M(I)9T}+dS={q_aLP#D8A|I_n z_fB5ly(o$!HC8fLx%T81zZF-4ta)j;r^}#fbN~%=C3gZ@nP`(EmZ=c?CZK+YZI6`) zdVNTKvN@ex4DC+fX5I4$?Y^Q1W7cJACEaH2*KIr!Ew~bT5xxD?>?jT9&D2WBOia8$ z@Z~R}%4x%M3(Ar3s$`#eP*QYr7z)b(CyeS69!K)JRRyE#spk^`a4Rn4>SJQXE3TY= z6u&Q&$YWl#Q`LhmzJ}bNY>m~gJT9gVV}%GoAN)Q9f10faVwuMzl>i#Z!nv6bqiuwF zDp=3B%Xt6H6hmzu{7wv*BGcEV%q-f1j=-{O9R1<4FC*L8poOj>2-V~lVvigim66)Ovn=3&U(yU?d z%L-aNZ+FmW*jhvj;*&o;{{vC|2{qoArDVPpLC6e<5Y=|xeIZ3-iU4Zl@XX=JtUm|3 zh{fk0TKCa?e{5TCzwibei%#$Lg3AO9v#nn>QOCIFiUqS;wi|_B8@v^Tcy6Y3xi09! zhS2yqt6e?n3MOsX$V)s*y*<;hKYxTxJ z)C%;%^N{J%F|vuAEKXeUPr?ZrFVx#2>PCu;D7q4e2xAqzc9%`t&YLb(fgX^F8G2A1 z(#hKm?^cM?r3K_&KJBQUMSN%NlQne=J4U7(m|cy)!2m~0N4R1VM`Kqa?_IP%WLb~;zU$NqiBl*h@D_K>@LMm zJg9Fh=Pi^V?Kf6z!$2##SupZzzr7(Mthgtafb_TwC*8HrMkd$64I8A*gFR8 z#3KDqjZb1FEF4`D_>`*mVnWAm{M3_pg=01?H_%-stDvKh5Y##lS9>Rgf2l1Z<~ESm z8LBia6-WSJlQ(pAef4(C!_Pa}t&z7Oxx=Ub1DdZdaTX)IJZxo7lDh9$mB z<9Hl+o9i=DnzHIjB#T63r0gx1#;7N_(x95RjK)yO0TY6~Pa$14flf8YC~?pjF!~*w z;d*M2D{mb{YlkIowHn77(@9aRkD%b!BU)ju9lEn_$L-13O36=f;C$na0abe;AMf+X z4r#NYPp;^K43(~_c}7l2Fe(?-RnPWS%x$NTc4qzFc2-@%yf>S+KiLs-14VN$qc+&I zC!RT4$0hBK-lAUgNA05hCYkoo4_9%1VgCP_tN1eEr0Txti-P$?eQSbr;z_x1Ueng< z)ZyUAi}1(iW!U>*`|T0-Y#SDKn!Yd994K%`U^>t86BdQa!PKw3vgtuVb`Qm6t8&ox zYl$NM7zkgl_y~>^mD;X6H*Q;hl}zfy-5HEo#uj2YZ#=~$fwj z4?dWq*4eUAkHqbCIG~Q!VQM{IfoQJ#UHeI>1T%>qU2Y>nQl1LA*1DeY;Nae=8p^~U zjR3m>u{4$39S-gYQ?MX8%Flbow0L;*S^h?z^lQ_2&9(w-wQz#t!-sSH@o3Z#^)L;8 zJ>z}Deog5&{Oyvl$6w3Mv7QXC3mT!0Ki9=80I0-aIH9~X%=b9|!yK?P;^Mx8lT5{# zc`#!txH&@ASL>k;-#4na5z7!nk9F6%*P=3rAjb$j_~&3wzIb%u3_gj_X)W-$tK;g9XT%{ zJv+vE@jF6*4PCC1rN+T|w|C-w&m|x>_e~l%*7cur@*$+YCDIC772h9g0<6BhSMnL_ zLgKiT9Dk{&SujYnrJ|VViJU9hO5m&4+GIgK=Qf%q_{0=eG&<#Gn$Cot#*I^`OkWu6 zx#+F-0p}u_{pXt>tkv_6)oA2#&`nJMD`rh#UA?_x3)+4~W}DMr>KN5BDVeo6aRUSJ zK3WcMB;zQpaOXzLB5dWBSItKsOwl35nf`JPsj%mgtA(}2bep1uWzL)S>#0;6CV>yY z1U)o23ges&i#!jAwqnDL9z6TJl1}%*E9K4A*}ZX_C;(uHTfhd5u;T)jI0o-LgSl>* zuiSsW?=2n0bn~e3QAQAv1~V%vytu2FrGW6^0|0=EZ+W6kjhBkxsg~u^(|)1fCIHoo zq$_qeal&Do3}B^`R^7UM&@dr+;m~hdo3yc>X>TDbLj}PFMMCv;$Wn&`<7gg;2!qKa z4bvBwx3y>i*LoedW@CfN*F)(2nP3Mnhw{O`wxC*ky>11T8m2;vjeV7E&``1kUbDvT z?T&!&xH+IV(3{tI=e#_J1(Dil5&^?Qqb!xIXUBPVK|k}yACYX7DZ~Xw3Q*(1*T&0@ zIkb1yJ0s|+*2YV5te?J6q6@WcU|(oj&@4u5=OMG{G%}M`Ckp#>I?81-3O4!<9`VkG ze78zI=utAF@Y*S~g{=GMp+%TqcRI(3Q*CB({BT`@8J7IL zakd3_cj)b`gr=hry#+5RT3A^d#+trUj9hhtSn%&yD07qY5 zU{u1S9$8n-(_hFE0F4RHbp*ipGxXJhHLVhhIQkx4{kWu5Yp19vZiyg&Wv-~jg6VVPq_mJ=4*B1Y0mkyZsB7(+nP-iE;i~6 z>A1O4AQdpdXYnGe=S3>TV!mFj_*CMiTq^Exo=4eY(Rl;yhzHKgBcgHwo3B2yC@U3^ z1MZaSV(A#KB(#;>Bln7n(7=`PYy7Khy)fU$*Ld$UaW3sv-JggpU5OtZ6nYmQLTKEQ zn|eL|+Fu+W%C++{&w|$i#ok``FU@moT`J_|_8^0LR%U^Lml@?jqp0pUpAgwN?#`A# zL}$8eoS}4MB%Pv+KM^ZSb38g|2puIf|K7(~i;vz=o);+-?o>Bkp$KXXzmZxL>S&|L z6t1^W=ijl}N=A#B%H1o9X&;R}G zfFlQMDaP;~O-QLiQqEr+INHb5`^p{hgckM-WaTX;4!BqE|7S6N_Iwyih#HO*1y838 zbD4$-!;*g#S((|C41-$kjoV<3nNnWgIKqhX?nxWPBWhko>E~>^(@&3@LWWdq*MsU?)~JTg4t#p(Hcq1vN3tWl{bh z%}m+`#+kj?Cnf8&HoGsc7&ujY6`)sT@G$i%BERy3w`=zW_q`GMILX^nV_OL7H*~bw z<6GZ%P?i9du`=~3PzMlL%m}C;OYOaq@gKAGoIz)PRP#UI`e~gApcE|mO|#Y>`>&3b zc1lU!Qjrt5yHY%ut5rL;>`t62c`bJJMhOrqOueN;L=B)6V@`t>D=;FdZ56|Q(vq;| z(p4W6YBO2IgLo&%`B5^$_~NaYJktXrNC)W6&wX#Y4%ItAd(R2$Y^@X)A8UDM2>76y zQX4`g_;6I4v05z{c7vrsT)uBWF2UzTzTnAm2vUNFvR+6KP-Z>D_jwS9`}Im4Hy2_Ds;c5*0+sl0D>8omzdeht&%ivdbuV528}uZtrQk(W6FS&j07VI zamqgfqDU0b8w$3jRh)kL3?tHlk^ItYC4<;3KLrXc*?%gu+*cM6rZpR=sLa)_7y78J zd%}5ke=$?Jhm$J%B1|p@J(Sryq*Q7Nqc$A|1dk0O9`h}goY^b=b)Y%Zl5WPm zu<3yjxLAd!+@}L|hekFZg-m5RhF}ws)juKjq4lBVK*)uw%h)Z<$KR&< zXOm~nnC@&FW6zd_!P_Uq+FhFB$pD9UH!JOqJ*i{TF6(08V#?J2@WNq`AX-AJYPu;{ zC<+^w@QpKBj_^rIf2wK@p;{p^z?om>MZ2%q+jG-vm1H_2&i@<`^~RzJZ7rC}5s->Y z(irE1#*@c60#UgZ0Dj>`)Fe_GpCTLW_!@-{Y1^8g{FKt2%;}xCB)5u-2WAcB1*o?d z{CvE>%fM*UwqKKl^O7F^s+4lt&+)y4Wgecy3CKpqOG-yZm*eIttw`%p?yqIygeGY? z31=d2&)CQSK{To{do_?@TPUZ?2A3R1msNgLmf-#NYG(I~Ijb zkmKQ!y7wmp-lAR3Tj0e{uX`BrWk0k19nc1#KG>SWU5ox{CX@j5+IrPoxspyFJl z>oq=iQpP>yDa~a&wW^+wr4ub@=_04hdoZg6dTCQvc0J;ad(=Q)HqWe~FNhoB@?~W# z@q?uNI_?rhY%){aq78|Ur#;ffVYRT= ze{T2ns$dL1uzg((3HlKrpg_wukq%0cCaaJO(eZ~QD- z1lR^EsC=iWDh8d35K{phsYE8V*X@8kf}5vRszoDLB>$|J3s3|i=DT}(AH&!DD10IS z*w*ENZACMwYGyMQVvbn?OSD^N0OUiZD4#Lc~T`T`DNJj3zpEx z&kX&xg0y$O%h1xZg|1<6B!ec2`+c09)=uKNiRzH{oej;X)E{(kHjIOaA78~-!ER0f zD-;F_P|jG zP%)gA>OM4yx8>_rvqRc4o*=XVWU<~g=J?9=73zb@&il=+NocRB$kytYqK|S3V@er& zno+$mO@Jjt=r(^B%Brs8orO=Y^jQ~wY5$xlVMeoNd^3F?Hk#;Et3az%>YnW1`be&T zb3zW6f;G}vzj$`Cj8WV@4H;Qve|(L}YxA%&0v~K5v|mNuxnh zE|v~(9m{MUQ~m=40RxhvK)1%Cw3u}G$dkj#+@gTtOhi~#uNPg@msT*% z{b$e!2NMwLy45ZT??{9{d7qIp0*)$8c15ku+J#5Dr1oHl4nv=^m0@S(d;qALMMYlw z-&%|Gzcs$9`V!OO)KZjdRi)Cl_yA0~wFGJ|(I|~$CIvuSDJ-__Hc;CC%P2*(FoLmk z+(bX@n>V;n2x)Zy-mxcQ?WWhbRRb<$gY#qu9V z+wB%n+Y%c+1>*$@earncQk6l8bn;B-Tu@NUfkd=039-`6fXCdD0&36p~g z`2pt}o+h)@*H`H%LGQ9!=&h^x&noWX)2~T#3VqjU4~2yrVp;g3pd3W#wQ|HP;5R?W z_~4NsC~2zbj{quyM1{iepz~?M=wszK*C=k9x1=;(ea=-ll-nHDcu;N4mK`c zTufW}3|f`beD(eX)lTzE1jzj-wheUJ>@z2a{;b>!ihIPCdhR~+?=gaYai^1ozL{7U zg^5}Zq!g$VQ@E&4cjsp!iNTDnJ#P?ANZRT4Ctx3pQEhhVe|1%MqAhVDxrT>9yu0 z=h*_2ZepcMrRG#09waa>V=yUu@2X;bW#)zUDb71~qeXDz_6(RmO$ar>Yr+8{aMzE* z+m*d4<);W>gL1?D6IV5Nd>W3af`WYqM{?tW!uhmvgCL+=<(i5ApM;wqm3O5I=FI+5 z0~k5%bzZgejd$vMJG7~IE}BJ~rr5OJcCyQo{-gDHS$l}OpXRP&k&z^Z%cWL0dI!Um zHX6>?Rg3;h8wI9nHITFlJhOexg3MjiQie3u)g?fR!Hrvp8`a(W3qlLlKy+S{M{;dppJ7ql!e{LaRpxA-ntRwF_7Q6??ppfA7EY-=Ds$vSw3FC@50l{AOE=$k???& zMuOD)6{*|oO@~(;ohk;VOSKp=HjHo=1p0R`WAt7UT9(LI+N4GuB5Iu8gON;2Lz;qP z^xrD^`z`+?@9G13#c4aJMipMA{hK~PaQXm~|M3a@e1J4o zmD5<~%L@|AGjCQ33~@@IKKtpvZEmoEp&Mjumuo@Yiw>EDZZPgHz0pk?o@8{C`t~1G zgP-#QnEml-nYfFkhK2C1mf8X;Y7!J)CHO2l8UQy4&IJNdQ?PAc0Duf;U%#5IS)9(9 z2^r=~6!}q5QgUAcUpb&d5|_#<)TrzJyjmxitCcKZ{clpEzB?H8=UNym)bDv@L!zJu zU{ajReb)2>D8HrQ(tKh40RmLGq}nAUp-@a(9#H`muiKgqNfT*BwUv+fB5@& zBC%pifL!w!4c$}@OJ>)==<36knjP})2OzzL@ofGhy#1BK9%4iy>)=uRj~le~|C;yJ zZau=*^BN>j`l$a2ZMq@Uke|8biC~p{Ve~fH=+-?v{F`h^$#niV9hcc0XzI5&ChN6^gM47sD@7ZU|}a_IDI*<>tngE{_OT0Wz2fy}Ye5 z(GRZOe*pewQ&{Ke9&VuKmTzRzB@sPEqbSh9@YUzB*DoF;d(T!AL{#W09F|XK{D32=Cc?mBy9IYiX(_MyeL8ksY=6 zJT}LQ$X>Hv{<)t2IHhjL^D}Alh*q7uSTR_R3w7V->o!eH5^@^>ZMs{w=KJw)@4~9@ zD>V3MHm|^?cu(^5ZKPH})Dw?RbvMwpzLlh6ZL56!$D;mo=TMlPLkrDczS)Lfv6AmG z!M#%7o*S+<0_YIj-p4%L6Bp@9&Fr6O5p4bKr1o$$zRQ(Tx~=3)=6dy=9#miKnKTQJ zh~K3n|3-#ItZ{E7sf?e%2Zt*f)+ehc>rrqYcv@0JYHteMj!NR4o%L8rPbq8U&*?oa zf{!9Fivr-SZmfHZHjjxB-ocQE zqmW%Dk@e5Xxj#>DpzO?9snSWb&d=T{#?(kJU@pO)!vCYa`nB|IFt~x)kn55Ee_v8R zRs_=q82ruMbNJW2qWsc@eM!M$o~&!`R~ry%!qrHUFE#yr+nH}m?&jvt-TXhj$iH0i zBwuVM*Nn0LHf_k7$y&HtRHUhKg8xrE-Y-wVysjNB+#J7FUduz%O-;?*`qR^FQ)lMjGid^X za=(2KnAdsQBBV-Of*QlwPR*FrPl{i=`fEBT|!{hwJ zQvbuV_|7wnJXhLYhvff^QJ6;&Ycya%x8lWnk5Wsce?Nte{+WTF`QG17=Ja2&<(N&Y z_Nn~I)y24EGyT&|BmS{z#(AoQQR7@^rQFSGSh?t+A z!_oLEm)Jz~*N#P%s%dK2jGw2QTQXn%^%wtkWoNKT?}9h9-r-RHp;L4E$gB7Defiz4 zL4Iu4ke0DQC2+qH85vo>eUs{!1rEHy_>5k-4)u=^h*>db$aC!VSzgZ{d!=a^`FgHQ z_PJ7GVmiyOzxZDNq~j8^aV;xuqSA4yUD?{J$nLnO8A6dkU=bH>puG%F_V9pNy2W zWCgi*(GUY}C#EWhLdBtYjYjs7)TxWs9Q$t3L;9L#?U z&EK&IKZY;J_+u7kr1!pT?R2}OwaGDQO#Hv5G24V-ZEi?b_224{t4#W5`Q7AFFk3G@ z|Jr=K=kz^GK-L_Q(fY4#+x(5D>*Y(M*&Wrxn$8Uxc3i5%I51=?0xb1D4AcrzR#Z zr`~QXu{On23)*9#{`afW_1;O7l@Z=A0Ew08I( zodYNzW>$%MF8{vHo8Yg7bzOdY>hxlW(yjSVU2$KO#B-(Ba_P5!`|ZEWH#00u!10xv z#{bptojHp;(oS_+yZw(|8q_0!#Sos~zNR9Q^aO076g%Vn|H>l}@Wnj)wW9rdWgfEa9}~GXL)?-gwMw_IQ8G{WY$h@x=o#O5dIv zLibMYO+P88IsF0;0r&90OI4^G;|`7U7N>D72=5M#iH)N_vi)qc($ zMdSTk=5K2gNy@_1uwwGvF-KA3fUv8wU11pP{PM!p%x48v3kDJTt~3grNudB~@dDA8!p!6&m_^Z0A8!n6UYS$psmhg3kG1ZeL%J zVRdRG^){2>Fd8~A1=(;0a^4OZFrhvSyLa+Pcwk|%W%v7blG^+*Oy`_<3@hPLr#jX z_VbJVGwfV9%(}2Fhw~lfg?62s{3ol)*7Bj{_dwgaypc#X3eXH#I5`w9c)d#Z zC>>gy?IzB9SEPM_cmu@PW3R{0mAs1`JUlm>qt_kL!Ran53mI+$1GG%}lJznf=-4Qc z(z8re+3BQoH!siy-r*P{Q=W^^UmGiRTpOoQ?aTV}*1vd?h_aS}8_KdCfAc$f8Gg94 zv?hKP*`E%ywJgL}sf)aDQ>2 zzx5w1)IiexE*}CE?BjS>n%y62m0PUY)b75?PVa4Vf7^OVYS)b9{!8#Os~|jc8wPt~ z$sQQH*Dp`vfQ2NmOw!c zIa=;0rjwD{!{rtGz1KuCcIPhc1^17cb-)MGk1H9MUcJCOPe*WGlH<2n`0F+D(*^6i zvK3RT=a8e8=Wp?j_+cZnX3>E4XwgF{`5LN7l7m{ebYbitz^`)kBFR(yp+DM81f#QhU>D z`r>$DGX*}i$Ryd>EOQr^)rlpo1GqL|%w2y|@x?2kYT>eF##d7%MezO3iD5A(1;tiN zs}rTq&IFs4Ow$J;s|x~WnIf^M{q6b=2nOX`^S)h@x=N6w^4WQ=_Ttu#?P8>9btXKA z%yD;FesY_`RH7Xy!c=M7)YVP>@l z5|5AxDBcl-mP?zU#}3KdAO0s6yG^BD7aD7%lxvpC-$e=3=k*1paP9EQIX)dK-(lUT zf^W?Eyg!(0AxS?(l;=@NryWcFEOm=7DrzRg70*fmwwY4^5vx7S3-$VF zy?P_L$^3ps3UF+IsqM<``b7jZPEMW!-iP;~*O9gEi9tpJ@t`#S@Ek1Hj)FYtK*ZE;! z?p>8*ka5*{EtnxeO+2t;x|s+PG%kFy6Pj;}n3;B}D0E)o;_k1XRsQH7^^Ho-@tl|b zs6Ro@1o)0xa*Z=0H+bk!y)}qzG8EPPHi|09>|1`#R*@P1LBTmesO3UCEi9-^^zXb(Ms>O6(}VRfx(WB@X@W3OQ#3r2l!6%Tl@!)nTsL5>S^X zd1z5lFQInmG5a!X8+<{T^@Fmo6V#vX8paPd-GCBAhmSV0enM3QPC9b#*6T= zu_~;yUJ{0fv({!>eKn}`$cJtu<^$)Z*kDwNDl#S^jvS`DycQ^H$iT0&DFu{ z?12PRpm4oA`4w`3F9}XtZ&BM543*l=JKDDOD|O%Dm9;3bv~_9isw3}`G}8h-V~Ja% zg@&d(GQFn9)f-?YtTbOsPK^n#yZuJW1ng6_)Hf&RC9cet))l0|mFU7v5UnK;la?p8C9-i` zVh?u()`s%pNZ4oZLnjJb4;R$k&pCLQBR2d|N8aj-p;{zC>xCOP3^7^_Fvr^mMfHJD*yGS29$_=L>f~~d69dxS)PV^|;mqQkj*@NX=%n4T%##Vg7Ee{`+W+Cvj zob&)Q&-t;O5IrC38VM?e?>wEPFZS=L=FiAuHU{$U$ff%0UTmM@d7WAP-1noaE~^~a zG+jWpQOSSym~iO4nxEhk6H|(RGl_Gf_P}0WrP6Teb*7#^HH52X=B3`0Pd&>GTE=6Iq%1;*MWgXL2R!SuUH2QuE;<; z=xK*Ne93}r(kLUchV{Tly^aZl=h~Hoci$4;(e;^p*n6;yjan&y=Rs?XT5ONM2N?~C z!m5d{Yy@Np?XR`dCI+3OUwv-yTuB36rfuth$=cEXxtE424jKPX1dBrMCK9J0rbJbL+56o; zaqz zW9*kE%*#~Rd(_c`V8|{ds3xQ+Lbyp^<3l2=%w&oZ+RNrn9IJv!s zwp}LADT6TV7GRM&+nO-DSLWY*8ipYFCNx-*0&m*4H?5orTDi5ZRV3(xdW78L--w!} zzBPtUeoK@pR3G3jbU!$&T@1GX7?H0e77?z4<1bJU8eB(&O$1-9-;(E2Z^_%4!UXfJ&V&w1Yj2Fz@*iHkfnt%%8ScE;smE#m zXvZs>NgkE|jF?^+%!y3Oj@Hd+uB=2i%VKsA1Ob6%9X}O+?b?`v;GsxUa$Iq{enz zNvC~~!Qbm6K|Bq;`%mGcKeHcBTu@4MIHjQcz4ItGMLRVp2G|DBusN;7OITO&SChWR zs77fAs}M2W3P;;+Zsji~cMx2v+{$ zYac_Itm?lYw#uwVr@`l}Zc2-vrMP^2Df;_d$QJ7smEJCr3SzEE*;M1^e3qGzC)qRM zC5k~OKs-$8xmX3h{kjEf4eJ1GFZzH%8PSoX^E^!N53dvFNl0UkP3twXX%E$-@nrqn zlF*2#{pWe=USHKJ7OVKd2X4x2$H_1DX;fl~;@`ky`H&~>U%8x3Z(y%F9(!+glQzAT z>cyy>p!<%Ub+FY8C-DIKec zQQ{AuUO0$6T8*-#g)hhrr#_D-f-qd23KQKhbg#D7E{~WHt}1t~HBYIIk$1@Z${Sdb zLVaxYhKg<%5K^Xg#E7w3?to8xt*maWb!&6AQU#7~_9Zf^sdZ~n*)SjNhlgeJNd!if ze7dOr<|KK$V!5MJ*YDbz^fIF&CfXHJep`v z8dbCfdQ=|QMd|yHgwPF69j5~GSImJ8H-)x2r`33}-|x{cAKV}po*06*F$o9eh!5j# zaO|p!dDCWE@79YG7G~+Mxi-mfi@r@kUZmEl8xnK#vyK`UiU$GBQ|Q_}InNiA zpbmV-!OQ5N{Y;LsJlS&34pL#PM5|1`a@SW#IbiW|g7Qsxh16N8_6=%mGnix0i|~#s zwkp>;7c3bB0>f?#5vl0H8wl%ajq2(ac07gq&^9>H-=VL?*Tz>eoQf60cbKe3i^K#P zv(_>^u_x4*O>vJ4PfD(xi-;I1Rzrp|PgXlS^F!ByUNkewuY}7B-M!3pb=yk&Xr=xx zey$p~sJ8CgI(6v!$WqxF33kUa?BV=7v-9_*$KBqXl@j!DLDn1WBGl`HyaVXXbf{96 zZ}(20izta-I5!)-Nrl!73ER3YDtVddUrG;=et?bBr=i1G-`MOaTaQMF;1YQ+PPuNc znX!^+(x<)UVFbpQb|!7sjPf!bujOh?FD{f!1WkdGLMt6cs_O+qh-uGZ?f9&sm(`K2 zb0EJO*LCX_%O{I#IL1osx5zqp-TT>VypPxjS9i`9r+9z)LWZAF=Up%6( z>k&rRRM=E(&MI>xXEjHt+sx8M61c5@^ZHOWXglMH$hOr2We&*Lnvi zwFcl-+z8K=1iCz*tHeAFx^|*V4{0~7Yp?Jl>d*H@xR==M7ODHYn;UW3c^y4r>M>2 zxng5Vv!34wv@tzveJGHy0+FMbd6{n2JHS^^%at)ZSM*|V2akKB$SQ^+YbNr9%6Vr4 z^Od)hlWkL0osJ3^P4ioeE`csv*l5{%{)j1N4My3$u7HWZY2-JO@BPC;Gd(d`ImEKE-YL2x;J zAbCaaqrPJMqEx#`#=XSr)FXFryo7dn2a|id!#?GI%Qr}RwPh?gBwQ{3{p`)XJ6{G~ z6`ybnq{pfV2G-HQ?dUuBtvD=??6Bzwb`R*5$=mwt{bttsBm+2XU8*k4&=tITg*?xLaMIRhF zv@M--Fk*X)mqn+ft#-QyrAQ+GU76Q{ugy;KNcTa5kNTpULA~lj>Ln7}nz@&{(XG`% z6x=Psti|Yk(foGmJ4r@!w|e;bW6OpUdoN#bpOmNApR1$iR^14bra3g9mqL$IE>~y3 zwv{V}PUeSi!Z&@V5A}LCoFgrrs88gI(JTtu#CNlr>NXyo#$0E7fda&Z!_0Ohs*Tfut@+ur(_Q1(?LUVtkbcRwG|{^5{#Vm~;u#`o$eCW%vd_w@BJ4 z{Qw?X1)22n(V=EGqhnzz4)qL8z4_iKUT25>k?1w|JNd?68_upbKKU59{OS`)Y>}ig zw>b_Ze+heQcNjtzXoW{WgHpAAt`xdJK1Fo-es7z=-WH?1yCQpT!Aj*)dREqMQ=LjJ z|9VAbY9(t;#=0%GPu6j)W&U^8?v)o88vWbPytLz_9mIvyq+#>DvW^`09=sU9wE5|= zmiRlK?gab8Hg{ELxZvSPIEr-_S_vT3st1NWJHFf!ExY7fqIbBI0@qUljsrTQgxKgS z@4qy`w@YidtlhYxs0X1~3%U_baE2(+a4ggE)G&oMl@q%6loLmj%}EJ( zB6T>YhhAP6BD|RSZc|jINluVDUu~ea8Z?iP4KIT~uT9w>b!WkW0u*6&B`Pfki_9;P z@4j#^N6RMF@I9r9?mLP zyAgHR+rinLN+{T5?Jr`PorzL?J|=OLey4x?iE@}0TL_u7rJy`4aZ@Kgt>GT7gNg~y zGuRkC_i{g%aNpSD>udFhFr+h2>|60C(m_v5Y4w!@820y^&@?+n3D;YP(+F( zqPnZ{lZ6UQG|X$kH_VVDGyT)g6>3jhoO$`_ z;6oXp7m^!JnB)|LwkZ;sw1cgUL-!GC^3BL7arLS`ABtC<0P&FW_K~UDZwy0F3?&Z5 zO09Q#QF$<2S~<*vp(9fKoXy_Cr>=rRHiqIcCqvCbe zZWr}@#QJHMT}PT--)Im(VnFvZg7A5JL ztTp)5{o;d#?wXb!ck}p64@1xFgq2Jbp~h_|4N=(sQ6>5$bC%hZ*dIq64(6h(QclcR zt_vP(98Xi{UC*l<8oWSv8V>FM0+runsMzx73VTmzpoe#9hjLP`U}sM_ZoIVDtUQBP zD}Y$Z;OgTfn~OT4aOEMV7Gr(u1R2Gfg0&xYFRN%-;ztD|Wka0-sxCqGC~Yl;k~(lI zjP&ZaINPBk`ssAB>P1w=T-3@*<|F6+?X*%3kG;_K>jm!(K9x1^ zw|~86ak*+qUig-2nx@}ErhoZLi`$ipO~J{zpyLsB z-t+YuY1abFoeDJ@Vo~(%-Tu;5nXAdTa9+#mvFN4Pj$R8u)*9En0 zYUf(QlDInyO!9zrKq|jB%Eoz#47@x#mmHQN^7_Of=_JP-wSFxhZRKMNBb^v;UvY&_ z9eE#quA;y9P;9BeOO&JCCBI^teVF66Ci7?z)@?l)2X}{D-DmZ$A6`h8(6LFMecui* z=oo0#>PtT(FtYG?z%CNqajOCEg47jK4PiSjfmtxCLm2!nIn?&eMFdpL-LJK44CH)8 z%dd^+5;rvA%;RW%VG6Oyb8d&+D^>pcHLUp9jyg~UQ+-dUL#+KBlnRfb1yB=zYg0lNQ z>i09CrS4jO!^tAD*!;%Km>!Yj1v+z;)&QDB3U$f#l;?wY;9c)J3+mUi7u~Gy95(q4 zqUtG1%-ls~Ic~EUcpTQEUcrd916~mCUc9E2D|b7Ivqk(`AnprX4+SSz@6V_Z}>z@uK_fpfy#@@D$K8jACQ&I?G{^n#_?XuwlopdfBh&&Hj zWZl`QuD5wYcjAo9RHT|HG3Q9Ga`(0C;hmX2X;hR_u^njpX0Q2>#64y^0J07vT;W6a z@iB^sTfbpd38&&4eX!8It+p|!xg;hIGYoqBGB>+0hejl8(ee65fCXveVS9Za_eE`l z^RSowNAV%t2RX1Zxu6Kg(OJn&$hREt{pq|3+|?47rWzyy@|ANsoO!RWw=Z(&+kkm& z-<*JOpyW`|aX3Nm0ML?*w_&Uy_ex)z(^B)e-01f8(}}2#xvvQ*P~qJ$wCKRQ^t07w z)34lR-*}N+preM+Se7tiBj$AdYoG)wo7<2HGT5VfZ?BZB0VB1Yuo{$+T`(CdFW=C0 zA3KlHg+gGHLfG5pl@0PIJZ4{>n^iCRyk<=p+`C@qqfIIjQd4(s4PmEpfA?kj{n9MY zEggBDLDPpY-|u%quXw7S8Q95y1zs=Mz?BV+Sg5(ScW{HE#y=3C{02!+97-BzKg`1+ zx8)7FKg)OWcpq!pN8YQQ5ofe|g~%YtZfOShc`i|VGf36S$V;fi<1`j9Lv_Wx^m6ni z^ODWa5xmO(Dje6ruBq7n#(XSy_NlHKtJ~GN#4NS?SZ6f~nqX)WoF_qIzp~#Jn;8!G zysNbWxf~YH_HDu+j&k*5Cn0WcODB@MK#;zMheC=tMAU%#YOnjyrq3xPc)x*^InT3U z7m1ew5y$>i4}wFRL;IPus@_TWR@J_}UX}R6jf>0+@q$D28akaeC(xHL@-e^LVoO=x zV`XweBb+*6Yl2&uww)L2Ei2nEx>=S;=iI`WN(RuoXgu1 z0!IM>=}o#y2Se{IAR;PKl%}*Gz4u-PR5}4dhk(@30}==jlH47CZ_(G|ch_0#`{&;K z{>M^RBzw=Ed1mIBXPjGW8C0{pPi$^FLE_q!3gz}J_pIMP14RYDc@xD&s{3ErU3WDa zH6rf$TxpWyf4=-mK(2=EfK(Dg#{^>xpAj(cFdNRb4EGv5(s1$6-4yj~ zEWe=PDOrDweyvs{O@j>Ou`1An77snFWoLF_5UhfL*o>6asJ944kN8s%qKw=|zZ9zS zd6Zj;iz@S3DeYbao?oyeYKSydaXVva|jkoyl*yo&%JS|(-j4TMZ% z8c<&v#*-0!*GOVxGhncq8B+V0bW@sZln)fEr?+((BCOGG4EgXL)ks{}+0eVfk3JTe zMZYO)aBe=-vT<;x4Is=_F*E3?3%5Ri%=Hy443{VRr(VB2bk0*MD&cX^ouorC8J?Ns5TVd5J zib+ZyjpMGD!pfx#Y=;U$8L5mGn$fls%7S`{v(e*vD< zfZ#B?wV50kIq+atqB1UdX`?c5hcr#M{=AXYTmtH+wJSams@3LT{-$p+U&nYI-_x;u zpv()b9yrqiGn?5mU&fPZ_`981>Mf|d5L7{oay(X^PIWiGW;RW^DgIXAr;yk?Q$b^- z5+y!2Ndm@I!s1+VTDD5~EhpHA$uc_dyJlg1$1x_Coz$+n zRnU;*zg|i2!B~`%4gR6SQcS%4bCc#f@3aqWyW`5&vwc$qwAJg4qi+N|2vUzbu8#a+ zmj!Rm>em3{0Db5rSCh0v`=tHo!%J6uxh}0q5iZ~gy)}O^qxNxnVS882O~X1{p18CAretmCT#99T(}+*(tPOa zhP$i?M0S19F9)yU~T}RUtD8a7RO5<#DT9=u$ zhE{P`V~?130*U43%~Ln1DWe2~3gj}%w@wU?fv9})`slBUSOWB*h_%?}K%I5DHm4h; zil4&8`*Ms?WOw@q0OAQ2k7j}xI#fpKFKxWDw3Gw81?y;h5A}Ztpghn)Y2ac9T{Ww@ z?#~Fb-f(=%y6{m>sej;d+*uVR(UQOnn!YSW8maqplU^%{S%!R3t!v&d=*_kE3g@)$ zX|JEvWrq0WG0&JJr}12>8c+ z_D@dG-+O<$;cgd0a@tPImMHEbM0~V?OJmYwcFiNFNmFGrfX(l!e_6WW)H9^A4I@M7 zGuO*XeYk=i8C;({E6)~^mdA0WLC<8TEXUU^T}W-M6YC(}bpyR|4uik}udXRl|G;TE zzsR_H4eIArg+AC4UKty-MAf=;@8to5k=?fUARN2!IDO^hIF~z0Z}04v3qzv~zQG3A z=|`Ebg&r%`7a5LwO&a?2Q5Ar76YVLSzR8H-fzKUg3nw0&pk%*JwP!}f$wH0ck7crC zEjW~ZMT&J(0UsJjCJkWT`&|ki)}GrT(_!9~TC}ECq)XD|_+~8Eyaf>6whO$R3yQIIF8xnd)wBO7T(7rN-NnUfw4D zg>>h%AG|(Gu=7|L)$_B3-R~#nXDKc;V!h>4Kex-%P$<4LWc=0Kk`O!K_w=HU30&#i zW9V@WB$&`}#FEX5k6YS$XEheZ!L1|LZEX`okIyiA&fjssoe=lv>zslgHgl3)sD(a; zxA8z@ILBNG_c0QgD*mun{ajbthX}Auz9!T178(3<%+IJ-w0On-ICg6M_26YpVh||BT;d&Rv=iVBcak!LL-LmY!N& z59{&6-Z($b33&)-?Ks3Z}5zw`1(`?uubo82#h~X;YL9tk%r)4fY;1 zpJEwn)dr5ulQOFL@>5fSpe0yytd7;_c|vlD;4TELw#7b4DdQ^j0{cjuVLF#dvvA9r znS`wG`s%q0vNqjg)T?^sn>*N zhUSzwv>!`d6tf%1q6gt``V8&__ti#j7sSbnqP^Q20ltY6t}gO>Oas)1lp8icy7Y#e ztT7um$`Q!mctb09Qs=k673az4%edvi&c>`u2HOop4WmqzM1oKzCM9;@g8GszX_N?B zzjoU>h!pEPEo0Gg-0gUu%K*cl1@#Nmq}prOsfpzfQ<$ESF;L+kV77IRa8l_%{*`GSA2{(_ zav4UYS7{s1n#KI^u3jb{2&DxcdgeQ*sKb3AXm$3E|2I6Enfps)r;*%2sm~UJe3V#|%{1ApkA(OU_Q%%yT4#;FDTRISjMNP*$}GvXD}wK7+MX_Ra}gKds9Kg5o^|sM?e{ z1*zT7#48gWkt;Tbqh3nk^6*zY{S?vJ@H5GRv+vLcCZC6?;<(;U-+~Ce<OF(Cl^! z@a4W<1gxc17X-n0EfPSs39sFQDQpXGWrE}+Uwl>c^u-Y2;}oZZmx+lO7|JG9rqR-Z8WucE!l z?`%vm3iY?G1)ZMvaEtNlR6EmR)=CM_>8bm3-9}3-!||W^FfVes{ato99;!=gBvjk8 z?HQgjF=iShqsp4$H)y5|u%%#)#pG4VSHGjpZaJevWp{y~!a#ksy_VFP=2}$3kY74F za4^^6--g$+1U(weMsD^7Cpr(+jQ!K_hPLm&la%KHIW^q$V4y}`-*MD+S29Bpa?rHK zjz|YUQFi;GIzrS)X}6jg(i5H`HusTpcYYLY@rf-sC+YChGn_ujAsPG?Qw^4QbqS$0 zy`j^7VUbgihcL1kYU>)G4V|$>!_OvTM;MS3l`D-QIjD=We8_o7+|IJu69-8G)wK2MKn(;)%PW zteGC9R2^%S!*EI9{Dap%OOCUlngo+SD^JApjvAL>O>sFSB`Y3RG|aa>glm2!J;b=d zs*h$dMk)fmQrH;Q4|tiSwkR)Hvf}Qasxne%ukwFTeV1V!f6B#kak>@tIg~jS6^ZOk zF9%dwH^?Ws@v;<7)l^BzuNw@G(*0Sl*%FKwlwtetJmBrI#uw*5oqrK}Q=0rvH(`HF zajU2D>dk$N%Eu6zkdqC^DZQ{MoCz=Is3AG32>#UlHo_!+=U5#}&LQ^Do2g6>_igcI zvgiYHCAW#!GRgCq1azb~YnjZeqA4|bSyAhnK2o0O z@mQMIMYXaHhyIx?9kRVL+zNlEm@00z4IPPP^HqC)n4^=2OeF(|*i*|V4ff6#phL&O zD;Oi8nnBn)*i_k867X_b@O2LB(FIPU?l(T~l6*$(po>Iu!{^45ptvE%7`P{=*;>p2 z$cClpEi;vs&oX5^26`Stl0r~9!#8J&vLED=D~iL);*5Qb?FgH6CTv`de5$FHdePJ$ zc)2ke`5w(tay#q1`906+6vRSLVl97TEO?2G%F}1pnd}(V^5=}C}ZO@Vvr!nTB(4Ewaknm~D*)Qy?*nYNs`YR%skXQkRc%dKlh^a>Fxr2$c` zS*g%V;-n8RF8J6((`hT8z+!Z7XVz>yb{g|)A5lyd&BHJGhu7*AqhVk z!(H%p)yoBA(QakNiLdtyU@Zm$_$} z$@3=-g4CVoiR?yS`KnAdG^g|L7xUW`nzn}7Etl)c$uPuKJj$jU>rXkbEv)7jx+y!4 z%#dVImP~_&R;2mom8G{iBWn2i!xA(7Joths6m3Kjj^4CYOm`^bS<`j#e#+uX18Uom>YU4K^UYeglW6<@b4;8dsm0S z`T+VC01=LzPR5Q}n%vQxSxlzhA1QNmz9{G(NymGG$v=Hx&lgX`(@aQU8ZvGAoVJvQ z@k=dZdi=&K`$=BQ)|Kn=+v<}bgQ;?y?RnK1QscherN1iQ(5KYtpx?GDjTe5yR}~o` z*1m7OG{<>qcu##=oI@_Cl#t}!NPA|XjGDXiU?1V{G4mtT3U1=$=$ zLFn7}Vf3V%TbgRwyw$UqQf0M}7drvOWK+tL1gOv5i=P>CQ%hbbTS9!M_+m`~1G!en z^6f+ebwpJjBC!FNv>~Hdu_$rywUfirOAj@-Z_Da0&U0KER7k?0TJOzJH}C43Gb!Ji zA{8t$>C$|I9dA_TfMi=J40gXL;%m7iYKqVHpsYsUCEU7f;O1uoUt9r9Sijm&J{ZPH zUx8c7gx9{~t6LnyPjL|N+sP4d3<3NKF(UYdEa-6NZNnroyfW=`uV^<}*j;)LMfr=!D0jpy0c5_BE^bDX!ay8Osn@*ZrXuN@ zC1KljKD*mWEBQR)7He#_JwnXer=7+|5{W&)J8a53*3%qVF$ErEF?q(`>=l4sxXiNh zDb_eNkRzX9My@Bs*ZHB`YbtIgYr?D1gsrbzh{oqC@@%0KZsVZ^pi$}O<#(ij5a8AU zq^D<79}E|<%){y?V7!Fw(UjyKhwI({s#o4`ttLLRHIyJ7zGcXGHRFpKo>vt57M`)$ zg-pFJE6LhCYYq*bVi%vvEohi<-I)@zR?WAa%)z>V^2;Im+lqHFry;0}}UhMmoaa>hVyH)L&r47Ar7A0ul=VGf3DjrvR z??n&KtY}}ZKfJufOU#{s#exhA%a%3#@eE8A21=wVGf++?2s>mJlpOv;?b zynIHj)^C3_^vYPZb0#OJ0!QH#_x@Vh0~r*?cs_I!F*ye_Sqwi<*1OE)5-Z1Uu-PTe z2Ht?~ThU1MXFWw`bUt#|DlBc(E!;V~&tlE-5mXXtQ zR}_WDEgQKGMp^9(j&lI6&29;V$N!qxSn!zE#z#lLBX5B!VhxW$W%LoFEJLIct>nBJ zG=mqc?@sq#7$xw1)mDI=Nj&MHMtlqr@8iJBacJnXIp2Hdlr2nWqtGy+V|wBDrNz|R zDkHy+WWI(2{!7yzPo-JUH!rbco9_VJ9%SfbL%YV*a8U>B+U0Xc1uk(%Wy!hyRTkR?!>3gM(2*F*Uf2U+auS- zLc{uQ^W7tad>)iiL&&LUj8EScoG$JkYsXh3I~Tk$D9AQ^EOxk<=o2Qs%vm{I8!C0k z%F$!QYOXSX@>tZIcKq>7i+(9D1(;T?+j>=l@3OKdc7Mfww=Z$$*n8_c$CaHkxh&oG z(Lr*x$1zYNyetEUmiKk`ZDViW0@x03=oa?$eYR89F5JExKI@de&E7rN0c9r&KE!vd zzp=1Eyp>0Zl^n{F{=oX5-9Op`WzLjAK8k_QrDj)skk*4&x%f z-71lOR4ZnC0+jpI2P7jhVWkC1!$t#WZK$?>v;U*qTuhT4u~MVfjp$kXFpw06zeZ#+ zb1jjh$lW26W|k9P-ppNa7HK_pC72>B+K(=18%Xe8-^Cg<&)|kvbm2n zSU2*uOr4>nPfk-m;)=0d0uyyB>j)Dz)#X~XVJjtF7{q7|#v0uCBJZ9r?rW!OfC;fb zRhI4Q8mXQbty!c4s%e>lE9mgdAb{GQ{R*`mqBt?&f@|*{+1Hl%rZe%4%S1qF<1`82@_NA-b}r@c zJFs6uIR4=$rOrS z3b+wd)u3SKsoL4Ike8~2zN%)$LF}5mQcU%*aXiC%OpT<&mqU<_&!g;Y$AZp;RJjY4 zJk7|+u@LK}f0+kW-b#D@y7|MEXlwmq?!vmR99dhGsu%B5HuGq$?MDWROckspd<^U*lNa2&+>|r zp?xTSZ3pJAtvnlBl5da4F#oyp-5q5G-)wZOm~JR94w1Od6yGrz=1pcvOiC?^VM@Sy z6G{9;o>!AeyBqdo!Xn&+`lvE52m>uF$ph(1mhKCS>Yx>Fd@o5yLBC1C>oYqHV!%$Y zFsyN@CfU799m#vy=|Pe|&5`8cV+drT-aeuIMJ{nD!1u5aYch6l*f!u{ZWa zsb}sUeV=70LqmP7kC3=COvp)8!{IP-c?t@iQx-w^7jy7*$2Cb0}MS9(-vc`cW%= zwdeNuq6{%l$T+JQ7IT$SIf%Ue2?vLev?n~Ooppi$?UBvfYWY(9BR;9BDbdg24+OhZ z1FTXFo|?C>ft6u+>Cd0c1B3#cS_}3jBJQozKn~sHOjQ3hTB_C_K&Q5OC&v-edF)#Edn^kDIe^`<>DmC%$6($$=@Vs)Z_$i}v>`4hWL z#zRShpHw#t9u==4c3||H0}!W3#NA02k>KE*N@xJ&VL%U#h+hHqnzBrCvDlZetq(ce zpKCXp(fv?6vo9KJbkk)q!b@iNp{zuY$jY$%+0KLKiq@UU6qE;yjvTdir~^*Trbl>N zYD4C31-A8aYoz!kqjtc_f-zdv%|zCaZ!?mOtm7W=%n&pMGVxpI31=v8K#ru~%w8b3$q5wl7qi zuKoiughzQas$8(b86iGg#$VsN|5-IK;}9zq+;w?k$=`S`y*!ZvF*Rnl71OPLD9QM4 zE~a*Wt555hXG~UNH&LL(JRT-f&9i))N^LQzgW93P`PH+6+}AveUFnCKEBtCo?W7j3 z@hs-_d!BW~EC;2^&Gq`aq+tZ863wXcw8S&>oFqxYyB}VgU09PZy4PityH(oREGOKk^L6oVIDVI^U4aTR<&|0=f&NXA!B0@B-SWD zImgD&ggrd90f`GB_N8FFeKF&N*gV$nRUF=IbK3smx|5g45&|yxFoEw^?F3vnP1Ylb zHT>J!6@atxUm1s=WE={`j&Rl=bmXps&4Qg-D`8;iEG`^IaxZXQ8Ok=QcACGAgAwOV zKAA)CwT+Ix`xhB9N53l*|7#|W{AY0~;Ea`vhea*FztSu*vhIfS^k4qhlDoZZ>#8tp zWYr20t4eGmEUJ=p z`^5bZDoHfoq=|meY3cq$TESP8kli}b_L^}{ zjs8@tbJhJnsgevEQbz6LR?rsR3DY1a$$G=fE}i`}@aMgj-;@^w8OTaQ3i3|pzwdkZ z)=>e96GHnZ`Iowd3(0AI2Sl8mJ8Wwhrq`biNT5KnBEX=;EE~U^TWAQ{WQJhs&Uv;q z9E{_Zb6cy1AtWKlwaIdc4v2kobwNGd%l(a(Pj>4QB1Q;f$%$RZS)fIOnjr{39{Doq zvjPRJWF-{f_)Jt4n<{n8zQhYx*iWq+dqcwvs%@fyzD6ap)PbPLLD|FYCxvhDuYVM- z`KJm=z!>P)XS?mkaeuF28F1~JAQSKVp9GnN(1+N!=Y4UL^F0!{gen7WD$eYKa1yq$ z>Qe~hC9XIWbTDfnq*4+JKV8W5G7UE)B6`yC*?@T6@MLJ+BgfxB2$aRb$iknSXxqI zeEx@P__s`^ngN*h9Mpk1m;Z20cfMWI(oae^bqjz=Y1Y>6=pP}+>$UgkU4c?8ulleB z6(<*`^~|S8?#aXM#Bi7!puC9Z#GX{UAiS!DYdS`wIldb>MM~t9=E_%-QFJ!;9(7%D zb1}T-zRqm7ye-lSW}d-{hGs%IY|rvZRKG*p_rj$Avd-jZWW}%dJqsG&D?b2NN`4I7 zKMTTu$6!6QC7^gXw4m%Qu{Na^eb!!~Ny zGa-A$?0Vn7>VIo0NYjGopcROCuS`(ZSOAr|1x8>ffJprgK6PH;E>W!%4Ce ziPUO1!nH^L)B?~*)&T4!N;;`koxJi-xt4wRLBcl-)BHvLlsSDwtDjQ`1K@uG@o#c`$giE#REK_O>Seg{`Y~x zD&?ET8uptm-S_fu#?G{AU?qgPAp7`J8eXS(5&IW4uFan48aNT#y57&PS(n{U=9L6r z^7{y+92!90<(}d)CaKOVy_8f7o9=--7}s@Tmjov42|XBjYbpinxpar>wH?-v0jg({ z%iJ->B4&#lyLB!5^A)Uq8^&Ooe#Gh1-1nCCo#hFD0$=t!_nWal$jx=%27*vu4V8b= zaI)>8P+aZ=5-2l{X1w`^#C6wgr1xq`=<{kdxYfCcdgZ$vJT1ocuZ+=?iYgbQ~aZ z;BnWVvxODi82a92f9KLu$u8Zh)%gd;S#KFxg$tqgvrE@MuBHKR*zNCJ9~y5kDf9-_ z5o9f49kT|fUa$AGuSt^hy0dM*-7>Wc#eqiOEP>7y$YSoBK-^(_x-bS-OmwV;ESs3# zXCP-XPN;;CLO4eoO(3|DR5~)#*5Hp{VBoAj$nPYtrP}cOYqyH~_D)uRekb{$*knRF zAnhvQLQIG`X(2q))|)fo6CXo3TFp~I;fy!lCwpbAJlFe6Q!r|x+Ww>YnCJk7;>wWk zY(c}07p|RyduDdhZ=8oLvr+4bsmECK`260(3Mg>iivixVg3P}-P;c^q8pEAGegF5p zN4~|#?7uirpd|qIKF53XnN`|sFIUBbUlcQ0zwQm$RmL^b@O?I){v7c;hXmChqfX$4 zT@v`f=^Hr?mal`ci;|Wh19!}1x8&X~o81S0;&#Wc;M?ECA%hzJZ}#0L>u?iM+=ZdF zqlcrSiXQ?^2LMI**i&z~F7{3;*X&-wrLq!=!6tw|>!u9s>lVT!E5bE25HiRCVH9Kd!x)p`AKwDP*v|n0p#1rzQk&)L zi&j9j#|UTvp#VA3Fyt&x&gfdiP@kCf)pYWp9}r-Yl~Dl8*>0t^ra69Zb>BG~ak8^X zY?!(C1IBnpzHB;~pZwqdMz#I_3=O+~0W6T_C;~T;dA0P@w$J#KS&7j6jzQPSi4L;swu)S&tss(II$5kl5zro+y z$Q7$R@%ECR>jf7nqrl3rHDPwLo%9iEiN zybfgJFHe}g2<&~X>0{G1^*175X?*%Gr zWI$Z~Gk(jslw4*ze5ulnaJJGNQ)m=!w`K$$#8;Q!e<2{A{O z+IE#^=K}NfdM@fLPFXLLk%kG+$$6HAE-|P`4Ii4+1xWpg` zZ|pIsXf56uTYy%Y8^o?tq*I0HC`FgL2*BNGwibTzUv)7S!9BU#I-`3M_01QQ<*K<4 zE2=-p`VqruD112T)@-Pm(t4yDUAPsq=9pJs;W-W+9ZGkW&dyOZn|`CcK&&wvWfgwv zsk-!+t6ijpPb`|)bai*Xwo5dyL_%pO((}9~CjPa@lboHU<@(dEKCLF+2|p2sFhTQ- z&))ZjZdHtznd|v%^`~PFB~py0WD9MeagjJg6T}qxv4*jkYA3t zO#W~Iqo2_!sV3v2G6scyb5zS z2l5&ZjU&efbR^36A(|t#@%Ps#Vx>rbz-04%_IfBFje6vR%G=0mUiW%^h~oC6 zms-bc<10}yP!@{xo2m&7-#hw$SCS%@$-g4}xBq@1fZYF^GrU!Tsq<`XFKq0Ip`tn4 zG1kw&H1fXwafP1y5)i|fTUd~D%V1PYuB$Wjdn<(;;We(i6DPtQ6UHK;2((VqjA|>? z(bu`TV^hP$`pQ_HHYl8c_{p6$rQ1dUIXTy}U5M6gG4YXXva+(Y=R3~*93L*fC*PIW z2~Mh7wI4&&Rc&&7OAzcceX_7M?Af^^I%GUvw^s3Z^(tHpfHtOEka&P-# z@TIH6M(*j2H1p>UyHEKxf+10uDfao~K)!*l=U%#HihJ^3;QqUBK+t($by%^9ci_jj zr*NhyAn_)LGWKoq-hu06iDX#$u&{kC&$#$u#fM2%ZJmX6yg=+&+AuIoZ2x%m?#$Lz z2n13<9Gz6qRjirmSea{Og%!m9dHaF;lxuvczINgBhU^P!Ioa8-8B}lG&dJF&52hf@ zKVvR%=udeD`9W};02J}ojVk}W)oHd|;>?%dOV*U10z zlQkbXu+g9Xdx7mG=>?caVRk~)vrSMK*cDeNcrCvu=@vFnGB!?P$lFu+9LB_XU zZt2e;S50b=NG~et&7Vy!@Gk(Ho!c!tQe;C=aK41UjT;8>k%eHWGxV z)|^{eL^>lRaSom2uk7|j;r7nhlp#7y;#AZzxrsGn=j$x5m_=kPdJeLC*a_m^VF$QI z``Y2g*7e$klX;9;(Fs?7@yi&3Mm%2KXDcaPg)!p8@sY&iPm)&g$xFyF|&|Bs#1Gh zYxsRzgaQER%J2L&SW2F1En3nd8o%%h=w3hSf1Hzj?hk=~ZBYKFe>=}czCZQ9dw-Z0 zQ#-iY`TT8eHd^o;>_~VMb`B1XbEBmmqd!+U7hi*Kk-cCoapV~+{GcRwV42-aL zoe-OUYbj{iWB3l8cdBeO17)s>W+i2q`r+3^^gxq)QPfB;ODVR8Xs6yO?l+WYl2(>? zPZ(4Dj?DA1F|ogWyVVo@-1V0Iq`lKBtBPaoE#gR^s}yQMSp1lf(8?TEpvMtH<^E}& zsS}J$+tqxe=3KHIQdH`^*J#oGlCs5o?7p5J*O@cX3)NZ9WjvRdynEu}Y{b5NVC&Kv zw{J|GaK=q_JK7l+2y*kDx+QCEo!u2LVgkr`*FXW_O@UFZBC}<5ij{$^Y>@MsHvMou zX6)5@NXPPEZn|zE)HEzyxNu11YH}J0A{Xepud1yb?XotR^tYwPj#wGeVLEjc7Uxp8ME@!F#rw*(1 z0u9;ZKL1UVTZYYCcp|#^g$;G)wXx51_J>2S-LJu(FBHp@RQGq*pfz|oZK|M3Xs zv34S1j%%vJ7e~;{P=%lG%V^356G(b0x28uv6sg>9l})%B_M{*ojhl1HZRGv2cGqDe zJxmr~!#Vb0Lj&eRV z*|dS4IbuKVeIbXJd%v1JZ;bQyG#hcjdrL#ed<*i@6U>Wo_I|Ek6+ILt4jE_H? z@I^egYPm-sdqUWRckLV+T}!wi-jjIwV^cNS=!#~-Z_#${D9_xJm+B1aQ-ux*`|h7a z78Vt$RZMy*IbY-kI}EZ4=Yfa1Nl5Xuo}IF5K+*2_>^Hiz>3lh{GDEBJj^WtB#?dIj zlkR(GhF>-~_X*Q3FJ9Lq4n_g3Py6*u%#+DnGpeZ1ug+Uej#>>DZcl0#K86^XE9hR| zdY1Dz-W|4ZKC?~FGSM!l4t^B7Q`~waD({H*f5!R}C4llawg9~RPe>Y}^)3DD|2e~C zOV%PWz~-Yx=90W^Z%YMV^zk=@5eB#EUiP&xtCgT!<}VYly58tgTb8lPSZF2c^Inu* z=!D?GSrM0%Ty_?hULwE4mz|Q4y{_?*KW1fhlU5CtUfnPKZl7ppFG!VA~ylk{kW_$>Ho&9|4hj#$iZ(*!b+B=sxtMnDdxvz`~1 zS`e-<8M_4Sl}!-w7&h2>q9t;&*O5N5RgV(@(TDhpt2@N6A#{`w5wu$tI{6PuMdn!z zBO{(~h@!sW{`QCGwJQ_tcns_+j9{>aZWDa9v(Z9#7lh#nznbRWXkFqcE!Upz?_ZBb zxkR(m-lX!S2HcU4GPfw$X$J_?RhlT(QtJp+O5e$D=0E#!+kv<#2Y6+{^^8Vg7d);l z_ztE1q_VC~|KJDgc@x*cbb9y;v$B3Q3A0yl+ z_UJrkLo4sK;)#yIt0kQ(|9BvP?bb5i0pj9negF;LT7;0M3zw=tj7NFQc7NUEfX4}A zas)vaH)q0~M0&Rmh7#_Ci95B}ChC zN1`%R2r5JuyR}-MqSF3hS`kAAk7vh7+gZ1^y0$Xb_RvWYmn4M+T89n2BNsU~UAz~T zTFr9vZ6M>8*O&KXq_Zzwj{6}y1eV&yPXT~9T>?lSY5pS>)u4L(fTK%+;is}+n7;-= z^`M}3-5HX87FwRVZ#mivoJq~v&~yoIvK+26-g~=?qiOY}L`{DeKqR|S@s;pP-nx@w z+ffYj6V4>78Xp`=uo!*@No}OJaL6(}4WNv-J64bj;woss`LjlnAMe{}DOA3(?N_*Y_0x|i?rHDX_le_~ei z+G^xeIEHo(cri9}f>V-!b^clyd`Telq`qXkaVHuc{>HYjww<@PDbF&}>3M}L}3zfBE~ z00~0dKum0GXYa$M%@>uSj+;j#o+P3B(>oK;_0#qJ{wihAy{~8NBK@v(AN8oCNLM%U zyDBCoX4e=h`J5ve8xA|rH1^sP!fExbH+d5{;68N;0ApCZYS>~jbg1r15*SXrO($4Y z5xJFgilrtNyIu~x6VLOTTFL3v|Fkw~X{zI#RE@{}{tNv_AU}@$V<(jFkvTl0C3w>r2Bj~xvbyyG-k zZQ1_5N371^c54tV=aLu>g}G@tm|nhs?URBo)K}bZ4c&VoB58lyXqkr76Yide->M{_ zM`4|34X`%{m08sGJ5B5(>7;f?U@!jY#7l5{5zKetD5(n?UaOm#6ROv1XjkYeCLTHO zZNUqpfF_BYAidhlFUkK*K>k^DkskU6YRPBvcXD?CkvLQmZZH{oR4-M51hQRIRZ5?f zd`=RWy60_qFb5R@BW_J*3HXr+E_<_j==dG0hZ%8k7y5o{{ivX6*1Y?Izp0u76G z+fFZkaXFvA^%EQ@ zx}`DMVjf0@vB<)d_bU5K_|FS?C3sqHmj)2EqvfQC$=G#NCyShPd-|7u7Qg@9^t?!R zRfQCP`{h+VQ#vKOaojx`ZV6}Ms(GX2JN}%W^u}?PRw6=v+Bo3m6rn(_5uOLa)(-UV^qp^tnL zxe_RE3}r?q#j#cH7W*1r9d~2~_bHSIvU{P*eoD$|O{korV@Ub zxs8^Uqa|gV6I;BmxilMu2q{!i_fpaFzPyv@^Vk<6_O%5z+dBq@9v0!4qHIbV48GNU+7TPKdMjL>_59LNpjf`cS-sj%Gx7RJlp*!0e;?gHe)>R9 zhU6DOl>9p-`IjK`{hv}v`S0(IfQZ(5HD0*AyE|0eIG z1FhJe2<@kfzFi6>K*g~4_m?ap;GgV4cbe@LMP zdckSSp2^53{gt~;Wj~M3aTVR+oUE*y8058h7ne-yW&bxKSIaOBx99C)^-cA{n1F(! zbZ)t&p$sUqwT|KAFrc3U-2vIKhL%?C^{DLoq}j@;h0Z@(lO8Mj?qlDyvU>MIcareC zvth48_@off*`H0hM3oE)1vvg5BxIaoFaZUFi?HS;JBRrXl(XuhXZPz598TzG>;y|!#@z&NV&DSr1;Z?rI zur(?!&aC$V1N$~_pnGF;iCb-`{A$AD;K=z-K^cdislVkVr|I1u1ku5;(kxqGud_`D=G zd4LJ&&(jmo9Ae$Koq>~l?gF=AUfJ{QY7)ISlFEO-o@l6hx8D|LHyK?dIIz)U~OQ4f*tl{EhVHUk|7LoZD!xrW~hCN!<21bS`_N2OAInCQ9qpMl&YXAn?bE0$SR_s5wfp}}7%Ff0LQ}e>D&&N#p;U%lLD{AlQ zQHqhP5EkYs6+JmZ0Mgq$Q7-k{8!UtS4lOx-KA-t^_F0&->V!Wftx_VmExRnG%--Kd z8t|)YqV8{id|w*^f_OtB;-JODdA^{w%P%(boEB~qaz?G6I2rN!sNO)DGg>)8J1wTo zAgnabOT=E<+SJHp`x@=Jr3^S;VlIL*-8Pn&-($lrLj{h5_H30*v(R#_q4VwtKKQWH zqj-NX1ujg^7!h*;2L` zFbd-lH{;~ctr5QmnlDb?HY@F}Id&BF7_#%vNc*oEZp6E9oel248ANWXPU!7@*4raT zgjcq`7{AI)J##>8(4i;H0t9i{D0(5z*8UAZDc2sIf=vUn=B>q4DBUT4=2y^2y8!(CYKHy2eQ=+GO5K0SSION zw;naRa#Vtfw)=7U{MmJmEr8BKUCD{cT$luD8j|iKv}{_bqU%|+AIEHlT`aaU>TSx- zOyEQ(;ai_)XdUNVqWVWVoAcaui^(NAja=o5w;Mx2<0QSq4E;X2rof#-%7KBjJH;^E z*n&OU1Xb8Jc~%17qby=vuL<+xpO4V!+YyTV?IWzKDD-Py8?`i!2#4$mIusS0bzUu& zZ&#Nm7&|#REn_#2YG3l53-HqQ;Nszq1cFt@#vapW+^Nn>EM2xd^G;J$Qr&IToWtNu z@i6+}GqZgs(Eea77JuzFW)Yu1SJZOqEWt2_B+e|(J2OYiX?1+DyK?fiWuodZkA7KI z&&dn-`n?;lB{b;q!#ol3++gfFyQf*7Z+mym;;zBZnsV94Ha4 z6+FU@W@2jLT}V&i&*>Q%a#Ajb1q&OA8TXQI4c6bVmsa2&&eOBiQS6VdI*`c$k_ese zEEBFvU~aXs*wfWfBmyk0g?=~YM?0#TxSx2iG!fF>yM>T20P;k;Z;_xL-{kYmzWHN2 zJpsGN0-NYt7?uYt8Md*qWCW&9p2!0~z?6z3AVc*lBX8cE_T1`rpO4m^a=5K>BueWU z?SE7n0#+Hw;l1l`R@^`<=(TSwuhBK+vGO|8EI(4 za+_#9Njb>gP>FeGm1SX8R)lBIvY=QG2`oGvJTb}mQK;hm>`dG(MUHx1!b#MVAR6aQ;v6?TQqgZkFe2GGIZiq%%hx`Al2tFbR^?@CDCm)f9#*A1dxi?G zJ02^F@ScAO`n5HpxB>#w8rd6hwA;pJNCCuwF36@aOriaPUeSa1TPxZ3YuwhB>$Y55 z{A8S$NcPArn?)5E&%*pXm22v$|2Q0qBmDQtF}LL}I=cT~cibqz3;XX&`M>_900x|fc63|w|6=d0gR1Pl_)$Sb zL=g}H2?2vHY3ZXV-6u$in-}`#!e&0KD z|GG1b!#pF;v-jGo*JrIwncB2(HQhzm6c_gwtlIM=7j&q(g+;vjR1cAz$7jU)hJ7>| zS6U`e=z$)>rznL3q2NA-EE@e24j0k_9B$UQyRoy|wlH|{*UAALa9sMvF$*~s1HMV#JsFl*Qp>hH@R&uCDrq^#WdR1cqWpPw??R${R3 z%iDi#PRwdY-B>j#r?BBUBW&Qb~2G0H)HaU4Y}$Cv5Gyx%2{3kb#H|JV4|M~ zoFi3{5!F?q`Z3RRkYUh73xj5x%=YanLY*T*Q92h`nz7%a-@wIJL}jnxSy z8VMeTy@IVH@lfFF4~op?Rc(U~f;4IA==@&49TV{sA2L@@mSoAgA4tqVqA&L^Yy}E6-m=8d8svW-V|p#xvilMQ<2`+IXC#=H)3C z$kC`EoDsX~A&8;4Sb_$fp)~ZmTofQ*KY+Pf$i-id9^~b<0*44PN7j|%va z2TGxhN-Um|mSR?hRML4Z#*=+es6{`;Os_lJAVv`45^zgSO_?$%NNG~txu#~j$DRKV zpe~N4i%W-l5UfW%^koow!rHEG%VhBSmt?l}1OuV|E?!6SYb=!?>f_1r@s*@SlRH#v z5b}l*<#(#we+9gMkT{ImZ#FGlF^xW%i`lR8eh!T)xh!icHMg_9(&19^!`1us_09Dq zh$!CEqU1V$fn6S1{l>0x=&i+dGw)>$)9TQ>12=bgd+Vr?qt2p1Es3=fk$&<#)$y3@x6c=UxgL+vYcRPL{=KGa+RXNwISI6OBx;gfBo;yOs4k;cT z_82-jMFl>-mEE(Jd0XYw4j|zdx9;K+>t^Xx%c?rQuGdfjz35aG zZg6mLI3O8oCGO*$KCU-76fqAVwAHisRsOOl3KFy&ftWlXowhBE>I6DftCM7>Ya}t* zpca5DYdB}~Vf*y+pQ`9+5$qty17B&@RAoA4wOp?Pv;}xvqb0|LeJb=pp{%a@ISb(Q zqC^YMpirWU*E>z!B|o)?Fh&T((?wpl{M*p=Q;$#Q0C3b?T&|$N+nBM=o~9Fp`|%4| zG_n7%6{lBjboF?NBmgr)^m~b}wZ|JuUPdzM{)x~3{rV31<8S6Um=)@u+65SGaI_St zBX{AQQ;&cD9cUIeKs%;rIG1nkDX^hmGB|h)8l9QqX2*Zjk$=bz*70(aT{ACNoqi*Q z?D0n{2;Id0@=Xf+<5O%vBBFUu4f%;-Ia$hwO)u`h9xlN#iM+M6n6959(bW^mozs$F zy72q)AHV5~gX#zxG<;=$Z0OW+J&!s*mat7_3z1WgPX!$=6~Y&AWPvf1W5#hiy{-!C zBVGtt42t3k{E0m0*-xjp$*Ouxd`YMBLax8OItB%NJ^W4#yLRRC zFm?m;Az!Jp5@*kw$jH)~u<)GXfi|?`WpaFeQAc}v-=|qt5u8WY0~ELoa=Sv6CD|H& z+wq=tpSFvwObI>Zbc1-2RK(qyIb-M7;_hzbr|27>a7>xxZC!JvQ;$!R9TEu0E^ZE~ zFE z@hEXNBl{I4SF~S?9oT#+-nnvvvi!2nslN&b*$^N*R8Hr(|Fk*3PM5;Z5D+Nfs;s!; z-TE>JGAOi#Z>}l65yH$6PhrJU>mXRLu+XB53{T=_pd72ev~j?1kjUTL#S>Nh+zG zo`?d|Xk)njCR2SGTFdXL5`LFXwy_*#cKOtT{*WAU-_y3=g@OQIwq;WBM{ zsw%ZY*}mo^^CQJYovEp*`WD{Hew-~S;{AEJvJDA|&80v13!)5a2jFYnbS@^Rr9p$} zRqC6fb;Yc#<{QL;LzApu@4OHX|Kb(Q`i=;W)+P(#8$IKxn-pd1;oYQ?s#z8ks>Lhl%H8j=Sf-c4N z#a{Iy8yTY~jZyUYn`lt^<>Z%AKfeOGbxh|jj7)rmQ^NL}tH5v53=l}N|5H=xkr#F+$3n}$9q5sQ=P-vPvj{HgY5{bmVG|CNU!~3Ib0sCK!3rY5AW&+c(dR4z zduFo7Kve7yCZ&C^EYD=PAsulZe5-CFl!c zr1eg8My{h}=C|0MbhUby1IKvV_qs?b3&9;)zTusX1p`!-5$WA~4H0L8hb2P}6C)SSL!MO1GU$+f(jt-CsRaqmxHI$oc?1(Qigy(84bxX<=@?^*s~Is}=`Zxc%AfeBsT1yLWvbmxeK?;zC>?-s;-KEV zfA_b)ChF+=)wyQy`>dwk(}NocW*N6KSjuL-ui=TPKX9H}v80qonC!n&=$TbLTr4+H zwdb))K&}nTa;~>HV1KxVJDM=<^$&^p!Q_5kCz8W%KCUoX7;QV5?7g!WXceW;wOpSV z7hk#E6lOv!KQsJ-WO@J|IPRf(?#njzl`(2*GZjHPCMIZekxdA|FMXNmrexJaI?&Rp zK5O}iLWXtUR&a2mn`=y`JEc3JRH-pIr$0gCq2MhQfW5PrI-n}&cBL3*=ZjChJ&iO0 zV8{8m-jOm5b&JcT?f~iiP(^=dCAB>^TBlPgGtPc9L$^Clrv+1Tm5{*)LuH=LQpSez zwkf3klC{%!4(qwT&)aV_K7QW{6KpX*jB6%RxQg|O#{2Liw>EG<8(TOX30|1BdQ=hN(d76Bxl^#g2da){&zcD{3 zex7)#tl?`*Z!P&j+yCq_VTJD$)YR_nX2FJbdIvK3E8e^COV*0EBDNS)P|C zDR5|>$6c=KsBfdU{;`CQH@{ydinTdSE&lDWHPLM_`^kE+6opdbqX9z0`qJKqp-{6x zo&KBwneu$2{`=^>Q_JX)mX)T$GEjVamGDBud|{ALz7Dp<95&7RY;HPe*x~Bbb!IRV zkm53_ysFUEIs*90r@-^Kb%YdQ97i8U$I(aR?7J5q7VUl#ga%c7U4V$^w1q#-KB~Z( zI#PLyC9AFskFp?_dGwv92l6H2N}fpVdve(;5X%$uBDbs6td^*IEOp>aEh!IRo8Os; z%a%>!%802`CB!Ayqly<97}fKaZ2U3x&c(?Hkm$_tTI*Bu&fkrZj@HM&NXY2#8Cb^A zjQr}S{OYXu{tnOQk5aeXga#5DR5_;O4jq#{sGxb9n#H}_O%Vk_K|wITcAhB(3qU*n zgTeJ4!zunp41oy_dOjQvIG(p^G-n@rXn2de$(*0t306 zPcLrowUKq<51w(L;od?HgvySrmcJ$O&);&6des6@#d+uMK+v(g1SRn%r6hw~0t$7f z1fMWiE2D(-+hhQ^H^Yqa+WfGB-Q9bX#h?*E8hNC{5q7i-K}5l4T0p4Uh; z&%}Sd#fniaN0CZ0!f*zGG_;s5Yz{Ud2gNxz5l~|?f$=Y8m~^#VAe%30gbZHoMFO}% z*EYkD^}gLXpWP#)R%jk%(7D^W`~3ItIni4vT1nJ$Dht@C-MpE9hP{LjA<0N;p}$3* z6tgF0z@YL?J*z>-bAu+A01bFDOKZEI7SRqlm2!p}V`FgUooHqC(jsfC+q^2}0{oFO z5#8=k%kGadf`k>M{kmWoFY(j23`dUz z+U;}O_lA>B?N!P3i}Si9YWps-kp~S_k8bop(VaytM z-CY7y+@Ae3Llju&96m-p7^`B&OTSBK0v+DpXyQVzOk#Bk&`PDw1xXz-?CvzH}`*-I?k$>Rjl^G?m$OSSH1h z^%C(E_~j;{12<_P%e>R>B3?#EMb}P{)Nsy*<&0$Mbn!={naJL6uDG{Yzrw!~{B}Y9 z_|0_=geK58E&=;ZurfnW&4=~w(c$Ln@%_0|V#%wX1rbA}(}n8<0fBf+j_j?Oxy-`e zL7*Ec6iC;Is#<}ew!qot1Ci)3p8b+Rr`?4KBDuqFd5d}tbKI+vb!07iV>>+2zN@CI zQ_QUN3L;2W$xp`rru?l1lCQF)!{?T;x z({$nheh~w}gut8|@CO;OYc0IwccZb?DWpp6I;zD+8Y&-3G+iuoJQV0ie=(KBtY@W^ z@32)*Xi}_kPmI3gGbPrcJ_e0`XLqn+$_q)H6xG$IofGewMH<8N;ghcxORYmjM`L+} zsAa;afZbzV2i(-%)%C@L+*$j;8sVO`G4xCixR4s)>{uMEQ0~o_kxX%mLBS z%>0P{9G}+O0@%fg^S=bAqV_l&FmCHM*}N;2QG6gQBemyo=(LBsx!SYr8%zD`fBs1e zKf9w~@tW+4yBDW*_buMu+Lk~+m5y!fJJAlD;&gO$!_$`dlvo#zjB!eYQXse}lF?$a zB`_xk6VVD>Q}~NsX%p2d{xND33}OS(WQi&1j%*?OT*LMNc;j=V>BXS~M?2G7K(lp0 zr<(Sq%3z#Tq_fncMK+6cFr$up0J^G^jQ2R4%lRX(G&V7@YzKafup@_ZPjFD!wwD(s zz$y*cYfKM~-Pe0dRU8nQk(0NW#Si8|`n_}M(2I697D!B_UK~n}yELTDYjJ&}uC`#% zw(ocJZS>|iqL1p;t8EHnwd_NQ3g5zZj^yavZoFW-j2-h=y2PH)rNib4$aSnN6qASc z-m7{D5)zAVEQ{E`uZsrBluXxz@J4fxOgZ!zS&7Xz+{-o*b>k(Lp6SpD6QeM6>;)!>-*<#9iqUq!UG9~-EY`*{dU8PSyg9<*!5iybTejjZ=rJ! zm7yvPbb1_c4iJBBZ*O-bNYNYgS6-m(#@ovtv&uZwj_cZnhCA^vF*B=#bD5fKAO+fe zdNUX~#=`Ll#r#)go*5HY(=jq~q|$P16wdMM<47PLQ(wZ*Gd8ksi|G2DNPUBI=N=4a ze{9b1KEK%p$8gVimznFMpq8_G96fLop}_5Gq&#l<@F;_>XHy>;?upxl`vtID=uBE= zk3l2kK>DCDLIVz3w@muUN_LUEvC$xgRYzpBEZ#cL6Wymtd32S~{7qt)j&9vLnNW(( z1V_^yEaWraitV9$Ev^U1r*of{SuJWMRSO*6uFZE2?rCy-=P4Px`?nPH9uQNIHGEF) zjvh4Gs`WiBDX&ctWcaj!lBK~H65lvDr3@(ilu*lLWnveGk1AD~!1cevq2mGiQY@xg z0yS*NM>R(Q7MDUV+A2Z4$L(mGFgiBTOb?ilsCCp-?cXYJcwd@tnjLWv=sOa^)^bV8KnQ}`=u-jm>+N5!I_*sBaqlQCp@Q(2*ks~hL*JZTd>zmVH1iznZ(>7Zu!t@5q;7j2R7 z*1+Px-OB~@{h&u=S#Uk0a-2jM_h$;~Pxj1F1nh}^4!U-oDjo_i4=6PL>B*gO?E=7b zP`&U$utd3ZShSYYsAyWH^A2{^kHH;xtxdK=1tVy*ocFzHu}O*$eEVIZ7IRv_9{@uK zxVR5KJ%i`u$VWNM5QXuqt9Pn6Ken3CF`uR+49jt<-1#cx<444%7oOwPG7qko3(*|h zfKIn0A`h%r({rBJ%Xb!3xy(<@BQ&|{_WoS(Z-474plU-FnAKxMB9FNn_UREbrtxW| zhm&}09L!4SK$jL6w0vWK2isiF{zBDffG>#|@IbRV?B zT`4^nkN};%PX;8!d%hs6HY`*`SJ1u7i1>wl1SVhEAUBcQnQM#Xk?K8PJKD6*f11D^ zaaIR?%VWXZe_QHn;OOc+frydkxkHOAry0QXY7D!DQ?d!XmS@K%{%Tz@z6?Yxk$ZM- zb$oae$;C!y-FIW9%?&$rjO$=GA;S4H<>Vu0$wQ}7*p!FJ2PE#I#>#?Nx2fZ z?itOLt?o4KPGtrm*MW0L1g00P#{Z$@Kq>Din|ielMgS1)^ESvpiv!Ct-mz9eCuT4g z!+c?zupVYwW;_F0fknaO1p6U@1D6h%Y02o`M3AdVG3f95CSqP2HucGh+<7bGsK+Ei zqLpaTdICSBK?hv5YHG9dTX~(9C`d3cW+0CX&lEs-|8{sFw|-DC6(6)6=jACD^cO_) zjyXp;%3BXw5%wFxu%eahcar^CjlLsI$U)1dhe045z=e<2a=4G3vv_d6*otRyafA5j zOdcb0elE8aT0UecR5CpMJ5hd$GG|a#>5hHt;If?|&QmU!_wD1yq?yV9Ngg=^y6J_A6x{lV@$eO>e`FWOnX;W8LcyF*m7;$6W#6nJLYo+9T+iH9-gF6e)g&M4fl zLzpyiX^Dfz-0_^o%wR$-yZ$b6%daTr1Ig6Ij;}8Rq~*;)qg*RlJgdJPo(uhPxoDU5 z7|i`OoLvufHCPLEKIApzI&H>*Kk13fJ|6!gkx~->-MED_#eR9V27NK z+55(a4=j;yR{-2Pln#qq3h*HJkv5zd5FF9>IggFh&~!LZUA$vaVm=`b{CPN@S3_#2 z@VQfzIlWAr6DqaY-}|Gg$qqCUsDa!?M&3bz0~kra+0^j!`T)3g)WcxtaL!^`)sXc+n{iI+Os*7w=Ru1B^5V>IeFN&2M^jxeXlj-h-dv!W zwnPls74OY{6uGI3ED^ybTAw()4MtDIBFSZQym#sgyc#gKx5f_p>2jTaFx}*%Dp|tE zmY&5$0m@|NORgQ|&d%G*b>sj~FX#tS2nm@PCF~|mDjg|G^a_)|-T&V_e)JoT)G>kd z7tz;Gle6t8hy(LHUYS;+L-*)OrfD-uM&&`{(fiqmW^&nq7hj@Qwh6U*rW5f&FO+5r z_pUFlF+M*2N?mSCkj%lR!GqHBrSWp|XY02GF@I;3{xBODCne9NnwTr6pA*yk;P)05 z=eu%c2RkI4t55}LbAcdhi_*A_YbA(19{Ym9#Z?)>fOG`1fpPGxGsIw}I@^3va3O>` z+OF2xU&E$f)#-3o=*SeC&6b>p!{O#r8k-HyQT9j;mimHOaY;fg2UnvJXI}N1-`?-3 zx*%B5JKE!gG!ee}1A2yW^7xAi6>`CY)b5RBIA4wBh<3%s3h3iHe|h~pG{IR=Y0bh& zNl9s?vo$yVD9%Zcf>mT6h+k)O{)|eis&TWXrltej=w;B87FJI37y3XbPQp_bEga(0 zSy+nrV^efPE9}uQz^2nPsm!RUg2>pVLq z9>qgooN#5u{Z;%=4@aaBI(gidx(5_Q!`B-^vrQY@iRAS?>ZVGGNacTTB|Ukg(#f9& z+4#?%vWOIHKi&xA)2@6#bkM8*d^!N$Q6%-EKSN84dn!V(p@84MmanRJUvUZyzT0wN!Zz6Udd^`14y3!Q|OP5Slf@|5U067y^Qp&$dNGR&$v>-wRma&G>e>KWH6-T%Z`h@RWpxjalw7yVb|#)S@(3NHcsgx zQLkf;60>c;``4_Fz!7aaM3hdzOlh%Dfkj4@Q}q+b%!wT>GNo4e3pNRZ-4lGrV>m5V zQH^%i&@etJ34)1f4jb2gDS!G%zMMH$KCE9kCjXindjP(smZ>VI%BVA;H0m(x?I(Y8 z_&JNr_}GF&vXCdB%>#%3b>K@a}aXAt&Z5b)iMQ#m9(I z*t(*A#TTO}9!5Ob6rFE>%b>Vapo0@9VYqwh_y7ybD_3YZ(p2OBbF|&?{^khzs845V zs?$@4?iqPnRdp&mBjshOO!cq7#^bqu!24phKqDw9gL!c!UT5{G!Ej0#w{#6jWNEyl zKzNQ~?S7uTljbMo;2_1Ya-&GE-Ug0eqTWy82ZP<3SD$QDj)XNzt0Vj!5sMW3JOp}G z>2+4Vz%)LM{R0|C(Uy0NNT&OjA*y(1#fgR0@+^bWfE=G9TQYN7?FCw^nKmAs*W$#I zcH>ptE68ffWZydcUzrzGrk7tUe9T*%V7Q9r$g`;8st4~~2Y;9FjxdloN7!T)*gvt! zVFa>jW#;KkT6vXD6dD5k?>~ny_tV8_-RTKplxU>W zSr2Db%{EN`*cKF2WNk=4KfrD(AKoj>3@tC`Y}BBg_NqeMapo&%M-&y00(c+%&zs8XCg9_Eow`Hwk}8emc- z9bM`~ofbiOYZ0zA<|;aM1~Ur0T9x$&2lq2P5fa}iL>L!*XLx(A{z7D{raV>M5P!Wx zkM~RY&JtIUIH`^Nfv)otL* zII`izPYTl>Yc%K$SC*7qSdf6wevXkmiHaZu7n{^SRXQxBOQq`O7=&1h`G5LW76eT$%93f*fi5KVr-G!ftG_sB2!0b`U}7{g+e3~PV^B#!_%dv=+veSIG4|cy-|W% zuE)nMMCf;olxf#7^qLk8QiJ>cHX=?SkFJte9%aQozFcbjx)6*{BMY@k1s+jDJR zDTR(Z3IL-sY1GV!X=@G%f0uwHz1X-yxRts%vJO!rxNmp(OhEZdealyI+ ziIoZu>OnQc^a1t{bNWuEA|uxFz?FZzNqcyV1bU+sqz=BgjdT9NIl0H2qw!BQt5I|w z>J(P|pa-f9CRCc-1e5%<$;ch?fQL@&8Y=nr2S4Wk$o6ED78PSSeggr_+DOrVl{}K_ znQjJjiiw;e9X7=^Qy9v3G>G^+XWoxP0VsBv1g47JQV!lQg& z`|s@Ukw2wxcRYcM@?Sbmz{qL?Hs?UA7NMh-re-MzEmUz&E}b7?Lyjusa9{e6pSiAo zbG|=aj@G(xgCsdwRRoeO7c?6U2J`F-ul;asUANFuBApR~-P<-LLqnuQ7P}_PSPg!f zK;Xykng4N#jbHz8z-sWOEws}iz+TP+uDEPLVjUK*_Q)G0>=1@6;0w zPoV_-t#g7z|MN)FyN+?d;rF5v`Uw&_$|%SSO>|h0qQKW2On%;DlMIqKv|IK6NR zfbPC3>>Jkw9ePHR_?WqV#z2KPf2su9rImqkhxDQ#T zB5?50?%nevy)7YY-eOx%gm#-+)o<_6@kO~|s(p%Hf}Wm@UI?PaHKhoDH#saaDj8vF z`@T?;F~ruu4N~9i6_AQgIoT;>__64h?vKN=e8ycrWHES1(pBIttDi@Z%~= zdB!!sNrytV!@?CG4RYp>pQlilt8<@-*!zqv_xp_vH4{o}9w!7hmgL=w8P~0m>-9W? zCNBN_$@!Caq2ORZ!2{QT_po^iSufbEyQWYNNxI?!5i4iKp_wkM!2G$Ula-x8 zWf6y9S`S?!p5rV!nB(MN?nFLiQfSoC9H5Xj&mB#geQ*YqlA1N^$Ggs8poyPBg+uCV znyqnYYMQO8((awCnnLjcBqm;q2m`wI_{q7SYdYHH(MGRPQk>&8LC3Nt(Qvkgg@+iJ zvV%f+lXFOllR00f`xZfNuTcU1wY&fG}5S3P1H)t=CeuMY^#aFD(gJsBy0ZTNjMfNB^SLa1Py;$}`@3HM$(Ize;K4a@CX)g;2(3v5i7wU; zcKQgof^xqBaKIEQ{m(W1JeX=46xu#BHvO!@?>o7JT_uwC|KE#CoF=Gk6kCo~oAFpo zUII-f{ux^3(l!f2xYw!00^Z0cN=p&3>BfTVToj`CY-!C#tL4bq(d__#pi_XW08aS$ z)faHK@mfnT#A0WyTQALCwH1%u0##(O9qgvbFkz4arNjf(PD=Qms)B4XUvl!(Z+Xz0 z1~(l=Zs@)RjbQ|6ohU!#;jZ)%y-@G}2YQ{?++3Mx%+qT%;d!;>Qb<;2CjoBgz-M~= zMjT2b1_l@|De)^e-jMZD+Pg;j(S~L(L0u{?G zsSK5GT%2eQ7)n+X?Ykk1>8Vq3`zN;}agLM+^uH(%*Y4p@W@qOI@J%?uEvkeQwrg?? z;T-gEiICs`N(rh4li{L=Dw&#bplaUkS$+^32w+>rm6hUhHC{nY4oQ@Nq4V)SJN#V9 z0-g(Gx}1YFfBb6m(8~oup)<(@K{@gWyFyfbA~q?Y^oUxno%^w4GJ<0fCjJj1Jfxwq z5e|k7V-~$yj@7@WoP!obr{vX(VZq$Bx*~0`|p$^y;H1U>M_bb2t_vVpKV{`it z61rKw(4VUZZo_CG=%=8%-219cNHfn(bdOwyUy{pY7<*>+hEC3dHSNLIiZ^XiVm3&+ zTL69O?&bZmHnKJq zQFK>~3H?13-IDH#d=!*IHXzmQ+An2w?TD@lZ~hBiGZ*Ii*=n*)7^DsRV#=Jo_tNrT zwm-cg5AG2K$e3?>soyivUFFx!mE*SE1*`nfG&;_3MhbOHH;uA;^meE$DpA zc+tdJd`Qp!uvU-~sw10kd*eUYe8=7&0>$KG^+47Nx3W#-2UD zq422wiej!V)?!fHqayPOIv~W@__XrS6ct}&_FkAF4F;6cXy^f$D!s`woM+G>TVSM` ztoZ0!caog<6>90Zd;!d7!4+BG1QoV2h9_eREhb`ZMr=EqilrP5YI-eKx@diMnK$kI zy$ERMv{kU!^qN0Dd>@iTCBdWp`VExj8Tyg(Q%Y3}6Axj6uZME3Bc}5}qfxH$%Jcf^ z-9_|J+r;Yai-h07_`*c{%|)1!-R8_aoeyRp9fJn>s(oYW4ki@6mG|Cz>&GA3DNSUl z@Ye0=WIp&LlQ1Zr1Gpe^PQK6<_LBI81U%}4SUl(bhqh#nQ1kJod)=u@AKkG?wn{SF zG?x5?UjkR%0ph^V(a;E=*@?i#?*jpaL>TRM-Awg zx4h)x;s)6_@JLa4t=++hd*8M1A9_;`>G%2OQf}NFMK9e&p10g>x!!Fgwz_Wt2$uwL zMO7@z!wFzacyo&sMJ!LwqTsx{ex$4mh5myz z~RIi$?=)u=Uv~-=RvsLw0EiUvqxM_tBZiJKFcPl;jrN&Wt!a zt}Q24SK^zxK72Y>>l6F>+{IUlyE>obMMee*NV70grp~I&kNM3Sy zd3~mTSY9UN!lVt3#$lH08H{SOBL{Zwzi6_^Suz2KcK|9SU1%{Ct1AV&t8(dSeZy>&CnI$?H_H^7khp01Ac4O}F`eM@Tc~r`C!~sXz=Ih&vDk@O$m}SL^z?-J6 zy+|MjrGLh{lOv=}7c8-et2>fRvbIs}W;xTrsHNe#(i=VzH=s?lmqMZubYCnc&v?+< zE<;@g_yhqXA-m&vSO#sIXTQPgOrQ360oO7PfplsOf<%zty(VCU(VeW(*rECum&R&w znQwo2>b}Lo_UcqzH+@L>_9wqj&t3^&((iwYi}}FsQD89Kuq*_X(Ans0W z9~T=VZL~U~P{C_ofmgnEYwt+ad$G~PIiGxaT_GfTH{}t@Z=bOIX8qxq$8sVg zQXxY9LFsr?ST6gsNrna}Egpv{^5)ES;g24&_%!=`4m3dws`nog38Ijfy&!bte-cyY zjwfiv?=wbS9U zdsFKzr{(Ws`s_gA(3^+f?+@ z>?baPn5kXeIup-Qi_#5PK#-D&G{ zaaXPg;(O&)=H1~u+l&0evEFt0*}aWq!^K2(Q9&^P?sQ>!+wWr)AD?agG%pPtZWxo$N=!Bl@bGB2ua??(?C4~2{@cl17j$A6E^~xETEkJ0kv!a8EN3@dyCxpa zP7Ar>T2w@kKZwRBOo@j)5gmb;PubQhHq?FG>?wxJfZ?0Bs&2L5y!WcLycTQ(q zZTmCtC?kEZ{5fwM_r+M%+^Nt>;7hd8GnYTuBOaU8D%E9N9?H>ezPa3y%w*E8!j%zQi@|`&9pQ zcGZD-zP96wf86w1SUIEBh}{@Rwx>SJ&9g_*KMKyPJ~Z)Ghhn#kL;DeGTIUk#dg;CO zSSXL}&F~dNqJ9SDQCS?C<#rRP@cgw;2cK)(jnma^1#p%I^QPCt54jlDx5=K3L`6=@ z<+vgVbG|;^m@B*=@p;p#9?SLe2%&&-0Xv6D*E{(HNo}IusBgQU3RfpdHea5v&Tb1~ z)=Dty&yiz_^Yy}SP%suU3Ic}Fo{i1-2a?aHwQE^ON3}NM36G_AC^9 zW-`8eB=%pw?Fw@&kvbo2i!>PVefa1;+ncG-shiGMO{e9&UTAANFA>9T)^U}`ax1H! z(f1=6A=Sk)^0l)XyHn(0@ErHV$HQhw6IH3G6_V?BU-=O*KE7E-_yuJvzcWKa-Jel2 zEonoaz3dRSy303EYVZ3Mx#B(oG?IT^}pF$sJeu060eDWB5a4bgHCkL0oTQ)0+2ue^DXp^`~0Pn+)5Pa>(Od0cKepar%{QA0=LT8 zCK|#NnzDtx4PO@yJlT@D^*v%)Gw{a4m8)yDvptIhk84Gy9hbY$s7h7$e^_*1`G_Hb z!V1os3K)FJtHEeMz)8OxK<03c(r+R4-^);fJ7!J7_b|Xlr{C2Q#aSIxu)#V$hxLDx^0a%2N&J8wF^^ zPMk5(3&k&K^cMDli=v%3Sd0hqYWgHYUkvct*aequ?cw?Bnev&IZ2Q#Jeo)vb0Ow1G3jUbH(t5+I#IjI z3FkhkK_JT^&B$Vqioxn+ddE0!?v(3CA#}NEdF^0UXU_8sSfs4oFM9HgG?zLz9e4R; z$Q@V0;5A+Kcu8vcbOf-bEqaF0P3^Ecx<{W@Ynxmhiyx>QY}~2~%4T-G^4^EXa_(le zehyZhu^J+Fv21@}kGEPT9AVOlWEIQ@5rE~QxM}%%(RNYj&Y zF+Lt%oRt-@HuZXhk@NXccmNV}z-~+@w<3r)1IrB34|A?iN{^51PY&-MiUf@yzve2G zIYw?Sj0wy>)O!oWvGnkB9s5pic5tIZ_TuVV4=hvN$S^@KQ-Iz1b99QQGLx1hxXuuV z6S4W$!E||APs^~BJ;hB_+ubm58sK2t6Qi9CaP=BliB=sKvE9l!O7K(#8&xqrj}3Bv zv1Zl9ju&#;@&PDDYAKW&hj`?(2|D{ctdZ;*KGt5%FO{|gsY&0aC#7okDF^2^3ycP@ zmj!_YORLz*W>l_d_MMAWKJH&8>4l7L3B{y^BlPFjHN$qNb~jk!L>fLmXd0p1DQRnc znyXi~Ykel)xU=DD&#+2M_%^J)SE7x**UZpS1^^A*?U&-c}JO$o;};LV{+(?+hY}r zgTCO3#78BISGRb3-bFjb*OAe`P@djgNo9AeWngRdw0fZ|OE%_ujbq6TJ^h2d9mf)o z>|rp615yzNQm=NLe@mUYILn%oy#BW=vWkWlIVxo-Au)gY_v{(I{_lJ=%ipyexFPR~ zyTY2nIEEdbhDK8?birXBTSDo~oeWN@Ia}C`ox>a6GzW4>rapgE_-t+VIV=(ZI6i7U zOV=k6-;A~P^NYz;-;9&RIter%(&V7ngQ?Gb4zm2``?<`v!o3LTg;SL?{hRro9=JNL zH^2#GME5M6$Ece3!_V8?ovZsCoY>}QeEF5+{bzmUhiAIe598tSDy?7@5+W&&;R!V@ zA|gu(?o6L>39=J!A-CkJlFNNC{QY1~T^mK-x4Yc{BEM7uk4jn@COgp(qz^#3lY#wn z>y0D557War^oRQ7pfqwfzuBff=zA7i)~|jhGlaOW6UClSwkk2&K~y7pb*Msamf|?& zd~j6Kkii7my^tr5=3if3u;^_`hu#p1&w9vJyMj;eSsIh%T6#eo_cd(y{=%~gu95a9 zFa$}yDM$0oK+K88WGZ4or<Uo_m&(Vy^X*6qqN>sUPYoVG_BGd+8iut<6{36RB#B#FZq?}M2%n9Aak z9kU=FZ+T31KK_WVxVYe3s3(1Fz#M|*h8kgYT_zk}M z3f8B+BRpW~Z5PUb-(;m&!T||VvGT3I@!S7hou|dhtXh5O3XRpPf{W>o3LA1_R>ZpP zHy0F4$Lcl&4<75&>a|}c_q6(2aSt2ivfw=dry*yV#sRKahU@#xx6X<0S@H;`XQCq+ zQjFJZtCmKq1=R+t+}Bf^o)vB-uO_PJbz?^Kb>fm!>tUy>2}q4NZ+cIAiXl9onZ`Ai zZ!V};YeqhQwVuyq(4g3w7^k|Iqcf}QOTG~{J?Z^|RxIFl>_t=9S@TO;%N3^QamnjG zqB}i>acR%pzd6|iqcL~L_XZYmxSha3gBKxUhg?CBTNz2uat6dhJfoWm?A@MbDy}+3 ziy3q#;A=#dzjOsTy!q^dz3?yEq-S$p^fLLbzd9^MG(WpJ_u_NfoX98$srA@bLJl=I z`IdT`XRDW4o?h9)K1wXcihk9`qxtp@@nzSQrpyS{Bx6@HQyszSO~OX^RiN-AU^fDu zW&f8O6_rcCp|E$bw&34*OjAm+%<>4{09{S06Tw=QD^BfA%YN1LZDT&lKX}e@okvkK2L19S@4;F z=HXkVkPLqP-Hq#HBeYv~+X4Y+oe8f!AIh}o%d>rNRz4ye-+lOMcsrC+AiRxivL#I0 zYus`(Xk#bB=9cVe@3Zz%IOA|vlBPG63~?g<@X}d=y_mQBK!CAG4%i$)QY)A#K17CV z{}Im}){R}w4Xe_yvb)Rz|YW2DrXy(y_p zRc63lq}}jR%jtR+yopbaEnwHxsw)_gq>=a$PF}V-L8%f~96VRwb1)W*;N@G^R6_6CZc@2hlHOvvzFb=wx4@q!0;Wq|=grZ= zP?~H#bhF!V`fQ%gZ*Pew@+8~u?Kw%oOGM%$PI~K9ab&oOgYTZYiX5u!w2%4n3vVur z#NDpdMHN(Stz%CTDPOLb?IAYV$GUOB16+(N7g>b$Q0*Y`faaj3n7pme4DY%ByX|)u z1(2>&je~pJ!?m3)e^l2R*#$v)032z0|XYF%7a z4SKEY6dgQQt}_M3{Sr#bgub^3FW&wnP@Zg)G6U5!g~OIVGI$rjIa^bJd_g!4|e zZ?o;N@Rf_uD^#MQk%6cT~`JrNKRl1onmJe7H4GB#4?s6aL@Ukm!W z=&0>O+CRO#(i5k*&E{13iRHe2^XBy`cVCK)_*nF^=I{_mA)AVA;_*GsKDyUA+ZbczWd*2Uzfl;!CAv!79?s}{E` z%_wx?gm=AD(~~p0o`Om#KoHanlPB?{Xo8{WxGwu)FVJ!{^Wp^PJ>PontIsJ<@xEuL$bZ9f=eYmh!5mD zo$=CA$?}P@l0~;T}f$R6L-X2_4=mw!9R23Hia%D@gR|`MG z2dlOHJKJu!HE}v0ItssYmUQ!%<&t~VIam4i;wbGmdX{!|%-C8l*p63&%yjb0_JCm4b&iZ@^|7A{jMY>JD2@YXxf@Ga7k*~+*Dm&N zg^0^#Kc+418Mc{0x7zzm$7F5T79&YDvk7&MrA`!xHS{%hy)t6TVX~4p!HRU8l9~a5 z`TJ($|BJP^4yw9q|AiGnP^6@!1?iOT20^+@Lb^euTaa!LkOpax?(US5?(XiccWw1~ z=03miob%2-XJ$M6A-eZ>?G@Mcsr80TW@r|(L|NcWD*Lfw+soZKE|0zG%H%C(BjWD? zF)+*Xh&Mk@O1g+v4-RJATGB^4>h(>Q=NL@K@>2Ik<}>B*mGjTxE$c697U@fU9W5Pi zE}js^h$fPjSFuWdrKJIctyI~%b6~mY_`8mA{U6aZg6s&PA-ESRs~J9@1QCw1)koJz z^J^;+D)=aJ^DdljP{=pAn2Xny&K7cgqP{E1Un3?eqT+EBy>l`AIjejm$lMbQ3v%jt{Xn|HaNx}=k!Pq#JfiXaIC~+x@e)=MdFQ8}JURqv zTlJzRYKMBU}+z9lL%Bff6TjLaa$h8{ka-SH3rG)@` zT_%}lsQ-p@vYu`AMH&o1@1d~YQ*V?0-XZk9kdsV0DOIi9M84TG9N$PsM}79iH%ghI zzEKO^aD+gHl@5t;9c_$eqwEK}b1X-@K*FjUB!?sN!5boi6YZL5Y#Uck6jIW0l+Xpc zKhAD@vO4{UK1Gwhd%XgJSzH(w#7*W4@;3sszTR9#dW5PizEWlj!s1MtbKMtIC0^pL zt%${mjE4H%$nrrNS>wxs9;Ofd^o<}7B_^n0M`l7cy=^JIk_|97F~3vz}T^+^x3=kK{XB zmOrh(>@f8iPv*ghM->q#@qGsG;-HRL;|7IJzUiZjB*T~`jp9jHu72L&x^DixD|EZm zLB=)l`+VBO@D6CPRYPv%@6S$lMt#?C=DGD{_Pa9>=mAWh1nEO*|6N}&soTxAd;zmI z_05&D)l_0dzOA1oRq12%y7LdTuvpnh-!*`SjmhoCUBn@WH_zG~*FkqHu(079 z05OHIU2X`dJtFpeUGbe({1%tkxY>iXTir8*<5_z0{8lrQOh%prj(pUJtEYG6{P3xo zM_pt*bfsWhaLPuyriX!fuGYDB6NP`uwh&%*jmqt|T-lF1)Jmnsrux7nrDC$$wbY?; zA~|lI?1xC`m1=$f69oJciiMC$HICOjd(q-a2p=8JIytl6QBwcv-N zT;T*<(1((}Rt|j-ty|-7`>RVhbV+Rqn4aDr7=?waN@z`K7Tk#Um=`fnzvFeC(#uuP zNmWW|>trhZ#2uD`DtYLf5oI+~{fyOO4p~IChpV$@dl(EHOAS-w-32GE^HK!=xb$ln zvBI-`vXJfQWZ z5DuU5-$@IU@sBYKxD?e(4NmZ@D}Iyr(xSNg9SVRS+>EWr_jfOo0#tK#5rk<*r#hTR znlNK;pE;p|I;; zF7aj?$!@n&pPlC?Wbqz0aC4GN#xbRu0FA{-`XMVH0<{d+;kXulXJd}YX3l9i=rj(9 zfr5q%wc_8X4V?>}FOT%&e#umZ4$>q3B2z)v??SHav^o$HP)r%Qk8+D-wZ#8o6E~7W z0azr3Dj9yH^BZ;ldCaq5iaV4Uw~^S%ZxLN#JoU&mMcwnk2%nS|B;9sY6OIgu@oljkEIlfN zKq)#XOB*72Y2skW*6}!`T^{yok ze7s-ds^FG8^{GvI>#CuVKC%*o?uNqCKu|oc=_T%c)DC*OyjQgWif~-l#tS9k> z&hKjZ{PzRx&8CUl^h<_ek?>{qxM1{^+Uz_csGoVESDuQbFzKw2UtN3|Sd}4KyT0{$ zf~sa#BayGhyfHXa{h3l`36=_}dazPLpJ_p$3N0Ee3b(EzHbP~@r~ z#u)VQxgDW6=EWNIPElfBw`3fP0<7_DC5*Ky!n16{=KY6*@Ze&`sJ^#kI!}GTo%Qw3 z9j8&YGi;1x3nbd^a$00EMC!U1alMRCYJ%0>2mxYOBQCSc*-JC!`xDry?fOB3?}g23yk~{< z@x#4^SS-WQ1UD!iFOO&U%8m9Cuudj)^=X#fPET2x^fo>O2E)Kps~=$WC-X|fW71}N z%p)8jQ%T;NKR>i;m-1-maB=5aKX*KtJ^##|E3BAp)_A}6@ZzHCtENk{E;UQt@g6Lb z-3+ui7H>>b=Lf3;5}76DwQ{9L&I0dbUy`yXWLNQ8PtHA}Q(4k_8&|Ge^ii z91XPjwS~_{J`cqdFK^DC^Nb)Ye+{0Oj%O`kZX^>CR!Il=iJJ{n1|846P+iE#zBgBr z#(RBtQO`olVIO9qg3ygvbk8f$=If;ZtFhKSFhHw9In#mdPC1&z-Dkzrxt z;{R_X{7o%Lm4ttDBiN0)jweHu6lwRulzI-E#y~T<|CrWd=5s$-+i#@LUKxe2$ zxMw3DI~iJx<6B=z27Hd+B8i9(4y%P+e8ukO$mVb)q3h$tw^>U0aUG;$1hVb(!P%zc z1%uWa&O^N8g{Xmk1vplvnUY3L<62$cybLqAF7I&S;V*JNVx)gC8p-<;_KX;>J+R9$-2N~xH$cv#&DHEY>;spcTO zG$6qR*iQ01ncPQBiVhI_anP5;S-(L8-)2orb3ft54@HcJIus)I$X zodtT5ipoM;lG5c|L?~^8?KTEY46E-`v@Xjt&Lhla(eluIk=*VyHLbmSj@^0pPj}U4 zNE$UR{vUDX>{SkunT+L1>t}~iF@;XMD98rk=P?^^K5G3)rfWRNw1FT5OGSa_j)*v8 zg{d>uMD2DBd*+QdCJzv956LVH9`hWXe+iw#OiG;ivRUf`_hWDHWD;?AW4n+C)7-N; z_YcvyhRgOXV4AJ)7-RIu!5HVpwa1z(!FW8oDPsL?zjGwL;G4r)FRd&sm%}HA+$nnv z3^Jg?ukEaS)L7v_w0ha~`sk}{nd7liEPC-3@>>NjVUsM`%}zH zmru-@4^S7%gI{6cb6xOWx$bcVR$>=);*i&cw`uq9TXTm<>N*2FAb_C3F$r|4{iKWs zr+I3{ZCq-tf0n{YU(>$v&jrGgT))PvC3*VsS|8su0R1^cT4%h6i_~=8m5kHL^T$@n zOM7ZQ!r;amRj3kmv4P5bu!bLK!{!BKc^1UQu+V2r$S78Vi9D{L&0o~^4@M=GNM)UO z8<6X7VR74vXB9fznH1p-y=nj4T*FL7E}bMov&(aRLxp`e3>PSAa8X`nIBusqe1Kvs z@C+g+;eU1T8b0zOyAsH|Q*bKxV1u)!WPj-S8}Vfk5n7eSCny7*t^+OD7_wLf9Pr;! zt#>E8o(;S&H)}6xZ_`xJJ2-C$6K*cwW+`$wTH%=}l}#hVd0LDD-w)~^;#!QuK-c7~ z$~hN}^sm&aZy*3Tg<&C|>-9;dfX~ETlgFdB7Tas?pF{2LGJ~nYqUW&#nxMB0pLF2U zIgZY6aSrEra6Hk-$|W{$zc=3~Z9Z*_)`|Ds^}Dg<%q5`*>%2o>-rn|{-PK9#$bQuQ zRy;y5bYWs*D77+-So8bSaKaBb>_c0Zk@X2BuoGn1EGc5>RDR!_&mF_pKzef)p$^HS7&`60&L zyXO6#`AlJa7`p4lb2Rwa9scuKnK8#Bf1fraYGB2NyO0I~E^exSW9hozPU3cs#-P(A z7ZOutFwERy&c#aobk9P0v+utVG&sJcXxe6_NiCJD)kvrhUqr{cT$6(Xjs}<68iLgN z!v%sIzz*zl-dg!D#vL# zU3W*ndOzR<)`+2%V?S1mVDK+`1Qm4b4jQ4Ip%r1YbNMJ<?6TMYU9Io?Ov-jcq=O5bOr^IYm(BP2ErV62< zYlm}$W}hre0^R2jHuvbvvd8mNe3kWEiNtu?`j3}7lqyA^LSb^};t^Q2N}zI3b?m~07K`vowh|KZsv>-U9$6WT^!PHZCb^G0_fS%Ni1;m} zwetzQ35ujtG@6ZcmU!_P-~#`6c^DBQci9L2#f~OdR+k`@weuES?1A24KM_bo@Y|Oo zRyA{OI0Eo~IR^)}-KlyJg>~IolaXw6xuh>Ewr#8)L)@*)NCd8j+c8#0&+&BUg5r40 z8CJW(XY-Z~UIpO%MpXpUMTkpLB|VdI33$x>&e&*X=`G@DH!3Mmb3lO}oeDNYd@ct* zjoNbtFUN3^0oBJBT0ZVwm5jlVDHnK1?`Yys<0y~Kp%-RyBx*TX5*)`p`$NZ&w%1oM z8%(;8nyk&soNKJ%OmN3Ke8+r}X1(TtczRo>>>ZPfpTpDSYo$l-nhNV^fWJ$7=+q z=7TsAK_F`6*yo{&rb`uof&cNX%*xlW_GduUcWQk`Lx~Ka;q$HI^Czpf-{;A-#LYKC zq880lO{;nBj2b^Vz1a}j&5{&^vb{Nlwn|LzlYcyG&UG4uXr1NWD0?d!pZ2xf4_ zH{d}4AS@ACOcn!-5raUs?uERt(k*WgUsNQgP^?43NMPa*gjJhdKYEin#c{)t$qO?& z9`|i%bvoUo^xqx|O3|I|3YsGnGUk{gaiUXT7_eUnayzve({7Jjz7Cne&OpB?g3JB5 z8gQ}}Ux;#V@eTeaDT!;9m0s&Q+)6z;6nY_Rx(9UbY1I~}hWB%c(S4K_C(XXeDk1T@ z%_Bfw)_Zqhe1g(ZtUd3>I#Fij8H%xt@EV`jy;&!^#8{q8E{ZbTGe>ja96iZH4`yyB zp4YOX*JPP>&c&BhDo%$2hh3+N?P_^FjAtQ+5nJvIuJ9WM z`Md&A-^YsT#x58})8U6jUAy8wGAELaJ@(8VXKcHi>aNcy5 zk3*r|;+2a9Ayts!u)&vgC&+HnO%YeUIOFc~K<-bY2J@4_AkHfe?4xnq;}VQQl+;CI zc-QSB{NVz(W?XXI@N7J*qP`3FDBM3CzY4sYF5lM!x_;LJM%Sxu zUr;@z{Rq&~okzeHSnd=FSkYhS3Qe451&}jDDB<9XE%}91`V@#in>zW<_a=bKFHLrJ#;J{+8?(L1jluqd?WIPckX@o zKlkMeafo_IUHk7AURceqjn=@47>|h0^}fKjaBgDRa~Ge z-EKMbe=?ebT~Q4<1KvOkyo^s0Ff{)341(ELLC{0=7tZo=rJGzdbB=>m$z{>(t3lIm zbG0~7nZJjT5Z9CD93u*QL~!sr@;U(h^p7weZhe-$VwDlxL=S@ZY^F2AhxLTX&@G)@ zhV(qGmqyg?Q10uxg?TPFOat-zJs;P47tb5839y_uhlC0HYn;#V(aFPjr}jK-$6J?6 zKl!dF|EyZeQ!Rnp3*|cUD{yLJX}DkW6&!lu{5ck(uzbtP>dp>ZQHh%J{<;?{pbDSx zg&}>x=v(N1-9tf|oBa^0`My+U9w{#WLu`IOSEwUb=YEG>QWnkcJI1V~hhhGW`|o(} z;zJ)Qf8MfHDt`qea|?+O4u}WB0jcB-S<3-KX!d&#D4*xtPHqadR?Cm^cs{nVWu1pO z5TPVRQuq8GD==KYUu~ukqxc%p-=zdxTehlIz%p&MEON)V)aiy1HbWmmx8B4{eth^8 z*s2-a^!lY7k5*3EN(i?Y{gUvPYWXOfvcD-K!5nR^$KPam^@%yBQ&Omq(GUkTjxD{6S4De1w-i(5)<{)Tf4zVomft zF_5PC20tL^>q`0vH2FklDd|3<(vsT<(vr>SYdN|=QF!>Z=~hmw$(g@*X?v zKV>2>9JR_pmX(j=iWQ@q0_%5$?`lyKyVOvSdDlr92?!dUb9e4r(3WjSOdz21!oi0Cy$^)IdgtHClg|8F-*Un`tUCy1k z(ytgaYGzVtav1>%86Qa)3rQhz8gOngNCIj9YnA}USV!VNUtALbl%P8<$SA17Bri9f z4fweFV{-sG`&ThTC<2*q64ZY~>= z3ch^ZkDfq=3%nkJQ~`N-~FKgxlj|WcxiWUWuAuNsS&9ChsMvbBj(Qr?-ax-m;b&07mV=kU} zF3R8DEW%$=DH3%5w?Y3;NAv$DkR@hp;`!6|v8pw1swatj{((Kw6oNo!qhNAHC&S@< zhO1F$<4;6HM6NoN9!V;R?Q}9YbJF!HROM>9ckz|TM)NIfOA_FxiVt1Dfy-gLg_a>2 z8-d@K80e6u<^!>kY&PC!24d1-8Kz}s%v9&CmLvu3&(?~7do&{oG;2v`d<^^Iyi4@^ z0uU^ozyYxU$R&aEum!FlU>I&UQz4%Q_wDucI;346gr}Xjcc38SG8pt4-SoWAX^kDu zy3YjoEu3?z$a7hbn@b4V1tK=I3}%503rnPTmN_KyBL0GrOmS-jKbh4)pQPD(VIZaF zEA4P&$GWV+a?CJr@2K%)MQ({g?D3zxLE?={5D&xORxm+ekWM2cTLqI;;lFVMANT=6 zfmyV~4~Vd(W}>C%f7Z@RuU|rq=5g5@pyN-GEF!z+Mx_6GouM(C_y=F z4!LPE?v%axmc`4WV96~&K$$m1xp78s4Xo5t8s6z!VkAldMWq7~MKS2w8evnPA5#$4GR{wL7f|FZ5 zvp18^j~ml=b0!=TS(f@=~tkJ^y3KN7M2C#0!;i>f;Ok zWRYNL?o4+sp$y!ykCt`ILljR)9uQ%l_k!qIS_i~hn<*Km!hERI~_e1m|(Na;EBODUIZ5m=yZW#Y;MB1BwqI< za5J5mU8^l4R_FAG818j@2-&8p^xXjAM>r#yMuUs019wDx4fUt3k>dJnLrn7GaMoaP zG&&31Z`N@kc$~CbIrmnoU@I~nm~+J#z(m*@PXoj5m&>&Vn4ms`oypXX83B*ERznX_SiW2}gJP}%|4FNew^Ra~H?2kk@e%c0 zzHAzYK0`>%^0I_-zM8p{8PEj+gT=VgNUJ;KUEh;|1Q5I0N|(PCMbl5ydbPmlUWz|G z{WB3CK;J;puo}~sM7Y6X?&Mga{PQ<26@D$|C;xLXYowffZ2U^@qRd9~uA(Jxw2Mt3 z-zdCgMKYxfRNOTmPbmR8861F4L&T-jg=n`kW4u|o5AWJ`$POTtz%LWJ;DiqEERc-n z`689XMNvyQdL7~VrN*WD<1exHxbbH-yEbc$G6(;zqsMm1>&{q749|b)wEY=VKFF9# zo3^A=WXAY~Zs!5Yp8Z{UUZkwjzPmnn2Y7#gDNfx?yRY|aU^7}IY!bdj#|DPdIJbC~ zS=?nnhmea$Qybhx5C-6V_tW9znf72X3_;tEi~3#de1^n-d7%6~LFL~CbNzEGluBv4 zN{KC9^Lu4gMH%Rz!e#@c03t|YVqXm+>ZR0c&wx{-ergFJ=iNAM3w(q|ibB1bB4wdN z=~THXD~)E!$WExY&`}jT3x~PT_qhao_dIGv7B21V#k*T)rkgC3%$!myb1X)^*TjJewXup zsyjG{bX=CvRyt!l?3o8|oqj9?hY|SR>h(_#H4zTiD8lQaa#jjb^!}c5^!!a)9&$oL z(7`X*e?y!s&F!!fB-xK2i^-6!n!AuxA4kY=QCC$f2rW zSR|kr-tqY&;xX(tG@Y{5{wE9IIk;8&d1t^?t}lpz@$e0WOuOo%zhJQcIucArO;?;8 z?cH)5W&v>mw3xd7{oUuXg;3t!srEq3w0fThZ+)cjIA6q9hIdZv@O}u3elZu4p7M5V zuziq1=IVUjon|iFW_jAYFOKCK6wJ|d-!D`i6#OqCGm4Ak?8yG+!iv5&0G$%{Ao4o-cPxbOjv96#WA}m3bMli zzq;tJF3#z18`i&#^`p-(CP53xx9Wpeem(~t-F(iIcO!+6X9$KuW~mQ$)D*??3WHYN z?+6>G7Kj2iSO&w?NS{gsh?ow1Q{b?B zlTv0s?{;-O;H^^vF5SsO+)e)WjTe!XjE*-sy_r@fB3ZB`L3i{K>UypHwwUoydZsr# zCeGZ$^Ai837}TN}uDJ8j9JVHhlVsQnypaD@27-+09K}BS+Zm~Dpm6XRzzA-90_eX! z0;JGY2CBY~-crgE*zk!D;7yDUM7w4B*>uXMp$4p z?Ekq!(HJXymS!!La1m(Go1h=v6TDb!zdrP{(d4d`2iX()(Q7w6KxEIZvzGSmSNw=t@y96k zIcp6L6z7RB?auy0a4pl*a8Qoo0aZ){26Y{RchJsLl!+DJwkKJjc zjMK68H5IsN2lB4Sub^k1Muy;XzbRe6*`u%An@wU2F%Z`+o`w-C2@5rIK3L$f(lT+F zLMB^f6cWRQFzjjvoynQ@Bo*kC3VtO9-2z_=)iYatLy?_rmYR~j0%a+wj&{?pswV~F zfp1@7#QMv`IjZi>UVsJV_RS|R%0C0}0IC4e(>zs9D17E2m!Kt}{vXKA3l03{NzcPy zKu<8uHyN{FQ_ZS~17#rAEe^)v^)Jwg7ayu*Vv)mbd}y3 z)cMj$Tx~2GKrHc?`%Xnw93}MhddATPC`$uplZ@x`DC)>2zr92Pl^!H^b9h07=x>d2 zr$AbOG^ElK@_PE;XQqWLpXVyLg@_( zIeQ@4Re&%lb5PZhehve_lJz5sYA}0Hw<->9w$_%p?p-=51~&p0heTZPvQ3=)T%BX@ zP4j18qq!Rxq5;=a*G0$DAkxf9?;S<0y{6wnE3-BG z9oBrJ$p4~C8cStHAzhS^Qog2)Np%T0X$Pmuw~fa4xG`kWly#&f(5a#^HKVA5A&tp{ zhmgLPoHV)nZ-?%H{u>xx$Q*$sR`?Si`4IVoFj!B@RZA}VU_ISDUxNBishs|+R7U(& zDsQjRylW5LTPG}I(}$pFbInh885gM^nXsm#D$s>NMA6=c9Z~s z20!li#BU=M{34!{2F0G9vCu_=peInj2?aM{3%)Kh9yTcb!ZUFGyfZM)=bmH-Dx-n! zgq{cKIZkIK_v?^H^{|5o?2{>m+t`hQywKoZv=a?CR`Rp1Vq$>ioh1&wezqv3#TbZ;z8 zXRPpg%m&V%1+fJ0vD%}o7J|CEy`;-mYqPiEU`7TlcBp@9g$Du0A^yJaaDN%ff1RqE z85MdvRcqPU)#-&vvdQfaOAV4tmfz&E^ArEKQKNo5Ql`!WAQVWIwp;r!d=+IF2N&BzE+NkAH-`BebkF~R1d3#G>O8nKQ{Rq4TRFb@dB zLz{r|)#%QXH+XrrVDOdybJ?1c&FnHObrY};)Y*Li8GUiQ_eiBul?58)fUq#Y|8<=C zJ^A&K^ZvH{{?{1XmmF~Fjc$pE1Uzpt#G+D!I?fS6HRf>vP?d~}>H;ZcnE#PuObE(? zBy7m>hCc@E!b9bz_i&s9=h1|MkHx}?U`Ry6n$ikz9^I1Rv(rNTkYA^$}WtZn57*2_8;=E9rR5h3z16n37RBuEkYVN3PWp6l?u#aPehn zalT0f4V%3^3 zVGrw&eIHe$F1slN1(ATAw1C9<%q)^!zJtwPgVSy=HK|_n`SIGm;7vWbLd#%UCq)Yz zIvL>06-tDPWnz`edY4lV*G;WQ_`pnaU*iKgEeEkt zQ1~(FG*dyIk*@`gG{X;qQ9PUr^7lv*Z@&GESjfaCC}rTjM{_4m|z$@3g; zrB?Va+Z+W?L!9ni9GFxmF3HM9+ZA}EksRfwKb5uI%+_q5SmKCC#Y@(>y+2Oo^A;-? zUUl*j@dWbYpZ7k8MVXKRtWzKV+SUkfw|P}JL2iJAp~WLqh*>AC-l+cbWeD*8Q-si^ z^lbX(@)=K`C5~KQex*@v1wI=}M|i38po@g_H#B#VyR)@gGld7}^`{2zpoRXzW^V!O&?uDNa#lIJ2q{_C5x7s4of3LblI)kUQZT>=FvW5boEy?pNTsq2EaBNAW<-M#-! zP#oY^J!F92#k5ZNJEG0i3D)A3`&sYXkp=&?rRM>dbYi-1knC%4k1DKI$|m*pcWy4> zAv+#OuA>Kcc|+;HW-0l&-Y*P-;70MEl$c#oK1G_Rso9*#sUKtP9nz;V9xvcdmAbvM z&GxdwJ1cTN*HkO9@qS%O{#{}dfKADlx7SEROBp?zE8W93vj=it02!m(f0@mHTNBA) zOBs6B7=$eXqVihiDkR~5Byq=!B!XCw;q1X>N#|r9?u{kyz?11R)s_z4I_m|5MzZ8= zx*>=rAk7}C(s~846~V6OnGY^Vf_*byppgbttpUq~{R!OSvo&_9HMS<8n*VBi<3*7= zCoj#-e;KqruZufeJj=GEe|`2rEQ09?I;F~|3$_}U%OgK0sry4ypr0!*8&;W?&ypHu z{%i;;4v5tF@c;)1&v6RP1Uo-|6y7uY{kb&B_==w%pm3gVcx1CZW?oDSIq)8Ln7)3y z)P_j&st+@$JeJj+5RV(<@~Tfe&lvDOAh^?H$u`e)hi)Ep_=D)WpTD*Sx;i_~&fIRU z4|dF0`g82$5CJ*k5~F!r7d@Cb_i`w@r78`YJJvPEk#y=+BPzA79j3bxhxRY47c|R^ zv?bITYn%r>M2H-v^0-u zGK2n)Y(!KUr}HG&GJ`&+!zmuiI)e#DyhbT(mh4w|78hGgxu)rNcvaTdA@pl$ZSM0u z(KM2=uIdDh17ii#e1OrSU%Ri2G4X)9^wT16LCa!DD@PcO6qib^czTLRO<-w ztKtWfh{_B=H|cMrS&Aa9*MM{!#M98XBvC3-Zq4O?5uLujc5EwLvStBUIV0>P?^F0qs1C)x3O(kQJpCZ3*|h z_{W9ok32`Q`^!>^Jdz;X0^L-(UJYG#Z@2N5mRB4Qyp&_Xoss7&F7wKid0sC_8xPqh z%igAMNaC^PCX1VBNf}or$Ik&7N6~u}kO~O>Dl!Y0y8O;$ zF9&u_-{SS`&a+I8HQ*!R&ycwVTTEAcIoq4Ibm{y--C)RSKI8}FFf{S8#kZCs3JuFv zSsrznz1=UKobD$V?o-NM@}z`dMV*ID&$EtL=`tdKGlU0H(fx}HDBy$vFJN0^=gu!t zExDbwS+1;=dd_Mt;|p2kS;X%{B?qrBhTXRT|FtNy>JYfbHG@^leUd0F zhQSsXpKfJj_m@NG1_Nk0Z1;@Kdwh3M_|+MP30O{K(abYZQ=+8K2#+;n2zVVDz;i&2l@}6Yqe0i3E^iwb`|@ z>gGxvPh?>D#*?+>u?wT9AErWW9R9&5na@U6jmZ&ZSgC?d*Fos&e%*C(b+~q6bo<0e z43l=`nXhxf_V#H{yi6iz`K!4yh0l#HyjK_EU)FyTKFSfe>>Rb|Jpl}B&TZ+eP=k7P z$^F2b;sZ5Vm;JN|O2XiDZ(dGW1vHq4PmE>xYBDke`Ng2okTZmciDA;k#e{|1TP#qB zp#za0p57;0(v~LFTH0CexbDyT8b($!8eYXuCRTIKCkdh^If`B1?n!^af@Q$tJcYy2 zLiMFWw10fEor5%5HFL4t{^0WSlI7IztvqL#UuyZE#LQ;miL zn%L}438d$a`V8mQ$}VB_Ew~5U1W9!DzVVul=%$1mEk9SG9xP6Y)p>qIb_V1&7&dq##3(G!gZssa&9bNGlz*3 zkNu<9*8IGJFMn8jQeV%Zt<_))W{%1r5r;9;_6yMr^J)7-7pX;dR@)yJuZOPZ-R~vs zm2-2(dGb!FqG?12%UI_o#D2zU<6f9hPwO=^T(}VWh z81Df}UHp`N&2;BmMx*H-Iy(D~uE=02QNBl4=R@hl?~SdqbvMF9^1XsZO%Z;S=4T8@ zCN73Gnc3pZ2BgoUhyIN?{I8Ca*&Nj%0 zEvu5;UZa4sDlQ1@3?;}au~)EDM#bpBKi3idxJ*0es*z{SF?ajWlIk2JBz9Z#hT7DR z>~}lanjTTdMXprBcHpn8mSp&5NZ{vGN+J>Wa@~VfMKS-_y#67ut8?6a!mDWuy#{ z1{epVz5zCmqd0pxLYy|Wu<=gG-O+;R4L7|PK*&rzufA`r(M)l!DbKGCIrM?7Oj|dMQoX?lda6vHR(EYAvYeo>`tRY4~+D@ z05gy+tXm@&R~z`bO=- zf4^HfzugdDX5bcAG=IZrTvuSEJi2x6J?eZc$tu?@0JBkl&hz0)hZ9#Y_6DE-1+3D~ z78nHipU-u18x&yK18a>Ay*uKhG@Q2b%1xBA++1sqb#QshSh;x3GZC$aG>KgfyscVc zrL{wO_^e0nbFP66w{coMpM zYkl#)4f5Et7i@2a?zBw@4pGUnqlnzGONfUaEWfj;_D3Y(!1bZ`^Lt5It?`roBQNX+ zq-FNNyTi}9B9Bi}oxl5<<}@`+boO&^wjxz>_OU^2ZZ2eS2Z3~T`iFxhu7W-@>a-`Hb3gW(22}4XfvLH+KMgikncCxxxWP&alE6yFF+b_!cZMJ4w2}xth*{s(j)Ns-#8{gA0 zT3_i=svL}12YmTtu6Hvi9in`_+%Dw|%R835m*Y~2>SMTB5(WG)Ml_||BCXF$A3&Bl zyz0#M13gxCcN!19_Vb>X@^vYqtLoqJ=Cc;D%*r<22O&}fC%w)$z(wr)=KUDa6sBmZ z=2QbUztCbS*gwdgM&movIG;0NnL%9nV_Qt+IE6)vhH9G^Im8<^dQ;o>!S=H&Dz#Qm z#bg2uHQH`ArY*zvwrT@#^~cPRHy8TZjwQCf!*#^Ccfd@Jw=-ld&l1GgO%)7CIfS@f zXv4Y|-o@S`?4cg_0#~V9%;Stiv3I7+q~^HlAKcY5nFR6Woe6mMtqQqLSC+jD#qwz9 zs=b^%xu(OCLt*zQc8vRu4=0Lsua=S1KYw<)9J*l$1ZNueo~cuw`J!)vcs z?LV|>1s%1LMmCqT5blg2e#Y#*Fu_|vXLA|tljIutKCjZ~(joo>p^zG$GpJd+^Hr#i zdvn7^hN|{j1s^dK#p8bQ)`*a@n?+w)hsA5Jp&fZSybGL4mv$3u2Ag!mrHuO)7{*cf zdHLL9ZLw!`ZHr;CazY7FryxGB$i->9@R#WztlRdAc*qdZNhFyURV&P)_=pkXuufH0)mKJOs*OpzE;jqphN9Un1nVR`K&@Q<-O;3zi+t``CT1 zP}Uz_8nt+MF|XyIgp46}y^q*k#Lr@KThN3-p;zlf%6y$gK)~YnUTj0cmK+Y&ES{o; z2zNdoEACT**{f;Ke|$q8O(imU|m7%SB`~TMX~k zOirS%35sc_m%luox#eqNM!Q}(v{kmdgd`^IAeJYFMB01lZ%ZpU;C6r4?yz8kYGO!t~C#)qCkAke>kgS`0ng&ZnFl!1mY37J?HPaeOD~O;5_)mgsHC^#D z`r@_5iQ;`olA^C2-3ia94Dsaj#@1-2IZc_%tjF?X`z8xNyYe2j+b7V(Y+(xDY<+8m@-kewy_6a_%J)|l zjogXGGSIwhp!vrnL&}{CU`fbfG%ye2p9-M_)xKNK^?13_Ks&`Ae6<8tc*T{*WvS6z z0_H{wym+Q4VxLe|Veh^~jBE!ii~$lf5p$XJ(%q-;O8E@j94Yn^1f|fi;{3_xMy1YN zDfuPfhVqbVab)+R0oYhrM5_y$_qfReVeMBqNRFQUIVsog%LwDxHh8X zAQ+?2fffDZ|Foj(aDzrkI70KeDuaB3=l28H@GV>3kV0puh-eH=Ba5Tz%V zrBj|KqrPkRLR&Hm(LBd$IjsBfmk?CU_i{+Y6u2K2Q{W5U1m{lWMZX;=4A(3pO$~P0 zv7mFN3dUz1xspq2tn2vJ8PRS{4kF0vs%=g-v=qKeJ@VCSMS64K;<}!A4wudlQ}F3B z+-y=nw-?^ylA(^z*Y1JQ5&fSPjLVg$QvF7xP_Zrf_+#>wC$2ypn(rmQONR6HZl&y^ z08C=)RN3~D%O)=nL+8`~@aNiGq+9KYq>z*jMF<~5#-nKvg@4`!JQ#~4F)B?CA7D#i zY0w7Y5DmIMkQ*cr@XX|im1YK`@ly#+FgjYbkB^%)`y?79q8cFG5!8yB=@Zn8s{6W@^nLO>Q01E@k4i&|N+DB#egr z$?L8cc=CKpMNDAaI7=gUB?#cAV+vuIji)h=bLbztFLc4!4$^-$KG3p z1=(&}qtclP z-#_KKF5`LbIqxy&7<0@op`&f!A;~!_K19FRne*#w3HTCD@XTlz`*=GvT;?{ zeHrYw`WLR{`zsT0sV%n1-@yg2nK4B|&yFaMOeiA^5SPf*&9a(Jo&lO~DbuMJtuu9+*k5n{ILCH$jW=Y@HI8N@12YYm$Rl#Y{bf|R zPUQbX1pfDTYCB5oyk>l>3A9E~_1PAyI$;YYXZ0agx&{5?bf zybejtNT%-yezjjW_AKv1luG46-unJbRobiGwbytv3J(X)l_HdQe2tm?iY*Q3$iMmB z-UC{69&h3z=}Kp%vG_`&+5EA~#^%wD`%HPSs$%$;wS9It?AuwaOQQXyY*wbdrR>AG z=^=&Ps$|>WIko{)XxqZZBs1Mz$SQIc7W&qA>y@eGZ{2>Dxy>{5#xwdAvB}0eQUybs zH#`Jt>$R9aIKHxD__~%?T46CFkMFt7gx4#)dZlH&-iv9_t)1KdvhFnT_PKVQ-Fcsk zO~n-nRR0{a!MMO?o z+8BN+>F{8+!*UQ+h5NBp4R7TpY{{<8$#ZbU;S6-Uij#YyPf2X^tcl3h*mY;q4P^t7 zc=i^NCf0Szh&ev)d#hmW?kH?sNypaxkwK6FiR`Nl6W#V zm1a$aHpKD}?C5euRPdoGsXm?qETS@%ZnfgYy>&!pD%c6qx{fQx&9Wba(Jw&srwR%}k655scGXjC1 zDh4gKLIa)*gMYhv(LJ}fw*fclHk(X`z8Quj;=Mu#iWw@(=3ki8r6V-f#Ue>93#ORY zyy^U@JQkI_CgzmV{FwJi5F?_v;l#>w1DP#6B7w;?^Pb4qeSQ-VNbHo!>!uwPv*mrKhnJzU$WGpF7=9v>TY zmcfi>`U00T){$$0_TgkkkDw!KUGrCKFeVee1AFj3=mQv}-uO{7K`*Bb*BD60#h+;? z%d83D7=-34=aQ@2&reWQJU?Q%O7f=i2Brx|Tl9}-@#Xl8mTH_b6;}zZ^ttb=mmMB! z5o(5)*GWXnp+=qNQ|}0V;**n>q)I-W{lh6*0<1n)21j5Hc)-PbdFqTf!ywBekQ)1OLxH&WD8H#3pIyXIrH)b|cl{i$(9?0kDdo#50Wv3{g#G-{? z0gtH@TOWB6t@F;CJR5QSaD3yeK`dV^amE_THYrpFULtoj&*_pX9$sQK^`p+oXR4mH zoO1waGWop-r}zzay(W38pQ~bFrk6goZ33n^e8nD;7@WE6Ysve^tTGr`N&8Y;xTCj8 z4X|M%+~(pa^5)b(+Q`wvOkB0VRiqlTwOgO81ko~02sikiPid!iRAS7#jD?I>N{Xpw z6di%yGhh5W{F2NX7Op1QQxa`!1w{=Uh1BGuB$ik|#2OKvrb+0}l9|Nd9tgHqFVoW3 zX`nm)k%+e|gc0Rg92C)w8Sr~bm@yY=^7sHn%B|U$%oBZ4^V-l>5dV&#z5JQbiGkX1 zZTqHE!w?G(frg5}2v+8K*Zq5#)S=_M&gUGtS8N@psvW@!S&LBQ>RHBF&Xj0}tR$7h zG%MhYi+%=&T}|lif9a`s@+FXbf#)n$OxWV8I+PZK0S> z(tQ0T<>?nB+hkiz$1MAj;n*G27x+AZF*K^#tNl}RU}N8#hL^r=&*w{C=0oXGE%mn` zup0Z7tQ5{E$aRUH`Xvemk~fN%pAUpgmMqM#&*%G#lVbAs3<*1p?9h&tyd&tE-D0-m z;=Th(|CZi2H~FIVT>_J1!mDX`3AmSrP@2mn$~XnV2xuv(x9t2~hfCi#ORtYj4rk3# zP3O*30u90!_|V&2=sx}A`*e4LS!mcjtgtcDO5zGhe-DX4Z!xlB9O!JgjE=+1VMEzk ziQ91b;0JB`#lj3DB;0YiT)RuAsO7mKUzyP&ZMGw8yJM};7gV|j4O6Q=?ONF@t-^Xd zZ{-rlj**o2CR>?`#|QN$JwM8tA2@Q5YpaJ7DtEWNP^ygOvzgP;Puh+_?UM?1mvUS% zOT(%;Ucc_9^@Eh{HEXDG9V3I9CA{5ik?z^lUGb5FF(@jp3-fA>Z(x}n*De5<# zaIf~R)5$&DUE6Rp4Kd-!^EJG47S+W!??1zlmP{J{(m%uhygyL)`HyoagvOh`u|vSd z>?~l7qV}#w+z~OP(^-t{jeUJXS)@_xf3h)<*|%vd9bU4Xc}BlN*&GNX}U|J0`_UJ1M3WqB!pv)PNZ1S|8ohRUAH z`u=%#Rlb*d?G8)y#mug`d|1l8t-Roj!C3Kg*Q;ea1|dQ>i^(!!45QhcT9#=orjvG~ z;vN?{^BJst+dgCCqKy!?V`$xDy3@wq&_4v1_-K6Uoi(Xf5tUkZ*Uqjn5m#5T-{ab z9idvCGCrN*n|;>oeW~~_-&QveYZ2hhMmyF{Tm2H(Pe%2$dVi{8ctG@qz`3hBo0NSz zh-9s95Qt~cEyK*zy`#1;>+EN2>w!l-}(4S1y~Oe{9da zT4sQAqsi45$woMOXlR*-~j-J1-k=;r#m(2aE-28%qFau|kR!P}ABDFwC_ z;@O{&X{3^qP#IQz#BIz%t)-(5D-9w}6%3wVolh<1$uz>@uY^#2nf`vQnD?P(k^sZc zI18&Nz#wz#_p#ltL;KflV@_yMY3duHoQIa*TgSibt6Yxi#;QyFdI!p44rD)1Hau@h zGJbI^hm)b=R6FB+>8-H@=H0eV-MQZsTQLl*+fgnL0${yl@16t`t$UM86pgAH%6i|tqyKZa^`1MQO zuHvfx)X@i|<5&Hu{BI;*UcLu4K%=nUce36vNH%Ic0V zVC$foaVi@SP_^~PTYAb5zh4>hSeM+)9ft0lH9Vavp8b%R*Y0sYwkk6HJu6&y0AyeB z_6;yPCX)JAV6Q7MyhgWA^=#xqHc3b0bc#&uY>s|C#SEN*WHZv8#Z++6U)P)*`@>87vR5Gs;1d*-OQ@|pGiC(A7a@AtkbO?Sx<96u(NI%dk+S)ARv*8yq~ z{;ujw)-&@c-d=ksChNja`T67DN+u|i4g+j4EnPDtLzJp`!OPy)Hnj1z1Z&f;_8qcb zff6`rW%cEdIVK}Zgd0j6*aKfWCwRy0U8L50iCcAMNQD8S!t{Sb_y~MRIGKCSbbcLQ z7yndhGO)&87?rVjz>FDM%$Y#9y1|KR(1~0>zk@{?&jf^D8fD>XPBg*6WCTG?v)Lz( zhq9wm57&JCLs6T%(b!FSuobW(HTJmwYGk}r0fol?^39JgVb3ULeltCD&?yhRPA6yz z@4&jXi0GFSavDkSXK@Nit|xVQw<`De_y9*JSARiV?s`>b+r0##Bu#fGxi${oR+Gn_ zFI3;OwE(#)a7&Vax;Y;g|B_Q^dP_TFF4cV0FmjdI5gU8HQ>dDBjr8MmjXkW+ZZ|XX zY=2B0tzKY_E2V4qfy-?LI=Zp(yA0yWLO(Wfxj$D)DlgjWtLQ_&W=$RftZklU?PukI z!*v_$HHJiAVEReeWt!Twc7n0UIpI3F=pI{>0MHCYJ0wINJ5~$mh=-zH3lNPI%BthJ zKC|9g$V?>!xA~cJokCN5N2>c%em4z1bN-bTWD{b8V%gx?wCFz` zGameu-PQj$=a}z9tCnoEk!`Y<)@AJ4LDk{>E#pKU=8fmsCiDuw`PBFWgIEUh+CW8Nl{4iEX`6=B0=&(AU( zai4(=dyscty~jFTmr6v6&q&^^eWm%W?&nI0zJQGYo4FrI>2_kHXr z4Dga|{O8;945(2`Kh#zY(2OQ4&{|%ErLL+7|D9UiCA(C?x}SV6BXm^g9y!YMTh)-* zyWCL9BPQzYguo2*fCjpuDA&X5=;mEyhf3W0H3!oTOyibP?XGj4UrH(BhxX??C7dV} zRag6}yw_`to}JlG?W_@=fU=C~To_`?+NlJGDS4R>fMdbu{!MvS@3o3%qrRd$eRt5* zUiTDkjkFgH7M&((^+>Ka$m4`QdK=L!}_&V-Oo&B#ihI|Z%WYefi zYTgMmG&QfN$j>9Bx)?REKq0Yr2UQy7+`ayl47Z$S9dJp!ps!l78leK6Ez}QSROthN zQRv&3-^8)DagGTjmTp7DOvMKrK!A;4{x5LU3+OinJ1u=;YP z=MC2OJ8)CD(TQ}0Ch|F4Bf^z+u$_Oriq}s`Z`&9u$4JSEi5GTBEE-O%|V#IvU21@qf zm@{~JyP>IgzPO(o>}!yt*dMLsW;Xhisy~KP=NslAAK54+L;^37RFPAvk@eHgP-6)? zvf$&}5u)t$J~nHy0Q#oy9a;&_cvl{I&Ob6brpEP)@6y`4-{xKG`U{Ha6}w$-8kaPS zb30v3iSu*0Y;2D_4WC7R)U{=f) z-tf8R8V|K1ZMiRw)OeySfQRXzU+NuwiODW%g@fy}pvQz~#ItZI zt}>elR;fme7a5J%L7ACy|MjKF1G-F@ZXn}pN1(h)Khl`**#2AS>@icJ``gGD(Ag~e zb;EvyW>ZMXrz@w>R!<>>kzR?6V;_9_Cw?voEKb@jZRTy26G_f7$$D?23|S1~J-o;V z5+xSX?(c>$NV`TeI*1_yBIl&kduO-h6t6Z|^;17C6o_k($ylS9hl&%=@2*`ssJNF`MlUW*w zAks?zU8F7fNdBN5aWq-4)#Wm|b5m|VcEDg^Ag1i#*!jNT%Lg)8O>G9n`0}tiPfmyw zVa+r|F;Y9Y#tu6uD=427LRF@>e992t<-K6f^Y|X_Y_5*9R7#DC1SP0G5b;VY()rntP2jwB=OM-8}elsGg@lH zEH@#^`A}17bS3jM5jZS0VG@fDjh!cjVA+W>i^(XChC^}y5oJ2p!^ea5*vBv<#S#JK z!Zuz5A_x1~+X|g+iOruwMcWW-k+ka0oO;*c&80Up%?70;6_1-xXC53slh0SUa;Nua zE9KW>hg)#HM^<)UT8y6NlXx;ITZeJ-j-k0-QuO}v_6D{WhD)Y59vz zUrcpU+dHyf-2QGjSTDVZt`b?U)HCa3Un1njk7k_Bnm6xe>`dm1U(Q*xCTGI4$H5K1 z(?MS3XTagMGC(9r(8P5hxO;=8DO5kM#jx?)Ggby4IvtOdAEAs$8+zYfIP_2P8S>U_dAn_1~XqKwZYKe*f;RJ~Fb zpx+d$54xf_hd@t~6}MOeY9O?Vu*CNLD96R*r2UywFvl^T(R4=Xf+!`fS>U%D8tDWs z=@LW#!=n$zMl)ntXee3-Y}gQ1xbF#|PdN_@ddm$nY7*&R#{42(n$T1|LBPlz1th3# zlt$rfMVfpzZ4O44Y~JR!ol2DprWV)IPde`$wAH`eb?F4Ce(0q!0;=iTa7+^~6`TwD zFg*xW(u1Fu(Z(~}6$5IW_s6v;d>$d8gkq6=JeUv8m=Z#DeeaGG5sDEN&a+ila}XWE zv=l*1DKTXV-v>IKU2!Te{-XD`kcFGKov+tV;$}ZLZ8LiRo@r`)0J%YLAGv8f+ znob~@RGI`l9nrhjh~5E;JC6zpGI;i75aih{rsgwTpLR}87nZ19|~ogb8=Yu0}_iM>q?sIe8H-99JDR43UOpUS|H*5k(I?npwCU( z!r>C-XwZnDAF@Ir3w|<`l`82`ncGbT0+m$#aYX|`cXdM*i%$6P`RqN1VBkXd&qMH^PK#^S?iBYE*c(*XiLzfMC>DJ}L=hwcTXUNkba`}b8;;G_vo6MkQ0#x{hGW`IEPfj=JGIBe)yjJk^NrzxR$0m8Y zavc{ZM*M{Bd7;CY*yeVCkUdhR5Szj=BmDufj#faM#7*<{eo+pR*@x;}jLcu?Q|5)&e$A=4tzrngE3jc3i1af|adw7Q2 zaNaE*wwXn!yuP6~Cj@~T_r98{@{EIf$5kN>Z&ldij~{73t1Jtb!7%*)tsDKr z=aDf&`g%t`n7)W`A*u8l2@ntm3!~HNv0lA^X%%`~iW=35N@{KK20Gh9ZImNw0XloC zx*@;0Rk+#sPsQ$|;VtSVSi%!Fx-n3)o24+W#f>}(q$nAV@9Q3a(J_5AWNlscpPkpZ zP%;|J!3KImbbG~5aTu1p^Om?F@+vZO$T5)85@a0386)OpliBG<+&H$ zz4OY)2~J;3hu%1R-b>ciD!iKQ#=Tb@fz1zr2kky>o)@@XQnFXQ=CR)hrh>LAn6*Tg9wJcRYI3Ta6VE_& zKA)mygx~v=tHtx%;GWU&n9DS;BD{6&hiak%(=C&k*|?;_3yPRp>BV?EvadAi<#ycM zr+Y8;dHtJA7ivZom({#}NXiiNq&Q3t82l8e@1kU!N}}{`RH`n<-)i96WY76H5B&zL zu&TSdJ#`JCwlArYkbo- zWSs!<#;vUoDWB%4bFn;@lBRQ5B?j|<=q~@LFvV!0SBQE3i&BflY_4Vv$N#meHgYkL zVUk)P$bh>&8`_>itE0uF^I+b2t0dFi(3Bp`(PXIAT9N;_8-KSooGw_Q8t=;Ka^=tB z3XH|vIOyyT#(#`b;nIy=?$4G;v8=ptF|i<`AkQ~FYWcan()>^cy)Ng+Y`C2E z*`$PodY{*VZ>at`EhTo&F{M0inxod?LZdg3vJ#WN%eV`*4G=nmo)GxwI1^3%fyHfz?Sf)jf(d)PddGVjcM%;0>nXY+9FgKw%H zvE%1Gjso01%y;KV5>|n0Ik!o&`sYj}r z_T^VTdvT9IRK~Qe_a;m7?#|($jui_BlpwS}NBxLQ>3N3T8;pM;?t}O$*sxK?rLa{} zs$J!#kFI&g)%M}ev2wfo2uH?eMLkvqtn+dJoO-?&n{nX($){}!c=_AA}- z*ui`hSiS`*hke?;;kmbKvOcZDe*yPI_(nCW?(ZIzs(ERm`j2aSX7Q=!8jH>Zh{4YXeXb&dgU#NCp z^O^ox<-@S@eeyX3F{L9hsnvhTm;JH8k2-?XI{Tl#JiFPb(O=JqKBGOoMjh|}xdH{A zzvnr2#Pfe}N_-7Z?@?ooL63)+Qn%kSQt2PhdIGVT@ET8_%wl7wZZYS@DkY8b6FFAJ>x3_-}B9FH+UJLLH{&`DL}u_qKJ{e zNbXWfQSEH&JhT_a3uDzH#qgAWM@nnhhzh;~76S>^Ki-Om1Nb!Z4c)r^E&?BV<5tOw zUj6m#J0|#^)1o5(hFAV?50i}W02-Q=?!LgZCzDgrbv^@} z$LJ96VJ?^B$#AlL%*0TEw-T9;AxH#giwW=oA8yP;s?U`Ek-SZxlJ~z=&ipqSj!%S? zvhn_cMWxOp`#|Q>k5lf+5T-81>|~$NUE*|uCOH4WY@S2@!Nt**U~V-GiGcrU3^CEX zDZ*$n@0G&m?f9!y_lI<+bKEgm-u;mQzID_wGX0^Lln*ck&WlZ{hIfpS+h7tiyUx~l6lqEmH;=0)$r5d8DAA9= zNLn~3DRm>cg>m;7O?G6t&2QU@8EZG6J$}+`<45gT2bSiOHY!hb3Yn_lasP5L-#*pj zY}s$NZ6&;_1?s$22VLw1xR4}XgkopEB&K{bB(^_yjv<}I_K|f9;@qYFrhxi;t|f$O z8PEb$7@c#dODyuBD1ZhMWXx;zi!to6E!1$uKQ~ww_Y>yOrv0B^%tS!*$Y$Wz7taV6 z{Z4LfW(_N6C?_CNz>hZQRg)MnTPn?wlwHo~klYT4(AG9;l|0p#4?yp*Aqbc0om1hz zEmW@eBXG^Km(tDFTM^Sfo44m3hC)i@lzz>zhE||h+JGVR90j=qmWw0m;qFv+Xot4x zN&x4&9aWYA?#2>W191Sc#I}U6kp#=-vM8ZKA`oYn)AQ2Hw%@Zpz3%uiim}I+XmmyD z3|!>|f760NB-?A4snp-BzeGLTWBvvfpoP3V`Aeo89z?_jUJ7EUmdIOvc!?fHmE2PT z;zl<(GRB;qCVlA?PC*qCfZ4E-{@ld?R{n3Kjb?AHW6d_^F%Pnq+hA1^lQiHkCOaMA z*|pO6Jno`I@#93TWGTy}zzBwInGW0DrIC5o`_|KZ>sXDm3(na*v4~daRv{JF`B0W- z`g>vFFU|{wZh&^hY}vBn0Bu>r#U@uRXrJ;Sp2SYBYqlq8t&G#^_GBYn<8h~wK*9j7 zAWprM8iQKob=o`ZqiecK4_VI0F&cO(xf{bcdaG^-zwxt$?!OQzyC=QkJ8)vEsC#z^j9h?2oQ{@rn?=qaOlY(1ene2V`JMYBjD zA1Nb=z%CukukswB9*VAr5U9~s8{IPcRHu|H&>rJLf1p0;zlZu5%}E%r4~5X#S0h2Z zn>D!^|<}E<{;#$>ym7J zfIr#{0pABYdx+=OGojL;#A9#1kQ%s|j}a;cNW(wn82Di99Mq>A^C5ZA8Jd_fJ4yd3 z3Z}nC{27o&#eYg5t7K0JBxSVC4`s{)s(HA@3ocs3Z*?%pZs-LX$spV6i*sGKS70WB z0ywBE7w(3J3upWT`Hc~HEIzPh^oSGrCRy7l^(L`nWY630=5jZTwosy8@kVd72Q+VY zr*<;b% zkny>Mz+$Km*K|*-{3yqCHg9y#gIB#hKxZ6mBHgTbO1H*SvS+6cP*I%rv~^(M?dAL2 zh66u+sE^Q-JN8l7EC#Qx?@sBqOPWLFfY@hir?4bVBJg)4FvFs7{-IrAG{JGRvunPU zWIdQOS(L!OZh=xE)Oft1gG{;MVQRZ}>2 z+9*9csPeEy+L-TD=`5dhy`9T_HrhJe=+iBNw5tH_F8Qn=vTu3?=ew*UVVw3O!2Kot zurP=Yl=pJYVdd+7uti`LZcJ{Xa8VE|?{-H)82x(5D{Q=ZKkAL~tGcz7AovYDx|%fa zB6!*92vYY^YlYn1D-z+s+}oXr6REygOVBCFe{ii-$U>UoJzMUjrjwPUg|6YPZoKpe z-5oEbNzUG2$D2H+8j{Y<6b&1-1w5y2--5tl<70Xgp+$$a$%^-T4$~~&J4Yzb(KoSb zLW!)+GI5bL%~}gbp5Ht2jiP%MGlWXTI!00pq>ZP{KCGUzFE5BbNRBg}cj6XTCkP68 zuoRhd+U;e9jay&4GHa5ZP@%ncQ67Ep}@ zw&p7cvD3L*6}CnnO1}!XjjpiQn9al9<8@fm8&CdFT)R8nu9`K=Ni=`EfBk}S{bt|& z=VB|4FL#$T>pWlef>pV~td$FH;I`Kf*OnA^xZW8F+ zQb8kUJr+fw{HGg{!4E1wyC`t$balMFU-rY_(fz#D5z5RD=?!zT8FmFp3o#*v_K$*l zl;l~tnP@110vwmVyqPdOJE@`STcle$qGuVShZG3bn>s^pHx?eAd!>ZBGJ&Q-LioR) zEpWn!0#xufi=TVzgFLq;GYyv67y~HedP4~kZ3KkU!=YN%8tq6~KChBn1Vx4mCU#9e zM?03yomo_erl>glh?hZR*CJwumjJ!H?1;>+Z7AvzyKljx+16s({+vk25xIHMNJxj#04hy8+hqhtI7u@VluT6g+73j08*K-LaLBGmZ zXNxLSX(YJ6m_6jkC&V^g&d6r68vm4x%x1+Pk#V!>1MwFB;VKdk&4}ucF;i3Q?YuHu zz+xLhI*<`sn#_*((guRS{pzlz!QJx01rlOtKAqnK3KO`#kMjg0sz3_n9(d zfzPbxYBrH)4(@z0^?-xVFLCPpJqMt%WSbw-_|PYNm+;%3i#dK=mLxLr+FgMfhvSS2 zik6Mh8B1FYJ<*;|>?+q6=8oumLHLTvbo5&pWe4h<<(yZ)v_{U= zpIgu0`w11nKcON?#O+v3*X-s80U?0#o_u(3{8*TXU@RS|!U+4DA8x3%wBbOKkg2Os z%qQxQ(D+9KuZ`qO1;x5Nd1V>pfH;5*XCg~Aqk~6&4D9fuNd|Hfha+r_yR0ApoZ|m& z06Yoz6S#B}%oYku8q-UN;INUf9HXlecpB^22R7-tEo<&p!|KmCeG8+Mf*A+71YNlw z4S#D50wAwa>B|L(h6HxwVg*_;_F=9Qpw#BbLKf;2q+g+XTdd=`O6?g6gXrU%?B{$o zw!Rt`e><$${vLQrF(A2Qg+&e?roF&HP^miD>R-LsS9$w&&`V~)fO}4d;6$yE>3;3W zP2~3AmfmXm$})3nBhmZ?bxd^$K;(lB0@%avAZR3DHFc6$&Ogi22x-BjzK~K(C_Z}k z4fpPodtL6yJcV{E9nE;-Ne@M;;W7~a8qsKx3xj~Oy$W*5Ag0vnN18@FeE=i#=uBPG z@l1nE6PLZItPY{r@;E7BKF=``oypVEI3!fz-E$IJ)8Aw*dlj{I!sw99VY$$*SUkYk zT9{Sv6Z5+39Y1{QS5`E9?-9ewB^nGB5WqV{gyO_Iox)kJH;@U6;tVD>{0tP{x#B`N zh_WkjQ>x)OxRaEc@u$3;?`2#TlK{vSK%dL`1Tr&mIlQ9PCM!VUVHQ$bt@1jhILiZ_%BK=#(K70iA_v0?{{F;lSmH$OnFpER3p>w+M z_OBktc+CMxOHV!{;-_9kRO-KtKZp9K8W0&2^-Lze@!a`CuYlQ~d~T>IlQ`V6*ACH5 zX$vWyf+i?#(ul*5_@Y*0XjR1l%Q~rrC&l&tD}A)0A4X@(yW#M3Qd?BIWh~mb{HCZd zH++Cg!EoPI3!*<^7z(aXwuJhg0l+NzdNcwFk*JR+8SFW#H;5RNt~b6v8=Kwmo$_3b zMXjG9a}p@1WPe#eFauUkQTg>JGv*IMj3OFvHp42+N2OXa*KEN!3^mPO`#{!d&|ia4 z;b7T)rt(oY$9(vg0vuHil7_N@Ucn>Z7=4+jq-~tCM!X=zt5P<+r6nRbKUOs_EIQJy zPv3MVpQ^ELv@l+g_2|zSt6$u*<^|`IyyRu7PB~oKv95+?bp7>AXPKtRwWQ)lG_>q2 z&mv`a*NEzZ9gT$IVjwSD$SUGJmh|z=33Z0`n1OYPcbf)VTr@Vj)sM`N2*<+@7)4$e zMYp(2V?CyDasJPibCi;OIgtEW=5$m@ZuL3uCZY>?M^K}}UkzdRpR4xH>6D4Mt`FfV zOoHJGjgYZ4v3%lN=t38F8s0=hb`L#}9r(xVmp)*XNTrR@AIsNmAfCr8m zrUFRE!>wm&4E6>6-=9y|Xyy^hr0`?Qb4ao=GquSOsmfj^Yn5b;>30fK~>X1$WF=>}U2H|5DO^Y2EH zHyNq?7j(l%Q6F6g^5qqs)_l@R+P% zJ5kHxuUYcX4kma3ye4OEr1A=+7~(itaMcoT2C( z@Z7_)lj*ZsCas1ttRyGqxYhm{J3>WzinGi=aTa=ZwA^+!y{Wl%gc++DW3)!5KrANl zGYr}OTK92`WmGyz?H|?QBP6768ktb|W2=FF5>IbKKbv-RgsKsUt25$%Ssi->OMUQU zi4n)>^o?&4;B~*fw=Zy!HJ#V3Mj&*_cG15!;y})d-XssJHkw|B1{+Cc(EI6yciFU_ z&3L3)wh!^EqVaZb`rVsJlPZfIsYVD^2P%RjNY*yzJ%EQ11D~DO@^a{{JW^a*kLdm7^cJc1wI38|xUxTs! zId-Co%8{%}b*-|j`cW|*rqMX2IJoNA#^~OHlH>R0{T{&q_L`aOdk7q_ie_!Bn8t!} zZ@r_FT6?VGyyAi^s=OG&#bzq@*S^3p;scv8TYH+XS4YdFiVp`nG90Ye-9i>2AKBDg zoJ{=3{Tvo}!W&}Vr3ivu#tfg&G27!+Y;m?qPe?s|biYD`*9ViopXFNKhq{LIW~~vr z9CE$tOL)!9Z#Z*`vDHgWyZSlv;&c;q5Gepj1aN^CK)YAYA#}+wZ zJQGp$gpxO%wRvOhI%d%}!tq_a4?QxE`CC`01}(GEHAAL-pKx(zRKZ&E@U+WFaMFP4 z#g}*h9197?yvU3U9U@B0lc0fd8vo(w!ts%IO;o*Dn)t&#;^PvPerUCJI?GGfg3kMZ5b=2OAEzB|Tmy!zjM-QtT~DH(ltM2t z#RGb>QPh7J5lMoG1h*@I0sI?6@vb8e3Q%VrGk-7_zM__-+l>F3yqnfVVBbB~VD?nW zI1e{EGC5BIRWDltbb30PvsU#g8Tn;X=qiDZS>0~b&p(Wr+Y?(B8VZ124V!!>H-g@L zASU%jx58LCz{8C_lCNka%-yO|L-9D#>|@RA8;FvV&wtdM>PH11y4ZeuV6&PtJn-?c z8W#4+eB_wup(OZ&^d45>;nCK3c_6-5+%nKb+I*2I*TV(_d-D?iy7NH_CZRoFtPv#c z&Q)SzTjQxN&Mg_dp82W8c)tG_H#pj?iBj~YJ%(_``=D4+f$(cbK~Iz~m>x&Te* zD$yjek+}UnB&TE#aN)AvXcE$nCMRLLByR7P(>4U<0Y@>AhA0+pP>}?_61l?gPJ>>- z`03%rf-BRzG9lm$AtlhFvj__A$X0JeS>sbd+!tb~SMn)|XpDyZz8-qS268Q9HeZwc)P=Xu=nlatZl`s6`dQ0wW#yy@ZCBh|hFeVaa$Yb{D|nqw}QRtkkpilIr^ z;yEeHIA2{tRiRwE6O)O{1!flI-@P4fcm6ieW>SG6xry7Oh^n+F!o)TQ?%!FJ zn2~@3*sX;MK`T_IwL{*UU$o`@&yc~H7( z3MuzkKGZZ$V&Ka}M*i1H&Elqp-6kNKV!bcy3 zH-9%%L`8!j_7w6KL(hVOWS|>^ID7mO{p4~n^{@N8-Q7SxF+jVu>mQ+wr=UeY;sZs& zW+t+gKhl>W zZ(8#9;$BMA^&E*twW;^I&i$@N&gOK0m1BMtng;&(qZ79-`C;8|u^qh?x+)jw`-^~u z>c*F9wF9+ASiu=BKe>#)-r2kB{vF-p?NcbY@++7F_oot`DeuFEwvrRha zXqD;aZsrVrc+A;liz5y0cuB}~tyqjc8nr?0Xo+EQ;Ot+`j&^TN_;3;`BKRRN`dLq( zUn;Np-Hd0&T`imO#!FM!P~)h&>m1yC<5<7&@tpBf zrdd)_H$!6vhZIcRhu`7|?ScYWcZYKVKLC^uX*~KW0UXqCZIxmI3ajT+>Z@NmrGHsk zJ@+5Le7jIMRy&13aVn1Dt|#yu$$zQyn%hq*0lx4^oQ?* zisp%6?khMe!hA-(z)5G*QMpX<#n8QaJ=43+&~!1B%sudazjN&Bx{+QuC2f_!#+<-# zsFyhiVhFTV9qepx`lmyw^oo6$UtB)39xMME@W+$ymnSHi-=$GT{K>GR_SKEKnmMse z$G$a+avU%nOD#c8Z7+VrlebDl_G^09fYEEGMUat<{{U<^lNyc7I~3>Mvu4T%v^|i8<&uT)a0IxI(zBjh&H( zy!|6BYhah~dj6LdNU9ZLz??$HLuY;OqkANjPGuQUaWg`A{D|WZ<|!GUb~Gel1tlBt z@puKqy!+hB+Zkx{TN}~e{#^`>rnI1+k5oo&S9jFD{W_fPfel8gYoJ-pGDkJr4t=v| zgH&2vs}eN^4HO*GREw4%VRoSXV)lK5>z&2;8l$p7o#!-N%_jtj?y>TzXSQ?=5OhUq z59sSdsj|1VJ!QahR2+=fm8@Sy#@q+_rs>poC3lJ}FApUm3~>pwE^KjM(9x&~WQzD9 zj}0`;)>>mtG?rMtWcHzeh(MSTTq5Bvmy(IQ$aj(t@(M|Nd3f)Aa*yl}#9ksqrX>I= zs5Xq%SAi*JOU94qJ789XyWYs4CO|VT9)^Fq2A|W;Xv`FTQL`D@*1aY&piCnj0?k{p zx|6MWGn|Uj$aC~>zPaS8QpzRFY-sl{>fHH7f9jbyA3~Xyy(Y8L<`|#s0gBbDndZNb z4yxLwFwjXw5O3AM%_oY^lv`Q1q~KQweJKg$=2UylPxWiALXni@&sEL!q^QEjdE$C3 zvkn{TrEdZD*^%U?V8GFmZ?z@qjTOR_VD-#ljTjADGvKFuKKh%zeMGB-^% z_E|rxJ2l1=unCRnQcJFPZRS*Uq|n(f!~Or*QhMZ}icyom`-_)=q>Sx}Za$Z6zmSi- z+-oT}_W<+!)fN`k0pybv!dt~WR7@HbMa}ZAtFJBUDc-WgM+2;j!&Ro~+;iX;Qdnvh zE&1JSu7=EXt0pNroYJUI>Z`iQe_5ygat{F}A4nQ;zt>bXR1-bhze>VkQ@kKcNb`nz zKu)fU9En*qgMw#uC*aw+5F9s ztT+|9Hin>NgH&_1qGb9rlVVLS2F&Ez0SaG8dM=>N1z#tT7p3D#6}KO%1Ce}*78_D* zu^-lEW^oR!6G{0GO>_ zJx)W#%81(@>TJG^_j5ltM%B5*W7ZW(waR(Dzp{z@gOQ0>LXJs15c@UQp(*=t0<)ld z;Na*>gM@5rdc|JQ5qZU7_W-HF7{hUx0PQl^@GhG}}x>kHr z#@*?Om+k1;9@okTvLuF#>)1bP!|)v81fHbA*<~;|xSxG(z4Q_wTH9Th zq0_9^0hw-EBcmLye*Ew!Cpzux@}X!;ix-4*TIrrNml-291iGNi7M{Vws3%^>W@Jk; z25Xb~LXKJDl7%xcMf`(N3AlwY{(dSp2*msix{GVsWaq^OdML?NpM&Q5LH`{`NrX{!d}7Mv7s_Gug`-$y@^Frebza zcQFBYTD;c}ORVjdVhiP&YFYDJeCw-cTfU~uEyU06toKVVSPpF`TZ}2f*{+r|ncteb z9gm1#D-G1-T?)m_`X`^*Yx86d0WRZIwO>;ebXH(j7q%cq0>hhZt^RId5 zZv6}`=ZQX}+d_Z#TC`h^$@w0JwJRc46kR4=X4McerLSLNPkf)Bj?m>&Ib!5T9FrZO z|7~oRUH6M?z2B(zZS3IZuB#uGCj0XQ8~|nM@wqeaFC4{F6jgxLEDbT*Y-9S92RV8J z2?w1vWDOT3^PT!bvIiRs4MJ?Wgb`r6h;Kkgn$+lv*5BqzJWt{`NX=wFBPu&*7_Noh z=yWgGILAlTl%*T%(+ngg+7}xZmYowPorduXO=jC57?V6*<6(QvS^IlZyy?AIgFE1iZRl_Mn z{~WdrvGs6Mc$s722B|vy#eTSx-_xO}w^@-^oA5m~^O!Oi+CzN7%TX}qD)6x+YHk+q zjd2Qzfmu%XEs!+Aj?|*t{nk4k zGuh-1TtoW1&E@-4)XnrkV?d$j{Gx%iyzjd31&DF0X0q16vr7Xr5;rWala==crA4?) zkXs_)H5=xF?BeTs?ODPV(rQmdh@4Uowe$H z^X}~3&+Sja;>Nr8EgqFM`9bqrsO7bZyEtK__hJ_)sm|#RE@nG}h2Dd29n1>G<(fG1 z!R+H9uj{zkwH|nGe%ILil!)xXs=ML_e4Js50w>eQ5>t(Fp7%B*n5e-}=?Ib8dtT`m z2b;|`QYE0zc&JWCtD{$s^~uXkj2|4#my=WB)SwMHHbWR4iY!a50=-0jj=hCpt`=Yy zjl<_k#-m5c1K&DwdChAsFuV@mo0JgaJ}b9De~C}=iPZ^ARo7yDXl*1l_vH`=KVVKr ze`KI)xS13W-}*Ug3c82v2j?EJoZD({{r2T>x;R}t4>Ca~8o}d!6pg5p9x66LUhn%Y zp|hmiJfEZ4={mlis+}-Q$$gWhI!kd&81lR#e~XV(EOf-#!yi7QqB%3Y4(E;9bCv~Ih%*gX6pRmnl6 z5fBqUZuYJGa4oz3Xiqq=KOt2@754aHTw21fbbW^wJ!NQgNlc6sK*JPw|ByBj=2q;ZE^D)GBnnc%lk1RnL7rD z!hO}?It3lixFYnK%;RX7H|1~bOeb5~gLO`(v^Q&=zYYd>`!ooRz2{v(Hu=?+S6+W| z%oANd+s^^reTj>z1u;|>*ke_0!D@ZEtI|S`_r9e6_G^8cOr=<>^4kUUCp3A^@|`|E zmD;xlGou;*(qAVHO}t=SRQ7~Q(t6@&yQl#Fxl!gR3*Z{h*!LFJ=h)1w+y%Qs8kf-mDcNAF>7UWStvdx$@ z(m%C-d_rzma`TlU1#Z>;sclr_WAgFD<1|-z@*h%hxDX$i*3IWCOI|lw?{`+Fmk#A! zS)Z85PPtsZfhj4gK2}2~ef!dB31|PL@FQ&VaS!w5wxXmS*MGRaC?G=l{JzKp`DLMT zDmL0gsc|PM=`d1@X$&@Gt{fS3hob`($o*S z!ks;Lgx&?O4}j?qUn@vE@ZgPyUlhJqEO`*PeA(f?7Nz3hLu zxL-lXKQSykqNZa^iW+-k#p^XUXpX1;>UQ1Xn(j3lI`%>pb1C`b-V=A4#SKPlI$t!j z&_+y4ibYWHFBkDfEKVFTy}!ypuX_f}U>KM1ur0y;c-0#KrjaE+#Y3sfp7ZLlR%IYz z+G%TIf4!4%Qw3RIiBaQ}zrr1n;1r`J;UmG)dX(H-qZ42nMu^W6+A&iDsVGx4idANtvhgQGxCs!+=>qd)4| zkkbp_Mq%&4Mc2GlTRt8ib4iXkq-!FYp_VcPzlD4X@$M_9cqvTzGOQ@S|HC8WXwblO zLQPGWRJ&DBr_@i&KHk=t=Ac)d`drhuq9lu&JHc*oxUAZH*_5pm{V+8I*(fpM{?E`?-g9KK!vcCrlsI884F`^mTqT?0$WhtKo!R;_;Hv|IV{d4X!j?sh4DHr<0B37H6>Ja!C{E;3lC$K{J@ z+M0_LZvLir$Y*h=q(DtYhWsGaDO&rKYgyyyRHt%1;cpnak3k6I5+hK;%@(Sewdvhd zBMeZGHQxWXr z&QV$QfX|_wWWKdqGrFy|nL??TR=H>z_a`yd4cxF7ZXjTt<|d$oAzM9#VaQ%DSBI4z-&yjtg#W(ND#Z&Ib=%2o|Wd$TEG1rB)%MR@x z!gJm~vc15Bo~QO4CQM1)*@Pu9D<+j+P<@8I$gF?|>CuDqjBz|TLsL!b4@Pcguv*vm zJ34nU6ohs)pPiS1CQwAy5Ur zJ4){`TI-+)iu#(oFeDzgV{wpy^(*2gdq^F-^yJ1<}z@+S|z0ZU+C zMT}8~GpKGQ{-?%=NziSdE|5Neu7s>27#Z%kwn*QDt^g zrNdfnH;Q^ud^5OyD78*&Irz;Mk$_`UE!KLs!a%mWc}1}$qXN3J)RptKD&$ZUzV1>* zgfELkL)O!i0@rX*IR%bFStRHZpKqRIs5T<=n|!r{|9nL)c!VJYF1hE5hj5b8C%*qR zeZnNDI3FkaM%*mL^fJBe_|I7B^v@Teeg#VU7xccd7Q0&=RC_OhD`ckQFQMg-4 zB1tN5hwKUc?h136(agl^OzSIxO-`Cn7qcx-jFVeKwW@Z*Vk)E4co8RckFh*kZZyZT zm-{%>Pfbc^h?bX<`{2oyefG2jd65?76Qj$=R4>Wz{!~h}2fGZB5U{z?kfjQg5BtmN zP{sJ(=j*#`JxpQ;PaiaRkX~p|e3M^`rah5ALG4<2_SB&lEsTlTPwasMe=(fTt~=e7 zEB@%Uf#V2HDp9glwJiT**!J<BVcr6{Gkg?cXW6E8LOptRX>jWV4VFVv*GNLhl>Dk?+y4i~cok ztz5wM2eUa1I*i!TKc0qIFj4E}Ys_wb+ERNQX&bfsn4FJ`#UE5y6u|=cSDh(3%L8!| z@uWG)Em0b|)slsjiXZYnAG7RJiey9tg|6o7q^U{{2GdHNff?Y*nOz7y7ytNqoR43#e+m{y#H3xpHo`01H(rfy9hiTd+f zopGJ-y1KeDrV?aD&MI&o*5Fil!KkVo6!awci1z`jsOV_pug`7T;+=Pf4SqPl&5O&? z3qnP(TuUgmag&o_fF&K@u%+8q`lG{w6L=GNF1dP|coQ$PrEi|rBIap6EJry&-A671 zf+$D6f_a-f7I-K~S2NE*$>BeD6z(8Gu1@^9MbsipTf$iylQd1BA_O-}n3mWP=H0oi zlMPibmRV0a*Hxk){{;Vx9BbR?oe;i(m+ts7f9XOt7|0^8jQ8WURNy~#AGUUIVm7N6MuZUf{(r(P$NPd1q z3tnzB0dbpKf`HJmZ8(XAQ;1TK^P)>o69bAFnAG%J%s7o_@Hv2d_zDUqmx9~QiOXeXNZy0r=g^ynWTq$1L#8TR{+*D53bF&O4 zHEq}9+FEVyhrX+S#WB~?n?k)osh_)`GhUC%HMX4T{0ZHDwiGmBW2}D?ZqkI$@nmIbt2|2?N`P57J0%0Ta}ki<@H~n$P|K2WO&ii zkQ>-mngF)F4&mq)c!($LV&$;*ww+ISGw1N)+de5~hp7{V-hLy;B(X>Az>k&_Da@d% zTicVdIM}iIYy<79pP|#{Nn2^_Wo2dVz`MX!1Ps&ypV7#+b8hVL_o9N#_z6NSrf!2* zJAKa5KuOcZ#RcW&SQa;%>8BmB4LcjKV34&MYwAs*WID_i-7T}GNi=lB`Zq)-gq4p6 z4S$I~GYy-NT{oL*kWN4^<-)&~J8ggDAm|pX$!Fo0?3y@?HkK*BS;Pj#AAX=28blxl zjO+AUeVCyguD6knm2ylQbG0eq%03Pmn&;rrRU_kWlBc8FU6Y@9z7ZOULpOaK-NiGm1vL-Gj+s86G7Vm&j?23_sK_-$+knx`h4eun9^J5j!on4!U>#{ z#K!5Yrf(jbg3B@>*qL*BE}$XW%W`IL-p=nDM5qRT|a{@U?oo1+= z$wXmL{3ic2G3ynfX|lONbZH36a(!?Gi{V1jEq7Q11?kL_QzoiQXbv1nI;Cs+=3X9= zIJQt2JPL)cjrpi~L9#heUOMm$f6wf|*jyr;?7&!_&_WKZ5-*Q(x{Zvhq7EZ&5jWv& z58WWOkwOFk=)-z)b>EfqnN=?^mg}Ppu%Tq)v;ZMS+0lve9D4Q$}BKv<$Z-TgMxS!6!>>L zfQ5UjkzadT@uj=D#M(Ei^y4hLzV6e0tHXW)6~;~u#YvN~ohaEhA+L9SC&sJ<#7*?% z+_ASEiZM9FNsN(8f_%Aj^;igX@=3pnCuvuGqBLEL6Z&#)Sbqu20QLb}Q|HmYh@w}= zIM?b@E~()xH~!@Ish)SNhkjP?{}Y%0$gbD;CO&ubE~o64;rtZPK61F`x}H$@vfEbtTtjb()>#7#@rJ-OY1BZE0gKl!92! z8ei+#ypmV`tl7u{`mkUE=5WY=xb$=&AMb=0tqW$enWG=^%q7q*a(xN&3=H2~YZgwu zIrmdj9)A|~MJp}0ympua6KLs>p>9r_p(4Anct5L7NNY0Hx?!uyI(?(s@ATuzZgbdF zlU5o&BV}P>p%LRz;42LorvH@pG;^&z)_jpj45fDXK^P7!>M5vjAFe53F$XlApeH63 zFad0^I%^?WPL0#Vb5pk_Tg|NJYhIAM$$hhZ9M2uIRpF=&FFONM(|gPBPKdj`^ita; z8oWe+VP;K+ets~@kH*8@mzocdAT2 zR8{-Hy650bW{nt*b;EZLJa8*1WZ z*Q&(>Gs6>Zvz_|c>+l4uZ>BW_x2^sbA4V8uO}biQJeR1}Z&=sH0B1 z;R|n-{EQnNt{BjVV+J$0HgLGn(WM|`{>&)l1Hs<~fV%lFALa{#Svz)|IDP@)b(z89 zo!U#Xyn|Wh!fB9YfjeK8gqSmA4Dw?t)&#s}U*Q6)wAW8PoA0!ibuVmiWAGtC8h^r=LvYn zhiYT%4*_MwdLc6Klv_4cq9;Aw#E6RJL~R@H>@&2SH3wuX+t@O|kp1B|GWdLPNqM}_ z8Wy84hqm{ejF#|)_6`2nf>5Yu5qD>C_~AHjcZf@>G^9M;d(;8tcCLqhxdadKk?(!O z_`XktLonIGx5&sYVBM#AEd#Ud#hc+7pYDgQC)A%gW!mgt4;6%b^TRapP7u5&+{hN1 z{C6igAZfUaMau&Yj~75?mMOq6BXFGaxt}b#I)1yb@D3U6(x>{*xh;>nm`go6yxF}5 z#p{smMs`HkCu`$LgNVTUSD;1{@KAwyRQN#CO-BU>$uhE@rw7RM4$rwQj|q5`@3u}8 z+|bG5TscP-vTu^%~c)Jz0S7X8B?` z<5cMdv24!?H`KG?&GPiMDaW@zAI*#A?C4&A=PU-v5DUsyzkF#%zWDG(%f9g0T5Oh( z)ncW=LLN0(lq$)$h4;>=_FCUgHW$g!)0VeYhnsO`55_*C0Y~7heRqd4aXtTH?(s%N z+Kcm-p2VKfeVU3Xt?FL2{B9dCZv5KBd~n5z1NWjcOMU`#k1P+1^{wBTNmGiLr&oiF zKTv^-2ZW8@jbP(ZVe?896BoA~H7+yd28~56wGO>5L2*iOwuxQ2_Ooj@y++rYCFQ=Y$IPvPMtOZZ`h?N`+I9!Wp_ri)jduaQ+nR!5a2J>$Bu zzBtwdHx~C@b6N4W866+(bA#{%Y>Xz^b#}2BJ1VGI>J?NJSH(8p6I!Zqf6tb=P^_|} zBqVb;T+_Mq&3D$LBw08|NiC3VU6&2xcDSViVd#&gwvOL@OP2S9iJ@uc=0unrD5(-T z=+;KiD&EUL{8dm7C+P%cWGxoPzWZcVdK_0G;GqGtw@Zr&|D=s~HPlchy0_`Z9w1M;_%j9Cs66cU5CJVqL(WpoW^q}*o#rTOJxWH|&ZnSI z6t!*h){~nuk+4=Xgc3l?Ej9_&YKyzdtgjskDY4lO`4$gc2oO*tg8$6V8uwRD#7wN2 z^+q_75anUEFg>0(K>MQUrx0vwb6Z-VscE{`l?LiF%6eM9R_d}^5n0}qw9zSf3sicF zFuKhKL>OvXH4h^CI7lk@oII3Gm&JYx2-aDIr{zSx;>*KKuPB-ULm|1Lq1ia+Bnv>$ zkp{1lMqD{F-zK3i<7q(}m_n9-S9v#$$>_&%FFz|I`w%udt@_oZYkyctZ7N$Rmn_fZ^P z7PM&8B`gzR=3g3#0Rcu_RN$#R$;j11wJnBejjk!o!zOT$olQt!-1N^pXtOdPH$|07 zk-Ri;#hki3Kp{RL9{<%P`+30TN_v*oj5*S|CRymiB1)URbm~e?;Tk+qWh;cDO>f=e zgrg{GbzB2O>lZe*$`0CdH4x8^Hdil)s}%QD6DbmzT1JzHJskTZyRA%pjb*A5?3 zuQ*Mq$Yb?}B?XV4(e?fL{@`?yvBk|SNnvQ?TPDXjbFuTU9z#j*LsE(n< z9h@COM-eL*6pcUNJ6PC^d@HcgTrW%+o&em4@71HIGi)q4V&}crRP27cYCFqrSxE~E zjw#|UPXULlUewCBG0W!2rmTnTFCaL?4D1g2ngahgw}DxCwr+iSn$J&iZ5ld0FgZ^* zaDB1nUWL5VCb_DeAKA-%Y;mXI=Eiz^PvBOJeXpuKmZnB0UDonOH0xQ|C~O)vQM$Ic z5vyF)(&iA!W7qEcN?L4QTWho4aYv@8g3U$QWMzh)$Whh{Ds11W!k0FjQnY=v8?#EL z@G{N!avH13+;|IYB6Je-A~u@ZRYHyY_t1)l=~QP>d^1W*9{W@RH&=oZ3rZL)7-38F z#-Ic(@e9WIv0mek$cK~BqQ2`diM8`ieStqiIUZ9#T|e;vB<^Dd5eOW9jVjT5d6YX= zX7#Z%s`2YY$~?%?uUvZ{L9p6bs_JP^(2<+(@meS<@P!vaoSheU zWaoZ5NCGX+%y$Y06U7qOJ1_S<4oh%HW;A`!gfLu~HgHx@t0<}v_FMVPjPGz#b=X;* z7Iht$l&8#nnFY!#SQmo=?If^C;JrLTew8ZG*UxWSz;fs5oWR%hD(A1FCXEl@3=R*s zV>cG3jp10s8F0F%63Yb@P#8!sZwwOC{a4#W-B2=pB17#-0ydLhq63?#8|AQlv9{!f z;FVZB{7&Vw^rl7BBNKRbf!U5AFGG-Z9jh(F+-Q^sJ|>@}+M6IM?;kSP{wlp;_jx`| z1H1sC(+hhD$*7Qh3s||&?Rg%o;B}Orfkcz+S&%{=DGgvOOlK`AiPUjdiwpW_*6i8*yXgT>d%6NMPz9ex^z8= zS-;Z!MXB7w!QQ^BQ1O}xfhqcR_QZ(B6|=F1%5Zz4fSjasNqHhUS)Ts-sYvka>xYlr z1bIHqe#Ypq*!A1;Cr$g=k}?Ca4sh*I^}MCxo9ZBIbzL4muY*X15=v#E= zCwleI>Z0^yl;KtH6etrtTh7z6f{77B_kwf%yU~(#7fiDGCnW2T{sL6 zkruF_dkD`C=BjyvC^5;hij^IPvW<_t`AQUo0$#%O%Lw*Wn8P}5SrgOM1 zal5xX)4~C>^bCz}(x0Y!%Cb)Z}ZYXgoi|mo)z_m?Ds~unJIy5V>Ez+$bt8 zzTjmFZR{?(%Y}SXR9|18?Q`W;ww2hevaOeQUxGOQI-1w{7*d%;C<(lCyW+}7RxVuV zAdXOPA+?w3aQ*My&%L931~%Y=kx<6uA-+5hgIj^ZKc zYDegs$oS>VT;|(vzwtTP+qaI>^6neVSADkOHvqX=47`M&NqdQNLnj#D z(BRFEyKA!yBLGv=t7ppU8WDA#4D-l@%KQBLP8%bms??!ZXY;OE&Yygn6!`i4?1IGA z6DI`Y))6+!@)sqH#rJ~R;6DYmDhmAFPX{ED!4KXR9pu{c0D~0X02lCSlE$ngx%&KV z2{g-o@S_e6d%Rhc6#QU^nh9UdRQf^EEGsJf(nRitM4i5T<3`k}z6!T=8ob6%Oboq) zi_3=PV!l;cD$8^$SIpzfbOHM&<&-EnrDAxeK7G-_?~CrLf_9(fqJWhjzw>ul`Ij}d z3HtU{*OC%=wN|}-US#w-YliM)0haPmNUmE~_(!%iudA#^^}9Xx;B`Ub|33mgxVDVN zFXsFArCUVun2p0paNj+;x#myn93WK)Nhe% znt$+HrIPly?5*o#W?S1mSK4q5Q=#t^4wIbSUA5T5X~MT=pD)WS6uP*=lFDL&^wUoi zxCsFysJAXu`4tP_qdLTQLLj;O0cB!;z3ccD64ruX?*b|FWOE2)o^(kFNcuOMV=nbN5xVVRrB()Bt~uN_66i)He$Wgi?rT*#4Df>w}YpRU9G9 zyU*xxjw$Ae3bl$fR#PYVHfAJjdVB6j`@Zq( z7uh|>_mRsCyoS8L%d)*Zxu?FQQ2Ty%o$+X+vEzIRYMWEnm5h$}if;ug>lJtFdbhAe zh6kj(_v!q*j6~sYSrZz@UPP0Z*B0Z=;-H#SF?HGRb5j>CSS*UOGQ%}{oPh!+|MwZ3 z|Cx{S4{_gf&=v0J?j=X_(?(b}N$SZ^Dv)$l^X`h!m2a z9C_l=_jkYUU(!Zx_>Nrqfl%t-WLarze(C%^M7_(VA=xVBzg zR8yP(d|h`Q9wI5|z@Lm4>9%U?YCE2@x%BsspQp2OoV>^pzyuQOiJUwJq&h9QiXi9l zN)7KCFV&7uHykp1MY7LLKpk`ZCs#IB=ObrYS95sj=W1Ta)B*S(7q8y8XF&=w!NTKp zH`quugl0KudyM&2NFzNcZ$jow>?*yUdn$ABR3#2fd_lz>dp8!i} znT*@K0wRG)MEXg6RR&___95UfANP@V&tGSmv8XwwIYC?!13CQc7pD zb76dCE8coibAqTPhc1xMdq;R4kY4c&Oxz0Uzi;A@$+Ryo!6)pIHO8p1TC*Duldn26 zdh1jc^qD8h`QtkJ$NY4g@kPp_0Y83XwfsEzW}gM=U)`t|-`7qhrEe|pv5R%G>$Oo} z8DF6LTKwHQzxeWVWO*-FYB~-6a8$;=52J>zTIN|Y z7ko%N>ladb&+=?Z`(i*Zt_bRDD>LLIN5(K`OMU_6Jxt= zziEy}mSo;#M%{DSiT%Rnu4jH%p5XT5uNk#>Fy+Ei2^hI_Nj*#Bf@>7lOtOAGm!<;0 zMyaJDMBle(Os#EPtWYe!c64mi#~R*z^E`;gx0@o{T0|?is_bD(}tukzds*PHYRT&3K>DCTWiQIQK(bD2X&_3b)T`&I{03Q&Yv{QwXpF= z7k+dB-8b>UEdgj5(y{w@i+15=Hqb52O>gbuau&m*khg(2xt+~~GgB)`V*)<{-yZ(Q zF9eU1&$1ydN~Fsg*j}khlL98nlJ_?o^$UAWaFHAUiNrrSN8$Gr+J<#Q)m`(1~Kc>wNN2xfN3`>mSsTj%m`U+w0EDTOiL0phg9q>O57Q zaD>io_4mz*zdr)Cg#tu9wO7P+rY33yQop-q#dA#4edI9T)l=!ee?3XDlJ@+Qt>ix+ z&m91qX+QHH?(-j3l~J_{7-X>u_N|y-&$%aKA8(L6L3YW1;U)iy68`j+7Ysmh#-^MW z686tucF39(q?U;4oc)WhYp-e*`<27^!)Hj(#Loy2CPewi$=@%8BoiRwdG@aoq<{RM zzrWyi09H3s7C)H(LaSfDWdclhTXCnsUwz%`MbWNbW?>)Uem|cA4Jabz-Ffy_`5(VP zx(m{sosa)(9*^Z8{^ve6lRlFz3S1n+nTGqufA}qh=K$?0FRUH^tFM!Z)V%x$v-SJ= z;>ZE|^WQq}`bYf%u)zA{UqlW6N-_#H!B-{K3yq)n!*9irvSp?1GGTx9bv@?>qJF=o zKm3)e0Az#a&zdtp*HPK=R;GZ(nQQm@4{c{Eok%pqgwv{qxz)$ zongo4u3vZ)M8i6_oK!2DL7A}aUU-O%?!uLrvIIRY6{Ao1`%Fs4BqNw9@}Fq*hsAyr zN@%PO6IWX+?xqrf?zF6C_Dea+b>ksC#ZoXjI=X*cMvsMstrz;zXOgSFcIZ!z#D2O| z_z#BeccZGCLh@j4CwncTo|TQ&a!Xnfi+FTW&wI>tq9+vS_CNLUx`O3mZC#aySh`p@ z?IT7_79Lv5m$5~PdFGgdGYgB350PeJFn^C5#^%sl1tSUZotLSN%@lxvCm!kqr>q#TqW@X2?_Rk zlab))SUmlDXDzQe@QwxM4FqFhvNmkiKQtt`l$-eO!zC)xO(|TUs;xnEUZh7md zPt(vhr45@W*20NiSN|tD?SK1{)Ndz)WWGraR)=sg@}$tI*Z1R*`QeEcW;LV2LbvZH ziiwHcVp7?M;_$E_s>DMfModOIcvZ}*`z&Dh*ph{C+E^SA;<)e*VZ%q8ba;>8 zQvII@F}NRNOMK4K;zIoU5!p7^A#c6nvZ7~JF;_>6JG^&MOisD83T}M}V(Yv|UQu)L z+=|+faZvJInqQ(d88V8Fe?T{+tON5hE|96cmte2TkC=TtZ#5ldmEYQWl*`?VM5_V( zg@^-+ajYUYlMRC^Ix0cYH@tC*J^QlC7zf(-y&>wfs2~o`4v>J z0x`5W@6~}nO+%JvXMwy}GU2kuADfQivtyUe;~SO`uWd7^a2B#(T2k9^@9uXHbv%DI zFXY|aBk<*o!XhJzabAnVJH~;t84zpG;wcJR#kMeyD99rysd0;|y-8QkXz$sH&j0X= znJsRA@45eBr9(ZPAN3Q^=9h#f#=i15H66rVY1-@-GJ(}2D=I431Uoz)1)6>tYMaxW zrkg*1RCi%cijznvsS~9)%(>CdAIa0!$ZwVBxUT9jHpbNhZ`MKuPF$DHggd8pW{$_5 z{&;v#p#p>7(}dWI%%|989;M~0hj;@bZz~|lqm51k1Wp8O`4HKb;Y{Dbz7}iHDV@EIuqoQ)%`1%GTP7VDy_xQeG~~<2{dWS)Pd;!ua{AidHK_iF*WgYS z*6xLryxmid;;CqE8sO;fzbTNME-KLdQ*k-%x`M+H7P*>69FMQZbm(LVGM#Y}wUJ#3 z+&ssyi)Q;eIy{XKPLNx{QyLNxk0<*|aHyHS`y+oRYXy4K` z9QpU56rf^trV@9p(~Kkl<^!8LzPh< z2owixCS#f^bIQzW>y{G&kO!@u&6A=y%(zs#?Uy77c@mJ;=1dEdsv<3^reJRg$Tz60* zSI^tI)ZkBg-5v-3m#_N)g?bZ;fhTkKBae??2P!?;#C!X?iSNku(??ftyft4&u71); zvz|qv(8eF*7oET$G;_i&uR#=; z%P%S1QVTW~syNuPg0W$V( zpjAsu((~shQ>45c^L0krV%VgoKy%9mB)GV&ENNx31&3g{>TV53`y#c{#CJA8x773S zaO$sMPzSNo*NxO0V^U@Nq?>7@GmbX&{?EJ%r8VWZ(0yG5?f^Zt^{o)}I1Z^Z~O ze~N3Eo1jZMXLCR1$0Qv_(JQ&IAy>y2Tq=ud22!WVF&hq5JVSQvXs3Z{_nk{92HUh2 zRjnaDVv?J$Fw4FESeVnZ=Harst!$aC0vD7MYIA#eEnlpapB8sbX(&fUJ!wm)C@ZF% zq7ncalnus^vGz&8tm(jk^XJsAE8c9sJflAOqFBGcP6o&w;Ie{Vq(sbyYqdqfAAneZbbT{N^Q zf#M*2Yfs?jWs@4mB(vo#1Om|k#;FLgTyvLqy)&1?fiG-a@7Gu@kjJ+zpOe}IorkYE zq}Eph||9aw;ASK*wXZF4OMpU?i-ssaNqLI(9np?HYEMpiNw6W7t5x9lHpv zIHnlM>a|es(PqCanVBYn%a0L9OqS`@@2xYXh)?w}3AU?EdfhVK>b7Wo?dGjdEb~`; z$J}V>xaSvV@^x4TDxyhk4!OI6bp z9NR(Aau|02#&3cNd9_szTP!J2=<(^O%J$3bz8n=Z<~Kq5`5&&n35rKwU&mvh6Anim zoSoMp*DKYLFI$m{>K`dtw6Q(JU7f{#OySm6n@*rUj}Dra!s#IB1CtheQxMFYkckLtDqpOk#BR5|pY!~p*UJJ%@GD;k>y zCeEtOmIG(PSTKv(_cSti?w@*ci`^hxpw~_Myt#Y(#nV^ZujjipC%mWU3%LIvl2zQL zbdFwYp9%cqAKkd_8dK3H8V2;I&RbZWmFB~5x5#%d@p*P#L2Oq@4{(e-y=b?wTRsNDc(BRgIlxloaYkdoDxsH1e3Wx;?ILiu&6 zxkLl)6-ysuLqqOAH{-r|S+F{2pws3C#hDTPe|&mExN_waAguBT7?qNGal73Hka2Pw zMLIjMa}Hr=PW4xU{-c=`J8XsT!0do|`bE!a>T0kPoo@ntCyV-fwC*zzC7_oiL0}@G4z=jlWU66M z#tOCGM5}psQJ_jj*v;OwJp~9ot8Nf5!N3Bob4=TPfP9HODfYH{#7}Fyv(3ud-5?{1 z{REp4OJPvIQcqcOd1h#3K~=$owmQp~hIeCBj`yszW>WUrw-{T6MS4L$Tdn<1-nY_m zes*f0L^T`rdn2R+ly=m4qS?HeuuddzG268gB6QG67aa`GZWk4aIkuYZ+%_| zD#g?bz*@?+@0Bt^2F)SmJyz=yI0QCjoo}dm7Et|P8zEZhFfYzV@1vIWps?Tb~ZeiOrMZQcgCbjQ43+dM5{e;bBn^s4$=BpnT z$1V@C=r^oJ)xYufYdCddY~3JVwT`JSum%8@p_Nx>H+P9uT^#tn?q_4K&n4^P7*tpLjsVEifO{j9?&o6 z-%=qppPMiRFlM6%`K}j?BgH$_Pon%VvOAk~@MYuqe>BWFNopwFjFsJdF;}v%K1uzC zWPcV~RFtXqB1pkM6?&y`5RLTN{C^c<2PxQq?yL(BWPfvifW>dXNMKZ*{EX9!@XgGb zBIdSY2)i#{o@{Zm#A-v-$VlB8gZ%ebQ+jo|W;x`|zYIrvJ2r7#hc}oQ!N+D0zZrKU zzxXf-iQ2Xbi?8V^?)8u|u12TTy=oty<{dD+!I$@>J`E~~>iPPMPc3wO%3Y9Q6T6*? z`&Dvifss<7h3z-70h%*CSr`Z~-_4H8U^9w zl;AyZN)(#D0dxv3Un`Y2(MTt)6fUy7BUHTnd#r7hzp5gTdfNVNQQ}8K;$Bzam+zn_ zaJ`ilRbo;L**56OyeX_fpQhUj5;#NcAh^bEETbj_&NS`RK7@(7xGvAtNgGVQxBx|* zgM0&x?&}Q`e)qIylH4?AwBizC9KGElJobR`5Qq->z6#EjtFa9CAw$;_Zi=+cfL2W= zUUuKEBD5oEu;;HXG;wsMANrXD>fy(yKC#BPAB0`J_4*ygSXDtyy4)OQBzDNA!k5Q?4n8K`4Ob>*xG{AEbzU1w!K^x_?=a9ZUZ|dOp3me!Oos= zi;lAMpbPSTrqLey5&!q-*R%T|vJ~}tEX&tbqbVKc>6_j$wG8ufi-lM9kD1Xg=l@JD z=z6wdRdU%%gN~1F-PYH8Nc<}_8I{efIM>~>o~KpJ%zkLF|g?HCSui-iTOMYO5CLL1r&IOMBn zm__yoP6cvdVL_^T?RyQvVlko+<+~_Y4}ACCvsiVR04j^0InrlHg!RB0^h_>HYQA73 zs2>c}yT~BB9w#3`cquJBPp^}}t8+2{1$t!F0#_m}x0eA@X{P7i`hV>GWmuKn);>9OFN*PLUHJkK$XDsq1+q5a2F$?ukGAbMcJi`TSCeE;8^u*BauVPRpGwn+q( z^Kc$w0(+YVdWJV$!yR-K3^BC8Y3{#!*xS=VYR|iGm$ooBme#bFsl%klmcZPOc0G30 zpp((eBW`e;$U-FDo?$1FHBs_l^mF9FK1#jCP_>lnM&)|s?9~9%u(3&@LuvNT$g2n; zJxh|%wJG=(u;a@YYj*cOBAi>a>-4l+*`(%tjj_sFof}J^t~7&=9g|8Xm?Gyy2nh+T z2FyygZ7Z7Pmsm{u5owI=jsRB(izFJLsoZj2df)(fVtd>4RZILT6*ie}=5AboC$<8- z^<6LyVipMb}mv?8qU%V{64~;l>9_3ZkY&K)~0IU=4;W&(S8Gk0- zxJ!8ZbKk07R|8f-cD35Vek(_<=AkmPQ%p>Wp;cNAMTJ1fLYHoQc36AJPJf3Y1jk}w z>9E7QVphh=<9aYuC#Kz^YFnwg_A11mQ+r2QWp1cBC9Q@yv?q6@M9Fo(X|kozcnBxG zbwfbOvF(^cRQn#G71qsnI+UvVgtXSf#!ZI3haMPhE)1=7=eu^-(z&nP-p!vtY1Ec-V0DPb3vkpU0GMvQtTD zr1tJ?DqwdjX}ay(#`1&q367Dh^V08?&&iDdYFA2bZmR`F!Z_2CP}30*^xmH;prA3r z|5#8BEu%lC`dXF&!re?vu2aRhy8)YU`)Ra&Q zGaZ-u)(ae9HR2BZ0)8zK%yqjDUVFai7t~tSkEa?lo*2E-QUKZ`cJ-57;XO20jBUGT zVpSbuBX6zflE?2f<+`1DJ*hwgk`wQl8C54QV$km1VltF7-&;O5F^&?FgP_iWdhZz! zs8AYF9%t()CMw9BJR%ov$u|L25UeSurL{5Y!>|($3xoo@t~Xd_>53{Wz-t1_TOUZ1 zjHPB9eEQNY&utuya(!c?NvUQ9r$eb=#sCat1UWD5Oc20>27Jx=uIt$?Cc|?$7X4CM zhjzf$!7~rpx5q>Dzy$cDCs{xpH-Vlt`;M2NxvV7odCT_uKA+Q zJ-%*4vcPGu#7u3(@0lC6bd&VcU~Pozc6jyARCluvjpoWBy@BMe^x4$McSQu4ae1KD`^ttQ_VSK9GwJ&rm#ISw zvSq1&xx(IGOXppG`QV`S)t-!;+*qx-gn;NqBWStf`r&PmpKX8-E?qF_Z%7MwBEBqc z^pqNwo|-Div+O0c^@IYB;OE&pLNy{QDhdvF%~mC&m_=w)9`ZHH-%nFHDvbR@{k?L6 z#pNY8NtjoOS5;zM+~vsolxs2~d3A$9=>ky0X8f_vAm8L*p?A#UQUo=I4Sx}ir&czc^8~iT@cri#dW$^6>vk^vUHy^W3R-Gxdg`&XOD{y^>R@`sGDk&9 z;IW!ouktDY3%I9&Vp|JcR=haqoxd&6bn~R%^E?>NH z_Fr&_h0$USC^W>*fxfbv_Col)u2q9Jof779J>?7UQ|Jj;buYZJElmrN&{K5xpxQfZ*~5y2Nv5uZR&``IjIV@klhYg_mLwPn&+1n8Mey#Wlx8=hF)hFY3Q~45%kdb6!Z{uYyy=?zub>t=861ZK*q>Q1)oosGd}n7RTZ!mcTG@B!!~lnAEur6HH# zvW>^B9o?NY^Re7e(0d@OicdyBBeY8~fO>kRf*{y4bS*xJRM6&nN><0PhIcgpy+FvbhzhK%0lL3t0b ztsxa*7cg!voqG@)8=F)~&cezns-U2d*|{@jD|wk<#$N(7YC~zw{(wZ7{K2^T%4IYK zB_#?g-X|f`^rB$S^U}F7$J`GGclK@BdpFzHp(Kc?%|7~6)ew41+Ht;B!ZOUa=H%8K zLjmuKBjXbCm_=|Ijp$&5xT1VuU_h^XmUp`ly^dbA#3@+w>Gv1ODT#@RpD7;SN92Cb zAkAP4GomKtn^vy2ai&6^2G6JnQ?+4;vxe#Hpakz#h}WK%x+{$^?M!a}-EkRV0kBcE z?BPV!L>~^jD5-h*1nv;6zOt+7_0*^+V|LSny|Yf;(VihaRqJ7!J7EhX)lSg2d$&gu zkKFr9xc{Pag)NeY#L$d@A@a2Dfci!QpDBwLJpv-{ikyNw8eIW>0T_1v7TXFaJST); ztM25=EPTtFM| z^`O9#E&F&_(QTpz@RH{A|Kufq#jmj=)1pGTp5#C_Zg=0jo`CNjfpnqz071Y?CU?*Z zcgDOyiLi)~y#MbHvRfFY0q70U&Rz}xP>xN$-i?YL$7kQ}+E<+}_b33LYAky8!s17D zquwLR*UNuWP0ebt{hs#&+Clu9PspHjZhmg%6Y*HpUDQg-iRVd<(#STODH@Bf5r73< zagFr^^>80_sUxeu^G~e)ulTWtsJ-;SBuMN>;AgJb$==SmcJ`6nC=$N-?6RF?|3JsY z;`EmV5wELEPu>81%O7Q>cnY@@nfs-&OCQpHf5tTrMljC;C?qocs49 zlxKVVDP8-Y5gM6{FptV(6z@*}UI9Sgg(yU(|EXEYgoH{ipp0 z6v@Bkx{feE)YckhG`~HISPZyvDxnUS{`BYK1k>;kKK{@B{pFLeJMaar(PEb(nrt4g z3V|;IxLE&(|DByeJ#s6W)UPjG`t4Z_*Z|+9s2BIA#tRUGAfscV<>{r#5(D%OiqB`d z-%Suu-lTu)sqy|0ibue=KI`yU(E|J=|2vA@h*}xR z2V9U5!CHDr4>o}fWR)*9{EDHl-N*TIs|S~rr3z=VH;mU0_dX^D$}WD;%w1d5$ajOq zjx^U?5dHVnIPod-DsjR?J}O(SqQSer=z~z&$0RW;BRX0Q6eBM8Et6{UBt6c*D&YC? z%*f}mVKtid#F37`UZnh*Wy#N9{MoJe zKbKu*6-dyPkrp`q%Rj&LhW9K@??p!Is`{kF&>C4`wh5p3pWaDjwtcy_v~K_ z{lXKH?Ust-M*M1O_i?@mcn8Y*Ps`{>H8dK?o~Ny)bgz{Hm$ODlL5OF zRh{9o;@m6lvY$!GQUAL42@gP_;o6iAH7zZ~kAO|&!2|b@j>JKiSThCr zxxl1R#!Yy>89b(I(3Es26lV_Eq3YD$!<11(4;?I{s`i>}Ht!D#pzhvdM)YbW>a62a^_F$Ba<;R*GCONC8r;t>9PioJhp5xV=7MB;Nuw#O{`Zld z$X;cCc8f_5HAC76E_M4uOb&XUQ+9pGyBD#^34WMtQg)CovB*d7V_ZSg*rw$ogad5IqZ3BTvva&CiPHb%tQAx$g}Z$ zG|3O0_ARouEq~no z6XJ#VU&Co|LB4!PHk(ZG^|itKT3b6lerGbvCn@Q+O3|}-kkC-HNXY2Zr{ZUiMCWoa z-@)X({s>`z@ogvBms}56hi;%6;->oXy3pC#)ZkLB3m{}Y2lteA!B6I!X{#M3wI8w8 zDo*Y)sh(=veh7s^v%Wn2A6D0ZSlu&64-XGUw-5IEVNV2J-w}_|EzP{0YB9xdck(OA zOENY#m}kb1y_0zH9EXy`+Yr0HRUqx|*&1B<;Ztzc8=6jU*1L-kY8o27HP;Ib{l)MW znGHBh3C#PRy#@C<+%BEtbcC4fvNSa{jVA}_H+hHBq-JC&dtwmMetLa56pXUkwzYSO zW;F{7Fld8xXTyXaJ@PD& z>7>(Yl*r@KtKadt&Ja{pr3kH7W5Z+8cbl4;G_{u+exyLf{!O4aL@w(Ao zr!NIH8FJj1!y7a0xU4l(bukxKohpi(8o9cfnvrw6qIGu-pR=e?*Pv^!uB1H>VsF-~ zdfS98ys3ijOM$VD*SLO3VBUOTs@Q<|Ob1DN2e(BN5h}r}GsyTjXCGqu&E9v2I4}M@ z|H}?97trPfR;RSNi78TQxpi&e79%aG+*r#2O<=2o_f<)yl4 zi~ab$y(}%!Cr@Oa31e{1VQvq&*zaEQKX8OqTfv4l6$z64Oa%aaF6%y$1aeS7`ErQF!<71(XVyoBN9&j4e*IFiEafq|)o~ zlfOTq9{#OXWup*#7BB_RpAyMjg=Mb?A&4ycGEFuIqqdtvLdy2g*?N82VDH#aTg^k? zWtUW2$!3m#fcp1IP{M-h6j9yKK1PZD@idr2f4f`nox<3FC{abnsGFP>uZ!B7GcwU! zkMzMCzB4ipk?+4EmJUGPQq2+S<)za@;e4Rze@gTFNhGYL6CB(Q;Myr;e}n^f=3GQ8 zpP3vO|1NaP+GVw7M;+RkeJIWd50RP}muq{og?*!JzNX6cpslSO;#q9E~?w;@ZMOiiq8I5-i2_`$FTo1 zoH4D=>*8N89hJx#cUj+hMyIx^$<{TQ-8sUQN9Mkrk8b8!bipfj>fYr=&p~e>i!QoV zOXB8G-=(}@+aB_Aa~k^wJfID=m7K+*FHE(*MBId4C}4qJV?e*VKOE!8`eKR_2PM4$ zZNW!qdn)ZMLS;YtIwE76)L$n8EH2oZBzCjvI zXVex`&S(j3TrfI-d)1Ez3SiionHhQ}zQo`eT+b|@PN>>C|$OIM^M54fc-n z9!SzxkKfjja&o9p-!9A^>V1RtX` z=Beb!)mnq}J+(BR!xx0)Q7FcH?qk0D(>jNcMz{XZv$OsK7D4xR7b(QT=tBn<%fu#I zck9;VNV+Q*TQXK}*jwVCa6JBXmHA!*W*b$V&W`EEO{P!NGP|Ge%f0>Hs0y!mhX^Ea0^mo^34delXZsavupp6`&FVpW0OHiK!+c(%#%Dsmx(K>qr$oKOe=YH2%I2_Be*Y}6 zZ;Mr{S=(19GBPp(Eo%3B%CQaHP5X-)_g2aPhyYscWIxlB8;y?7EDVL>!-_MOAD2J* zbbjjkoVDKiYuL{F)O)=claa}19d*t2X!{vIS#eoY3t;pER z#mcM34eMeR?r|wlIW1J@JGBm^T=fs%J+zZ* zkQs3r*?;s+Czi-gbdII2Q@7wvulPxP=E zhC`u(f~*7Sq@p7EjUl&~%7suRb@JN%kr8+WrIcGs3Y(%fnntK*t& zARX@zI(X7Q73UUIwZBoBRt?j1idvtG04+Tm&$+otuhp7qRN7(TaL*K5+2ZL;rTkT6 z->Fs%)rvk!ULu@KlAqR~)5n5D^_G6g zbKQF;GXgLmeugs%FEOy!$trS`-|-_bAdaCX5~)G~x2yo}Ml@S7*LW71vd3w^06`3B zsM*q1+PK1drv8>w&Rn(qdJaG(J7!~1PK=K?ATVic%-?x%9yZ#H4tH%q#v)87K$=?eaz?(9r>?T%lxL&mIQDMPBD5B2w%c#A5PTaH^Yo6l;s z?n)H}&`rfSC04C2IMs124i-*KMjx08q-j<=`cG>CJk_@t0xKQc7vI&9LN zBgaJPvODjrV>j0&F}6p7NL+}ge8?4c6?lSBCy39Ba|Zeo2M`A0{YNvb0zCu^aw6C$5gk)0W<#; zsl|G5n@W-xS3Mo02hnHx>E$@sBf|=yqy~Py?^cCWsxyUIaUjigFJ!6c>|Oi9yJh=J zngSniuVnch?!A_fRh6Og>A5EC)v4s8&pHcBoxNV0TcFmk;L`tSy;rKb@S(S;eMHR# zboiZ5PNmC)Q`OiO9~U%q6ABqF9XZ<%rHF@<-XNMaqlWA;lJ&KS20aw*7s`JHA483q zRdwC^e!&4?tgkV37m0Fpvs4`K|1ETKhmaw3YqCg~G^Gms{0AKQ1o@dg?NPcZ@1j(= zN!!hL?dJ1(i)ZIu@&yM}mFbyc<{qkfH<=7hZehjh3Agu{@AYkli9WFOFnP^ZQPc>z zTK6z~Tcl7hbTNZj4t=^`wEw^{u{e7cn1bIlZY*b`p`lG2>@KoJIy2|Nf(XHhJzDE3&=X_Q1qkDnIs%Ib znwGAPLIbIC0Iib9$#g9ky|=s9-2r};hX7J(h3)2sAQZS;~WosIiV%RrN3h_RH5MM z*V|0E+nanPN?a%}*|QFGG^U%XIjhF)@tJdWs>dmO0%0ImK@&w^@O^PPN?vg6B@79r-O2QifMT` z7K1K0T#%c=pH@}d1H*B3kR$v8;Ik zAw!K?4dZr6$8ib?@+g(}+uPxdAr!B3zO$GT<+l$geh;q3poek|-y7b5=hvFQVxH}s z6Gp%ei_ELV#7%aMC;fm96lXQ-*HuSMY_eGx>?=}uUt~7G+Ifpn_l-46I|c$7nu9<# zqjf$%dv1<7t%u#lSKpwir3C_}Lg9ax1Rkuwj>Bb~OVeeS30NaII5`Kl1#LJ<=Zt}a zR+>GK*L=hN=_}6#KyO&IbMhr%lOz|9_|`vM2cZ0VAabosHC^-OQZvS;bO9hd&nJ$K z6>}v6<|UPCG=P@sth2c|GIH1ErKG^NiSz!>dV$NXT}X#WdloR&!{!Bs9k(e6L=&sP zyxqF|sizGjuOsXLd^1%ddbaO|Ql7d|8=uw{jS3sA`S8$C9L9W>Icr0850#4WFFx0S zF;Ua~{00k}C~#q*SkjiO78hRRPJX`uTzxLb)BZm#QmPL_xw@vC&ZEGwko=m6dFNck ziwv8+))1Pl4*1YoRB3#Xj-d-yon}9c>_A&t47Z|_a@!G)5_n~Rvwj`P^PX=*AUJUEoQ3h zf2&)=(YD2Mo&nb)OsaNdy5G@ObrYj6xP!4(eLKxb1}h{Cqb-Ia0B+Xrn5(8Y5x@wq zbe@VTov(xCi{<$es**hywdhb+?y~VoKpd$ffuqb=U0)Xr^5E=4E5hRQ<@e z5ESfY;?L?ef~JV%B?#wV&&j+A$X$~9K{DpbD29M>dM}9rwk@YK{WZ~Q)Qdt?RdrgS zY=d3?bBZ+}i?$MG@zdd$evuvBF22#s69rWU(dJ6a>2UoXD&!**@nxF>?i=?rD$dA$ zd2QkJimP;JNJKD@qluO=qO)L|>J zmLTut>xBi)%l1PSd7;^^u7V9^uWz}^^K5-19V6g&Br4y@idP`m9CbUO+w~t_w+OcD zp`jKN6Z1o5(&ew0PV5NFRZHq z)DZCmNN;*CzX>M0CfZZ+;He;ubpL|-yA5CK?kGA(zi8KIKC7H)kq0xPN-15Ha{f1q zrR+bFTr zKdBQ=;S5eI7}*cmhSMZLKSa$46)yEAjkzAI#z&(|&t^B@;8bE>uRU022q6*O&H82l zCiDi}7vIdPU4tb>`sM`IUwQ`VLwK2OG9e>&86pWONc8#l#dqQ5S<210izbbEIy%EU z0Am~qveN@)9}5jKnPjZ zEVY&a3m#MH4F|jP@cxp-b}r+QcarC;Z0k~$5;ETiH75t`%aI?>JnHO`+8kb0V&6^? zsq1mOg2BCKs8WzJJC#L>!7F~tZI0w>qQwuK&=D{xFh752PDY?c;~t>(PmLT4GQuQ(DUioV`OBtn;C zevzyl;~Cr#K=bU$;hz$po~mr|%q3eHZPAD%py$wjUL^0n4ctH=TDg3%HenK zT=HHDtWu>TU^ArxJs1! zIKrdVfmoDbN`ASt!y$h!It=g-gfQ-ZJ7ax0LG#MyY<7MV7$$F^t>~+dJ{97^V`8F6 zUcDftb(Q+*s&}MmJh5$6E$+*lA^Ba^50ZgX0jHBW4-#x=km&BG}Z&> zHb-bE#JSqm5cg~1O>$Ph-8Yck(K#S=1JlfMo4ev&R)VZ;b=f-OI5*MQ%|}Jd)$^k` z=ey)uY6%x>58a)&yJ6;Y6(j0ny80E+-k*V$xwxRb(*irRT-(Y^+~oj;En03-vs!nu zUSS`Y0gWFA{0DRTmH0@kB7PAoN4QUM!LxZgCfli=NJe96!;L$Ylaf=^C9tVE?CqF) zHTgwtMn)fr+S|h&n(g$gq`yO-PDPc)#TKN>!D)?xdRipM)F@;ViuA4DRjo8q+iMK1 zdg(ZF!rB$QvIox`>&`dce77HBDZWWT!rK430$7TXs=R_tZ^!Mj1au}_A|H(>3s8th z5Q9-O*`H{&8A&kb+S}P~lj?N?-uPxyazC;t0h>AG!mVfT#glKd;=Exo zDS_|ew`Qfnjl(Egvk(-RGV6h<&JP^sy>GYlZ;E_|B~1vCbK+9Q~wme%uID z7#iL7T;7~9o@`OEYBDl#a8$4uwqMk+f_hQBLSE}H>ul$u_xFy+}$z`PnTyd1`ZgnX+gl<0RrvvlH>DJM{RJpe`#efvuhJ{s0oE1Y;G=u9jtz|E*Pm{IdsZz zpRb-Y`~2qn3dm}ejfK;x(U%Upri;fPWWhT)I{~S8&qJ8Vg;{Q)3T__By}KG{ z>Bv36;AR=R7;4=wBPi-ty&Gpd#+(do&nr_0A)|O>OAC6W_4W$R%KH%_h(VkS{pb9? z;&O|?>ps9L+PRn&W6%pa+_X6@MRXvfL^H(Zyw|qV-F6#ih z2wt}uuEV|6v_+EFH?{LnnLMXL^aUy=!qj|)Jopf8ER5g^=D-b!hlF|@lvbo$4+VPb zf%=ST0fj>vBkVj1Ve)RLOOHGlm`7{P9a#smqmoqASrtvwz*2;P;INCCHfiM2vr#f> zs7Y_!vr#W&lLZi==`S{c=$zq>W;9=;lbL$Mdwk!*b{@5z%|(kO7H+M}0_Q42mWyvZ z3-L2Wg^j(E3qA2?yvc=m&HWV^!iSC~S4RH4`Rp?^2*`d#wuoq2LN7|zrEfUkk-)W&>u(A zMg{Z?m_abM5J8SHK5mCr$n$ja+E`N%X*1d{sOxAR2Q(A}!DM1#Z@j(NMA>Rbt9hix ziZ4Ra#3OG5PU%{76U-hYPNUG3@N?$boheYiiTA*?pVP5cJHsq?P-1yI?&SP!a3D|%tfpjr&H zXT??FFiQR}Oj11CDfyUno$KvDHpX7+8ZY&E zmT!f2owAPyw7Uyb$i9hHvYHr~ScR8S1zYL{3Y90@JG!48PwX~MtFd-rM%Tv8ph++C zu$=rah8sP~y8sCiIOTK72m4<^DelFI{Y=6eqJVA1Y4R;M8O)U8eH&1;Tz=kcb;ByM zRy(`MB=oy;ikN}WQfG@ug1l;toT3GFSgt>2=G!v$4WfP#s2a2VROcg*9^~2`mWA2( z#%ZLw!4&i6aVXc}!8ETIyIcKGj52N*_vhfqj?OiPjcvk7hWho?Lhz3g&f0eZQDt6T za$^<2bPOLAwF7yl<3T z=I1?Jpzu{qhY6f*K&_Mb+zg|UhOY7g-74^iLHR8oC@dH|r^i@%qZ4v4-?`P8F|&Q! z?;^I?XP9>2dbG9{B9Nau6^#KPO5oLWhQEa}XWYB)AX2y1|4Izzg2G=L(L|(ucv(^$ zhX0wFyF$cW9OPCX8A)$ulSooQRdaBm!hi?xMk&LM=BQE#m2gcIHx5H+-gKssI zat-;In2plN)!HJzN?9?gDa%dny=`>PAO)_6r0qjl)eBSugjiigQi`H7GZ^;09my49 z3{(9a$4U3k0SIq23Qy#V2=(y0;*#nK5Q#D^3&YB0aEvsUz3iPO%<`W<+65k^tUu3= zp;4a|%)l?$a3|9l^M}r=eX_yQ&>dK&ezhpF5KN97W_1d;1jqM;(GS`MEPqTvAWVPJ2ev_gnh zJESRgkS^ZPNG5{{?Ywgs_xUi`$1$&hYRYQ_donFo3BJDrtHr>|08PLo7Rsk?T?MXB zb@}k)zPrKKgdCjOMsj;+t?pb67Nj(N-?^{f#$^|6S zm#jwDJP=CikG^GK)Dhl;z7hKpnaL1wSrQIlVn>&TH;OSSd8+&L)SBdt>!n8buIy>R z3PE98fU^k{PmDVuModZ#6}hQB5W8|bXtGYpst-mG&bCKVq@U>wlw3~oMrU(Wnr30S zvgWp~!W*fn>24~a4T3?E&srh(CiYWF;9Xtq@WqL_2Yk0x@6A08>BznLDOr>4%!9ifdpy~#1L83 zv9%X5VAfyeyF{(){zH_zTF%QJe(;IK*;L>o`m6fQazQB({KwwGRc^0RH6S zbI{g78jsU1C$g4aXV6cu?`!rLVt~4mbIPZcl@;BkZy$nVW9ev=@@xbj;ln|sgLT=# zLyP6&GmyhN=K$Oq+X$+is;F{d6e&QAeP=GG<}RzJmpW(*(^z1i2M!6N^VU<~077tR z6mPgkR!_D%eTkM#8ok>r-UIMufOU}(%xAfdFr5p3KXN6VvwK;kWi1`aQIu%FxIhf!O z64ofejFlSZbM|C3?dmKjDOc^-_|xUC%n^=eH$Gb`_F(ZaUb8m|C#zq)9yOm>*LEz4 z?=gj6QQlT39;aX|_?Q~SNNF@lHb2J38kLN8{mYhL2RdhZtXk-Ms}yo#cp^gZ~vDtG)?gdJ=iGMkc+^oce>=)@Zh7 zu>Uj_nkkH?y>}z;TWSj{QqKd2M2Jb$sE#V1vZXB_i3G>r1q_(1(?bz8e&zFi?uJFK z6FcbL!(U^uH=P{d`@C^Ls?g96pQWixes2xj!TOfP`7txNiGY?9wQNCZ+En4PGW?-4 zU0p?b9nUZ#b#HJgb^pHtVtOyD*Bm&;LBc{C-zEwS!kM*W3VOcpG#3EiRiOCPb(zY= z8X715+;i~qmr4oOaxo3|d$1!b4GU>U-qMJ@8UhnP(ee6fW7psnaAQ1zPSt$HUE@aF zZO1;`{DGp?0yWWi$#Rgqya2KSIjZV}j@^Uxt85KPECT|J>>5_%=9ARyBM)vFXdsJn zbLcj|OKwaU{~&x7kxI`+M2FJu9f*Dhdt1vjPH%6gMHNtXlRsXGWo{`q?xwc(8(NBEuHQA()tDBh3$Iorn`h4D+?7v6D zxN=_MOp4BAYxI_5LFFa~GP*EXTxIlR+CqyjrD%6pYrl zDX_D~=P4{?o`mSfLt8{$1q)>|g>}E_4 zqIl|NlJN6tmsBgwt8Hd`JIX!DD&}}(Bx3kuo2aQ%-=^?4*~^QH2}whuyJZ(4 zhe9AX?)hq_Dyn5RNAyqTP-&{F8s~jBS#Uo0IA16`)1v4AbP)j{v&3>9$wH+^YLK7; zXyM$~L;;qwN)oHnH@Jy#yl1RmT^|bIK8N#Urr2)T)#X*bN=R%={+FnYuHJowE6+am zPhI(>+P6`)-#D4XTy$j$`a*0zBnq5I0A+op-akE#1Nc7O4m1S?ASw^JY^p-pXS}AU z%(zI62dbvDH(zqS#+kcg?K^VozsCn#-oG9#NJUDjaei$v{%!WKd`ywyvi6i}z{;ao zZYm6+kJpX_;p>}=Dc+R)Oyo16Pgz4`NguT(KX@O`m*q^iW1bhpfsmxJFDK!z|2s*# zAKUyB?8;ibkPBcjNw7HN@=KpBXm-+^EiK<6W_+u|(_DUFU3YBjFC3eH!!=|~LFOIO z$+HBgM_|o_KZ7;@cTS`Klr|I97t1E&f1!X|1I`^IJif}K5_=m`Q?y#AaU4D9)&I+b z+NNZcl_^2WFZjg^Bq|yP`w_!@IAfGM6)Cp{u+k|4uQ!6Dqt#%UH-5h7HN<;*>x`4& zpFMg!CSt!&gHr!@@5$2cp@F~}AmCim=g!i2Pk+q|WzJ5#Vvfp3{0`aGCT*n5p;9F! zd9_$LlL!e>6)8TIZ20e??iudy!^{K=bPQ69%tOg$=+wHtqOlzlc*gy_FyBaLms$bk0q_R5tv~!^ z4DfklQ_@p~Cj~Q-`WlX*l5Vjw2ww3vV^Kwl;s#i5egu}gu}##Xs6EQ~iazi_H%^lr z@C*4eleE(z5Cvg}ZOOiO$+C8e3))!YF@NVJ+=+kg9iqx?L2lGWw3%j*BBJ<6%&3o% zZks?Xh!7AKf?hr*_^E3jO1;;YfzHvf_u;j%+0$WC3kC$lVP;%Ci$kt(KQhGIyICBU zseq#UqK^1WgaqC>HnCDsW5e1zZ9}& zV~+A5p=(QXj0@}d7ZN(I_Nu5*p|q{bI(8EPDoBPK618NLb)Jg2$#B&H7%oNwN*b8R zrxyXh(ca!ox=xnmjS(pZkrP!9f`U5uRZ9%b4+^LowxNHeNW8h?4lsm@6*dbuS9PPv zG~C=$RXW$NTq`zwl&U_(`XVPMtZw0J;>*nFehOq!iTTeCnm^Pd>Foqqb!ey(vApp^ zgQnyZReunssSzPZ>CQe z(;eU(#K27OF^*kHp$vItd3v%`oFrInag#)N)nH3mUPmCgKtflbq)#>fj~jLzsYrw& zl6Ge?{{*TLVWKb_(lq`o;*iTon5fmQC5FN-we$P${}d3A4)Y=jM0F1yGO`r$ux1j@ zyf-kZCn_oFd6^{>-(5C@!~7QR@zwqjA{k~NK(P%6r%aQU4kl%2_+nt|Kuk91OT+;q zy)AiZ1wZX?vGwdrzS}6G6>c=L#vQjM`it8jYiqdc%gR*6=aEt&92l(UevirC$Aeei z656jmEgqm4&uT$uIsBY5Jf|fL+P{rPbsQ`oW&3^?*FaTdY&vOZ`jDcuah_9in`pS5 zS%EAXANSmOcUf*e{fj5kWbd#MaKhEkCv8!UC%tr5MlaQNv`oKDmjEmnr@f-+LE3Gj;habt!|K=(0va zQAcB(ylRO+e^Fa-i*K5JzH=aq=5H*aKw6}Akci&ARBBEWL_1aeabw;pc)d(S<+{79 z?At=h-!+H(<0DzhIIWdI>KV>z8crxVtDk3&w$haPS1AhTbGZnaW3iy?j1rrY%$?mN z38}(IO1(pLruhU9>y0Pa(1)F{4X;z_y2~mF<6KcWDq4@@^2M$?6@I8WpZOQ4*jG%{ zu5dmPm1!at&`?gi!nVx>)o`>#2wBuppz+~}eZ>|!qM!WXnilYhv>SK#n@u)gQldCa z{8fXkizU>ci0;^MSCr(9ycS3JD8q zv_5pz9Cn5i;+3hnZFi23u%y+Gsr*To^SvYmS+8XwPw>N6w}!%w02^&j zQ3ZHN!E+B;boqM&?TIg8iz4=v7WClYcJ!K58lezfsx>ZOKQms_sMgONbcMaFi8h)=N(J#pQ`xyIY^Hg& z3rbd?U;CET$BVy<%}=MT7Q8B192-*VXC{4=6Z-GoRm6*4{j)F5#j-=MRW7g zf+`;NArhc8KC1&m)_+?FvHp?cm~={29665Zk48pEu~iD~s?n!M>W99@Zt}e1YfOBn z2UldDj0izT^sO%tzrV#7{uexy`#2Wju^V6k?GZR9uEb|?gv5zo`-{ZQ`|xGXnyvu% z+v}4aQGTtrk9y#8FniK}qI zqEv`&EgfkK7o*=VzZVz31F=~gru$FNs%%7qtgu-~ap@`k&Ps|xKTDG%a&RttDSbmj z9zJS$pXrq(rnVv;34QuzK09^_ z#m4ijg=6%wsw{6~>+LI1Az9CcZ93;yW=)t<y1e)*~~#bd$y#hcoa77jH8SU>}Ug;1j1mGTnCWFGM8^oackbLvLx%jjX3fi9pj*r*~A^5jkLau|K z_h?QU;8;G5S5l|6Tma3mw%dHlM|265gtg&aBGBudvya=e{+0`$Cpz9-Kl3jy@XNGXIG{ZB8)d=GJ(+`j!I zi5`HUh;GP(KJ<5Lt0o;)stmm{gl7OcR$rj&giiYLh9cw$dvO8r0t>M5m$BV)1!Z&Cd{>fuox8DwW_kuKnneqVYS1z z0sNigKi!}Ihr0?OniCN^l8kj)2aGD@H=Q5P-oocR%0d0E;LadPfX+&(pNUxiff}~m zy)B)^5sm2%^>c$GpRw!m{(K?%J|NeTxkZ4{v^Ofk;nryEWg9iX!Hz=?f)Y z$3HCu%)3BXc~4nW7eJ}43+Om;)UzH4?^lKPl=pjFvoS+OmgF7d63QtSm5i{7*_-Uw zVtz$eDD^v?g`J!b|mQTJB8(m@J6E^uznG?H=R;!JO%i$E`{)9pG5q&u7*liE{r$$ghgDno^=8k@+t6&KE9{4Wg4B?VVS=h=5O89HjvkoM zfoK4*l`Qz*--XW7L`>yE$K1hZKwASEMl%4R(zxxzTQBRu=MZV_-!w7eY0RQW8YSny z*C>`dtjtL89<#ue0>+u{N&|rbj@>_2-Tb_dwvXbUY~LSNe5BC%G=QLGp%p&{@hQrf zpv4Ih5kaJe9^jsaQU1>*eD?~_pg{h*@rOEM=}UD!!zZ2|d=ya8o+iB@oK(xdhlsW$ z&-pUxyI%M`NVw*Ez4}B9a_9I`aQ)>{{BcVW3!CK!W=A6fh2SM0)eQ#66LFF7CB#)P zc=qS3{jkCUryyTj*&AX@+3?9 z!M6G|FL!K3Lh0UJIUz#FXAhcTU{VS`znYE-`YpKY;-C1E*BykM^}P9`^M2n&4zZc? z>=!rAo-_-Hzn+8$$2cV4t??&ZL*uUdnac^3NBTlGA*-lK!fB^SZc9Wv%zUv(*n}Q$ zhK`JrrrHSUTP8gANRQtCi^xcT(Z~?li95X)e)YS4C^O7AV5D~H^!+bTGWwK%#)#p1oOuWe)@OUk6X7sdh)3s`LH5?-%ao`3X(5ePWW3#8pnMaVHW)5 zXsdx);BPlD1tk>I!7`CcmoCNlVoWR$%=2g@Td^QofHd#@+5$v=Y#RA^>kM0vOH64P zNAKWxj_Vo-10GR|ijM2!IJybcz3I7(B<{h&A{?pH$=Tz( zng+TQie_42&;7{V|LV)1MSUm)u9i)V_KXJ~6|UnG9RwzlU}g1F)iMjG?Hr}c&YJ&X zO3V2lE8|06Q!NDvV;M_X0wK&7cQeltYLX6ST?#EZxD(Ob*z~QU^wG1r%r#*|lKiym zc`W1>SwQtbs3|`1{5+>$bv2(2LJaGv!ZZP6G;s=VcmJbDfti~7vduhHr60600qp1` zyg+TLf7L=%dh*mP(u{{Vq|RTyd84_=_lF)~Rz_lVk~NtU&9$Mh#zsMEB$r;$mF=HY zXU|AtFQ6pbWyas!L6oVe{(o@Ni|OxJtz{oQssI6;mX#H@b+wR;Oc1SVl`@E)J;X&V z@83^57LfBI#BQs0g^L*TszKbD58@t=4HW6i^lx>-3zAnWQuv5vj#R|nDHV}Vf(D5Z z3h9QIM3TaxUT#D$s_Y0Hfk$|GAGweB5ArYJhptg!ceA#0>)<^R1>(npRtj z%wR#I$vtN(>g+e>t31_p81uA!ct$)}>OYjzEHdT`d4m@e+sMx}$Pdw@K4KuUxP^Z! z)@C9sMpg{+?ysWtFOQ%Dc;MFv)0G`bq`f`jm;iloO2kMdvP%fS?-f9{k%?5mZp7u4 zEk&-YY2EEiko2EgZ@)33q&iiUv%2*RotAotWI!zIp<*OmXNrWmBUhRp#*w-dK6CaJ z@x|v&kb76Z+2S$rlfMBCROTLbbkF}O-BVsKl6)2{rRzC{PwozO1h+vR*TI$?$-ArM zw@8IWb$v+$M_nZ<;{MW9BG@!1 z=Q#Dof|+4K(omq++#(sqphaKpv>C?ZveWgJX;31P&!v_=nh~D1HwSLVs|SCvtI^cR z!F1Bp^aE5{v_td`eRR4H^VO$J#K%KC22vcXgIw%QVyPqWyLf8UOEdrzTeQ>;4_Ydx z_^q0)h$-^k*x|S*?+Erv3>dTG9s_1W{izEOpU$z^cp=0lzBNuq{|2{l{0)OktXwMa zoq4PIFzn16o8ftMni2XDKqtq+w~*9Fi~0A*iGh zYF-gji#q}`=$A{7s>c`{)5Lgyz6Dd5+5pqFVh{Zl+aE@Rg^>eRXV5Kf#|RD@nk|Np zvsIaoc%FhWU5o~j-J4GV!Y>~IUzw!H%ZKT;5a_))FM-Iha6SC+Df2=a-MX+H5Mcroz&9lx|{BW|7cZD}HY zOdN86&vPPI3%(R&+H;3SS++yA>Y*r@f*~N!C3(yRc_!~Nb1m}y55{d;=S7MbVlWFp zX#A|qL-?32-WS$sXv2|Bt@r(-`v7u(3g73WE!>Fn+n>Sg1ug^-k=7GgM})N2i%fM2 zixmL+2KUU$>nXAJjmVX~VkcpMRlK{du9dZLy|tD;6Z;N2vSzrzafZp9jDHdc&uda3Dx zgCG54d7EY>1Pd|~)LC&MqDI@2MxiJA5KQ{@3z}R?`8<;?SjfE&hc*?dvCk~oFLw46 zZ6BNT%m)cPKLwNI5Yky!a7GF zclfleRnvZ=bNEn{ow4jM0RTwcK&Xu-N{?ats=0xryld!ENBA1Ouv?|m(m-RC5^@lo z7H|C!L^><+DWxMTzwa&{ER_{deEi^ zFF9Boz6;c>y%|ZOYskNKrtNuMo&_424_nt)Sxk}v8w}o~5%W}ER_J